Dinicův algoritmus

Dinicův algoritmus je algoritmus vyvinutý Jefimem Dinicem (1970) pro výpočet maximálního toku v síti. Hlavní myšlenka algoritmu spočívá v iterativním výpočtu tzv. "blokujících" toků, které se postupně nasčítají až na tok maximální. Tento přístup dovoluje v průměrném případě počítat maximální tok rychleji než Fordovým–Fulkersonovým algoritmem, který pro výpočet využívá hledání zlepšujících cest.

Algoritmus

  1. vyrobím síť rezerv
  2. projdu graf z s (zdroje) do šířky a zjistím délku d nejkratší cesty do t (stoku)
  3. vyhodím
    hrany začínající a končící ve stejné vrstvě nebo hrany nazpátek (ty nepoužijeme—nejkratší cesta jimi jít nemůže)
    a také vrcholy, které tvoří "slepé uličky" (nevede z nich žádná dopředná hrana)
    a hrany do těchto vrcholů (cyklicky—odstraněním konce slepé uličky může vzniknout nový konec)
  4. výsledek kroku 3 nazvu "čistá síť"
  5. najdu cestu z s do t délky d
  6. spočítám m z toku a rezerv tak, že se sečte vstupní toky do uzlu a rozdělí se dle volných kapacit na výstupní hrany.
  7. zjistím minimum m zpětným průchodem cesty a snížím vstupní toky na využitelnou kapacitu výstupního toku tak, aby platilo že součet vstupů se rovná součtu výstupů.
  8. zjištěné minimum m přičtu k dosud nalezeným tokům v síti a síť rezerv upravíme tak, že
    nalezené toky zaneseme do grafu jako zpětné hrany, případně navýším existující a
    od dopředných hran kapacit odečtu nalezené toky.
    pokud je kapacita nulová, pak šipku z grafu odstraním.
  9. vyčistím síť, a pokud zbude nějaká cesta z s do t délky d, jdu na krok 5
  10. vezmu celou síť a jdu na 2 (nejkratší cesta bude mít délku d+1, ty kratší už v síti rezerv nejsou)
  11. pokud už neexistuje cesta z s do t, skončil jsem (můžu najít i hrany minimálního řezu—jejich počáteční vrcholy jsou konci slepých uliček)

Příklad

Následující příklad ilustruje průběh Dinicova algoritmu.
představuje aktuální stav grafu (hrany jsou ohodnoceny nalezeným tokem / kapacitou hrany),
síť rezerv (hodnoty hran představují kapacitu hrany; směr šipek ukazuje použitelný/použitý toku)
nalezený blokující tok (hrany jsou ohodnoceny nově nalezeným tokem m / zbývající kapacita pro aktuální iteraci - hodnoty zůstavších hran z grafu ).
Červené hodnoty ve vrcholem reprezentují vzdálenost bodů od zdroje (), v ostatních grafech očíslování vrcholů.

1.

Nejkratší cesta ze zdroje do stoku má délku 3, blokojící tok sestává z následujících zlepšujících cest cest:

  1. se 4 jednotkami toku,
  2. s 6 jednotkami toku,
  3. se 4 jednotkami toku.

Celkově má blokující tok velikost 14 jednotek.

2.

Do připočteme blokující tok nalezený v předchozí iteraci. Do přidáme "protisměrné" hrany reprezentující rezervy hran v protisměru. Opět nalezneme všechny nejkratší zlepšující cesty (v tomto případě cesty délky 4) a "hladově" nalezneme blokující tok.

Ten bude obsahovat pouze následující cestu:

  1. s 5 jednotkami.

K celému toku připočteme blokující tj. is 14 + 5 = 19.

3.

Blokující tok opět připočteme do původního grafu a upravíme i hodnoty v grafu rezerv ().

V tuto chvíli již neexistuje žádná cesta ze zdroje do stoku (), tedy algoritmus vrátí maximální tok = 19.

Složitost algoritmu

Asymptotická časová složitost algoritmu je , kde n označuje počet vrcholů a m počet hran zpracovávaného grafu. Pokud chceme vyjádřit složitost pouze v závislosti na n, je tato , neboť hran grafu je řádově nejvýše .

Algoritmus lze rozdělit na fáze, kde jednou fází se rozumí jedna posloupnost kroků 2–7. O fázích platí:

  • každá fáze probíhá s asymptotickou časovou složitostí
  • v každé fázi hledáme cesty ze zdroje do spotřebiče délky d, což je délka nejkratší nezpracované cesty v grafu; d je alespoň o 1 větší než d předchozí fáze
  • fází proběhne nejvýše n

Algoritmus se dá modifikovat takzvanou metodou tří Indů: místo hledání cesty se pro každý vrchol spočítá, jaké mají rezervy vstupní hrany a výstupní hrany jednotlivých vrcholů a vrcholem s nejmenším minimem těchto hodnot se tok zvýší. Tím se asymptotická složitost zlepší na .

S použitím datových struktur (dynamické stromy) je možno nalézt blokující tok ve vrstevnaté síti v čase , čímž dostáváme složitost celého algoritmu .

Související články

Reference

Read other articles:

Dalam nama Burma ini, Bo adalah sebuah nama kehormatan. BoHmu AungBurma: ဗိုလ်မှူးအောင်code: my is deprecated Jurubicara Dewan Deputi Informasi pribadiLahirSan Hlaing (Burma: စံလှိုင်code: my is deprecated ) Omura Tabashi(1910-08-30)30 Agustus 1910Kyauktaga, Provinsi Pegu, Burma BritaniaMeninggal9 November 2004(2004-11-09) (umur 94)Yangon, MyanmarKebangsaanBurmaOrang tuaShwe Hman (ayah)Phaw (ibu)Dikenal karenaAnggota Tiga Puluh KameradTanda tan...

 

  جمهورية بيلاروس الاشتراكية السوفيتية جمهورية بيلاروس الاشتراكية السوفيتية جمهورية بيلاروس الاشتراكية السوفيتية  خريطة الموقع الشعار (بالبيلاروسية: Пралетарыі ўсіх краін, яднайцеся!)‏  تاريخ التأسيس 1 يناير 1919  تاريخ الإلغاء 25 أغسطس 1991  تقسيم إداري البلد ا�...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (نوفمبر 2017) قائمة بمنتجعات ومناطق التزلج في إيران ان مناطق التزلج في جمهورية إيران تُعَد من أفضل وجهات إيران والعالم المستقطبة لهواة الأنشطة الشتوية [1] بالإضافة إ�...

Type of radar equipment For applications in meteorology, see Doppler weather radar. U.S. Army soldier using a radar gun, an application of Doppler radar, to catch speeding violators. A Doppler radar is a specialized radar that uses the Doppler effect to produce velocity data about objects at a distance.[1] It does this by bouncing a microwave signal off a desired target and analyzing how the object's motion has altered the frequency of the returned signal. This variation gives direct ...

 

Pour les articles homonymes, voir Saint-Sébastien et San Sebastián. Saint-Sébastien San Sebastián (es)Donostia (eu) Héraldique Drapeau Administration Pays Espagne Communauté autonome  Pays basque Province Guipuscoa Comarque Donostialdea District judic. Saint-Sébastien Budget 466 978 310 €[1] (2008) Maire Mandat Eneko Goia (EAJ-PNV) 2023-2027 Code postal 20001 à 20018 Démographie Gentilé Donostiarra (eu, es) / Easonense (es) /Donostiens (fr) Population 188 743&...

 

Ryan Zinke [[Menteri Dalam Negeri Amerika Serikat]] 52Masa jabatan1 Maret 2017 – 2 Januari 2019PresidenDonald Trump PendahuluSally JewellPenggantiDavid BernhardtAnggota Dewan Perwakilan Rakyat A.S.dari dapil at-large MontanaMasa jabatan3 Januari 2015 – 1 Maret 2017 PendahuluSteve DainesPenggantiKosongAnggota Senat Montanadari dapil 2Masa jabatanJanuari 2009 – Januari 2011 PendahuluDan WeinbergPenggantiDee Brown Informasi pribadiLahirRyan Keith ...

Pour les articles homonymes, voir Rasina. Cet article est une ébauche concernant la Serbie et la géographie. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Rasina Administration Pays Serbie Villesou municipalités VarvarinTrstenikĆićevacKruševacAleksandrovacBrus Démographie Population 240 463 hab. (2011) Densité 90 hab./km2 Géographie Coordonnées 43° 35′ nord, 21° 19�...

 

Greek footballer Sotirios Kyrgiakos Kyrgiakos with Liverpool in 2011Personal informationFull name Sotirios Kyrgiakos[1]Date of birth (1979-07-23) 23 July 1979 (age 44)Place of birth Trikala, GreeceHeight 1.93 m (6 ft 4 in)[2]Position(s) Centre-backYouth career1996–1998 PanathinaikosSenior career*Years Team Apps (Gls)1998–2004 Panathinaikos 60 (5)1999–2001 → Agios Nikolaos (loan) 53 (3)2004–2006 Rangers 43 (1)2006–2008 Eintracht Frankfurt 51 (8)2...

 

UK recording studio owned by Pete Townshend This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) 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: Eel Pie Studios – news · newspapers · books · scholar · JSTOR (...

Village in Łódź Voivodeship, PolandLućmierz-LasVillageMemorial to World War II victimsLućmierz-LasCoordinates: 51°53′37″N 19°22′6″E / 51.89361°N 19.36833°E / 51.89361; 19.36833Country PolandVoivodeshipŁódźCountyZgierzGminaZgierzPopulation20 Lućmierz-Las (pronounced [ˈlut͡ɕmjɛʂ ˈlas], Lućmierz Forest) is a village in the administrative district of Gmina Zgierz, within Zgierz County, Łódź Voivodeship, in central Poland. It lies...

 

Neighborhood of Delhi in New Delhi, IndiaGole MarketNeighborhood of DelhiGole MarketLocation in Delhi, IndiaCoordinates: 28°38′01″N 77°12′20″E / 28.6337°N 77.2056°E / 28.6337; 77.2056Country IndiaStateDelhiDistrictNew DelhiGovernment • BodyNew Delhi Municipal Corporation of DelhiLanguages • OfficialHindi, EnglishTime zoneUTC+5:30 (IST)PIN110001Nearest cityShahdara / LoniLok Sabha constituencyNew Delhi Parliamentary Constituency...

 

I'm Tee, Me TooThaiคนละทีเดียวกัน – I'm Tee, Me Too GenreSlice of lifeComedyPembuatGMMTVSutradaraNuttapong MongkolsawasPemeranAtthaphan PhunsawatPerawat SangpotiratPrachaya RuangrojTawan VihokratanaJumpol AdulkittipornThitipoom TechaapaikhunNegara asalThailandBahasa asliThaiJmlh. episode8ProduksiRumah produksiGMMTVRilis asliJaringanGMM 25AIS PlayRilis18 September (2020-09-18) –6 November 2020 (2020-11-6)Acara terkaitOur Skyy (Ep. 1, 4 dan 5)...

Irish diplomat, activist, nationalist and poet (1864–1916) Roger CasementCasement by Sarah Purser, 1914BornRoger David Casement(1864-09-01)1 September 1864Sandycove, Dublin, IrelandDied3 August 1916(1916-08-03) (aged 51)Pentonville Prison, London, EnglandCause of deathExecution by hangingMonuments Casement Monument at Ballyheigue Beach Roger Casement Statue at Dún Laoghaire Baths Occupation(s)Diplomat, poet, humanitarian activistOrganisation(s)British Foreign Office, Irish Volunt...

 

Norwegian politician Nicolai Andresen Nicolai Andresen (24 September 1781 – 18 November 1861) was a Norwegian merchant, banker and member of Stortinget. He laid the foundation for Andresens Bank A/S, which after several mergers became Nordea Bank Norge.[1][2] Andresen was born at Tønder in southern Jutland, Denmark. He was the son of Christian Andresen and Cecilie Cathrine Asmussen. Andresen had studied under a merchant in Flensburg, before immigrated to Christiania (now Os...

 

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府...

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (يوليو 2017) العلاقات الـسعودية الكوبية   السعودية   كوبا السفارات السفارة الـسعودية في هافانا   السفي�...

 

Pier on the River Thames in London, United Kingdom Chelsea Harbour PierChelsea Harbour Pier on the ThamesTypeRiver bus and tourist/leisure servicesLocaleRiver Thames, London, UKOwnerChelsea HarbourOperatorUber Boat by Thames ClippersCharacteristicsHistoryCoordinates51°28′31″N 0°10′58″W / 51.47517°N 0.18281°W / 51.47517; -0.18281 Chelsea Harbour Pier Chelsea Harbour Pier is a pier on the River Thames, in London, United Kingdom. It is located on the North Ban...

 

German debate on Nazi motives and uniqueness, and guilt of post-Nazi Germany The Historikerstreit (German: [hɪsˈtoːʁɪkɐˌʃtʁaɪt] ⓘ, historians' dispute)[1] was a dispute in the late 1980s in West Germany between conservative and left-of-center academics and other intellectuals about how to incorporate Nazi Germany and the Holocaust into German historiography, and more generally into the German people's view of themselves.[2] The dispute was initiated with th...

Worldwide social and political movements against racism 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: Civil rights movements – news · newspapers · books · scholar · JSTOR (June 2010) (Learn how and when to remove this message) Martin Luther King Jr. and other civil rights movement leaders in front of the s...

 

Pandemi COVID-19 di ConnecticutPeta penyebaran di Connecticut menurut persen orang yang terinfeksi (pada 11 Oktober)   10.00%+ terkonfirmasi terinfeksi   3.00%-10.00% terkonfirmasi terinfeksi   1.00%-3.00% terkonfirmasi terinfeksi   0.30%-1.00% terkonfirmasi terinfeksi   0.10%-0.30% terkonfirmasi terinfeksi   0.03%-0.10% terkonfirmasi terinfeksi   0.00%-0.03% terkonfirmasi terinfeksiPenyakitCOVID-19Galur virusSARS-CoV-2Loka...