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

Podobné dokumenty
4 Pojem grafu, ve zkratce

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

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

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

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

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

= 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

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

TGH02 - teorie grafů, základní pojmy

1. Toky, řezy a Fordův-Fulkersonův algoritmus

8 Přednáška z

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

TGH02 - teorie grafů, základní pojmy

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

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

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy

07 Základní pojmy teorie grafů

TGH02 - teorie grafů, základní pojmy

1 Báze a dimenze vektorového prostoru 1

Základní pojmy teorie grafů [Graph theory]

Teorie grafů BR Solutions - Orličky Píta (Orličky 2010) Teorie grafů / 66

10 Přednáška ze

10 Podgrafy, isomorfismus grafů

Vrcholová barevnost grafu

Úvod do teorie grafů

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

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

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

3. Grafy a matice. Definice 3.2. Čtvercová matice A se nazývá rozložitelná, lze-li ji napsat ve tvaru A =

Hledáme efektivní řešení úloh na grafu

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

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

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

TGH10 - Maximální toky

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

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

Teorie grafů Jirka Fink

PLANARITA A TOKY V SÍTÍCH

Minimalizace KA - Úvod

Jan Pavĺık. FSI VUT v Brně

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

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

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

Množiny, relace, zobrazení

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

popel, glum & nepil 16/28

Vzdálenost uzlů v neorientovaném grafu

Algoritmizace prostorových úloh

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

Metody síťové analýzy

5 Minimální kostry, Hladový algoritmus

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

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

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

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

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

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

Rovinné grafy Kostra grafu Minimální kostra Toky v sítích Problém maximálního toku v síti. Stromy a kostry. Michal Bulant

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

1 Nenulové toky. 1.1 Úvod. 1.2 Definice

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Grafové algoritmy. Programovací techniky

IB112 Základy matematiky

3 Množiny, Relace a Funkce

TEORIE GRAFŮ TEORIE GRAFŮ 1

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Teorie grafů. Teoretická informatika Tomáš Foltýnek

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

Matematická analýza 1

Základní pojmy teorie množin Vektorové prostory

Definice 1 eulerovský Definice 2 poloeulerovský

Učební texty k státní bakalářské zkoušce Matematika Diskrétní matematika. študenti MFF 15. augusta 2008

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

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

Grafy. 1. Základní pojmy. 1. Definice grafu. Grafy.nb 1

Vybíravost grafů, Nullstellensatz, jádra

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...

Jan Březina. 7. března 2017

STROMY. v 7 v 8. v 5. v 2. v 3. Základní pojmy. Řešené příklady 1. příklad. Stromy

Pojem relace patří mezi pojmy, které prostupují všemi částmi matematiky.

GRAFY A GRAFOVÉ ALGORITMY

Definice 5.1 Graf G = (V, E) je tvořen množinou vrcholů V a množinou hran, kde

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

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

Kongruence na množině celých čísel

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

Přijímací zkouška - matematika

Lineární algebra : Lineární prostor

Úvod do informatiky. Miroslav Kolařík

Učební texty k státní bakalářské zkoušce Matematika Teorie grafů. študenti MFF 15. augusta 2008

B i n á r n í r e l a c e. Patrik Kavecký, Radomír Hamřík

Grafové algoritmy. Programovací techniky

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

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

1 Linearní prostory nad komplexními čísly

Kapitola 1. Relace. podle definice podmnožinou každé množiny. 1 Neříkáme už ale, co to je objekt. V tom právě spočívá intuitivnost našeho přístupu.

Úvod do teorie her

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.

Transkript:

Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost (jako potrubní nebo počítačové sítě). Základní úlohou v této oblasti je problém nalezení maximálního toku v síti za podmínky respektování daných kapacit hran.

Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost (jako potrubní nebo počítačové sítě). Základní úlohou v této oblasti je problém nalezení maximálního toku v síti za podmínky respektování daných kapacit hran. Stručný přehled lekce * Definice a některé základní vlastnosti orientovaných grafů, souvislost. * Sítě s kapacitami hran, hledání maximálního toku a dualita. * Důsledky duality toku; vyšší souvislost, bipartitní párování, SRR.

Petr Hliněný, FI MU Brno, 205 2 / 9 FI: IB000: Toky v sítích 5. Základní pojmy orientovaných grafů Požadavek explicitně vyjádřit směr hrany přirozeně vede na následující definici orientovaného grafu, ve kterém hrany jsou uspořádané dvojice vrcholů.

Petr Hliněný, FI MU Brno, 205 2 / 9 FI: IB000: Toky v sítích 5. Základní pojmy orientovaných grafů Požadavek explicitně vyjádřit směr hrany přirozeně vede na následující definici orientovaného grafu, ve kterém hrany jsou uspořádané dvojice vrcholů. Definice 5.. Orientovaný graf je uspoř. dvojice D = (V, E), kde E V V.

Petr Hliněný, FI MU Brno, 205 2 / 9 FI: IB000: Toky v sítích 5. Základní pojmy orientovaných grafů Požadavek explicitně vyjádřit směr hrany přirozeně vede na následující definici orientovaného grafu, ve kterém hrany jsou uspořádané dvojice vrcholů. Definice 5.. Orientovaný graf je uspoř. dvojice D = (V, E), kde E V V. Pojmy podgrafu a isomorfismu se přirozeně přenášejí na orientované grafy.

Petr Hliněný, FI MU Brno, 205 2 / 9 FI: IB000: Toky v sítích 5. Základní pojmy orientovaných grafů Požadavek explicitně vyjádřit směr hrany přirozeně vede na následující definici orientovaného grafu, ve kterém hrany jsou uspořádané dvojice vrcholů. Definice 5.. Orientovaný graf je uspoř. dvojice D = (V, E), kde E V V. Pojmy podgrafu a isomorfismu se přirozeně přenášejí na orientované grafy. Značení: Hrana (u, v) (zvaná také šipka) v orientovaném grafu D začíná ve vrcholu u a končí ve (míří do) vrcholu v. Opačná hrana (v, u) je různá od (u, v). Speciálně hrana tvaru (u, u) se nazývá orientovaná smyčka.

Petr Hliněný, FI MU Brno, 205 2 / 9 FI: IB000: Toky v sítích 5. Základní pojmy orientovaných grafů Požadavek explicitně vyjádřit směr hrany přirozeně vede na následující definici orientovaného grafu, ve kterém hrany jsou uspořádané dvojice vrcholů. Definice 5.. Orientovaný graf je uspoř. dvojice D = (V, E), kde E V V. Pojmy podgrafu a isomorfismu se přirozeně přenášejí na orientované grafy. Značení: Hrana (u, v) (zvaná také šipka) v orientovaném grafu D začíná ve vrcholu u a končí ve (míří do) vrcholu v. Opačná hrana (v, u) je různá od (u, v). Speciálně hrana tvaru (u, u) se nazývá orientovaná smyčka. Orientované grafy odpovídají relacím, které nemusí být symetrické.

Petr Hliněný, FI MU Brno, 205 3 / 9 FI: IB000: Toky v sítích Orientovaná cesta délky n 0 je následujícím grafem na n + vrcholech 2 3... n n +

Petr Hliněný, FI MU Brno, 205 3 / 9 FI: IB000: Toky v sítích Orientovaná cesta délky n 0 je následujícím grafem na n + vrcholech 2 3... n n + a orientovaná kružnice (také cyklus) délky n vypadá takto: 4 3 2 5 6 n...

Petr Hliněný, FI MU Brno, 205 3 / 9 FI: IB000: Toky v sítích Orientovaná cesta délky n 0 je následujícím grafem na n + vrcholech 2 3... n n + a orientovaná kružnice (také cyklus) délky n vypadá takto: 4 3 2 5 6 n... Definice: Počet hran začínajících ve vrcholu u orientovaného grafu D nazveme výstupním stupněm d + D (u) a počet hran končících v u nazveme vstupním stupněm d D (u). Součet všech výstupních stupňů je přirozeně roven součtu všech vstupních stupňů.

Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích Souvislost na orientovaných grafech Uvedeme si odstupňovaně tři základní pohledy na orientovanou souvislost: Slabá souvislost. Jedná se o tradiční souvislost na symetrizaci grafu D (tj. po zapomenutí směru šipek).

Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích Souvislost na orientovaných grafech Uvedeme si odstupňovaně tři základní pohledy na orientovanou souvislost: Slabá souvislost. Jedná se o tradiční souvislost na symetrizaci grafu D (tj. po zapomenutí směru šipek). Dosažitelnost (směrem ven ). Orientovaný graf D je dosažitelný směrem ven, pokud v něm existuje vrchol v V (D) takový, že každý vrchol x V (D) je dosažitelný orientovaným sledem z v. v

Petr Hliněný, FI MU Brno, 205 5 / 9 FI: IB000: Toky v sítích Podrobným zkoumáním následujícího obrázku zjistíme, že jeho graf není dosažitelný směrem ven, nebot chybí možnost dosáhnout vrchol b úplně vpravo. Na druhou stranu po vypuštění b je zbylý graf dosažitelný ven z vrcholu a vlevo. a b

Petr Hliněný, FI MU Brno, 205 6 / 9 FI: IB000: Toky v sítích Souvislost na orientovaných grafech, silná Silná souvislost. V nejsilnější verzi vyžadujeme současnou existenci spojení (cest) v obou směrech mezi dvojicí vrcholů. u v

Petr Hliněný, FI MU Brno, 205 6 / 9 FI: IB000: Toky v sítích Souvislost na orientovaných grafech, silná Silná souvislost. V nejsilnější verzi vyžadujeme současnou existenci spojení (cest) v obou směrech mezi dvojicí vrcholů. u v Tvrzení 5.2. Necht je binární relace na vrcholové množině V (D) orientovaného grafu D taková, že u v právě když existuje dvojice orientovaných cest jedna z u do v a druhá z v do u v grafu D.

Petr Hliněný, FI MU Brno, 205 6 / 9 FI: IB000: Toky v sítích Souvislost na orientovaných grafech, silná Silná souvislost. V nejsilnější verzi vyžadujeme současnou existenci spojení (cest) v obou směrech mezi dvojicí vrcholů. u v Tvrzení 5.2. Necht je binární relace na vrcholové množině V (D) orientovaného grafu D taková, že u v právě když existuje dvojice orientovaných cest jedna z u do v a druhá z v do u v grafu D. Pak je relace ekvivalence. Definice 5.3. Silné komponenty orientovaného grafu D jsou třídy ekvivalence relace uvedené v Tvrzení 9.2.

Petr Hliněný, FI MU Brno, 205 6 / 9 FI: IB000: Toky v sítích Souvislost na orientovaných grafech, silná Silná souvislost. V nejsilnější verzi vyžadujeme současnou existenci spojení (cest) v obou směrech mezi dvojicí vrcholů. u v Tvrzení 5.2. Necht je binární relace na vrcholové množině V (D) orientovaného grafu D taková, že u v právě když existuje dvojice orientovaných cest jedna z u do v a druhá z v do u v grafu D. Pak je relace ekvivalence. Definice 5.3. Silné komponenty orientovaného grafu D jsou třídy ekvivalence relace uvedené v Tvrzení 9.2. Orientovaný graf D je silně souvislý pokud má nejvýše jednu silnou komponentu.

Petr Hliněný, FI MU Brno, 205 7 / 9 FI: IB000: Toky v sítích Pro ilustraci si mírně upravíme dříve prezentovaný orientovaný graf tak, že bude dosažitelný z nejlevějšího vrcholu. Je výsledek silně souvislý?

Petr Hliněný, FI MU Brno, 205 7 / 9 FI: IB000: Toky v sítích Pro ilustraci si mírně upravíme dříve prezentovaný orientovaný graf tak, že bude dosažitelný z nejlevějšího vrcholu. Je výsledek silně souvislý? Ne, na obrázku jsou vyznačené jeho 4 silné komponenty. Zároveň uvádíme pro ilustraci obrázek kondenzace silných komponent tohoto grafu, což je acyklický orientovaný graf s vrcholy reprezentujícími zmíněné silné komponenty a směry hran mezi nimi.

Petr Hliněný, FI MU Brno, 205 8 / 9 FI: IB000: Toky v sítích 5.2 Definice sítě a toku Základní strukturou pro reprezentaci sítí je vážený orientovaný graf (přičemž implicitní směr hran je v tomto kontextu nezbytný).

Petr Hliněný, FI MU Brno, 205 8 / 9 FI: IB000: Toky v sítích 5.2 Definice sítě a toku Základní strukturou pro reprezentaci sítí je vážený orientovaný graf (přičemž implicitní směr hran je v tomto kontextu nezbytný). Definice 5.4. Sít je čtveřice S = (D, z, s, w), kde D je orientovaný graf, vrcholy z V (D), s V (D) jsou zdroj a stok, w : E(D) R + je kladné ohodnocení hran, zvané kapacita hran. z 4 3 3 2 5 5 2 2 4 s

Petr Hliněný, FI MU Brno, 205 8 / 9 FI: IB000: Toky v sítích 5.2 Definice sítě a toku Základní strukturou pro reprezentaci sítí je vážený orientovaný graf (přičemž implicitní směr hran je v tomto kontextu nezbytný). Definice 5.4. Sít je čtveřice S = (D, z, s, w), kde D je orientovaný graf, vrcholy z V (D), s V (D) jsou zdroj a stok, w : E(D) R + je kladné ohodnocení hran, zvané kapacita hran. z 4 3 3 2 5 5 2 2 4 s Poznámka: V praxi může být zdrojů a stoků více, ale v definici stačí pouze jeden zdroj a stok, z něhož / do nějž vedou hrany do ostatních zdrojů / stoků. (Dokonce pak různé zdroje a stoky mohou mít své kapacity.)

Petr Hliněný, FI MU Brno, 205 9 / 9 FI: IB000: Toky v sítích Velikost toku v síti Značení: Pro jednoduchost píšeme ve výrazech značku e v pro hranu e končící ve vrcholu v a e v pro hranu e začínající z v.

Petr Hliněný, FI MU Brno, 205 9 / 9 FI: IB000: Toky v sítích Velikost toku v síti Značení: Pro jednoduchost píšeme ve výrazech značku e v pro hranu e končící ve vrcholu v a e v pro hranu e začínající z v. Definice 5.5. Tok v síti S = (D, z, s, w) je funkce f : E(D) R + 0 e E(D) : 0 f(e) w(e), v V (D), v z, s : f(e) = f(e). e v e v splňující (respektování kapacity) (zachování substance)

Petr Hliněný, FI MU Brno, 205 9 / 9 FI: IB000: Toky v sítích Velikost toku v síti Značení: Pro jednoduchost píšeme ve výrazech značku e v pro hranu e končící ve vrcholu v a e v pro hranu e začínající z v. Definice 5.5. Tok v síti S = (D, z, s, w) je funkce f : E(D) R + 0 e E(D) : 0 f(e) w(e), v V (D), v z, s : f(e) = f(e). e v e v Velikost toku f je dána výrazem f = f(e) f(e). e z e z splňující (respektování kapacity) (zachování substance)

Velikost toku v síti Značení: Pro jednoduchost píšeme ve výrazech značku e v pro hranu e končící ve vrcholu v a e v pro hranu e začínající z v. Definice 5.5. Tok v síti S = (D, z, s, w) je funkce f : E(D) R + 0 e E(D) : 0 f(e) w(e), v V (D), v z, s : f(e) = f(e). e v splňující (respektování kapacity) Petr Hliněný, FI MU Brno, 205 9 / 9 FI: IB000: Toky v sítích e v Velikost toku f je dána výrazem f = f(e) f(e). e z e z (zachování substance) Značení: Tok a kapacitu hran v obrázku sítě budeme zjednodušeně zapisovat ve formátu F/C, kde F je hodnota toku na hraně a C je její kapacita. 2/5 2/4 2/2 z 0/ 3/3 0/3 0/2 0/2 3/5 0/ 3/4 s

Petr Hliněný, FI MU Brno, 205 0 / 9 FI: IB000: Toky v sítích 5.3 Nalezení maximálního toku Naším úkolem je nalézt co největší přípustný tok v dané síti. Pro jeho nalezení existují jednoduché i velmi rychlé algoritmy. Definice 5.6. Úloha hledání maximálního toku v síti S = (D, z, s, w). Úkolem je v síti S najít tok f ze zdroje z do stoku s podle Definice 9.5 takový, který maximalizuje velikost f.

Petr Hliněný, FI MU Brno, 205 0 / 9 FI: IB000: Toky v sítích 5.3 Nalezení maximálního toku Naším úkolem je nalézt co největší přípustný tok v dané síti. Pro jeho nalezení existují jednoduché i velmi rychlé algoritmy. Definice 5.6. Úloha hledání maximálního toku v síti S = (D, z, s, w). Úkolem je v síti S najít tok f ze zdroje z do stoku s podle Definice 9.5 takový, který maximalizuje velikost f. Tok velikosti 5 uvedený v ukázce v předchozí části nebyl optimální, nebot v této síti najdeme i tok velikosti 6: 2/5 2/4 2/2 z 0/ 3/3 0/3 0/2 3/5 0/2 0/ 3/4 s

Petr Hliněný, FI MU Brno, 205 0 / 9 FI: IB000: Toky v sítích 5.3 Nalezení maximálního toku Naším úkolem je nalézt co největší přípustný tok v dané síti. Pro jeho nalezení existují jednoduché i velmi rychlé algoritmy. Definice 5.6. Úloha hledání maximálního toku v síti S = (D, z, s, w). Úkolem je v síti S najít tok f ze zdroje z do stoku s podle Definice 9.5 takový, který maximalizuje velikost f. Tok velikosti 5 uvedený v ukázce v předchozí části nebyl optimální, nebot v této síti najdeme i tok velikosti 6: 2/5 3=2/4 2/2 z 0/ 3/3 =0/3 0/2 0/2 4=3/5 0/ Jak však poznáme, že větší tok již v dané síti neexistuje? 4=3/4 s

Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích Pojem řezu v síti Definice 5.7. Řez v síti S = (D, z, s, w) je podmnožina hran X E(D) taková, že v podgrafu D X (tj. po odebrání hran X z D) nezbude žádná orientovaná cesta ze z do s.

Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích Pojem řezu v síti Definice 5.7. Řez v síti S = (D, z, s, w) je podmnožina hran X E(D) taková, že v podgrafu D X (tj. po odebrání hran X z D) nezbude žádná orientovaná cesta ze z do s. Velikostí řezu X rozumíme součet kapacit hran z X, tj. X = e X w(e). 4 2 z 3 4 4 s

Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích Pojem řezu v síti Definice 5.7. Řez v síti S = (D, z, s, w) je podmnožina hran X E(D) taková, že v podgrafu D X (tj. po odebrání hran X z D) nezbude žádná orientovaná cesta ze z do s. Velikostí řezu X rozumíme součet kapacit hran z X, tj. X = e X w(e). 4 2 z 3 C = 5 4 4 s

Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích Pojem řezu v síti Definice 5.7. Řez v síti S = (D, z, s, w) je podmnožina hran X E(D) taková, že v podgrafu D X (tj. po odebrání hran X z D) nezbude žádná orientovaná cesta ze z do s. Velikostí řezu X rozumíme součet kapacit hran z X, tj. X = e X w(e). 4 2 z 3 X C = 5 4 4 s

Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích Pojem řezu v síti Definice 5.7. Řez v síti S = (D, z, s, w) je podmnožina hran X E(D) taková, že v podgrafu D X (tj. po odebrání hran X z D) nezbude žádná orientovaná cesta ze z do s. Velikostí řezu X rozumíme součet kapacit hran z X, tj. X = e X w(e). 4 2 z 3 C = 5 X C = 5 4 4 s

Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích Pojem řezu v síti Definice 5.7. Řez v síti S = (D, z, s, w) je podmnožina hran X E(D) taková, že v podgrafu D X (tj. po odebrání hran X z D) nezbude žádná orientovaná cesta ze z do s. Velikostí řezu X rozumíme součet kapacit hran z X, tj. X = e X w(e). 4 2 z 3 C = 5 X C = 5 4 4 s Věta 5.8. Maximální velikost toku v síti je rovna minimální velikosti řezu.

Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích Pojem řezu v síti Definice 5.7. Řez v síti S = (D, z, s, w) je podmnožina hran X E(D) taková, že v podgrafu D X (tj. po odebrání hran X z D) nezbude žádná orientovaná cesta ze z do s. Velikostí řezu X rozumíme součet kapacit hran z X, tj. X = e X w(e). 4 2 z 3 C = 5 X C = 5 4 4 s Věta 5.8. Maximální velikost toku v síti je rovna minimální velikosti řezu. V uvedeném obrázku nalezneme tok velikosti 5. Vyznačený řez má také velikost 5.

Petr Hliněný, FI MU Brno, 205 2 / 9 FI: IB000: Toky v sítích Nenasycené cesty v síti Definice: Mějme sít S a v ní tok f. Nenasycená cesta P (v S vzhledem k f) je neorientovaná cesta v D mezi určenými vrcholy (obvykle ze z do s), tj. posloupnost navazujících libovolně orientovaných hran e, e 2,..., e m,

Petr Hliněný, FI MU Brno, 205 2 / 9 FI: IB000: Toky v sítích Nenasycené cesty v síti Definice: Mějme sít S a v ní tok f. Nenasycená cesta P (v S vzhledem k f) je neorientovaná cesta v D mezi určenými vrcholy (obvykle ze z do s), tj. posloupnost navazujících libovolně orientovaných hran e, e 2,..., e m, kde f(e i ) < w(e i ) pro e i ve směru ze z do s a f(e j ) > 0 pro e j jinak. 3/4 /2 / 2/3 2/4 z s rezerva kapacity: + + + +2 +2 > 0

Petr Hliněný, FI MU Brno, 205 2 / 9 FI: IB000: Toky v sítích Nenasycené cesty v síti Definice: Mějme sít S a v ní tok f. Nenasycená cesta P (v S vzhledem k f) je neorientovaná cesta v D mezi určenými vrcholy (obvykle ze z do s), tj. posloupnost navazujících libovolně orientovaných hran e, e 2,..., e m, kde f(e i ) < w(e i ) pro e i ve směru ze z do s a f(e j ) > 0 pro e j jinak. 3/4 /2 / 2/3 2/4 z s rezerva kapacity: + + + +2 +2 > 0 Hodnotám w(e i ) f(e i ) > 0 pro hrany e i ve směru ze z do s a f(e j ) > 0 pro hrany e j v opačném směru říkáme rezerva kapacity hran. Nenasycená cesta je tudíž cesta s kladnými rezervami kapacit všech hran.

Petr Hliněný, FI MU Brno, 205 3 / 9 FI: IB000: Toky v sítích Metoda 5.9. Maximální tok vylepšováním nenasycených cest. Základní myšlenkou této jednoduché metody hledání maximálního toku v dané síti je prostě opakovaně vylepšovat tok podél nalezených nenasycených cest. 3/4 /2 / 2/3 2/4 z s rezerva kapacity: + + + +2 +2 > 0

Petr Hliněný, FI MU Brno, 205 3 / 9 FI: IB000: Toky v sítích Metoda 5.9. Maximální tok vylepšováním nenasycených cest. Základní myšlenkou této jednoduché metody hledání maximálního toku v dané síti je prostě opakovaně vylepšovat tok podél nalezených nenasycených cest. 3/4 /2 / 2/3 2/4 z s rezerva kapacity: + + + +2 +2 > 0 min. rezerva r = + P z 4/4 2/2 0/ /3 3/4 s

Petr Hliněný, FI MU Brno, 205 3 / 9 FI: IB000: Toky v sítích Metoda 5.9. Maximální tok vylepšováním nenasycených cest. Základní myšlenkou této jednoduché metody hledání maximálního toku v dané síti je prostě opakovaně vylepšovat tok podél nalezených nenasycených cest. 3/4 /2 / 2/3 2/4 z s rezerva kapacity: + + + +2 +2 > 0 min. rezerva r = + P z 4/4 2/2 0/ /3 3/4 s Pro rekapitulaci, náš tok se vylepší následovně; pro hrany e i E(P ) ve směru ze z do s zvýšíme tok na f (e i ) = f(e i ) + r, pro hrany e j E(P ) ve směru ze s do z snížíme tok na f (e j ) = f(e j ) r. Výsledný tok f pak bude opět přípustný.

Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích z./4./3./2./././4./ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující: Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U../2./4 s

z 0/4./4 0/3./3 0/2./2 0/./ 0/./ 0/4./4 Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích./ 0/ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující:./2 0/2./4 0/4 Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U. Výstup: Vypíšeme maximální tok f a také minimální řez jako množinu všech hran vedoucích z U do V (D) U. s tok = 0

z 0/4./4 0/3./3 0/2./2 0/./ 0/./ 0/4./4 Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích./ 0/ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující:./2 0/2./4 0/4 Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U. Výstup: Vypíšeme maximální tok f a také minimální řez jako množinu všech hran vedoucích z U do V (D) U. s nenasyceno tok = 0

z 0/4 /4./4 0/3./3 0/2./2 0/./ 0/ /./ 0/4./4 Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích./ 0/ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující:./2 0/2 /2./4 0/4 Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U. Výstup: Vypíšeme maximální tok f a také minimální řez jako množinu všech hran vedoucích z U do V (D) U. s nenasyceno tok = 0

z 0/4 /4./4 0/3./3 0/2./2 0/./ 0/ /./ 0/4./4 Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích./ 0/ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující:./2 0/2 /2./4 0/4 Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U. Výstup: Vypíšeme maximální tok f a také minimální řez jako množinu všech hran vedoucích z U do V (D) U. s nenasyceno tok = 0

z 0/4 /4./4 0/3 3/3./3 0/2./2 0/./ 0/ /./ 0/4 3/4./4 Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích./ 0/ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující:./2 0/2 /2./4 0/4 3/4 Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U. Výstup: Vypíšeme maximální tok f a také minimální řez jako množinu všech hran vedoucích z U do V (D) U. s nenasyceno tok = 0 4

z 0/4 /4./4 0/3 3/3./3 0/2./2 0/./ 0/ /./ 0/4 3/4./4 Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích./ 0/ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující:./2 0/2 /2./4 0/4 3/4 Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U. Výstup: Vypíšeme maximální tok f a také minimální řez jako množinu všech hran vedoucích z U do V (D) U. s nenasyceno tok = 0 4

z 0/4 /4 2/4./4 0/3 3/3./3 0/2 /2./2 0/./ 0/ /./ 0/4 3/4 4/4./4 Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích./ 0/ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující:./2 0/2 /2./4 0/4 3/4 4/4 Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U. Výstup: Vypíšeme maximální tok f a také minimální řez jako množinu všech hran vedoucích z U do V (D) U. s nenasyceno tok = 0 45

z 0/4 /4 2/4./4 0/3 3/3./3 0/2 /2./2 0/./ U / 0/./ 0/4 3/4 4/4./4 Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích./ 0/ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující:./2 0/2 /2./4 0/4 3/4 4/4 Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U. Výstup: Vypíšeme maximální tok f a také minimální řez jako množinu všech hran vedoucích z U do V (D) U. s nenasyceno nasyceno tok = 0 45

z 0/4 /4 2/4./4 0/3 3/3./3 0/2 /2./2 0/./ U / 0/./ 0/4 3/4 4/4./4 Petr Hliněný, FI MU Brno, 205 4 / 9 FI: IB000: Toky v sítích./ 0/ Algoritmus 5.0. Ford Fulkersonův pro tok v síti. Vstup: Sít S = (D, z, s, w) podle Definice 9.4. Tok f (0, 0,... 0). Dále opakujeme následující:./2 0/2 /2./4 0/4 3/4 4/4 Prohledáváním grafu najdeme množinu U vrcholů D, do kterých se dostaneme ze z po nenasycených cestách. Pokud s U, necht P značí nalezenou nenasycenou cestu v S ze z do s. Zvětšíme tok f o minimální rezervu kapacity hran v P. Opakujeme kroky výše, dokud nenastane s U. Výstup: Vypíšeme maximální tok f a také minimální řez jako množinu všech hran vedoucích z U do V (D) U. s nenasyceno nasyceno tok = 0 45

Petr Hliněný, FI MU Brno, 205 5 / 9 FI: IB000: Toky v sítích Důkaz správnosti Algoritmu 9.0: Pro každý tok f a každý řez X v síti S platí f X. Jestliže po zastavení algoritmu s tokem f nalezneme v síti S řez o stejné velikosti X = f, je jasné, že jsme našli maximální možný tok v síti S. (Pozor, zastavení algoritmu jsme zatím nezdůvodnili.)

Petr Hliněný, FI MU Brno, 205 5 / 9 FI: IB000: Toky v sítích Důkaz správnosti Algoritmu 9.0: Pro každý tok f a každý řez X v síti S platí f X. Jestliže po zastavení algoritmu s tokem f nalezneme v síti S řez o stejné velikosti X = f, je jasné, že jsme našli maximální možný tok v síti S. (Pozor, zastavení algoritmu jsme zatím nezdůvodnili.) Takže dokažme, že po zastavení algoritmu nastane rovnost f = X, kde X je vypsaný řez mezi U a zbytkem grafu D. Vezměme tok f v S bez nenasycené cesty ze z do s. Pak množina U z algoritmu neobsahuje s. U z f(e) = w(e) s f(e) = 0

Důkaz správnosti Algoritmu 9.0: Pro každý tok f a každý řez X v síti S platí f X. Jestliže po zastavení algoritmu s tokem f nalezneme v síti S řez o stejné velikosti X = f, je jasné, že jsme našli maximální možný tok v síti S. (Pozor, zastavení algoritmu jsme zatím nezdůvodnili.) Takže dokažme, že po zastavení algoritmu nastane rovnost f = X, kde X je vypsaný řez mezi U a zbytkem grafu D. Vezměme tok f v S bez nenasycené cesty ze z do s. Pak množina U z algoritmu neobsahuje s. U z f(e) = w(e) s f(e) = 0 Nyní má každá hrana e U (odch. z U) plný tok f(e) = w(e) a každá hrana e U (přich. do U) tok f(e) = 0, takže f = e U f(e) e U f(e) = e U f(e) = e X w(e) = X. Petr Hliněný, FI MU Brno, 205 5 / 9 FI: IB000: Toky v sítích

Petr Hliněný, FI MU Brno, 205 6 / 9 FI: IB000: Toky v sítích Důsledky Ford Fulkersonova algoritmu Z důkazu Algoritmu 9.0 odvodíme několik zajímavých faktů: Pokud Algoritmus 9.0 vždy skončí, dokážeme tím i platnost Věty 9.8.

Petr Hliněný, FI MU Brno, 205 6 / 9 FI: IB000: Toky v sítích Důsledky Ford Fulkersonova algoritmu Z důkazu Algoritmu 9.0 odvodíme několik zajímavých faktů: Pokud Algoritmus 9.0 vždy skončí, dokážeme tím i platnost Věty 9.8. Pro celočíselné kapacity hran sítě S Algoritmus 9.0 vždy skončí. 3/4 /2 / 2/3 2/4 z s rezerva kapacity: + + + +2 +2 > 0

Petr Hliněný, FI MU Brno, 205 6 / 9 FI: IB000: Toky v sítích Důsledky Ford Fulkersonova algoritmu Z důkazu Algoritmu 9.0 odvodíme několik zajímavých faktů: Pokud Algoritmus 9.0 vždy skončí, dokážeme tím i platnost Věty 9.8. Pro celočíselné kapacity hran sítě S Algoritmus 9.0 vždy skončí. 3/4 /2 / 2/3 2/4 z s rezerva kapacity: + + + +2 +2 > 0 Pokud jsou kapacity hran sítě S celočíselné, opt. tok také vyjde celočíselně.

Petr Hliněný, FI MU Brno, 205 7 / 9 FI: IB000: Toky v sítích 5.4 Zobecněné použití sítí 5.4 Zobecněné použití sítí Sítě s kapacitami vrcholů: U sítě můžeme zadat kapacity vrcholů, neboli kapacitní váhová funkce je dána jako w : E(D) V (D) R +. 5 4 3 5 2 a b z s 5 4 3 5 2 a b z s

5.4 Zobecněné použití sítí Sítě s kapacitami vrcholů: U sítě můžeme zadat kapacity vrcholů, neboli kapacitní váhová funkce je dána jako w : E(D) V (D) R +. 5 z 3 2 5 b 4 z 3 a 2 b 4 a 5 s 5 s Sítě s dolními kapacitami: Pro hrany sítě lze zadat také jejich minimální kapacity, tedy dolní meze přípustného toku, jako váhovou funkci l : E(D) R + 0. l(e) f(e) w(e) Petr Hliněný, FI MU Brno, 205 7 / 9 FI: IB000: Toky v sítích

Petr Hliněný, FI MU Brno, 205 8 / 9 FI: IB000: Toky v sítích Bipartitní párování Definice: Párování v (nyní bipartitním) grafu G je podmnožina hran M E(G) taková, že žádné dvě hrany z M nesdílejí koncový vrchol.

Petr Hliněný, FI MU Brno, 205 8 / 9 FI: IB000: Toky v sítích Bipartitní párování Definice: Párování v (nyní bipartitním) grafu G je podmnožina hran M E(G) taková, že žádné dvě hrany z M nesdílejí koncový vrchol. Metoda 5.2. Nalezení bipartitního párování Pro daný bipartitní graf G s vrcholy rozdělenými do množin A, B sestrojíme sít S následovně: A B z s

Petr Hliněný, FI MU Brno, 205 8 / 9 FI: IB000: Toky v sítích Bipartitní párování Definice: Párování v (nyní bipartitním) grafu G je podmnožina hran M E(G) taková, že žádné dvě hrany z M nesdílejí koncový vrchol. Metoda 5.2. Nalezení bipartitního párování Pro daný bipartitní graf G s vrcholy rozdělenými do množin A, B sestrojíme sít S následovně: A B z s Hrany sítě S orientujeme od zdroje do stoku a přiřadíme jim kapacity.

Petr Hliněný, FI MU Brno, 205 8 / 9 FI: IB000: Toky v sítích Bipartitní párování Definice: Párování v (nyní bipartitním) grafu G je podmnožina hran M E(G) taková, že žádné dvě hrany z M nesdílejí koncový vrchol. Metoda 5.2. Nalezení bipartitního párování Pro daný bipartitní graf G s vrcholy rozdělenými do množin A, B sestrojíme sít S následovně: A B z s Hrany sítě S orientujeme od zdroje do stoku a přiřadíme jim kapacity. Nyní najdeme (celočíselný) maximální tok v S Algoritmem 9.0. Do párování vložíme ty hrany grafu G, které mají nenulový tok.

Petr Hliněný, FI MU Brno, 205 9 / 9 FI: IB000: Toky v sítích Výběr různých reprezentantů Definice: Necht M, M 2,..., M k jsou neprázdné množiny. Systémem různých reprezentantů množin M, M 2,..., M k nazýváme takovou posloupnost různých prvků (x, x 2,..., x k ), že x i M i pro i =, 2,..., k.

Petr Hliněný, FI MU Brno, 205 9 / 9 FI: IB000: Toky v sítích Výběr různých reprezentantů Definice: Necht M, M 2,..., M k jsou neprázdné množiny. Systémem různých reprezentantů množin M, M 2,..., M k nazýváme takovou posloupnost různých prvků (x, x 2,..., x k ), že x i M i pro i =, 2,..., k. Věta 5.3. (Hall) Necht M, M 2,..., M k jsou neprázdné množiny. Pro tyto množiny existuje systém různých reprezentantů, právě když platí J {, 2,..., k} : M j J, j J neboli pokud sjednocení libovolné skupiny z těchto množin má alespoň tolik prvků, kolik množin je sjednoceno. Důkaz lze podat konstrukcí vhodné sítě podobné té v Metodě 9.2:

Petr Hliněný, FI MU Brno, 205 9 / 9 FI: IB000: Toky v sítích Výběr různých reprezentantů Definice: Necht M, M 2,..., M k jsou neprázdné množiny. Systémem různých reprezentantů množin M, M 2,..., M k nazýváme takovou posloupnost různých prvků (x, x 2,..., x k ), že x i M i pro i =, 2,..., k. Věta 5.3. (Hall) Necht M, M 2,..., M k jsou neprázdné množiny. Pro tyto množiny existuje systém různých reprezentantů, právě když platí J {, 2,..., k} : M j J, j J neboli pokud sjednocení libovolné skupiny z těchto množin má alespoň tolik prvků, kolik množin je sjednoceno. Důkaz lze podat konstrukcí vhodné sítě podobné té v Metodě 9.2: Použijí se speciální vrcholy u a v odpovídající zdroji a stoku; další vrcholy reprezentují (zleva) množiny a (vpravo) prvky naší úlohy a

Petr Hliněný, FI MU Brno, 205 9 / 9 FI: IB000: Toky v sítích Výběr různých reprezentantů Definice: Necht M, M 2,..., M k jsou neprázdné množiny. Systémem různých reprezentantů množin M, M 2,..., M k nazýváme takovou posloupnost různých prvků (x, x 2,..., x k ), že x i M i pro i =, 2,..., k. Věta 5.3. (Hall) Necht M, M 2,..., M k jsou neprázdné množiny. Pro tyto množiny existuje systém různých reprezentantů, právě když platí J {, 2,..., k} : M j J, j J neboli pokud sjednocení libovolné skupiny z těchto množin má alespoň tolik prvků, kolik množin je sjednoceno. Důkaz lze podat konstrukcí vhodné sítě podobné té v Metodě 9.2: Použijí se speciální vrcholy u a v odpovídající zdroji a stoku; další vrcholy reprezentují (zleva) množiny a (vpravo) prvky naší úlohy a ostatní hrany mimo zdrojové a stokové (kapacity ) vždy spojují množinu M j se všemi jejími prvky x i.