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

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

Teorie grafů - Michal Brejcha1 Základní teorie grafů a její aplikace Michal Brejcha.

Podobné prezentace


Prezentace na téma: "Teorie grafů - Michal Brejcha1 Základní teorie grafů a její aplikace Michal Brejcha."— Transkript prezentace:

1 Teorie grafů - Michal Brejcha1 Základní teorie grafů a její aplikace Michal Brejcha

2 Teorie grafů - Michal Brejcha2 Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

3 Teorie grafů - Michal Brejcha3 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem nebo bodem v grafu. Hrana grafu: { množina E} Reprezentuje spojení jednotlivých vrcholů. Toto spojení vyjadřuje nějaký vztah mezi vrcholy.

4 Teorie grafů - Michal Brejcha4 Základní pojmy Orientovaný a neorientovaný graf V orientovaném grafu jsou vždy orientované hrany, tj. hrany s definovaným počátečním a koncovým vrcholem. V neorientovaných grafech se lze pohybovat přes hrany oběma směry. Hrany i vrcholy jsou v četných aplikacích ohodnoceny Ohodnocený orientovaný (neorientovaný) graf

5 Teorie grafů - Michal Brejcha5 Základní pojmy Sled: Orientovaný v 1, e 1, v 2, e 2, v 3, e 5, v 4 Neorientovaný v 2, e 3, v 3, e 5, v 4, e 6, v 1 Není sledem v 1, e 2, v 3, e 5, v 2, e 1, v 4 Posloupnost vrcholů a hran jak jdou za sebou.

6 Teorie grafů - Michal Brejcha6 Základní pojmy Tah Sled, kde se neopakují hrany Cesta Sled, kde se neopakují vrcholy Kořenový strom - orientovaný graf, kde existuje vrchol r (kořen), ze kterého jsou všechny vrcholy dostupné a nevede do něj žádná hrana.

7 Teorie grafů - Michal Brejcha7 Speciální pojmy Hamiltonovská cesta: Cesta, která projde všemi vrcholy a každým pouze jedenkrát (turista). Eulerův tah: Tah, který projde všemi hranami a každou pouze jedenkrát (sedm mostů v Königsbergu).

8 Teorie grafů - Michal Brejcha8 Popis grafu Incidenční maticí – orientace hran (+1, -1) Matice sousednosti – počet hran mezi sousedy Spojové seznamy – seznamy následníků Matice délek – délka hrany mezi vrcholy (i,j) Matice vzdáleností

9 Teorie grafů - Michal Brejcha9 Úlohy s grafy Grafické znázornění úlohy je názorné a v jednoduchých případech lze odhalit řešení i bez použití jakéhokoliv algoritmu. Úloha pro převozníka: Vlk, koza, zelí

10 Teorie grafů - Michal Brejcha10 Vlk, koza, zelí

11 Teorie grafů - Michal Brejcha11 Vlk, koza, zelí

12 Teorie grafů - Michal Brejcha12 Vlk, koza, zelí

13 Teorie grafů - Michal Brejcha13 Prohledávání grafů Úkolem prohledávání je hledání cesty z daného výchozího vrcholu do jednotlivých vrcholů grafu. To může pomoci i při vytváření grafu pro danou úlohu. Tři způsoby prohledávání: 1)Značkování vrcholů 2)Prohledávání do šířky 3)Prohledávání do hloubky

14 Teorie grafů - Michal Brejcha14 Značkování vrcholů Vrcholům přiřazujeme značky, pokud vrchol značku má, pak do něj vede cesta z daného výchozího vrcholu => vyjadřuje možnost Výsledek lze převézt na kořenový strom, pokud zaznamenáme každou použitou hranu a její počáteční a koncový vrchol. U neorientovaných grafů má tato metoda malý význam (pouze u velmi složitých, kde není zřejmé propojení jednotlivých vrcholů částí grafu).

15 Teorie grafů - Michal Brejcha15 Značkování vrcholů

16 Teorie grafů - Michal Brejcha16 Značkování vrcholů

17 Teorie grafů - Michal Brejcha17 Značkování vrcholů

18 Teorie grafů - Michal Brejcha18 Značkování vrcholů

19 Teorie grafů - Michal Brejcha19 Značkování vrcholů Vlastnosti: Odpovídá na otázku: „Je možné?“ Jednoduchý algoritmus Malé časové nároky: max V(G) – 1 Nelze jej použít při hledání cest s určitými vlastnostmi (nejkratší, nejdelší).

20 Teorie grafů - Michal Brejcha20 Prohledávání grafu do šířky Algoritmus lze přirovnat ke štěpné reakci. Probíhá tak, že počátečnímu vrcholu označíme všechny následníky, pak označíme následníky následníků atd. Metoda vede k nalezení nejkratší cesty, za předpokladu, že hrany mají stejnou hodnotu => nejmenší počet tahů.

21 Teorie grafů - Michal Brejcha21 Prohledávání do šířky

22 Teorie grafů - Michal Brejcha22 Prohledávání do šířky

23 Teorie grafů - Michal Brejcha23 Prohledávání do šířky

24 Teorie grafů - Michal Brejcha24 Prohledávání do šířky

25 Teorie grafů - Michal Brejcha25 Prohledávání do šířky

26 Teorie grafů - Michal Brejcha26 Prohledávání grafu do šířky Vlastnosti: Podobné časové nároky jako v případě značkování vrcholů: max V(G) – 1 Získáme kořenový strom s nejmenším počtem úrovní

27 Teorie grafů - Michal Brejcha27 Prohledávání do hloubky Podobá se průzkumu neznámých tras. Je základem pro další metody. Jdeme do hloubky grafu kam až můžeme a pak se vracíme a hledáme odbočky, kterými lze dále pokračovat. Algoritmus je časově náročnější než oba předešlé, avšak jeho úpravou a zaznamenáváním jednotlivých tras jej lze využít pro hledání cest splňujících nějakou speciální podmínku. Například cesta začínající v r a obsahující všechny vrcholy =Hamiltonovská cesta

28 Teorie grafů - Michal Brejcha28 Návštěvník zábavního parku Chce se dostat na všechny atrakce Atrakce jsou spojeny elektrickým vláčkem Žádné nádraží nechce navštívit dvakrát

29 Teorie grafů - Michal Brejcha29 Návštěvník zábavního parku Naplánuje jednu trasu a kouká kam až dojde. Označí si koncový vrchol a vrchol, který mu zabránil v cestě.

30 Teorie grafů - Michal Brejcha30 Návštěvník zábavního parku Vrací s e zpět, až k prvnímu vrcholu, kde může odbočit. Označí hranu, kterou se vrátil. Pokud narazí na další koncový bod, vrátí se až za nejbližší vrchol, který působí konec a začne hledat znovu

31 Teorie grafů - Michal Brejcha31 Návštěvník zábavního parku

32 Teorie grafů - Michal Brejcha32 Návštěvník zábavního parku

33 Teorie grafů - Michal Brejcha33 Návštěvník zábavního parku

34 Teorie grafů - Michal Brejcha34 Eulerův tah Uzavřený:  Vrátíme se do stejného vrcholu Otevřený:  Skončíme v jiném vrcholu

35 Teorie grafů - Michal Brejcha35 Eulerův tah Uzavřený: Neorientovaný – vrcholy mají sudý stupeň Orientovaný – počet vstupních hran je stejný jako počet výstupních Otevřený: Neorientovaný – obsahuje právě dva vrcholy s lichým stupněm Orientovaný – stejně jako neor. + do jednoho vrcholu musí hrana vcházet, z druhého vycházet.

36 Teorie grafů - Michal Brejcha36 Eulerův tah Musí se začít ve spodních vrcholech! Oblíbená hvězda, kterou nelze nakreslit jedním tahem. Sedm mostů v Königsbergu

37 Teorie grafů - Michal Brejcha37 Nejkratší cesty Úloha: najít nejkratší cestu z daného výchozího vrcholu do daného cílového vrcholu z daného výchozího vrcholu do každého vrcholu z každého vrcholu do daného cílového vrcholu mezi všemi uspořádanými dvojicemi Lze vynechat smyčky a rovnoběžné hrany

38 Teorie grafů - Michal Brejcha38 Nejkratší cesty Aby byla úloha řešitelná, nesmí graf obsahovat záporný cyklus. Pokud jej obsahuje, lze zkracovat vzdálenost do nekonečna. Platí trojúhelníková nerovnost.

39 Teorie grafů - Michal Brejcha39 MATICE DÉLEK Charakterizuje délky hran mezi jednotlivými vrcholy. Definice: a ii = 0, a ij = délka hrany mezi vrcholy i a j; Pokud zde hrana nevede, pak značím nekonečno.

40 Teorie grafů - Michal Brejcha40 MATICE VZDÁLENOSTÍ Charakterizuje vzdálenosti jednotlivých vrcholů. Definice: u ii = 0, u ij = vzdálenost mezi vrcholy i a j; Pokud do vrcholu j nevede cesta z i pak je u ij rovno nekonečnu.

41 Teorie grafů - Michal Brejcha41 MATICE VZDÁLENOSTÍ Matice vzdáleností je přímo maticí nejkratších cest. Pokud nás nezajímá kudy cesta vede, lze použít k jejímu výpočtu následující způsoby: 1.Upravené násobení matic 2.Floydův algoritmus

42 Teorie grafů - Michal Brejcha42 MATICE VZDÁLENOSTÍ Floydův algoritmus: Podmínka:

43 Teorie grafů - Michal Brejcha43 MATICE VZDÁLENOSTÍ Příklad: Minimální náklady na dopravu zboží

44 Teorie grafů - Michal Brejcha44 MATICE VZDÁLENOSTÍ Příklad: Minimální náklady na dopravu zboží

45 Teorie grafů - Michal Brejcha45 Konstrukce nejkratších cest Není vždy žádoucí určovat celou matici (paměť počítače), chceme jen řádek týkající se našeho výchozího bodu. Chceme vědět, kudy nejkratší cesta vede. Možnosti: Ve Floydově algoritmu přibude matice Q(i,j), informující o vrcholu těsně následujícím za vrcholem i při cestě z i do j. Algoritmus s opakovanou kontrolou všech hran

46 Teorie grafů - Michal Brejcha46 Opakovaná kontrola všech hran Podmínka: Výpočet končí, pokud po průchodu všemi hranami nedošlo k žádné změně U. Zápis provádíme nejlépe formou tabulky, kde každému Kv(e) náleží dva sloupce: U(Kv(e)), odkud(Kv(e))

47 Teorie grafů - Michal Brejcha47 Kritická cesta Příklad: Chceme najít nejdelší cestu z vrcholu 0 do vrcholu 5. Cesta s nejdelšími časovými nároky

48 Teorie grafů - Michal Brejcha48 Hledání kritické cesty

49 Teorie grafů - Michal Brejcha49 Hledání kritické cesty

50 Teorie grafů - Michal Brejcha50 Závěrem Použití grafů je názornou pomůckou při řešení složitých problémů. Složitá řešení se zpravidla již neobejdou bez použití výpočetní techniky. Byl to jen letmý úvod, grafy se dále zabývají toky, hledání cyklů, nejlevnějších tahů, úlohami o párování… Děkuji za pozornost

51 Teorie grafů - Michal Brejcha51 Zdroje Demel Jiří, GRAFY a jejich aplikace, Academia, Praha 2002 Šeda Miloš, Teorie grafů, skripta VUT Brno, Brno 2003


Stáhnout ppt "Teorie grafů - Michal Brejcha1 Základní teorie grafů a její aplikace Michal Brejcha."

Podobné prezentace


Reklamy Google