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

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

TGH09 - Barvení grafů

Jan Březina. 7. března 2017

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

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

TGH08 - Optimální kostry

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

TGH10 - Maximální toky

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května First Prev Next Last Go Back Full Screen Close Quit

TGH07 - Chytré stromové datové struktury

Algoritmy na ohodnoceném grafu

TGH07 - Chytré stromové datové struktury

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

TGH06 - Hledání nejkratší cesty

Úvod do teorie grafů

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

TGH04 - procházky po grafech

Definice 1 eulerovský Definice 2 poloeulerovský

TGH06 - Hledání nejkratší cesty

07 Základní pojmy teorie grafů

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

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

PLANARITA A TOKY V SÍTÍCH

Dijkstrův algoritmus

Vybíravost grafů, Nullstellensatz, jádra

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

TGH02 - teorie grafů, základní pojmy

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

bfs, dfs, fronta, zásobník, prioritní fronta, halda

10 Podgrafy, isomorfismus grafů

8 Přednáška z

TGH02 - teorie grafů, základní pojmy

TGH02 - teorie grafů, základní pojmy

Golayův kód 23,12,7 -kód G 23. rozšířený Golayův kód 24,12,8 -kód G 24. ternární Golayův kód 11,6,5 -kód G 11

Dynamické datové struktury III.

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

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

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

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

Použití dalších heuristik

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Základní datové struktury III: Stromy, haldy

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

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

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

Barevnost grafů MFF UK

VLASTNOSTI GRAFŮ. Vlastnosti grafů - kap. 3 TI 5 / 1

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

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

Algoritmy a datové struktury

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

Stromy, haldy, prioritní fronty

TGH05 - Problém za milion dolarů.

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

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd.

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

10 Přednáška ze

TEORIE GRAFŮ TEORIE GRAFŮ 1

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

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

Úvod do vybíravosti grafů, Nullstellensatz, polynomiální metoda

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

Drsná matematika III 9. přednáška Rovinné grafy: Stromy, konvexní mnohoúhelníky v prostoru a Platónská tělesa

TGH12 - Problém za milion dolarů

6. Tahy / Kostry / Nejkratší cesty

Teoretická informatika Tomáš Foltýnek Barvení grafů Platónská tělesa

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

"Agent Hledač" (3. přednáška)

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Paralelní grafové algoritmy

V ypoˇ cetn ı sloˇ zitost v teorii graf u Martin Doucha

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

Drsná matematika III 9. přednáška Rovinné grafy: Stromy, konvexní mnohoúhelníky v prostoru a Platónská tělesa

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

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

bfs, dfs, fronta, zásobník

Vzdálenost uzlů v neorientovaném grafu

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém

Dynamické programování

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

Jan Březina. Technical University of Liberec. 17. března 2015

Vrcholová barevnost grafu

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

Dynamické programování

Algoritmizace prostorových úloh

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Algoritmy výpočetní geometrie

= 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

Matice sousednosti NG

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

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO

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

Transkript:

TGH11 - Maximální párování a související problémy Jan Březina Technical University of Liberec 30. dubna 2013

Bipartitní grafy Bipartitní graf - je obarvitelný dvěma barvami. Tj. V lze rozělit na disjunktní množiny U a W, tak že pro každou hranu (u, w) je u U a w W. Algoritmus: Určení zda graf je bipartitní. 1. Procházej graf DF S nebo BF S. 2. Do U dávej liché vrstvy do W dávej sudé vrstvy. 3. Pokud dorazíš do již navštíveného vrcholu zkontroluj zda souhlasí parita vrstev, pokud ne cyklus liché délky.

Správnost algoritmu Lemma Graf je bipartitiní právě tehdy, pokud neobsahuje cykly liché délky. Důkaz: : V cyklu se musí střídat dvě barvy vrcholů, takže má sudou délku. : Cyklus liché délky není 2-obarvitelný, tedy ani žádný jeho nad-graf příklady bipartitních stromy cykly sudé délky (netriviální) rovinný graf jehož dualní graf má vrcholy sudého stupně tj. stěny mají sudý počet hran tj. graf má pouze cykly sudé délky

Párování Dvě hrany sousedí pokud mají společný vrchol. Párování grafu (V, E) - množina nesousedících hran M. Maximální párování (maximal matching) - nelze přidat další hranu. Největší / nejpočetnější párování (maximum matching) - má maximální možný počet hran. Perfektní párování - pokrývá všechny vrcholy. Platí: perfektní největší maximální Pro ohodnocené hrany (zejména pro bipartitní grafy): nejdražší párování (maximum-weight matching), nejlevnější párování (minimum-weight matching)

Příklady jednoduchých párování Maximal matchings: Maximum matchings: perfect near perfect

Příklady úloh Přiřazování úkolů (assignment problem) n lidí m úkolů, w(i, j) - jak dlouho dělá člověk i úkol j, optimalizace času pro zvládnutí všech úkolů = najít nejlevnější párování v bipartitním grafu, vyhovění odborům (změstnat všechny) = najít největší párování (pro n = m i perfektní) Ženitba Každá z množiny žen i Z má množinu M i M potencionálních ženichů. Muž je ochoten se oženit pokud o něj žena stojí. Kolik může být max. sňatků? Můžou mít všichni svatbu? Největší popř. perfektní párování v bipartitním grafu.

Párovací algoritmy Maximální párování : hladový algoritmus. Nenajde největší párování. Největší párování - bipartitní grafy: Převod na problém maximálního toku. Přidání vstupu a výstupu, kapacity hran 1. 1 1 1 1 1 1 1

Párovací algoritmy Největší, obecný graf - Edmondův algoritmus Dán graf G a párování P. Exponovaný vrchol = vrchol nepokrytý párováním P. Alternující cesta = střídá hrany z párování P a jeho doplňku E \ P. Zlepšující cesta = alternující cesta končící v exponovaných vrcholech. 1. Najdi zlepšující cestu. 2. Prohod její hrany mezi P a E \ P. 3. Pokud existuje zlepšující cesta, jdi na 1) 4. Jinak - největší párování

Zlepšení párování pomocí zlepšující cesty

Správnost algoritmu. Theorem Párování je největší pokud neexistuje zlepšující cesta. Důkaz: - pokud by existovala zlepšující, není párování největší. - Necht P není největší, P je největší a pro obě neexistuje zlepšující cesta. Graf s hranami P P má stupeň vrcholů nejvýše 2. Jeho komponenty jsou cesty a cykly. Bud totožné v P a P (délky 1) nebo se střídavými hranami z P a P. Střídavá, sudá délka stejný počet hran P a P. Střídavá, lichá délka zlepšující cesta pro P nebo P, spor.

Hledání zlepšující cesty I. Procházením do šířky vytváříme les s kořeny v exponovaných vrcholech. Každý vrchol v lesa zná předka, tj. i kořen v. Vzdálenost od kořene - lichý/sudý vrchol. Květ je cyklus délky 2k + 1, kde k hran je z P. Kontrahujeme do bodu a pokračujeme hledáním zlepšující cesty na kontrahovaném grafu. Po nalezení ZC na kontrahovaném, expandujeme květ a doplníme cestu projitím květem jednou nebo druhou stranou. Obrázek.

Hledání zlepšující cesty II. function Zlepšující cesta(graf G, párování P ) Z exponovaných vrcholů vytvoř les F ; while v je nezpracovaný sudý vrchol v F do while e = (v, w) je nezpracovaná hrana do if w / F then while (w, x) P do přidej (v, w), (w, x) do F ; (w, x) je zpracovaná; else if w F je lichý then zahod hranu (v, w); else if kořen v kořen w then return C =zlepšující cesta: (kořen v,..., v,w,...,kořen w); else kontrahuj květ G, P ; C =Zlepšující cesta(g, P ); return C =expanduj květ(c, G); (v, w) je zpracovaná; v je zpracovaný;

Další úlohy Eulerova cesta na smíšených grafech 1. výpočet in-degree (deg + ) a out-degree (deg ) pro orientovanou část grafu 2. na zbylém grafu hledat maximální tok z vrcholů, kde deg > deg + do vrcholů, kde deg < deg +, podobně jako při hledání max. párování pro bipartitiní graf

Hranové pokrytí

Vrcholové pokrytí