Алгоритм Эдмондса — Карпа

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

Алгоритм

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

Описание

  1. Обнуляем все потоки. Остаточная сеть изначально совпадает с исходной сетью.
  2. В остаточной сети находим кратчайший путь из источника в сток. Если такого пути нет, останавливаемся.
  3. Пускаем через найденный путь (он называется увеличивающим путём или увеличивающей цепью) максимально возможный поток:
    1. На найденном пути в остаточной сети ищем ребро с минимальной пропускной способностью .
    2. Для каждого ребра на найденном пути увеличиваем поток на , а в противоположном ему — уменьшаем на .
    3. Модифицируем остаточную сеть. Для всех рёбер на найденном пути, а также для противоположных им рёбер, вычисляем новую пропускную способность. Если она стала ненулевой, добавляем ребро к остаточной сети, а если обнулилась, стираем его.
  4. Возвращаемся на шаг 2.

Чтобы найти кратчайший путь в графе, используем поиск в ширину:

  1. Создаём очередь вершин О. Вначале О состоит из единственной вершины s.
  2. Отмечаем вершину s как посещённую, без родителя, а все остальные как непосещённые.
  3. Пока очередь не пуста, выполняем следующие шаги:
    1. Удаляем первую в очереди вершину u.
    2. Для всех дуг (u, v), исходящих из вершины u, для которых вершина v ещё не посещена, выполняем следующие шаги:
      1. Отмечаем вершину v как посещённую, с родителем u.
      2. Добавляем вершину v в конец очереди.
      3. Если v = t, выходим из обоих циклов: мы нашли кратчайший путь.
  4. Если очередь пуста, возвращаем ответ, что пути нет вообще и останавливаемся.
  5. Если нет, идём от t к s, каждый раз переходя к родителю. Возвращаем путь в обратном порядке.

Сложность

В процессе работы алгоритм Эдмондса — Карпа будет находить каждый дополняющий путь за время . Ниже мы докажем, что общее число увеличений потока, выполняемое данным алгоритмом, составляет . Таким образом, сложность алгоритма Эдмондса — Карпа равна .

Доказательство

Назовём расстоянием от вершины x до вершины у длину кратчайшего пути от x до y в остаточной сети, измеряемую числом рёбер. Если такого пути нет, будем считать расстояние бесконечным. Будем говорить, что y приблизилась к x (отдалилась от x), если расстояние от x до y уменьшилось (увеличилось). Будем говорить, что y ближе к x (дальше от x), чем z, если расстояние от x до y меньше (больше), чем расстояние от x до z.

Лемма. В ходе работы алгоритма ни одна вершина никогда не приближается к источнику. Доказательство. Пусть это не так, тогда при каком-то увеличении потока некоторые вершины приблизились к источнику. Назовём их неправильными. Выберем ту из неправильных вершин, которая после увеличения потока оказалась ближе всех к источнику (если таких больше одной, то любую из них). Обозначим выбранную вершину через v. Рассмотрим кратчайший путь от s до v. Обозначим предпоследнюю вершину на этом пути через u, таким образом, путь имеет вид . Поскольку u ближе к s, чем v, а v — ближайшая к s из неправильных вершин, то u — вершина правильная. Обозначив расстояния от s до u и v до и после увеличения потока соответственно через , , , , имеем:

,

откуда

Следовательно, до увеличения потока дуга (u, v) отсутствовала в остаточной сети. Чтобы оно появилось, увеличивающий путь должен был содержать дугу (v, u). Но в алгоритме Эдмондса — Карпа увеличивающий путь всегда кратчайший, следовательно,

,

что противоречит предыдущему неравенству. Значит, наше предположение было неверным. Лемма доказана.

Назовём критическим то из рёбер увеличивающего пути, у которого остаточная пропускная способность минимальна. Оценим, сколько раз некое ребро (u, v) может оказываться критическим. Пускай это произошло на итерации , а в следующий раз на итерации . Обозначая через расстояние от s до y на итерации t, имеем:

Заметим, что на итерации критическое ребро исчезает из остаточной сети. Чтобы к моменту итерации ребро (u, v) в ней вновь появилось, необходимо, чтобы на какой-то промежуточной итерации был выбран увеличивающий путь, содержащий ребро (v, u). Следовательно,

Используя ранее доказанную лемму, получаем:

Поскольку изначально (иначе v = s, но ребро, ведущее в s, не может появиться на кратчайшем пути из s в t), и всегда, когда конечно, оно меньше |V| (кратчайший путь не содержит циклов, и, следовательно, содержит менее |V| рёбер), ребро может оказаться критическим не более раз. Поскольку каждый увеличивающий путь содержит хотя бы одно критическое ребро, а всего рёбер, которые могут когда-то стать критическими, (все рёбра исходной сети и им противоположные), то мы можем увеличить путь не более |Е|·|V| раз. Следовательно, число итераций не превышает O(|E|·|V|), что и требовалось доказать.

Пример

Пусть задана сеть с истоком в вершине и стоком в вершине . На рисунке парой обозначен поток по этому ребру и его пропускная способность.

Поиск в ширину

Опишем поиск в ширину на первом шаге.

  1. Очередь состоит из единственной вершины A. Посещена вершина A. Родителя нет.
  2. Очередь состоит (от начала к концу) из вершин B и D. Посещены вершины A, B, D. Вершины B, D имеют родителя А.
  3. Очередь состоит из вершин D и C. Посещены A, B, C, D. Вершины B, D имеют родителя А, вершина C — родителя B.
  4. Очередь состоит из вершин C, E, F. Посещены A, B, C, D, E, F. Вершины B, D имеют родителя А, вершина C — родителя B, вершины E, F — родителя D.
  5. Вершина C удаляется из очереди: рёбра из неё ведут только в уже посещённые вершины.
  6. Обнаруживается ребро (E,G) и цикл останавливается. В очереди вершины (F,G). Посещены все вершины. Вершины B,D имеют родителя А, вершина C — родителя B, вершины E,F — родителя D, вершина G — родителя E.
  7. Идём по родителя: . Возвращаем пройденный путь в обратном порядке: .

Заметим, что в очередь последовательно добавляли вершины, достижимые из A ровно за 1 шаг, ровно за 2 шага, ровно за 3 шага. Кроме того, родителем каждой вершины является вершина, достижимая из A ровно на 1 шаг быстрее.

Основной алгоритм

Пропускная способность пути Путь












Отметим, что в процессе выполнения алгоритма длины дополняющих путей (на рисунках обозначены красным) не убывают. Это свойство выполняется благодаря тому, что мы ищем кратчайший дополняющий путь.

Алгоритм Диница

Улучшенной версией алгоритма Эдмондса-Карпа является алгоритм Диница, требующий операций.

Назовём вспомогательной бесконтурной сетью графа G с источником s его подграф, содержащий только такие рёбра (u, v), для которых минимальное расстояние от s до v на единицу больше минимального расстояния от s до u.

Алгоритм Диница:

  1. Строим минимальную бесконтурную сеть остаточного графа.
  2. Пока в сети есть путь из s в t, выполнить следующие шаги:
    1. Находим кратчайший путь из s в t. Если его нет, выйти из цикла.
    2. На найденном пути в остаточной сети ищем ребро с минимальной пропускной способностью .
    3. Для каждого ребра на найденном пути увеличиваем поток на , а в противоположном ему — уменьшаем на .
    4. Удаляем все рёбра, достигшие насыщения.
    5. Удаляем все тупики (то есть вершины, кроме стока, откуда не выходит рёбер, и вершины, кроме источника, куда рёбер не входит) вместе со всеми инцидентными им рёбрами.
    6. Повторяем предыдущий шаг, пока есть что удалять.
  3. Если найденный поток ненулевой, добавляем его к общему потоку и возвращаемся на шаг 1.

Ссылки

Литература

  • Томас Кормен и др. Алгоритмы: построение и анализ = INTRODUCTION TO ALGORITHMS. — 2-е изд. — М.: «Вильямс», 2006. — С. 1296. — ISBN 0-07-013151-1.

Read other articles:

Artur Nikolayevich ChilingarovArtur Nikolayevich Chilingarov mengunjungi Arkangelsk (22 Agustus 2009)Lahir25 September 1939 (umur 84)Leningrad, SFSR Rusia, Uni Soviet (sekarang St. Petersburg, Rusia)KebangsaanRusiaTahun aktif1963–sekarangDikenal atasPenjelajahan kutubPenghargaanPahlawan Uni SovietPahlawan RusiaOrdo LeninTanda tangan Artur Nikolayevich Chilingarov (Rusia: Артур Николаевич Чилингаровcode: ru is deprecated ; lahir 25 September 1939) adalah s...

 

Pemerintahan Darurat Republik Indonesia1948–1949 BenderaStatusPemerintahan dalam pengasinganIbu kotaBukittinggiBahasa yang umum digunakanIndonesiaPemerintahanPemerintahan sementaraPemimpin • 1948-1949 Syafruddin Prawiranegara Era SejarahRevolusi Nasional Indonesia• Agresi Militer Belanda II 19 Desember 1948• Didirikan 22 Desember 1948• Perjanjian Roem-Roijen 17 April 1949• Dibubarkan 13 Juli 1949 Didahului oleh Digantikan oleh Republik Indonesia ...

 

Dr. (H.C.) H.Taufiq KiemasS.H., M.H. Ketua Majelis Permusyawaratan Rakyat Republik Indonesia ke-13Masa jabatan1 Oktober 2009 – 8 Juni 2013WakilHajriyanto Y. Thohari Lukman Hakim Saifuddin Melani Leimena Suharli Ahmad Farhan Hamid PendahuluHidayat Nur WahidPenggantiSidarto DanusubrotoAnggota Dewan Perwakilan RakyatRepublik IndonesiaMasa jabatan1 Oktober 1999 – 8 Juni 2013 PenggantiLowongDaerah pemilihanSumatera Selatan(1999—2004)Jawa Barat II(2004—13)Masa jabatan1...

Margherita di DanimarcaPrincipessa di Borbone-ParmaStemma In carica9 giugno 1921 –18 settembre 1992(71 anni e 101 giorni) Nome completodanese: Margrethe Françoise Louise Marie Heleneitaliano: Margherita Francesca Luisa Maria Elena TrattamentoSua Altezza Reale Altri titoliPrincipessa di Danimarca NascitaPalazzo Bernstorff, Gentofte, Regno di Danimarca, 17 settembre 1895 MorteCopenaghen, Regno di Danimarca, 18 settembre 1992 Luogo di sepolturaCattedrale di Roskilde, Cope...

 

Men's association football team This article is about the Scotland men's national football team. For the women's team, see Scotland women's national football team. ScotlandNickname(s)The Tartan ArmyAssociationScottish Football AssociationConfederationUEFA (Europe)Head coachSteve ClarkeCaptainAndrew RobertsonMost capsKenny Dalglish (102)Top scorerKenny Dalglish and Denis Law (30)Home stadiumHampden ParkFIFA codeSCO First colours Second colours FIFA rankingCurrent 39 5 (4 April 2024)[1]...

 

Borough of New York City This article is about the borough in New York City. For other uses, see Brooklyn (disambiguation). Borough and county in New York, United StatesBrooklyn Kings County, New YorkBorough and countyDowntown Brooklyn seen from Lower ManhattanBrooklyn BridgeConey IslandBrooklyn MuseumBorough HallBarclays CenterBrooklyn College FlagSealMotto(s): Eendraght Maeckt Maght(Unity makes strength)Interactive map outlining BrooklynBrooklynLocation within New York CityShow map of ...

إيغور تسيلوفالنيكوف معلومات شخصية الميلاد 2 يناير 1944(1944-01-02)يريفان الوفاة 1 مارس 1986 (42 سنة)خاركيف  الطول 1.74 م (5 قدم 9 بوصة) الجنسية الاتحاد السوفيتي  الوزن 75 كـغ (165 رطل) المدرسة الأم جامعة خاركيف الوطنية باسم فاسيلي كارازين  الحياة العملية المهنة دراج  �...

 

«(2) Per la corporatura, l'armonia delle membra e delle altre parti e l'allegria dello sguardo attirava a sé tutti gli sguardi. La felice disposizione naturale all'oratoria, la perseveranza nel lavoro, la memoria impeccabile e la perfetta preparazione in ogni campo l'hanno portato ad eccellere. Era così ben preparato nel rispondere alle domande in ogni campo, sia antico che nuovo, come se la sua lingua fosse un libro, che i suoi amici avevano poco o nessun bisogno di libri. Era infatti un...

 

Anti-materiel rifle SV-18 TypeAnti-materiel riflePlace of originRussiaProduction historyDesignerVladimir ZlobinDesigned2019ManufacturerKalashnikov ConcernSpecificationsMass9.1 kilograms (20 lb) (prototype)Caliber12.7×108mm 12.7x99mm (.50 BMG)ActionBolt-actionFeed system5 round detachable box magazine The SV-18 is a Russian bolt-action bullpup anti-materiel rifle designed in 2019 by Kalashnikov Concern. History A single-shot breechloading prototype of the SV-18 was first u...

Canadian radio broadcasting company Sirius XM Canada Holdings Inc.Company typePrivateIndustryBroadcastingFounded2011; 13 years ago (2011)HeadquartersToronto, Ontario, CanadaKey peopleAnthony Viner (Chairman)Mark Redmond (CEO)ProductsSatellite radioTelematicsInternet radioRevenue $303 million CAD (2014)[1]OwnerSirius XM (33.0%)[2]Slaight Communications (33.5%)[2]John Bitove (33.5%)[2]Websitewww.siriusxm.ca Sirius XM Canada Holdings Inc.[2&#...

 

Australian racer team Kostecki Brothers RacingManufacturerHoldenRace Drivers55. Kurt KosteckiChassisVF CommodoreDebutSupercars:2018Super2:2016Kumho Tyre Series:2015 Kumho Tyres Australian V8 Touring Car SeriesDrivers' Championships0Round wins4Pole positions22020 position13th (Kurt Kostecki) Kostecki Brothers Racing is an Australian motor racing team which is currently competing in the Dunlop Super2 Series. The team enters a Holden VF Commodore for Kurt Kostecki. The team was formed in 2015 to...

 

Enrico Bartolini (Pescia, 24 novembre 1979) è un cuoco e imprenditore italiano. Nella sua carriera si è guadagnato 13 stelle Michelin. Attualmente è il cuoco più stellato d'Italia e il secondo al mondo a pari merito con Martín Berasategui e Pierre Gagnaire.[1] Indice 1 Carriera 2 Vita privata 3 Riconoscimenti Guida Michelin 4 Affiliazioni 5 Programmi televisivi 6 Libri 7 Note Carriera Dopo il diploma all'Istituto professionale Alberghiero di Montecatini Terme[2] e un'espe...

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. HIGHTEENAsalSeoul, Korea SelatanLabelIllusion Entertainment HIGHTEEN (하이틴; juga ditulis sebagai HighTeen) adalah sebuah grup vokal perempuan Korea Selatan empat anggota di bawah kontrak Illusion Entertainment.[1][2][3] Mer...

 

ترييستي    علم شعار الاسم الرسمي (بالإيطالية: Trieste)‏    الإحداثيات 45°39′01″N 13°46′13″E / 45.650277777778°N 13.770277777778°E / 45.650277777778; 13.770277777778   [1] تقسيم إداري  البلد إيطاليا (1975–)[2][3]  عاصمة لـ فريولي فينيتسيا جوليامقاطعة ترييستي  خصائص جغراف�...

 

Poseidon dan Kainis Dalam mitologi Yunani, Kaineus (Καινεύς) adalah pahlawan dari Thessaly. Kaineus awalnya adalah seorang wanita bernama Kainis yang diubah menjadi lelaki.[1] Dalam mitologi Poseidon berhasrat pada Kainis dan ingin memperkosanya. Kainis bersedia dengan syarat dia ingin diubah menjadi pria. Setelah bersetubuh dengan Kainis, Poseidon mengabulkan permintaannya dan mengubahnya menjadi seorang pria. Kainis ingin menjadi pria agar tidak bisa diperkosa lagi. Kainis ke...

Stasiun Niitsu新津駅Sisi barat stasiun Niitsu pada September 2018Lokasi1 Niitsu-honchō, Akiha-ku, Niigata-shi, Niigata-ken 956-0864JepangKoordinat37°48′1″N 139°7′17″E / 37.80028°N 139.12139°E / 37.80028; 139.12139Operator JR EastJalur ■ Jalur Utama Uetsu ■ Jalur Barat Ban'etsu ■ Jalur Utama Shin'etsu Letak175.6 km from Kōriyama.Jumlah peron1 sisi peron + 2 peron pulauJumlah jalur5Informasi lainStatusBerstaf (Midori no Madoguchi)Situs webwww.jreas...

 

Swiss mathematician Rudolf FueterRudolf Fueter (2nd from right) at the International Congress of Mathematicians, Zürich 1932Born(1880-06-30)30 June 1880Basel, SwitzerlandDied9 August 1950(1950-08-09) (aged 70)Brunnen, SwitzerlandNationalitySwissAlma materUniversity of GöttingenScientific careerFieldsMathematicsInstitutionsUniversity of ZurichDoctoral advisorDavid HilbertDoctoral studentsMax GutVerena Haefeli-HuberAlexander Weinstein Karl Rudolf Fueter (30 June 1880 – 9 August 1...

 

Sauce used as a condiment For other uses, see Ketchup (disambiguation). Catchup redirects here. For catchup television, see Streaming television. KetchupA typical dish of tomato ketchupTypeCondimentPlace of originUnited Kingdom (mushroom variant), United States (tomato variant)Main ingredientsTomatoes (or other main ingredients), sugar (or high fructose corn syrup), vinegar, salt, spices, and seasoningsFood energy(per serving)100 per serving (serving size 1 tbsp) kcal Cookbook: Ketchup&#...

British botanist, geologist, and priest (1796–1861) The ReverendJohn Stevens HenslowBorn(1796-02-06)6 February 1796Rochester, Kent, Great BritainDied16 May 1861(1861-05-16) (aged 65)Hitcham, Suffolk, United KingdomEducationSt. John's College, CambridgeKnown forGeology of Anglesey, mentoring Charles DarwinRelativesJohn Henslow (grandfather)Scientific careerFieldsGeology, BotanyInstitutionsUniversity of CambridgeNotable studentsMiles Joseph Berkeley, Cardale Babington, Leonard Jenyn...

 

Gun for an individual This article is about the projectile weapon. For other uses, see Firearm (disambiguation). 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: Firearm – news · newspapers · books · scholar · JSTOR (September 2022) (Learn how and when to remove this message) The M16 rifle and the AK-47, two ...