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

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

Binární vyhledávací stromy II

Základy algoritmizace c2005, 2007 Michal Krátký, Jiří Dvorský1/39

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

Volné stromy. Úvod do programování. Kořenové stromy a seřazené stromy. Volné stromy

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

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

Stromy, haldy, prioritní fronty

4 Pojem grafu, ve zkratce

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

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

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 2016

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

Jan Březina. 7. března 2017

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

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

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

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

Pojem binární relace patří mezi nejzákladnější matematické pojmy. Binární relace

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

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

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

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

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

Úvod do teorie grafů

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

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.

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

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

ADT STROM Lukáš Foldýna

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

TEORIE GRAFŮ TEORIE GRAFŮ 1

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Úvod do informatiky. Miroslav Kolařík

GRAFY A GRAFOVÉ ALGORITMY

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

Vzdálenost uzlů v neorientovaném grafu

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

07 Základní pojmy teorie grafů

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

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

10 Přednáška ze

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

Teorie grafů Jirka Fink

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

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 2016

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

Matematická analýza pro informatiky I. Limita posloupnosti (I)

10 Podgrafy, isomorfismus 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 jara 2017

Vybíravost grafů, Nullstellensatz, jádra

Přijímací zkouška - matematika

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Algoritmizace prostorových úloh

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Definice 1 eulerovský Definice 2 poloeulerovský

TGH02 - teorie grafů, základní pojmy

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

Modely Herbrandovské interpretace

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

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

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

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

TGH02 - teorie grafů, základní pojmy

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u.

Matematická analýza III.

2. přednáška z předmětu GIS1 Data a datové modely

Přijímací zkouška na MFF UK v Praze

TGH02 - teorie grafů, základní pojmy

1 Linearní prostory nad komplexními čísly

= 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

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

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

Vybrané kapitoly z matematiky

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

popel, glum & nepil 16/28

1 Teorie grafů. Základní informace

Matematika III 10. přednáška Stromy a kostry

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

Jan Pavĺık. FSI VUT v Brně

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Množiny, relace, zobrazení

Lineární algebra : Lineární prostor

Úvod do informatiky. Miroslav Kolařík

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

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Diskrétní matematika 2012/2013.

VEKTOR. Vymyslete alespoň tři příklady vektorových a skalárních fyzikálních veličin. vektorové: 1. skalární

Spojová implementace lineárních datových struktur

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

Matematická analýza pro informatiky I.

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

Matematika B101MA1, B101MA2

0.1 Úvod do lineární algebry

1 Topologie roviny a prostoru

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

Matematická analýza III.

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

Funkce. Definiční obor a obor hodnot

Transkript:

Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309

Osnova přednášky Grafy Sled, cesta, kružnice Stromy Kořenový strom Vybrané pojmy Seřazený strom Jiří Dvorský (VŠB TUO) Grafy 105 / 309

Grafy motivace Jedná se o reprezentaci množiny objektů, u které chceme znázornit, že některé prvky jsou propojeny. Objektům se přiřadí vrcholy a jejich propojení značí hrany mezi nimi. Grafy slouží jako abstrakce mnoha různých problémů. Často se jedná o zjednodušený model nějaké skutečné sítě (například dopravní), který zdůrazňuje topologické vlastnosti objektů (vrcholů) a zanedbává geometrické vlastnosti, například přesnou polohu. Jiří Dvorský (VŠB TUO) Grafy 106 / 309

Grafy motivace Příklady abstrakce 1. kousek železniční sítě ČD, graf jako mapa, reálné názvy stanic, zachován fyzický tvar tratí, 2. zachováme topografické rozložení stanic a jejich názvy, tratě překreslíme úsečkami, 3. zachováme pouze názvy stanic, jejich rozložení můžeme libovolně měnit, u některých nakreslení grafu se budou hrany křížit u jiných ne, některá nakreslení grafu jsou pro lidské oko přehlednější 4. vynecháme názvy stanic a použijeme místo nich přirozená čísla. Další možné abstrakce Vcholy grafu nemusí být nutně stanice. Graf můžeme chápat i tak, že vrcholy jsou jednotlivé tratě (čísla tratí). Dvě tratě spojíme hranou, pokud tyto dvě tratě na sebe navazují. V tomto případě hrany v grafu vyjadřují logický vztah, binární relaci být propojen. Jiří Dvorský (VŠB TUO) Grafy 107 / 309

Neorientovaný graf Definice Neorientovaným grafem nazýváme dvojici G = (V, E), kde V je množina uzlů, E je množina jednoprvkových nebo dvouprvkových podmnožin V. Prvky množiny E se nazývají hrany grafu a prvky množiny V se nazývají uzly. Literatura Jiří Demel: Grafy a jejich aplikace, Academia, Praha, 2002 Jiří Dvorský (VŠB TUO) Grafy 108 / 309

Neorientovaný graf, pokračování Hrany grafu Mějme hranu e E, kde e = {u, v}. Uzlům u a v říkáme krajní uzly hrany e. Říkáme také, že jsou incidentní (nebo že incidují) s hranou e. O hraně e pak říkáme, že je incidentní s těmito uzly nebo také že spojuje tyto uzly. Definice Hranu spojující uzel se sebou samým nazýváme smyčkou. Jiří Dvorský (VŠB TUO) Grafy 109 / 309

Neorientovaný graf, pokračování Budeme uvažovat pouze konečné grafy, tedy grafy s konečnou množinou uzlů V. Nekonečné grafy necháme stranou. Vzhledem k tomu, že jiné než neorientované grafy nebudeme definovat, můžeme označení neorientovaný vynechávat. Jiří Dvorský (VŠB TUO) Grafy 110 / 309

Neorientovaný graf, pokračování Definice Stupeň uzlu je počet hran s uzlem incidentních, tj. Věta s(v) = {e E v e}. Součet stupňů uzlů libovolného grafu G = (V, E) je roven dvojnásobku počtu jeho hran. s(v) = 2 E Důkaz. v V Zřejmý (v sumě se každá hrana počítá dvakrát). Jiří Dvorský (VŠB TUO) Grafy 111 / 309

Sled Definice Posloupnost navazujících uzlů a hran v 1, e 1, v 2,..., v n, e n, v n+1, kde e i = {v i, v i+1 } pro 1 i n nazýváme (neorientovaným) sledem. Definice Sled, v němž se neopakuje žádný uzel nazýváme cestou. Tedy v i v j, 1 i j n. Číslo n pak nazýváme délkou cesty. Z faktu, že se v cestě neopakují uzly, vyplývá, že se v ní neopakují ani hrany. Každá cesta je tedy zároveň i sledem. Jiří Dvorský (VŠB TUO) Grafy 112 / 309

Kružnice Definice Sled, který má alespoň jednu hranu a jehož počáteční a koncový uzel splývají, nazýváme uzavřeným sledem. Definice Uzavřená cesta je uzavřený sled, v němž se neopakují uzly ani hrany. Uzavřená cesta se nazývá také kružnice. V definici kružnice jsme museli zakázat kromě opakování uzlů i opakování hran proto, aby posloupnost v 1, e 1, v 2, e 1, v 1 nemohla být považována za kružnici. Jiří Dvorský (VŠB TUO) Grafy 113 / 309

Acyklický graf Definice Graf se nazývá acyklický, jestliže neobsahuje kružnici. Jiří Dvorský (VŠB TUO) Grafy 114 / 309

Souvislý graf Definice Graf se nazývá souvislý, jestliže mezi každými dvěma uzly existuje cesta. Věta Nechť G = (V, E) je souvislý graf. Pak platí E V 1. Důkaz. Zřejmý. Jiří Dvorský (VŠB TUO) Grafy 115 / 309

Grafy příklady Vizualizace grafu 2 Matematický zápis G = (V, E) V = {1, 2, 3, 4, 5, 6} E = {{1, 2}, {1, 3}, {1, 5}, {1, 6}, {2, 3}, {2, 4}, {3, 4}, {4, 5}, {5, 6}}. 1 3 5 4 6 Jiří Dvorský (VŠB TUO) Grafy 116 / 309

Grafy příklady Vizualizace grafu Cesta Uzly {1, 2, 3, 4} spolu s hranami {1, 2}, {2, 3}, {3, 4} tvoří cestu. 2 3 4 Kružnice Hrany {1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 1} tvoří kružnici. 1 5 6 Jiří Dvorský (VŠB TUO) Grafy 117 / 309

Způsoby zadání grafu grafickou formou: prostě obrázkem, asi nejsrozumitelnější forma pro člověka, vhodné pro grafy s malým počtem vrcholů prakticky nemožnost zpracování počítačem. výčtem vrcholů a hran nebo maticí. Jiří Dvorský (VŠB TUO) Grafy 118 / 309

Matice sousednosti Vizualizace grafu 2 Matice sousednosti 1 3 5 4 0 1 1 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0 0 6 Jiří Dvorský (VŠB TUO) Grafy 119 / 309

Dynamicky alokované datové struktury Jiří Dvorský (VŠB TUO) Grafy 120 / 309

Volný strom Definice Souvislý, acyklický, neorientovaný graf nazýváme volným stromem (angl. free tree). Poznámka Prázdný graf je možné považovat za strom, tzv. prázdný strom. Jiří Dvorský (VŠB TUO) Grafy 121 / 309

Vlastnosti volného stromu Věta Nechť G = (V, E) je neorientovaný graf, potom následující tvrzení jsou ekvivalentní: 1. G je volný strom. 2. Každé dva uzly v G jsou spojeny právě jednou cestou. 3. G je souvislý, ale pokud odebereme libovolnou hranu, získáme nesouvislý graf. 4. G je souvislý, a E = V 1. 5. G je acyklický, a E = V 1. 6. G je acyklický. Přidáním jediné hrany do množiny hran E bude výsledný graf obsahovat kružnici. Jiří Dvorský (VŠB TUO) Grafy 122 / 309

Příklad volného stromu Jiří Dvorský (VŠB TUO) Grafy 123 / 309

Kořenový strom Definice Volný strom, který, který obsahuje jeden odlišný uzel se nazývá kořenový strom (angl. rooted tree). Odlišný uzel se nazývá kořen stromu. Někdy se používá také označení zakořeněný strom. Jiří Dvorský (VŠB TUO) Grafy 124 / 309

Příklad kořenového stromu C M I B A D F kořen K L H N J E G Jiří Dvorský (VŠB TUO) Grafy 125 / 309

Příklad kořenového stromu, odlišná vizualizace Vizualizace 1 Vizualizace 2 F F I N K K N I D J B J B D A M H C C A H M G G L E L E V tomto případě jsou obě vizualizace jsou rovnocenné! Neexistuje vlevo či vpravo. Jiří Dvorský (VŠB TUO) Grafy 126 / 309

Předchůdce, následovník Uvažujme uzel x v kořenovém stromu T s kořenem r. Předchůdce Libovolný uzel y na jednoznačné cestě od kořene r do uzlu x se nazývá předchůdce uzlu x. Následovník Jestliže y je předchůdce x, potom x se nazývá následovník uzlu y. Poznámka Každý uzel je pochopitelně předchůdcem a následovníkem sama sebe. Jestliže y je předchůdce x a zároveň x y, potom y je vlastní předchůdce uzlu x a x je vlastní následovník uzlu y. Jiří Dvorský (VŠB TUO) Grafy 127 / 309

Rodič, potomek, list Rodič, potomek Jestliže poslední hrana na cestě z kořene r do uzlu x je hrana (y, x), potom se uzel y nazývá rodič uzlu x a uzel x je potomek uzlu y. Kořen stromu je jediným uzlem ve stromu bez rodiče. Sourozenci Dva uzly mající stejného rodiče se nazývají sourozenci. List Uzel bez potomků se nazývá vnější uzel nebo-li list. Nelistový uzel se je vnitřním uzlem stromu. Uzel, vnitřní uzel, list Uzel je obecný pojem. Každý list a vnitřní uzel je zároveň uzel (bez přívlastku). Srovnej: člověk, žena, muž. Jiří Dvorský (VŠB TUO) Grafy 128 / 309

Stupeň uzlu Stupeň uzlu Počet potomků uzlu x v kořenovém stromu se nazývá stupeň uzlu uzlu x. Poznámka Metoda výpočtu stupně uzlu se u kořenového stromu liší od výpočtu ve volném stromu. V kořenovém stromu se nepočítá rodič. Ve volném stromu pojem rodiče neexistuje, existují jen sousední uzly, počítají se tudíž všechny uzly. Jiří Dvorský (VŠB TUO) Grafy 129 / 309

Hloubka uzlu, výška stromu Hloubka uzlu Délka cesty od kořene stromu k uzlu x se nazývá hloubka uzlu uzlu x ve stromu T. Výška stromu Největší hloubka libovolného uzlu se nazývá výška stromu T. Jiří Dvorský (VŠB TUO) Grafy 130 / 309

Seřazený strom Definice (Seřazený strom) Kořenový strom ve kterém je určeno pořadí potomků se nazývá seřazený strom (angl. ordered tree). Tudíž, pokud uzel má k potomků, lze určit prvního potomka, druhého potomka, až k-tého potomka. Pokud ale například prvního potomka zrušíme, ostatní potomci se posouvají! Druhý potomek se stane prvním, druhý třetím atd. Nelze mít mezi potomky prázdnou pozici. Jiří Dvorský (VŠB TUO) Grafy 131 / 309

Kontrolní otázky 1. Definujte pojem neorientovaný graf. 2. Čím se liší orientovaný graf od neorientovaného? 3. Co je to stupeň uzlu? 4. Co je to sled? 5. Co je to cesta? 6. Co je to délka cesty? 7. Co je to uzavřený sled, uzavřená cesta? Jaké je alternativní pojmenování uzavřené cesty? 8. Co znamená, že graf je acyklický? 9. Co znamená, že graf je souvislý? 10. Jak zní definice volného stromu? 11. Kolik existuje mezi dvěma vrcholy volného stromu cest? Jiří Dvorský (VŠB TUO) Grafy 132 / 309

Kontrolní otázky (pokrač.) 12. Kolik hran musíme minimálně přidat do volného stromu, abychom dostali graf s kružnicí? 13. Kolik hran musíme z volného stromu nejméně odebrat, abychom dostali nesouvislý graf? 14. Má-li volný strom V vrcholů, kolik má hran? 15. Co je to kořenový strom? 16. Vysvětlete pojem předchůdce uzlu. 17. Vysvětlete pojem následovník uzlu. 18. Vysvětlete pojem rodič uzlu. 19. Vysvětlete pojem potomek uzlu. 20. Vysvětlete pojem sourozenec uzlu. 21. Vysvětlete pojem list. 22. Vysvětlete pojem vnitřní uzel. 23. Jak se liší definice stupně uzlu pro obecný graf a kořenový strom? Jiří Dvorský (VŠB TUO) Grafy 133 / 309

Kontrolní otázky (pokrač.) 24. Co je to hloubka uzlu. 25. Jak je definována výška stromu? 26. Co je to seřazený strom? 27. Lze v seřazeném stromu u uzlu s jediným potomkem rozlišit, jestli je levý nebo pravý, první či druhý? Jiří Dvorský (VŠB TUO) Grafy 134 / 309

Děkuji za pozornost Jiří Dvorský (VŠB TUO) Grafy 135 / 309