Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

hledání zlepšující cesty

Podobné prezentace


Prezentace na téma: "hledání zlepšující cesty"— Transkript prezentace:

1 hledání zlepšující cesty
01ZTGB ~ Základy Teorie Grafů B Edmondsova metoda hledání zlepšující cesty Zdeněk Fikar

2 Párování v grafech Def.: G = (V,E). Párování na G je podmnožina M množiny E(G) taková, že žádné dvě její hrany nemají společný vrchol. Def.: Vrchol v grafu G je M-saturován, existuje-li v M hrana, která je s ním incidentní. Def.: Párování M na G je maximální, pokud pro všechna M’ párování na G platí #M ≥ #M’.

3 Praktické aplikace párování
3 nejčastější typy úloh: Najít maximální párování Najít nejdražší maximální párování Najít nejlevnější maximální párování

4 M-střídající cesta Def.: M-střídající cesta vzhledem k párování M je taková neorientovaná cesta, jejíž hrany střídavě leží a neleží v M. Def.: M-střídající cesta, jejíž oba krajní vrcholy nejsou M-saturovány, se nazývá zlepšující cesta vzhledem k párování M. Věta: M je maximální párování v G <=> neexistuje zlepšující cesta vzhledem k M.

5 Zadání úkolu Policisté provádí pochůzky po dvojicích.
V dané lokalitě se někteří policisté již znají (platí vzájemně). Sestavte dvojice pro pochůzky tak, aby počet “neznámých” dvojic byl minimální

6 Konkrétní příklad Mějme 12 policistů. Graf udává, kdo koho zná:

7 Řešení Hledáme maximální párování pomocí zlepšující cesty

8 Obecný předpis while existuje M-zlepšující cesta v grafu G begin
z M vynecháme sudé hrany M-zlepšující cesty; do M přidáme liché hrany M-zlepšující cesty; end

9 Hledání M-zlepšující cesty
Pro nalezení M-zlepšující cesty v grafu G použijeme Edmondsovu metodu

10 Edmondsova metoda Výchozí nastavení:
Předpokládejme, že máme libovolné párování M v grafu G Všechny vrcholy a hrany budou na začátku neoznačené Označíme hrany zařazené do párování M Pro každý nesaturovaný vrchol grafu G vytvoříme samostatný strom F

11 Edmondsova metoda Výchozí nastavení:

12 Edmondsova metoda (A) Existuje neoznačený vrchol v v nějakém stromě F, jehož vzdálenost od kořene v je sudá? NE => Nalezené párování je již maximální ANO => Přejdi na podmínku (B)

13 Edmondsova metoda (B) Existuje neoznačená hrana e = {v,w} ?
NE => Označ vrchol v a vrať se na podmínku (A) ANO => Přejdi na podmínku (C)

14 Edmondsova metoda

15 Edmondsova metoda

16 Edmondsova metoda (C) Je již w zařazeno ve stromě F ?
NE => Najdi vrchol x, který je spárovaný s w v M a přidej hrany {v,w} a {w,x} do stromu, jehož kořenem je v; označ hranu e = {v,w} a vrať se na podmínku (B) ANO => Přejdi na podmínku (D)

17 Edmondsova metoda

18 Edmondsova metoda (B) Existuje neoznačená hrana e = {v,w} ?
NE => Označ vrchol v a vrať se na podmínku (A) ANO => Přejdi na podmínku (C)

19 Edmondsova metoda

20 Edmondsova metoda (C) Je již w zařazeno ve stromě F ?
NE => Najdi vrchol x, který je spárovaný s w v M a přidej hrany {v,w} a {w,x} do stromu, jehož kořenem je v; označ hranu e = {v,w} a vrať se na podmínku (B) ANO => Přejdi na podmínku (D)

21 Edmondsova metoda (D) Je vzdálenost w od kořene w sudá ?
NE => Označ hranu e = {v,w} a vrať se na podmínku (B) ANO => Přejdi na podmínku (E)

22 Edmondsova metoda (E) Je kořen vrcholu w shodný s kořenem vrcholu v ?
NE => P = [střídavá cesta Av (od kořene v k v)] sjednoceno [střídavá cesta Aw (od w ke kořeni w)]; RETURN P ANO => Sjednocení Av a Aw vytváří květ (střídavou kružnici)

23 Edmondsova metoda

24 Edmondsova metoda Květ se odřízne jak od grafu G, tak od párování M => G’, M’ Rekurzivně se hledá zlepšující cesta P’ na grafu G’ s výchozím párováním M’ Návrat ke grafu G a párování M RETURN P

25 Edmondsova metoda

26 Edmondsova metoda

27 Edmondsova metoda

28 Edmondsova metoda

29 Edmondsova metoda

30 Edmondsova metoda

31 Edmondsova metoda

32 Rozvoj redukovaných květů
K2 – 4 – K3 – 12 K2 – 4 – 5 – 6 – 7 – 12 K1 – 9 – 3 – 4 – 5 – 6 – 7 – 12 1 – 2 – 8 – 9 – 3 – 4 – 5 – 6 –

33 Zlepšující cesta

34 Maximální párování

35 Nalezené řešení 1 2 3 4 5 6 7 12 8 9 10 11 Žádná dvojice nebude muset být vytvořena direktivně

36 Realizace v MATLABu

37 Realizace v MATLABu Knihovna 20 funkcí Materiály na webu:
- čeština: chybné - angličtina: pouze zjednodušeně Nutnost vymyslet vlastní algoritmus pro zpětný rozvoj redukovaných květů

38 Děkuji za pozornost.


Stáhnout ppt "hledání zlepšující cesty"

Podobné prezentace


Reklamy Google