Jan Březina. 7. března 2017

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

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

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

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

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

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

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

TGH02 - teorie grafů, základní pojmy

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

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

TGH02 - teorie grafů, základní pojmy

TGH09 - Barvení grafů

TGH02 - teorie grafů, základní pojmy

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

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

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

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

10 Podgrafy, isomorfismus grafů

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

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

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.

Úvod do teorie grafů

TEORIE GRAFŮ TEORIE GRAFŮ 1

Teorie grafů Jirka Fink

TGH06 - Hledání nejkratší cesty

8 Přednáška z

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

TGH06 - Hledání nejkratší cesty

Definice 1 eulerovský Definice 2 poloeulerovský

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

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

TGH08 - Optimální kostry

10 Přednáška ze

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

Vybíravost grafů, Nullstellensatz, jádra

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

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

Přijímací zkouška - matematika

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

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

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

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

4 Pojem grafu, ve zkratce

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

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

Grafové algoritmy. Programovací techniky

Grafové algoritmy. Programovací techniky

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

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

07 Základní pojmy teorie grafů

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

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

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

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

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

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

Algoritmizace prostorových úloh

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

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

Kreslení grafů na plochy Tomáš Novotný

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

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

Vzdálenost uzlů v neorientovaném grafu

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

Stromy, haldy, prioritní fronty

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

GRAFY A GRAFOVÉ ALGORITMY

PLANARITA A TOKY V SÍTÍCH

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

= 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

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

8 Rovinnost a kreslení grafů

Barevnost grafů MFF UK

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

Algoritmy na ohodnoceném grafu

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

TGH12 - Problém za milion dolarů

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

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

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

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

3. Prohledávání grafů

Vrcholová barevnost grafu

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

TGH07 - Chytré stromové datové struktury

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

opakování reprezentace grafů, dijkstra, bellman-ford, johnson

VĚTY Z LINEÁRNÍ ALGEBRY

TGH04 - procházky po grafech

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

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

ALGORITMY A DATOVÉ STRUKTURY

Hamiltonovské kružnice, stromy, rovinné grafy

TGH13 - Teorie her I.

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

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

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

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

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

Transkript:

TGH03 - stromy, ukládání grafů Jan Březina Technical University of Liberec 7. března 2017

Kružnice - C n V = {1, 2,..., n} E = {{1, 2}, {2, 3},..., {i, i + 1},..., {n 1, n}, {n, 1}}

Cesta - P n V = {1, 2,..., n} E = {{1, 2}, {2, 3},..., {i, i + 1},..., {n 1, n}}

Úplný graf - K n

Úplný bipartitní graf - K n,m

Rovinný graf Graf je rovinný, pokud jej lze nakreslit bez křížení hran.

Definition Strom je souvislý graf neobsahující kružnici. Lemma Každý strom s alespoň dvěma vrcholy má alespoň dva listy (vrcholy stupně 1).

Definition Strom je souvislý graf neobsahující kružnici. Lemma Každý strom s alespoň dvěma vrcholy má alespoň dva listy (vrcholy stupně 1). Důkaz: Nejdelší cesta P = (v 0, e 1, v 1,..., e t, v t ) na stromu T.

Definition Strom je souvislý graf neobsahující kružnici. Lemma Každý strom s alespoň dvěma vrcholy má alespoň dva listy (vrcholy stupně 1). Důkaz: Nejdelší cesta P = (v 0, e 1, v 1,..., e t, v t ) na stromu T. Její konce musí být listy. Dokážeme sporem:

Definition Strom je souvislý graf neobsahující kružnici. Lemma Každý strom s alespoň dvěma vrcholy má alespoň dva listy (vrcholy stupně 1). Důkaz: Nejdelší cesta P = (v 0, e 1, v 1,..., e t, v t ) na stromu T. Její konce musí být listy. Dokážeme sporem: Pokud by jeden z nich nebyl list (třeba v 0 ), pak bud existuje hrana v 0, u, u P a tedy kružnice (T není strom)

Definition Strom je souvislý graf neobsahující kružnici. Lemma Každý strom s alespoň dvěma vrcholy má alespoň dva listy (vrcholy stupně 1). Důkaz: Nejdelší cesta P = (v 0, e 1, v 1,..., e t, v t ) na stromu T. Její konce musí být listy. Dokážeme sporem: Pokud by jeden z nich nebyl list (třeba v 0 ), pak bud existuje hrana v 0, u, u P a tedy kružnice (T není strom) nebo P jde prodloužit (P není nejdelší)

Věta o stromech Theorem Necht G = (V, E) je graf, pak následující podmínky jsou ekvivalentní 1. G je strom 2. jednoznačnost cesty Mezi každými dvěma vrcholy x, y V existuje právě jedna cesta. 3. maximální graf bez kružnice Každá přidaná hrana vytvoří kružnici. 4. minimální souvislý graf G je souvislý a vynecháním libovolné hrany vznikne nesouvislý graf. 5. Eulerův vzorec G je souvislý a platí V = E + 1

Důkaz 1) 2) zdefinice souvislosti: G je souvislý mezi každými dvěma vrcholy x, y V existuje cesta. druhá část G neobsahuje kružnici cesta je jednoznačná (2 cesty kružnice) stejné jako: G obsahuje kružnici pro nějakou dvojici vrcholů existují 2 cesty

Důkaz 1) 3) Pro graf G bez kružnice chceme dokázat: G je souvislý G je maximální 1) 3) přidáním hrany e = (x, y) vytvořím kružnici, jelikož mezi x a y už existuje cesta (souvislost). not 3) not 1) G není souvislý G není maximální pokud mohu přidat hranu (x, y) bez vytvožení kružnice je graf nesouvislý

Důkaz 1) 4) Pro souvislý graf G chceme dokázat: G je bez kružnice G je minimální 1) 2) 4) Pro každou hranu (x, y) neexistuje jiná cesta, odstranění hrany nesouvislý graf not 1) not 4) Pokud existuje kružnice, je možno odebrat hranu, G není minimální.

Důkaz 1) 5) 1) 5), indukcí podle počtu vrcholů 1. Pro V = 1 vzorec platí. 2. Pokud vzorec platí pro V = n 1, musím dokázat, že platí i pro n: strom má alespoň 2 listy (lemma), pokud jeden odeberu, vzorec už platí Vzorec graf bez kružnice Součet s stupňů grafu: s = 2 E = 2 V 2 Kvůli souvislosti jsou všechny stupně aspoň 1, tj. max V 2 nejsou listy, tj. existuje list. Utrhnu list a použiju platnost implikace pro n 1, (opět indukce)

Kořenové stromy Kořenový strom je strom s jedním vyznačeným vrcholem kořenem. Orientace od listů ke kořeni. Každý vrchol kromě kořene má právě jednoho bezprostředního předka π(x). Pokud vede (orientovaná) cesta z y do x je x předek y a y potomek x Vrcholy kromě listů mají jednoho nebo více bezprosředních potomků. Zobrazením π(x) : V V je strom jednoznačně určen. pojmy: hladina, výška, šířka, k-ární strom

Reprezentace grafů Jakými způsoby můžeme reprezentovat grafy v počítači? Příklady pro grafy: Vrcholy i hrany budeme číslovat od jedné.

Seznam hran Ukládám počet vrcholů + seznam hran: graf G 5 vrcholů hrany: (1,2) (1,3) (1,4) (2,4) (3,4) (4,5) graf H 4 vrcholy hrany: (1,2) (2,1) (1,3) (3,2) (4,3) Příklad v C a C++: s t r u c t Graph { unsigned i n t n vtx, n edg ; unsigned i n t [ 2 ] edges ; } s t r u c t Graph { unsigned i n t n v t x ; v e c t o r < p a i r <int, int > > edges ; }

Matice sousednosti Vrcholy grafu očíslujeme 1,..., n = V, pak A i,j G = { 1 pokud existuje (orientovaná) hrana mezi vrcholy i, j 0 pokud hrana neexistuje závisí na uspořádání vrcholů počet prvků na řádku roven stupni vrcholu deg(g) = deg + (G) + deg (G) pro neorientované grafy symetrická příklad: A G = 0 1 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 0 A H = 0 1 1 0 1 0 0 0 0 1 0 0 0 0 1 0

Incidenční matice Očíslujeme vrcholy 1,..., n = V a hrany 1,..., m = E. Neorientovaná incidenční matice C o rozměrech m n pro neorientovaný graf má prvek C i,j = 1 pokud j je vrcholem hrany i, jinak je C i,j = 0. Pro orientovaný graf je C i,j = 1 pokud hrana i opouští vrchol j (e i = (j, x)) a C i,j = 1 pokud hrana j přichází do vrcholu i (e i = (x, j)). Orientovanou incidenční matici můžeme sestavit i pro neorientovaný graf.

Seznamy sousedů Pro každý vrchol máme pole jeho sousedů. příklad: 2, 3, 4 1, 4 graf G: 1, 4 graf H: 1, 2, 3, 5 4 Pomocí dvou poĺı: G: (1, 4, 6, 8, 12, 13), (2, 3, 4, 1, 4, 1, 4, 1, 2, 3, 5, 4) H: (1, 3, 4, 5, 6), (2, 3, 1, 2, 3) 2, 3 1 2 3

Řídké grafy a matice Seznam hran: řídké uložení incidenční matice. Seznamy sousedů: řídké uložení matice sousednosti

Výhody uložení Ozačme: n - počet vrcholů, m - počet hran, r - max. počet sousedů je uv hrana průchod sousedů pamět seznam hran O(m) O(m) O(m) matice sousednosti O(1) O(n) O(n 2 ) seznamy sousedů O(r) O(r) O(n + m)

Vztah mezi maticemi (neorientované grafy) Lemma Necht C je neorientovaná incidenční matice a A je matice sousednosti grafu G. Pak C T C = A + D, kde D je diagonální matice stupňů D i,i = deg(i)

Matice konektivity, ohodnocení a vzdáleností Matice konektivity, nesymetrická matice sousednosti, M i j = 1 pokud existuje hrana (i, j). Matice ohodnocení hran. Matice vzdálenosti, matice metriky grafu.

Řídké grafy a matice pole začátků řádků, pole sloupců, pole hodnot (alokace dohromady) pro každý řádek pole sloupců nenulových prvků a pole jejich hodnot (alokace zvlášt ) místo poĺı lineární (spojový) seznam (každý prvek zvlášt )