Алгоритм Беллмана — Форда

Алгоритм Беллмана — Форда
Назван в честь Ричард Беллман и Лестер Форд
Автор Ричард Беллман, Лестер Форд и Эдвард Форест Мур
Предназначение поиск кратчайшего пути в графе
Структура данных граф
Худшее время
Лучшее время
Затраты памяти
Логотип Викисклада Медиафайлы на Викискладе

Алгоритм Беллмана — Форда — алгоритм поиска кратчайшего пути во взвешенном графе. За время алгоритм находит кратчайшие пути от одной вершины графа до всех остальных. В отличие от алгоритма Дейкстры, алгоритм Беллмана — Форда допускает рёбра с отрицательным весом. Предложен независимо Ричардом Беллманом и Лестером Фордом.

Алгоритм маршрутизации RIP (алгоритм Беллмана — Форда) был впервые разработан в 1969 году, как основной для сети ARPANET.

Формулировка задачи

Дан ориентированный или неориентированный граф со взвешенными рёбрами. Длиной пути назовём сумму весов рёбер, входящих в этот путь. Требуется найти кратчайшие пути от выделенной вершины до всех вершин графа.

Заметим, что кратчайших путей может не существовать. Так, в графе, содержащем цикл с отрицательным суммарным весом, существует сколь угодно короткий путь от одной вершины этого цикла до другой (каждый обход цикла уменьшает длину пути). Цикл, сумма весов рёбер которого отрицательна, называется отрицательным циклом.

Решение задачи на графе без отрицательных циклов

Решим поставленную задачу на графе, в котором заведомо нет отрицательных циклов.

Для нахождения кратчайших путей от одной вершины до всех остальных, воспользуемся методом динамического программирования. Построим матрицу , элементы которой будут обозначать следующее:  — это длина кратчайшего пути из в , содержащего не более рёбер.

Путь, содержащий 0 рёбер, существует только до вершины . Таким образом, равно 0 при , и в противном случае.

Теперь рассмотрим все пути из в , содержащие ровно рёбер. Каждый такой путь есть путь из ребра, к которому добавлено последнее ребро. Если про пути длины все данные уже подсчитаны, то определить -й столбец матрицы не составляет труда.

Так выглядит алгоритм поиска длин кратчайших путей в графе без отрицательных циклов:

for 
  do 

for  to 
  do for 
    if 
      then 
return 

Здесь  — множество вершин графа ,  — множество его рёбер, а  — весовая функция, заданная на рёбрах графа (возвращает длину дуги, ведущей из вершины в ),  — массив, содержащий расстояния от вершины до любой другой вершины.

Внешний цикл выполняется раз, поскольку кратчайший путь не может содержать большее число рёбер, иначе он будет содержать цикл, который точно можно выкинуть.

Вместо массива можно хранить всю матрицу , но это требует памяти. Зато при этом можно вычислить и сами кратчайшие пути, а не только их длины. Для этого заведем матрицу .

Если элемент содержит длину кратчайшего пути из в , содержащего рёбер, то содержит предыдущую вершину до в одном из таких кратчайших путей (ведь их может быть несколько).

Теперь алгоритм Беллмана-Форда выглядит так:

for 
  for  to 
    do 

for  to 
  do for 
    if 
      then 
           

После выполнения этого алгоритма элементы содержат длины кратчайших путей от до с количеством рёбер , и из всех таких путей следует выбрать самый короткий. А сам кратчайший путь до вершины с рёбрами восстанавливается так:

while 
  
  
  
return p

Граф с отрицательными циклами

Алгоритм Беллмана-Форда позволяет очень просто определить, существует ли в графе отрицательный цикл, достижимый из вершины . Достаточно произвести внешнюю итерацию цикла не , a ровно раз. Если при исполнении последней итерации длина кратчайшего пути до какой-либо вершины строго уменьшилась, то в графе есть отрицательный цикл, достижимый из . На основе этого можно предложить следующую оптимизацию: отслеживать изменения в графе и, как только они закончатся, сделать выход из цикла (дальнейшие итерации будут бессмысленны).

Литература

  • R. Bellman: On a Routing Problem // Quarterly of Applied Mathematics. 1958. Vol 16, No. 1. C. 87-90, 1958.
  • L. R. Ford, Jr., D. R. Fulkerson. Flows in Networks, Princeton University Press, 1962.

См. также

Ссылки

Read other articles:

Railway station in New Zealand Western HuttMetlink suburban railGeneral informationLocationHutt Road, Alicetown, Lower Hutt, New ZealandCoordinates41°12′43.22″S 174°53′23.48″E / 41.2120056°S 174.8898556°E / -41.2120056; 174.8898556Owned byBuilding is privately owned as a pub, platform owned by KiwiRailLine(s)Melling BranchPlatformsIsland (formerly)Tracks1ConstructionPlatform levels1Other informationFare zone4HistoryOpened14 April 1874Rebuilt1892, 1906Electr...

 

Altay – the civilian type ship of the class Class overview NameProject 160 (NATO: Altay class) BuildersRauma-Repola, Finland Operators  Soviet Navy  Russian Navy Built1967–1972 In commission1968–present Completed6 Active4 Retired2 General characteristics TypeReplenishment oiler Displacement7,230 tons full load Length106.17 m (348 ft 4 in) Beam15.4 m (50 ft 6 in) Draught6.7 m (22 ft 0 in) Propulsion 1 B&W-550 VTBN-110 diesel eng...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2022. Inemuri (居眠りcode: ja is deprecated ) adalah praktik tertidur di tempat kerja dalam budaya Jepang, di mana tertidurnya seseorang pada tempat yang tidak dimaksudkan untuk tidur. Bisa pula ia tertidur di kereta bawah tanah atau pesta makan.[1 ...

Female adult human For other uses, see Woman (disambiguation). Women and Womanhood redirect here. For other uses, see Women (disambiguation) and Womanhood (disambiguation). A woman in Selangor, Malaysia Part of a series onWomen in society Society Women's history (legal rights) Woman Animal advocacy Business Female entrepreneurs Gender representation on corporate boards of directors Diversity (politics) Diversity, equity, and inclusion Economic development Explorers and travelers Educatio...

 

Silbermond Silbermond in 2017. Latar belakang Nama lain Exakt, JAST Asal Bautzen, Germany Genre German rock, alternative rock, pop rock Tahun aktif 2000–present Label Modul / Sony Situs web Official site Anggota Stefanie Kloß (lead singer) Andreas Nowak (drums) Johannes Stolle (bass) Thomas Stolle (guitar) Silbermond (dalam Bahasa Inggris berarti Silver Moon) adalah sebuah band rock berasal dari Bautzen, Sachsen, Jerman. Band ini terdiri dari Stefanie Kloß, Andreas Nowak, Johannes dan Th...

 

Sharpay redirects here. For the High School Musical character, see Sharpay Evans. Dog breedShar peiModern wrinkle-mouth shar peiTraditional bone-mouth shar peiOther namesCantonese Shar-peiChinese fighting dogOriginChinaTraitsHeight 44–51 cm (17–20 in)Weight 16–29 kg (35–64 lb)Coat Short, harsh, and bristlyColour All solid colours except whiteLife span 10.6 yearsKennel club standardsChina Kennel Union standardAmerican Kennel Club standardFédération Cynologiqu...

Запрос «Пугачёва» перенаправляется сюда; см. также другие значения. Алла Пугачёва На фестивале «Славянский базар в Витебске», 2016 год Основная информация Полное имя Алла Борисовна Пугачёва Дата рождения 15 апреля 1949(1949-04-15) (75 лет) Место рождения Москва, СССР[1]...

 

  هذه المقالة عن القدس (الجزء الشرقي). لمعانٍ أخرى، طالع القدس (توضيح). القدس الشرقية القدس الشرقية- البلدة القديمة، حيث حارة النصارى الملاصقة للمسجد الأقصى. القدس الشرقيةعلم القدس العربي القدس الشرقيةشعار القدس العربي خريطة القدس الشرقية اللقب زهرة المدائن تقسيم إدا�...

 

Sceaux 行政国 フランス地域圏 (Région) イル=ド=フランス地域圏県 (département) オー=ド=セーヌ県郡 (arrondissement) アントニー郡小郡 (canton) 小郡庁所在地INSEEコード 92071郵便番号 92330市長(任期) フィリップ・ローラン(2008年-2014年)自治体間連合 (fr) メトロポール・デュ・グラン・パリ人口動態人口 19,679人(2007年)人口密度 5466人/km2住民の呼称 Scéens地理座標 北緯48度4...

内華達州 美國联邦州State of Nevada 州旗州徽綽號:產銀之州、起戰之州地图中高亮部分为内華達州坐标:35°N-42°N, 114°W-120°W国家 美國建州前內華達领地加入聯邦1864年10月31日(第36个加入联邦)首府卡森城最大城市拉斯维加斯政府 • 州长(英语:List of Governors of {{{Name}}}]]) • 副州长(英语:List of lieutenant governors of {{{Name}}}]])喬·隆巴爾多(R斯塔...

 

Lafasah Periode Late Miocene - present[1] Salvelinus Arctic char, Salvelinus alpinus alpinusTaksonomiKerajaanAnimaliaFilumChordataKelasActinopteriOrdoSalmoniformesFamiliSalmonidaeGenusSalvelinus Richardson, 1836 Subgenera Baione DeKay, 1842 Cristovomer Walbaum, 1792 Salvelinus J. Richardson, 1836 lbs Salvelinus adalah genus ikan salmon yang sering disebut lafasah atau ikan sar. Salvelinus adalah anggota subfamili Salmoninae dalam keluarga Salmonidae . Genus ini mempunyai distribusi si...

 

Köppen climate classification map for Sudan for 1980–20162071–2100 map under the most intense climate change scenario. Mid-range scenarios are currently considered more likely[1][2][3] Drought conditions near Khartoum. In Sudan, climate change has caused an increase in temperatures, a decline in rainfall and driven desertification.[4] Climate change poses significant challenges for rainfed agriculture and therefore the entire economy.[5] Analysis o...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Duluth, Georgia – news · newspapers · books · scholar · JSTOR (May 2024) (Learn how and when to remove this message) City in Georgia, United StatesDuluth, GeorgiaCityCity Hall FlagSealLogoMotto(s): Pride in Old and New[1]Location in Gwinnett Count...

 

Liberal political party in the Philippines Liberal Party Partido LiberalAbbreviationLPPresidentEdcel LagmanChairpersonFrancis PangilinanSecretary-GeneralTeddy BaguilatSpokespersonLeila de LimaFoundersManuel RoxasElpidio QuirinoJosé AvelinoFoundedJanuary 19, 1946; 78 years ago (1946-01-19)Split fromNacionalistaHeadquartersAGS Building, EDSA, Guadalupe Viejo, Makati City, Metro ManilaThink tankCenter for Liberalism and Democracy[1]Youth wingLiberal YouthIdeologyL...

 

Преподобный Герасим Болдинский. Литография нач. 20 в. Жиздринский Троицкий монастырь основан преподобным Герасимом Болдинским (+1554, память 14 мая) в 1547 году на правом берегу реки Жиздры при впадении в неё речки Бродны на возвышенном полуострове, образованным этими реками, я...

Speedy deletion of Daniel Rolland A tag has been placed on Daniel Rolland requesting that it be speedily deleted from Wikipedia. This has been done under section A7 of the criteria for speedy deletion, because the article appears to be about a person or group of people, but it does not indicate how or why the subject is notable: that is, why an article about that subject should be included in an encyclopedia. Under the criteria for speedy deletion, articles that do not indicate the subject's...

 

Region of Norway Region in NorwayEastern Norway Østlandet (Bokmål)Austlandet (Nynorsk)Region (landsdel)Nickname: East-NorwayCoordinates: 60°15′N 10°40′E / 60.250°N 10.667°E / 60.250; 10.667CountryNorwayCounty capitalsDrammenHamarOsloSarpsborgSkienTønsbergCounties (fylker, fylke)AkershusBuskerudInnlandetOsloTelemarkVestfoldØstfoldArea • Total94,577 km2 (36,516 sq mi)Population (2020) • Total2,700,000...

 

Jodoh Boleh DiaturCuplikan Film Jodoh Boleh DiaturSutradaraAmi PrijonoProduserPT Garuda FilmDitulis olehDjamsan DjakimanPemeranWarkop DKI (Dono, Kasino, Indro)Ira WibowoNia ZulkarnaenMr.OsRaja EmaYurike PrastikaIda KusumahSilvana HermanDhaliaLina BudiartiPenata musikBilly J. BudiardjoSinematograferTantra SutjadiEndang DarsonoPenyuntingEffendi DoythaDistributorPT Garuda FilmTanggal rilis15 Desember 1988Durasi97 menitNegaraIndonesia Jodoh Boleh Diatur adalah film komedi Indonesia yang dir...

Species of bird Blackpoll warbler Conservation status Near Threatened  (IUCN 3.1)[1] Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Chordata Class: Aves Order: Passeriformes Family: Parulidae Genus: Setophaga Species: S. striata Binomial name Setophaga striata(Forster, 1772) Range of S. striata (note: missing distribution in the Caribbean)   Breeding range  Wintering range Synonyms Dendroica striata The blackpoll warbler (Setophaga ...

 

IC 2944 星座 ケンタウルス座 見かけの等級 (mv) 4.5 視直径 75′ 位置元期:J2000.0 赤経 (RA, α)  11h 36m 36.0s 赤緯 (Dec, δ) −63° 02′ 00″ 距離 2000パーセク[1] 他のカタログでの名称 IC 2944, Running Chicken Nebula, Lambda Cen Nebula, Caldwell 100 ■Template (■ノート ■解説) ■Project IC 2944(Caldwell 100)は、ケンタウルス座のケンタウルス座λ星の近くにある、...