= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

Podobné dokumenty
TGH10 - Maximální toky

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

5 Orientované grafy, Toky v sítích

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Dijkstrův algoritmus

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

H {{u, v} : u,v U u v }

10 Přednáška ze

PLANARITA A TOKY V SÍTÍCH

Operační výzkum. Síťová analýza. Metoda CPM.

8 Přednáška z

Riemannův určitý integrál

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

11. Skalární součin a ortogonalita p. 1/16

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Naproti tomu gramatika je vlastně soupis pravidel, jak

Definice (Racionální mocnina). Buď,. Nechť, kde a a čísla jsou nesoudělná. Pak: 1. je-li a sudé, (nebo) 2. je-li liché, klademe

Greenova funkce pro dvoubodové okrajové úlohy pro obyčejné diferenciální rovnice

Grafové algoritmy. Programovací techniky

6 Simplexová metoda: Principy

Lineární algebra : Lineární prostor

Ohodnocené orientované grafy

Vrcholová barevnost grafu

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Lineární algebra : Polynomy

(ne)závislost. α 1 x 1 + α 2 x α n x n. x + ( 1) x Vektoru y = ( 1) y říkáme opačný vektor k vektoru y. x x = 1. x = x = 0.

1 Báze a dimenze vektorového prostoru 1

VEKTOROVÁ POLE Otázky

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 3. PREDNÁŠKA - KOMPAKTNÍ PROSTORY.

4EK311 Operační výzkum. 5. Teorie grafů

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

Minimalizace KA - Úvod

TEORIE GRAFŮ TEORIE GRAFŮ 1

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Grafové algoritmy. Programovací techniky

Vlastnosti regulárních jazyků

5. Lokální, vázané a globální extrémy

1 Lineární prostory a podprostory

PŘEDNÁŠKA 7 Kongruence svazů

VEKTOROVÁ POLE VEKTOROVÁ POLE

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

Matematická analýza pro informatiky I. Limita funkce

Obecná úloha lineárního programování

Nechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady.

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Hypergrafové removal lemma a Szemérediho

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

7. Funkce jedné reálné proměnné, základní pojmy

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Jan Březina. 7. března 2017

4 Pojem grafu, ve zkratce

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Modely Herbrandovské interpretace

Matice. a m1 a m2... a mn

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

Věta o sedlovém bodu a Fredholmova alternativa

Jak funguje asymetrické šifrování?

Principy indukce a rekurentní rovnice

1 Kardinální čísla. množin. Tvrzení: Necht X Cn. Pak: 1. X Cn a je to nejmenší prvek třídy X v uspořádání (Cn, ),

Věta o dělení polynomů se zbytkem

Jan Pavĺık. FSI VUT v Brně

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Formální systém výrokové logiky

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

TGH05 - aplikace DFS, průchod do šířky

Relace. R, S vyjmenovaním prvků. Sestrojte grafy relací R, S. Určete relace

Báze a dimenze vektorových prostorů

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019

1. Toky v sítích (zapsala Markéta Popelová)

Výroková a predikátová logika - IV

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

III přednáška Toky v sítích

Vybíravost grafů, Nullstellensatz, jádra

Definice 1 eulerovský Definice 2 poloeulerovský

0.1 Úvod do lineární algebry

Základy matematické analýzy

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

Vzdálenost uzlů v neorientovaném grafu

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Číselné posloupnosti

Zavedení a vlastnosti reálných čísel

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

Usuzování za neurčitosti

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

Algebraické rovnice. Obsah. Aplikovaná matematika I. Ohraničenost kořenů a jejich. Aproximace kořenů metodou půlení intervalu.

4. Diferenciál a Taylorova věta

Výroková a predikátová logika - III

Přednáška 6, 6. listopadu 2013

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Markl: Petriho sítě s prioritami /nnpn43.doc/ Strana 1

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

Lineární algebra : Polynomy

PŘEDNÁŠKA 2 POSLOUPNOSTI

Transkript:

Síť Síť je čtveřice N = ( G, s, t, c) kde G ( V, A) = je prostý orientovaný graf a každé orientované hraně ( u, v) je přiřazeno nezáporné číslo, které se nazývá kapacita hrany ( u, v), formálně c ( u, v) 0 hranu ( u, v) A předpokládáme c ( u, v) = 0. Pro orientovanou. V síti jsou dále vyznačeny dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez újmy na obecnosti předpokládat, že každý uzel leží na nějaké (orientované) cestě z uzlu s do uzlu t.

Příklad sítě 10 8 16 s 2 11 7 15 18 1 t

Tok v síti Tok v síti N ( G, s, t, c) = je zobrazení f : V V R splňující následující podmínky: 1. f u, v c u, v, u, v V 2. f u, v = f u, v, u, v V 3. v V f u, v =0, u V {s,t }

Příklad toku v síti Zde jsou kapacity hran vyznačeny červeně a hodnoty f u, v modře. Absence hodnoty značí f u, v =0 s - 1 10 15 1-20 18 5 2-2 16 - -2 2 t

( u v) f, se nazývá tok z uzlu u do uzlu v. f = u V u V u V u V f u,v 0 u V f v,u 0 f s, u se nazývá hodnota toku f f u, v se nazývá tok do uzlu v f v, u se nazývá tok z uzlu v f u, v se nazývá kladný tok do uzlu v f v, u se nazývá kladný tok z uzlu v

Následující tvrzení jsou snadným důsledkem definice: f ( u u ) = f ( u, u ), u V f ( u, u ) = 0, u V,, čili tok z uzlu do téhož uzlu je nulový. u V f u, v =, u V {s, t}, čili celkový tok do každého uzlu různého od počátečního a cílového je nulový. Pokud mezi uzly u, v neexistuje hrana, potom ( u, v) = f ( v, u ) = 0 f.

Sumační formalizmus Pro množiny uzlů X,Y V bude symbol f X,Y znamenat u X v Y f u, v Někdy budeme vynechávat složené závorky {,} pro označení množin. Například ve vzorci f ( s, V s) = f ( s, V ), značí s V množinu { s} V.

Lemma 1 Nechť N = G, s,t, c je síť, G= V, A prostý orientovaný graf, X,Y, Z V a f tok v síti N, potom platí (1) f X,Y = f Y, X (2) f X, X =0 (3) f X Y, Z = f X, Z f Y, Z if X Y =

Budeme řešit následující úlohu: Pro zadanou siť N = G, s,t,c najděte tok f max v síti N, který má maximální hodnotu, čili, f max f pro každý f v síti N.

Ford-Fulkersonova metoda Tato metoda spočívá na třech základních pojmech: zbytková síť, vylepšující cesta řez Začneme s nulovým tokem, čili f u, v =0, u, v V. Každou iterací najdeme vylepšující cestu, která zvětší aktuální tok, což je cesta z počátečního do cílového uzlu, podél které se podaří protlačit dodatečný tok. Iterace probíhají dokud se nám daří nacházet vylepšující cesty. Výsledný tok pak bude maxiální.

Zbytková kapacita, zbytková síť Nechť N ( G, s, t, c) = je síť a f tok v této síti. Pro každou dvojici uzlů u, v V, definujeme zbytkovou kapacitu c f u, v =c u, v f u, v vzhledem k toku f. Dále definujeme zbytkovou síť vzhledem k toku f N f = G f, s,t,c f, kde a G f = V, A f A f ={ u, v V V c f u, v 0 }

Lemma 2 Nechť N ( G, s, t, c) = je síť a f tok v této síti. Nechť N f = G f, s,t, c f je zbytková síť vzhledem k toku f a nechť f je tok v síti N f. Potom zobrazení ( f f ) V V R je tokem v síti N. + : takové, že ( f + f )( u, v) = f ( u, v) + f ( u, v)

Vylepšující cesta Je-li dána síť N ( G, s, t, c) = a tok f v ní definovaný, vylepšující cesta je jakákoliv (orientovaná) cesta z počátečního uzlu s do cílového uzlu t ve zbytkové síti N f = G f, s,t,c f Z definice zbytkové sítě plyne, že každá orientovaná hrana ( u, v) ve vylepšující cestě zvyšuje tok z uzlu u do uzlu v při zachování podmínky 1 z definice toku.

Kapacita vylepšující cesty Je-li dána síť N ( G, s, t, c) = s tokem f, a je-li p vylepšující cesta ve zbytkové síti N f = G f, s,t, c f, definujeme kapacitu vylepšující cesty p vzhledem k toku f c f p =min {c f u, v hrana u, v je obsažena v cestě p }

Lemma 3 Nechť N ( G, s, t, c) = je síť s tokem f a nechť p je vylepšující cesta ve zbytkové síti N f = G f, s,t,c f. Definujme zobrazení f p :V V R následovně: f u, v =c f p jestliže hrana u, v je v cestě p (*) f u, v = c f p jestliže hrana u, v je v cestě p f u, v =0 jinak. Potom f p je tok v síti N f s hodnotou f p =c f p

Důsledek Nechť N ( G, s, t, c) = je síť, f tok v této síti a p vylepšující cesta ve zbytkové síti N f = G f, s,t,c f. Nechť je definováno zobrazení f p :V V R jako v Lemma 3. Potom zobrazení f :V V R, f u, v = f u,v f p u, v je tokem v síti N a platí f = f f p f.

Při realizaci Ford-Fulkersonova algoritmu neustále zvyšujeme aktuální tok dokud dokážeme nalézt vylepšující cestu. Nyní dokážeme, že tok je maximální právě tehdym když už žádná vylepšující cesta ve zbytkové síti neexistuje. Je to důsledkem toho, že maximální tok se rovná minimálnímu řezu.

Řez v síti, tok řes řez, kapacita řezu Řez ( S, T ) v síti N ( G, s, t, c) podmnožiny S a T = je každý rozklad množiny uzlů V na = V S takové, že s S a t T. Tok přes řez ( S, T ) v síti N při daném toku f je číslo ( S T ) Kapacita řezu ( S, T ) v síti N je číslo ( S T ) c,. f,. Zatímco tok přes řez může zahrnovat i záporné hodnoty toku mezi uzly, kapacita řezu je vždy součet kladných hodnot.

Lemma 5 Nechť je dána síť N = ( G, s, t, c) s tokem f nechť ( T ) S, je řez v síti N. Potom platí, že tok přes řez ( S, T ) se rovná hodnotě toku f, čili ( S T ) f f, =. Důkaz: Podle Lemma 1 (3) můžeme psát f S,T = f S,V f S, S a podle Lemma 1 (2) platí f S,T = f S,V Opět podle Lemma 1 (3) můžeme psát f S,V = f s,v f S s,v. Dále platí v V f S s,v = f u,v. Avšak u S v V u s podmínky 3 z definice toku. Tedy f S,T = f s,v = f f u, v =0 pro u s podle

Jednoduchým důsledkem Lemma 5 je to, že hodnota toku se rovná celkovému toku do cílového uzlu. Další důsledek ukazuje, jak je možno použít kapacity k nalezení horního odhadu pro hodnotu toku. Důsledek 6 Hodnota každého toku v síti N ( G, s, t, c) každého řezu v síti N. = je menší nebo rovna kapacitě Důkaz: Nechť ( S, T ) je řez. Podle Lemma 5 a podmínky 1 z definice toku platí f = f S,T = u S v T f u, v u S v T c u, v =c S,T

Věta 7 (o maximálním toku a minimálním řezu) Nechť N ( G, s, t, c) ekvivalentní: = je síť s tokem f. Pak jsou následující tvrzení (1) f je a maximální tok v síti N (2) ve zbytkové síti N f = G f, s,t, c f nejsou žádné vylepšující cesty (3) je-li ( T ) Důkaz: ( ) ( 2) S, řez v síti N s minimální kapacitou, platí f = c( S, T ) 1 : Nechť f je maximální tok v síti N a předpokládejme, že v G f existuje vylepšující cesta. Potom podle Důsledku suma toků f f p kde f p je definováno vztahem (*) je tok v síti N s hodnotou větší než f, což je spor s tím, že f je maximální tok.

( ) ( 3) 2 : Nechť neexistuje vylepšující cesta v N f. Neexistuje tedyorientovaná cesta v grafu G f, z počátečního uzlu s do cílového uzlu t. Definujme množiny S, T takto: S ={u V v grafu G f existuje cesta z uzlu s do uzlu u}, T = U S Rozklad ( S, T ) je řezem neboť s S a t S, protože v grafu G f u, v, u S, v platí f ( u, v) = c( u, v), protože jinak by platilo u, v A f a tedy v S. Proto podle Lemma 5 platí f = f ( S, T ) = c( S, T ). neexistuje cesta z uzlu s do uzlu t. Pro každé dva uzly ( ) T ( 3) ( 1) : Podle důsledku 6 platí f c( S, T ) pro každý řez ( T ) ze vztahu f = c( S, T ) plyne, že f je maximální tok. S,. Proto

SCHÉMA FORD FULKERSONOVA ALGORITMU 1. Položíme f [ u, v] = 0, [ v, u] = 0 f pro každé dva uzly u, v V 2. Vypočítáme zbytkové kapacity c f u, v =c u, v f u, v. Vytvoříme zbytkovou síť N f = G f, s,t, c f, kde G f = V, A f a A f ={ u, v V V c u, v 0 } 3. Pokud neexistuje orientovaná cesta p v grafu G f mezi počátečním a cílovým uzlem, algorithms končí a poslední tok f je maximální. Jinak nalezneme takovou orientovanou cestu a označíme ji p.. Vypočítáme c f p =min {c f u,v hrana u, v je v cestě p } Pro každou dvojici uzlů ( u, v) z cesty p spočítáme: f u, v = f u, v c f p, f v,u = f v, u c f p. Přejdeme na 2.

Příklad Najděte maximální tok v síti s počátečním uzlem s a cílovým uzlem t. s 16 13 10 9 7 20 t 1

Řešení 1. iterace 16 s 10 13 Hodnota toku = 0 1 9 7 20 t Zbytková síť s t 16 20 s 10 9 7 t 13 1 Modrá vylepšující cesta s kapacitou

Řešení 2. iterace: s 16 13 10 9 7 20 t - Hodnota Toku = - - - - 1 Zbytková síť 8 20 s 10 5 t 7 13 10 Modrá vylepšující cesta s kapacitou 7

Řešení 3. iterace: 11 - -11 7-7 s 16 13 Hodnota toku = 11 11-11 - -7 7-7 7-10 20 9 7 t 1 Zbytková síť 8 5 13 11 s 3 11 5 7 t 7 13 3 11 Modrá vylepšující cesta s kapacitou 8

Řešení. iterace: s 16 13 10 Hodnota toku = 19 11 - -11-1 1 - -8 8 11-11 1-7 15-15 7-9 7 20 t Zbytková síť s 5 15 11 5 11 3 5 7 8 5 3 t 11 Modrá vylepšující cesta s kapacitou

Řešení 5. iterace: s 16 13 10 Hodnota toku = 23 11 - -11-1 1-11 -11 1-7 19-19 7-9 7 Zbytková síť Ve zbytkové síti neexistuje vylepšující cesta, hodnota toku je maximální. 20 s t 5 11 11 3 1 9 3 11 7 1 19 t