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

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

Diskrétní matematika. DiM /01, zimní semestr 2016/2017

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

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

Diskrétní matematika. DiM /01, zimní semestr 2016/2017

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

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

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

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

= 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

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

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

Diskrétní matematika. DiM /01, zimní semestr 2015/2016

4 Pojem grafu, ve zkratce

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

10 Podgrafy, isomorfismus grafů

Dijkstrův algoritmus

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

10 Přednáška ze

Hlavolamy a teorie grafů

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

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

TGH10 - Maximální toky

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

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

2.Tokyvsítích. Čajovod

Jan Březina. 7. března 2017

Vrcholová barevnost grafu

Lineární algebra : Lineární prostor

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

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

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

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

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

Lineární algebra : Lineární (ne)závislost

TEORIE GRAFŮ TEORIE GRAFŮ 1

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

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

PLANARITA A TOKY V SÍTÍCH

1 Lineární prostory a podprostory

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

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

1 Nenulové toky. 1.1 Úvod. 1.2 Definice

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

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

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

TGH02 - teorie grafů, základní pojmy

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

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

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, ),

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

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 : Báze a dimenze

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

Riemannův určitý integrál

9 Kolmost vektorových podprostorů

(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.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

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

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

Vybíravost grafů, Nullstellensatz, jádra

TGH02 - teorie grafů, základní pojmy

TGH02 - teorie grafů, základní pojmy

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

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

[1] Vzhledem ke zvolené bázi určujeme souřadnice vektorů...

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

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

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

Grafové algoritmy. Programovací techniky

Teorie grafů Jirka Fink

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 jara 2014

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

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

1 Soustavy lineárních rovnic

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

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Báze a dimenze vektorových prostorů

Jan Březina. Technical University of Liberec. 21. dubna 2015

Bipartitní grafy. Karel Klouda c KTI, FIT, ČVUT v Praze 28. března, letní semestr 2010/2011

Jan Březina. Technical University of Liberec. 30. dubna 2013

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

Definice 1 eulerovský Definice 2 poloeulerovský

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

1 Báze a dimenze vektorového prostoru 1

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.

07 Základní pojmy teorie grafů

Úvod do teorie her

Grafové algoritmy. Programovací techniky

Základy matematické analýzy

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

PŘEDNÁŠKA 2 POSLOUPNOSTI

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

Matematická analýza pro informatiky I. Limita funkce

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

Vzdálenost uzlů v neorientovaném grafu

Matematika 2 Úvod ZS09. KMA, PřF UP Olomouc. Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 25

5 Pravděpodobnost. Sestavíme pravděpodobnostní prostor, který modeluje vytažení dvou ponožek ze šuplíku. Elementární jevy

Množiny, relace, zobrazení

Transkript:

Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2018/2019

O tomto souboru Tento soubor je zamýšlen především jako pomůcka pro přednášejícího. Řadu důležitých informací v souboru nenajdete, protože přednášející je říká, ukazuje, případně maluje na tabuli. Přednášky jsou na webu k dispozici, aby studenti mohli snadno dohledat probíraná témata z přednášek, které zameškali. Pro samostatné studium doporučuji skripta: M. Kubesa: Základy diskrétní matematiky, výukový text P. Kovář: Úvod do teorie grafů, výukový text Pro přípravu ke zkoušce a písemkám doporučuji cvičebnici: P. Kovář: Cvičení z diskrétní matematiky, sbírka příkladů Vše na http://homel.vsb.cz/~kov16/predmety dm.php

Přehled přednášky Kapitola Toky v sítích motivace definice sítě hledání největšího toku zobecnění sítí další aplikace

Kapitola Toky v sítích Teorie grafů hraje kĺıčovou roli při řešení řady sít ových úloh. Máme dánu sít (počítačovou sít, produktovod,... ), kde hrany reprezentují spojení a vrcholy jsou například křižovatky nebo switche. Je přirozené, že hrany a vrcholy mají omezenou kapacitu (kapacita = číslo + fyzikální jednotka). Otázka Jaký největší objem látky nebo dat můžeme po síti (s danými omezeními) dopravit z vrcholu z (zdroj) do vrcholu s (stok).

Sít je graf, pro který stanovíme kapacity hran a zvoĺıme zdroj a stok. Definice Sít je čtveřice S = (G, z, s, w), kde G je orientovaný graf, vrcholy z V (G), s V (G) nazýváme zdroj a stok v síti S, w : E(G) R + je kladné ohodnocení hran, tzv. kapacita hran. z 3 v 6 1 v 1 2 v 3 2 1 3 3 2 1 s 4 v 2 4 v 2 5 v 6 2 6 Otázka Jaké je největší objem, který můžeme v G přepravit ze zdroje z ke spotřebiteli ve stoku s, jestliže dodržíme stanovené maximální kapacity hran?

Složitější sít může mít kapacity vrcholů více produktů více zdrojů a stoků Někdy můžeme úlohu převézt na základní úlohu. Později ukážeme jak. Všimněte si, že při největším možném toku nemusí být využita kapacita některých hran. Proto zavedeme pojem toku (tok/kapacita). 3/3 4/6 1/1 v 1 v 2 v 3 1/1 z 1/2 0/1 0/3 3/3 0/2 s 3/4 v 4 v 5 v 6 0/2 5/6

Poznámka Kapacita hrany nemusí nutně odpovídat fyzikální kapacitě (šířka vozovky, maximální počet automobilů za minutu, tloušt ka potrubí, odpor vodiče... ) Využijeme terminologii z dopravy tekutin: množství, které teče hranou, přitéká do vrcholu a z vrcholu odtéká. Symbol e v označuje množinu všech hran přicházejících do v a symbol e v označuje množinu všech hran vycházejících z v. Definice Tok v síti S = (G, z, s, w) je funkce f : E(G) R + 0, kde nepřekročíme kapacity hran: e E(G) : 0 f (e) w(e), platí zákon kontinuity: v V (G), v z, s : f (e) = f (e). Velikost toku f je f = f (e) f (e). e z e z e v e v

Příklad 1/3 1/6 1/1 v 1 v 2 v 3 1/1 z 0/2 0/1 0/3 0/3 0/2 s 2/4 3/3 v 4 v 5 v 6 0/2 4/6 1/1 v 1 v 2 v 3 2/6 1/1 z 1/2 0/1 0/3 3/3 0/2 s 3/4 5/6 v 4 v 5 v 6 0/2 Tok a největší tok v síti (G, z, s, w).

Zdroj a stok jsou významné vrcholy v síti. Mají jiný význam než křižovatky produktovodů. Neplatí pro ně zákony kontinuity! Ze zdroje teče více než do zdroje, do stoku teče více než ze stoku. Rozdíl musí být pro oba vrcholy stejný. Lemma Označíme f z rozdíl součtu toků na odchozích hranách a na příchozích hranách do zdroje. Dále označíme f s rozdíl součtu toků na odchozích hranách a na příchozích hranách do stoku. Platí f z = f s. Důkaz 0 = e (f (e) f (e)) = v f (e) e v v f (e) = ( f (e) ) f (e). e v e v v {z,s} Dvojité sumy nabývají stejných hodnot pro všechny vrcholy s výjimkou z, s. ( f (e) ) ( f (e) = f (e) ) f (e). e z e z e s e s e v

Hledání největšího toku Úkolem je najít co největší možný tok z vrcholu z do vrcholu s v dané síti (G) s ohodnocením w. Hladový algoritmus nevede k nejlepšímu řešení! (viz obrázek) v 2 1 v 1 2 s 2 1 v 3 v 4 1 2 2 2 2 1 v 5 v 6 2 2 1 z v 7 v 8 1 2 v 1 v 2 0/1 0/1 s v 3 v 4 0/1 0/1 v 5 v 6 0/1 z v 7 v 8 0/1 Užitím hladového algoritmu najdeme tok o velikosti 2. Tok nemůžeme zvýšit přidáním nějaké cesty s nenulovým tokem, avšak to není největší tok, nebot existuje tok velikosti 5.

Definice Řez C v síti S = (G, z, s, w) je taková podmnožina hran C E(G), že v grafu G C nezůstane žádná orientovaná cesta ze zdroje z do stoku s. Kapacitu (nebo velikostí) řezu C značíme C a definujeme ji jako součet kapacit všech hran řezu C, tj. C = e C w(e). Věta Velikost největšího toku v síti je rovna kapacitě nejmenšího řezu. Důkaz později... 1/1 v 1 v 2 s 1/2 1/1 řez v 3 v 4 1/1 1/2 1/1 v 5 v 6 1/2 1/1 z v 7 v 8 1/1 Tok velikosti 5 a řez s kapacitou 5.

Pozor, řez je nutno chápat správně! U 4/9 z v 1 3/3 v 3 0/2 5/5 1/1 C 2/8 v 2 s 5/5 4/7 řez Řez obsahuje jen odchozí hrany z množiny U.

Věta je dobrou charakterizací největšího toku: Definice Tok o velikosti x je největší, jestliže najdeme řez o velikost x. Máme dánu sít S = (G, z, s, w) a v ní tok f. Nenasycená cesta v síti S je neorientovaná cesta e 1, e 2,..., e m v G z vrcholu u do vrcholu v (obvykle ze zdroje z do stoku s), kde tok f (e i ) < w(e i ) pro hrany e i ve směru z u do v, tok f (e i ) > 0 (je nenulový) pro hrany e i v opačném směru. Hodnotě w(e i ) f (e i ) pro hranu e i ve směru z vrcholu u do vrcholu v říkáme rezerva kapacity hrany e i a stejně říkáme hodnotě f (e i ) pro hrany e i v opačném směru. Nenasycená cesta je cesta s kladnými rezervami δ kapacit všech hran. 4/7 2/5 1/6 z v 1 v 2 s rezerva +3 rezerva +2 rezerva +5 Cesta s rezervou kapacit δ = 2. G

Příklad Najděte nenasycené cesty v síti na obrázku. v 1 v 2 z 0/1 0/1 v 3 v 4 0/1 0/1 v 5 v 6 0/1 v 7 v 8 0/1 s v 1 v 2 0/1 0/1 s v 3 v 4 0/1 0/1 v 5 v 6 0/1 z v 7 v 8 0/1 Příklad tří nenasycených cest v síti.

Algoritmus Ford Fulkersonův algoritmus vstup < sít S = (G,z,s,w); výchozí tok f je pro každou hranu nulový; do { prohledáním grafu najdeme množinu U vrcholů G, dosažitelných ze z po nenasycených cestách; if (s náleží U) { P = (výše nalezená) nenasycená cesta v S ze z do s; zvětšíme tok f o minimální rezervu kapacit hran P; } while (s náleží U); výstup: vypíšeme největší tok f; výstup: nejm. řez je množina hran vedoucích z U do V(G)-U.

Důkaz Důkaz správnosti algoritmu provedeme přímo. Je zřejmé, že musí platit f C. Jestliže po skončení algoritmu budeme mít tok f a najdeme v síti S řez o stejné velikosti C = f, je zřejmé, že jsme našli největší možný tok v síti S. Zároveň tím dokážeme platnost Věty o největším toku a nejmenším řezu. Stačí dokázat, že po skončení algoritmu dostaneme rovnost f = C, kde C je řez mezi U a zbytkem grafu G. Předpokládejme, že máme tok f v S bez nenasycené cesty ze z do s. To znamená, že množina U z algoritmu neobsahuje vrchol s (je dosažitelný jen po nenasycené cestě). Protože z U nevedou žádné nenasycené cesty (ani hrany), má každá hrana e U (odcházející z U) plný tok f (e) = w(e) a každá hrana e U (přicházející do U) tok f (e) = 0. Velikost toku f ze z do s je f = e U f (e) e U f (e) = e U f (e) 0 = e C w(e) = C. To je dokazované tvrzení.

Uvedený algoritmus najde největší tok s velikostí f. Navíc po skončení běhu algoritmu snadno sestavíme nejmenší řez s kapacitou C. Uvedeme jedno pěkné pozorování: Důsledek Jsou-li kapacity hran sítě S přirozená (resp. nezáporná celá) čísla, tak největší tok v síti bude také přirozené (resp. nezáporné celé) číslo. Největší tok v síti vždy plně využije kapacity hran nějakého řezu a proto je velikost toku součtem ohodnocení hran řezu. Tj. jsou-li všechny kapacity celá čísla, bude i velikost toku celočíselná. Poznámka Pozor, vynecháme-li požadavek, aby kapacity hran byla nezáporná celá čísla, tak je možno sestavit příklady jednoduchých sítí s iracionálními kapacitami, pro které Ford-Fulkersonův algoritmus neskončí po konečném počtu kroků. Dokonce postupné iterace ani nemusí konvergovat k největšímu toku.

Zobecnění sítí Uvedenou úlohu hledání největšího toku můžeme zobecnit a 1 více zdrojů a stoků v síti, 2 dovoĺıme neorientované hrany v síti, 3 přidat kapacity vrcholů, 4 přepravovat jednou sítí více produktů současně, 5 stanovit minimální kapacity hran (něco musí téct). Místo abychom hledali nové algoritmy nebo modifikovali uvedený algoritmus, tak ukážeme, jak modifikovat graf sítě. Složitější úlohu tak převedeme na základní úlohu řešenou pomocí Ford-Fulkersonova algoritmu.

1) Více zdrojů a stoků Vyskytuje-li se v síti více zdrojů nebo stoků, můžeme úlohu jednoduše převést na úlohu s jediným zdrojem a jediným stokem. z 1 s 1 z 1 s 1 z 2. s 2. z z 2. s 2. s z k s l z k s l Můžeme dokonce stanovit kapacity jednotlivých zdrojů a stoků. Stačí stanovit jiné kapacity než.

2) Neorientované hrany U některých praktických aplikací sítí je orientace hran dána (například kanalizační potrubí, jízdní pruhy v silniční síti,... ) U jiných však orientace může být libovolná (informační nebo počítačové sítě). Ford-Fulkersonův algoritmus je navržen pro orientované grafy. Neorientovanou hranu v síti můžeme snadno nahradit dvojicí opačně orientovaných hran se stejnou kapacitou. u c v u c c v Pozor, po skončení algoritmu je dán rozdílem hodnot toků na obou orientovaných hranách.

3) Kapacity vrcholů Je přirozené, že nejen hrany, ale také místa křížení mají omezenou kapacitu. Sít s kapacitami hran i vrcholů můžeme snadno převést na sít, ve které jsou ohodnocené pouze hrany. c v v c 1 v 2 Každý vrchol se stanovenou kapacitou c nahradíme dvojicí vrcholů spojenou hranou s kapacitou c (vrchol zdvojíme). Hrany příchozí do v budou končit ve vrcholu v 1 a hrany odchozí z vrcholu v budou začínat ve vrcholu v 2.

4) Víceproduktové toky Pro víceproduktové toky je úloha složitější. Algoritmus pro hledání největšího víceproduktového (vícekomoditního) toku je nad rámec kurzu. Ukážeme alespoň, jak převedeme neorientovaný graf na orientovaný s předepsanou kapacitou hrany. Pozor: nestačí dvě opačně orientované hrany. u c v u c c v Nesmí se stát, aby jeden produkt putoval jedním směrem a jiný produkt opačným směrem a v součtu by tok překročil kapacitu hrany! x u c v u y c v V uvedeném nahrazení zajistíme dodržení kapacit i pro různé komodity.

5) Minimální kapacity hran Pokud kromě maximálních kapacit hran stanovíme i minimální kapacity, tj. požadavek, aby tok hranou měl nějaký nenulový tok, nemusí mít úloha řešení. Tato úloha přesahuje rámec kurzu. Pro zájemce: J. Demel, Grafy, SNTL, Praha, (1989).

Párování v bipartitních grafech Rozmanitost aplikací algoritmu pro hledání největšího toku je překvapivá. Ukážeme, jak převedeme úlohu hledání největšího párování na úlohu hledání největšího toku. Definice Párování v (bipartitním) grafu G je podmnožina nezávislých hran M E(G) (žádné dvě hrany z M nemají společný koncový vrchol). Zatímco v prvním grafu (hvězdě) párování má jedinou hranu, pro druhý graf existuje párování pokrývající všechny vrcholy.

Metoda Nalezení největšího bipartitního párování Mějme bipartitní graf G s množnou vrcholů rozdělenou do partit U, W. 1 Sestrojíme sít S: do bipartitního grafu přidáme zdroj z a stok s, všechny vrcholy z U spojíme se zdrojem z a všechny vrcholy z W spojíme s stokem s, dále všechny hrany sítě S orientujeme od zdroje do stoku a přiřadíme jim kapacity 1, 2 najdeme (celočíselný) největší tok Ford-Fulkersonovým algoritmem, 3 největší párování M v grafu G obsahuje všechny ty hrany původního grafu G, které mají nenulový tok v síti S. Důkaz Podle uvedeného důsledku bude největší tok celočíselný, tj. každou hranou poteče tok 0 nebo 1. Do každého vrcholu v U vede pouze jedna hrana s kapacitou 1, proto bude tento vrchol pouze v jedné hraně párování. Podobně pro vrcholy množiny W. Tím budou vybrány hrany párování a podle zadaných kapacit nebudou sdílet koncové vrcholy. Párování je největší, protože z každého párování lze získat příslušný tok a větší než nalezený tok v S neexistuje.

G u 1 u 2 u 3 u 4 u 5 u 6 U w 1 w 2 w 3 w 4 w 5 w 6 W Máme dán bipartitní graf G.

S u 1 w 1 u 2 w 2 z u 3 u 4 w 3 w 4 s u 5 w 5 u 6 w 6 U W Sestrojíme příslušnou sít S: do grafu přidáme zdroj z a stok s, všechny vrcholy z U spojíme se z a všechny vrcholy z W spojíme s s, všechny hrany sítě S orientujeme od zdroje do stoku; přiřadíme jim kapacity 1.

S u 1 w 1 u 2 w 2 z u 3 u 4 w 3 w 4 s u 5 w 5 u 6 w 6 U W Najdeme největší tok v síti S pomocí Ford-Fulkersonova algoritmu. Tok bude podle uvedeného důsledku celočíselný.

G u 1 u 2 u 3 u 4 u 5 u 6 U w 1 w 2 w 3 w 4 w 5 w 6 W Hledané párování obsahuje jen ty hrany grafu G, které mají nenulový tok.

Vyšší grafová souvislost Již dříve jsme zavedli pojem hranové a vrcholové souvislosti. Bez důkazu jsme uvedli Mengerovy věty: Věta (Mengerovy věty) Netriviální graf G je hranově k-souvislý právě tehdy, když mezi libovolnými dvěma vrcholy existuje alespoň k po dvou hranově disjunktních cest (vrcholy mohou být sdílené). Netriviální graf G je vrcholově k-souvislý právě tehdy, když mezi libovolnými dvěma vrcholy existuje alespoň k po dvou interně disjunktních cest (koncové vrcholy jsou společné). Nyní pomocí algoritmu hledání největšího toku větu dokážeme.

Nejprve s využitím definice hranové souvislosti přeformulujeme: Lemma Necht u, v jsou dva různé vrcholy grafu G a k > 0 je přirozené číslo. Mezi vrcholy u a v v grafu G existuje alespoň k hranově disjunktních cest právě tehdy, když po odebrání libovolných k 1 hran z grafu G zůstanou vrcholy u a v ve společné komponentě souvislosti. Důkaz Plyne přímo z definice hranové k-souvislosti grafu. Mějme graf G a v něm zvolené dva vrcholy u a v. Označíme vrchol u za zdroj a vrchol v za stok a každé hraně přiřadíme kapacitu 1. Pomocí Ford-Fulkersonova algoritmu najdeme největší tok z u do v. Velikost toku je alespoň k, jinak by kapacita nejmenšího řezu by byla také menší než k. Odebráním hran řezu dostaneme nesouvislý graf, přičemž odebraných hran je méně než k, což podle předpokladu není možné. To znamená, že hrany s tokem 1 tvoří různé (hranově disjunktní) cesty z u do v. (První Mengerovu větu dokážeme podobně.)

Systém různých reprezentantů Definice Necht M 1, M 2,..., M k jsou neprázdné množiny. Systémem různých reprezentantů množin M 1, M 2,..., M k rozumíme takovou posloupnost různých prvků (m 1, m 2,..., m k ), že m i M i pro každé i = 1, 2,..., k. Příklad Najděte systém různých reprezentantů v daném systému množin. M 2 x 3 x 4 x 5 x 6 x 7 x 1 x 2 M 1 M 3 Jedno možné řešení. M 2 x 3 x 4 x 5 x 6 x 7 x 1 x 2 M 1 M 3

Důležitým a dobře známým výsledkem je Hallova věta: Věta (Hallova věta) Necht M 1, M 2,..., M k pro k > 0 jsou neprázdné množiny. Pro tyto množiny existuje systém různých reprezentantů právě tehdy, když platí J {1, 2,..., k} : M j J, j J neboli pokud sjednocení libovolné skupiny j množin má alespoň j prvků (tedy alespoň tolik prvků, kolik množin je sjednoceno). Hallova věta udává nutnou a dostatečnou podmínku existence různých reprezentantů v daném systému množin. Praktické nalezení systému reprezentantů je náročné, ale někdy můžeme vhodnou volbou množin existenci vyvrátit. Poznámka Hallově větě se v anglické literatuře říká Marriage Theorem.

Důkaz Hallovy věty Označme x 1, x 2,..., x m po řadě všechny prvky ve sjednocení M 1 M 2 M k. Definujeme bipartitní graf G na množině vrcholů {1, 2,..., k} {x 1, x 2,..., x m } {u, v}. Navíc přidáme hrany {u, i} pro i = 1, 2,..., k, {x j, v} pro j = 1, 2,..., m a hrany {i, x j } pro x j M i. Konstrukce sítě S je obdobná konstrukci sítě v uvedené metodě nalezení největšího párování. Cesta mezi u a v má tvar u, i, x j, v, ukazuje reprezentanta množiny x j M i. Systém různých reprezentantů odpovídá k disjunktním cestám mezi u a v. Necht X je nyní libovolná minimální množina vrcholů v G, po jejímž odebrání z grafu nezůstane žádná cesta mezi u a v. Podle Lemmatu mají naše množiny systém různých reprezentantů právě tehdy, když každá taková oddělující množina X má aspoň k prvků. Položme J = {1, 2,..., k} \ X.

u J 1 2 3 x 1 x 2 x 3 x 4 X v. k. x m G Pak každá hrana z J vede (hrany z u neuvažujeme) do vrcholů množiny X {x 1,..., x m } (aby nevznikla cesta mezi u, v), a proto M j = X {x 1,..., x m } = X X {1,..., k} = X k + J. j J Vidíme, že X k pro všechny (nejmenší) volby oddělující množiny X právě tehdy, když j J M j J pro všechny J, což je dokazované tvrzení.

Příklad Hledání největšího toku a nejmenšího řezu nestihneme probrat na cvičení. Následují dva ukázkové příklady. Příklad Jaký je největší tok v síti (G, z, s, w)? A kde je nejmenší řez? z 3 v 2 3 v 4 3 2 5 1 s 5 2 7 v 1 v 2 3 Sít (G, z, s, w).

Poslední příklad Příklad Jaký je největší tok v síti (G, z, s, w)? A kde je nejmenší řez? v 5 8 v 6 z 1 3 9 0 5 6 v 3 1 2 v 4 5 2 1 9 2 1 9 s v 1 v 2 4 Sít (G, z, s, w).

Konec Děkuji za pozornost Nezapomeňte, prosím, na (slovní) hodnocení předmětu.

Zkouškové termíny předtermín (pro Erasmus) Čtvrtek 4.1. 9:00 14:00 Čtvrtek 15.1. 9:00 14:00 další dva čtvrtky Mnoho zdaru u zkoušky!