Běžné reprezentace grafu

Slides:



Advertisements
Podobné prezentace
Grafové algoritmy.
Advertisements

Vzájemná poloha přímky a kružnice (kruhu)
NEJKRATŠÍ CESTY MEZI VŠEMI UZLY
PLANARITA A TOKY V SÍTÍCH
Dostačující podmínky •Sporný cyklus –Cyklus ve sporném orientovaném grafu •Sporné kolo –Struktura sporných cyklů.
Stavový prostor. • Existují úlohy, pro které není k dispozici univerzální algoritmus řešení • různé hry • problém batohu, problém obchodního cestujícího.
Zajímavé aplikace teorie grafů
Utvořte negaci výroku, a to bez použití záporu.
Diskrétní matematika Opakování - příklady.
Aplikace teorie grafů Základní pojmy teorie grafů
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Prezentace zadání a řešení Teorie.
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Úvod do teorie grafů.
Statické systémy.
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
Principy překladačů Mezikód Jakub Yaghob.
ADT Strom.
FORMALIZACE PROJEKTU DO SÍŤOVÉHO GRAFU
LOGISTICKÉ SYSTÉMY 7/14.
LOGISTICKÉ SYSTÉMY 8/14.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
ORIENTOVANÉ GRAFY V této části se seznámíme s následujícími pojmy:
KIV/PRO Cvičení Přátelské mince Mějme nově založený stát – Je potřeba vydat vlastní měnu – Uvažujme pouze mince, bankovky zanedbáme Vstup:
Stromy.
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně © Ing. Václav Rada, CSc. 15. PŘEDNÁŠKA.
Univerzita Karlova Matematicko-fyzikální fakulta Lukáš Jirovský Teorie grafů – prezentace Bc. Práce Vedoucí práce: RNDr. Pavla Pavlíková, Ph.D.
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
STROMY Datová struktura sestávající z uzlů
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Grafové pojmy Projekt učitelé.
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
Teorie grafů.
P-těžké, np-těžké a np-úplné problémy
Kostra grafu Prohledávání grafu
Rozpoznávání v řetězcích
Základ hry HEX: dva matematické výsledky Nejvýš jeden hráč vybuduje cestu. Aspoň jeden hráč vybuduje cestu.
hledání zlepšující cesty
Barvení grafů Platónská tělesa
Union & Find Dáno N objektů rozdělených do disjunktních množin. Úlohy: 1.Zjistěte, zda 2 objekty jsou ve stejné množině 2.Spojte 2 množiny Dotazů i objektů.
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, ,  ) Indexování vrcholů molekulového grafu G: bijekce  : V  I I je indexová.
Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Bludiště Projekt učitelé.
NP-úplné problémy v grafech
Vstup: Úplný graf G=(V,E), ohodnocení hran d:E → R + Výstup: Nejkratší Hamiltonovská cesta HC v grafu G Najdi minimální kostru K grafu G Pokud K neobsahuje.
Planarita a toky v sítích
Les, stromy a kostry Kružnice: sled, který začíná a končí ve stejném vrcholu, ostatní vrcholy jsou různé Souvislý graf: mezi každými dvěma vrcholy existuje.
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
VLASTNOSTI GRAFŮ Doc. RNDr. Josef Kolář, CSc
Voroného (Voronoi) diagramy
Využití Hilbertovy báze k ověření shodnosti strukturálních a kombinatorických imsetů Petr Šimeček(MFF UK) Milan Studený(ÚTIA AV ČR)
Jak je to s izomorfismem
Hledání silně souvislý komponent Silně souvislá komponenta orientovaného grafu G= (V,E) je maximální množina uzlů UV taková že ∀ u,v ∈ V : u je dosažitelné.
PROGRAMOVÁNÍ 3ITA,3ITB Jaroslav Burdys Hlavní zdroj:
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně © Ing. Václav Rada, CSc. 23. PŘEDNÁŠKA.
TI 3.1 UPOZORNĚNÍ Reprezentace grafů, odst. 4.1 dne (za týden) bude X36TIN dvakrát dne (za 5 týdnů) bude X36OSY dvakrát skripta.
NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6.
STROMY A KOSTRY Stromy a kostry - odst. 3.2.
Znázornění dopravní sítě grafem a kostra grafu Předmět: Teorie dopravy - cvičení Ing. František Lachnit, Ph.D.
Strukturace učiva Příprava učitelova.
Maximální propustnost rovinné dopravní sítě
MINIMÁLNÍ KOSTRA V GRAFU
Běžné reprezentace grafu
CW-057 LOGISTIKA 43. PŘEDNÁŠKA Teorie grafů – 2 Leden 2017
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
Výpočetní složitost algoritmů
Toky v sítích.
Prakticky identické postupy:
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
Algoritmizace a datové struktury (14ASD)
Algoritmizace a datové struktury (14ASD)
Prakticky identické postupy:
Transkript prezentace:

Běžné reprezentace grafu 1 Uzly Lokality, servery Osoby fyzické i právní Informatické objekty ... atd. Hrany Cesty, propojení Vztahy Informatické závislosti ... atd. 4 3 5 2 Běžné reprezentace grafu 1 3 2 5 4 Matice sousednosti Stupně uzlů Seznamy sousedů Uzly = indexy Uzly = indexy ..... 2 ..... 2 3 1 1 1 ..... 3 ..... 3 4 5 1 1 1 1 2 ..... 2 ..... 3 2 1 1 3 ..... 5 ..... 2 1 4 5 3 1 1 1 1 1 4 ..... 3 ..... 1 3 5 4 1 1 1 5 ..... 3 ..... 1 3 4 5 1 1 1 1D/2D pole, vector, ArrayList... 2D pole, matice... Zamotané, poměrně efektivní Přehlednější, méně efektivní

Malé grafové zoo Cesta N uzlů, N─1 hran Kružnice N uzlů, N hran Souvislý graf Nesouvislý graf Strom Souvislý N uzlů, N─1 hran je bipartitní Úplný graf N uzlů, (N2─N)/2 hran Pravidelný graf Všechny uzly mají stejný stupeň.

17.2 23 A B 188 ─20 0.5 4.3 Malé grafové zoo Vážený graf Každá hrana má svou váhu (cenu, délku, ...). Cesta mezi A a B Cesta neprojde žádným uzlem dvakrát. Kostra grafu podgraf, který obsahuje všechny uzly a je strom (angl: spanning tree) Kružnice v grafu Cesta, jejíž první a poslední uzel splývají. Bipartitní graf dvoubarevný kružnice jen sudé délky Úplný bipartitní graf M a N uzlů v partitách M x N hran

B C A D E F A B C E F G D G Malé grafové zoo Orientovaný graf Kořenový strom Binární kořenový strom B C A D E F A B C E F G D G Orientovaný acyklický graf DAG -- Directed AcyclicGraph Týž acyklickýgraf v topologickém uspořádání

Clay Mathematics Institute Položíme si o grafech několik jednoduchých nenápadných otázek. Snadná otázka = kompletní řešení zvládne dobrý informatický bakalář. Těžká otázka = kompletní řešení dosud nezvládl nikdo. (Ačkoli většinou existují velmi dobrá přibližná a náročná řešení.) Clay Mathematics Institute http://www.claymath.org/millennium-problems/rules-millennium-prizes Od r. 2000 nabízí 1 000 000 $ za kompletní řešení kterékoli těžké otázky. Dodnes se nikdo nepřihlásil....

Souvislost Existuje cesta mezi libovolnými dvěma uzly? Snadná otázka Algoritmus: DFS, BFS, Union-Find Složitost: DFS, BFS O( |V|+|E| ), Union-Find O( |E|∙ (|V|) ) Ano, jedna komponenta souvislosti. Ne, čtyři komponenty souvislosti.

Souvislost Existuje cesta mezi libovolnými dvěma uzly? Snadná otázka Souvislý graf?

Souvislost Existuje cesta mezi libovolnými dvěma uzly? Snadná otázka Souvislý graf? Ne, dvě komponenty.

Nezávislost Velikost maximální množiny uzlů takové, že žádné její dva uzly nesousedí. Těžká otázka obecně Snadná otázka pro grafy s některou jednoduchou strukturou Bipartitnígraf Strom je vždy bipartitní Kružnice Úplný graf

Nezávislost Velikost maximální množiny uzlů takové, že žádné dva nesousedí. Př. Kolik jich bude? Více než 23? Těžká otázka

Dominance Velikost takové minimální množiny uzlů M, že každý uzel v grafu je buď v M nebo sousedí s nějakým uzlem v M. Př. Požární stanice má být vždy buď ve vesnici nebo v sousední vesnici. Jaký je minimální počet potřebných požárních stanic? Těžká otázka Snadná otázka pro grafy s určitou jednoduchou strukturou Strom, použij DP Kružnice Úplný graf 11

Dominance Př. Požární stanice má být vždy buď ve vesnici nebo v sousední vesnici. Jaký je minimální počet potřebných požárních stanic? Postačí 17? Těžká otázka

Barevnost Minimální počet barev na obarvení uzlů tak, aby sousední uzly vždy měly rozdílnou barvu. Stačí 2 barvy? -- Snadná otázka. Vždy, když je graf bipartitní. 2 barvy stačí, strom je vždy bipartitní. 2 barvy nestačí, graf obsahuje trojúhelník (což je kružnice liché délky). 2 barvy stačí, graf je bipartitní. 2 barvy nestačí, v bipartitním grafu jsou kružnice jen sudé délky. Bipartitnost se určí pomocí BFS. Uzly v sudé vzdálenosti od startu označíme 0, uzly v liché vzdálenosti od startu označíme 1. Průběžně ověřujeme, zda nějaké dva stejně označené uzly sousedí. Pokud ano, graf NENÍ bipartitiní, jinak JE bipartitní.

Barevnost Minimální počet barev na obarvení uzlů tak, aby sousední uzly vždy měly rozdílnou barvu. Stačí 3 barvy nebo více? -- Těžká otázka a a b b b b c c c c b a a a d 5 barev. Graf obsahuje největší kliku velikosti 5. Klikovost je také těžká otázka. 3 barvy. 4 barvy. Obarvení a,b,c je BÚNO, vynutí si barvu d vpravo dole.

Barevnost Minimální počet barev na obarvení uzlů tak, aby sousední uzly vždy měly rozdílnou barvu. Stačí 3 barvy nebo více? -- Těžká otázka 4 barvy stačí. Budou stačit 3?

Nejkratší cesty Nejdelší cesty Nejkratší může být co se týče počtu hran nebo součtu délek jejích hran. Snadná otázka Algoritmy: BFS, Dijkstra, Bellman─Ford, Floyd─Warshall, Johnson... Složitosti: Později, u jednotlivých případů. Nejdelší cesty Typicky s podmínkou nejvýše jedné návštěvy každého uzlu/hrany. Těžká otázka pro obecné grafy Snadná otázka pro stromy a DAG Algoritmus: Dynamické programování Složitost : O( |V|+|E| )

Minimální kostra Minimální sumární délka (cena) hran, které "drží graf pohromadě", tj. které umožňují spojení, byť nepohodlné, mezi každými dvěma uzly. Kostra je strom. Snadná otázka Algoritmy: Primův O( |V|2 ) s maticí sousednosti O( |E|∙ log(|V|) ) se spojovou reprezentací a s binární haldou O( |E| +|V|∙ log(|V|) ) se spojovou reprezentací a s Fibonacciho haldou Kruskalův O( |E|∙ log(|V|) ) stačí seznam hran na vstupu Borůvkův O( |E|∙ log(|V|) ) se spojovou reprezentací A 23 17.2 ─20 188 B 0.5 4.3

Minimální kostra Minimální sumární délka (cena) hran, které "drží graf pohromadě", tj. které umožňují spojení, byť nepohodlné, mezi každými dvěma uzly. Kostra je strom. Snadná otázka Zde cena hrany odpovídá její délce v nakreslení.

Úloha obchodního cestujícího Projděte úplný graf, navštivte každý uzel aspoň jednou a vraťte se do výchozího uzlu. Celková délka cesty musí být minimální. Těžká otázka 10 9 5 6 7 10 7 11 9 6

Hamiltonovská kružnice Hamiltonovská cesta Obsahuje graf cestu, která prochází každým uzlem? Hamiltonovská kružnice Obsahuje graf kružnici, která prochází každým uzlem? Těžká otázka Existuje cesta i kružnice. Existuje jen cesta a ne kružnice. Neexistuje ani cesta ani kružnice.

Eulerův tah Lze graf namalovat jedním tahem ? Pokud ano, jak? (Každou hranu malujeme právě jedenkrát. ) Př. Lze projít všechny ulice ve městě a do žádné se nevracet? Snadná otázka Graf musí být souvislý a s nejvýše dvěma uzly lichého stupně. Algoritmus: Hierholzerův O( |E| ) Tah musí začínat a končit v ve zvýrazněných uzlech lichého stupně. Tah je uzavřený, všechny stupně uzlů jsou sudé. Tah neexistuje, všechny uzly jsou stupně 5.

Planární (rovinný) graf Lze graf namalovat do roviny bez toho, aby se hrany křížily? Snadná otázka (ale přece jen pokročilejší) Algoritmus: Hopcroft a Tarjan, O( |V| ) Boyer a Myrvold, O( |V| ) Je planární, modrou hranu lze vést jinudy: Nejsou planární. Pokud graf "obsahuje" v sobě úplný graf s 5 uzly nebo úplný bipartitní graf s 3 a 3 uzly, pak není planární.

Planární graf Lze graf namalovat do roviny bez toho, aby se hrany křížily? Zde to nejde. Každý černý uzel je spojen třemi separátními cestami s každým žlutým uzlem a naopak. To je případ úplného bipartitního grafu s partitami velikosti 3 a 3, což nelze nakreslit do roviny bez křížení hran.

Klikovost Jaká je maximální velikost kliky, to jest skupiny uzlů, v níž každý uzel sousedí s každým? Př. Vyberte na náročnou exkurzi co největší skupinu spolužáků, v níž každý kamarádí s každým. Těžká otázka Klikovost každého stromu je 2.

Klikovost Jaká je maximální velikost kliky, to jest skupiny uzlů, v níž každý uzel sousedí s každým? Klika velikosti 5 tu není. Stačí ověřit mechanicky sousednosti ve všech COMB(55, 5) = 3 478 761 pětiprvkových množinách uzlů.

Grafový izomorfizmus A B C D Lze jeden z grafů nakreslit tak, aby vypadal přesně jako ten druhý? To jest, mají identickou strukturu? Není ani známo, zda je to těžká nebo snadná otázka. 6 1 3 4 5 2 6 1 4 3 2 5 A B C D A a B nejsou izomorfní, pravý prostřední uzel stupně 5 v B nemá protějšek v A, struktura A a B nemůže být stejná. C a D izomorfní jsou, stejně očíslované uzly si odpovídají, hrany v obou grafech vedou mezi stejně očíslovanými uzly.

Částečný přehled nepřehledné struktury běžných grafových otázek Snadná otázka "Jak kdy " Těžká otázka Souvislost? Nejkratší cesta? Minimální kostra? Eulerův tah? Rovinnost? Barevnost? 1,2 barvy snadné 3 a více barev těžké Izomorfizmus? Stromy, cirkulanty snadné pravidelné grafy těžké atd.. Nejdelší cesta? DAG, strom snadné obecný graf těžké Nezávislost? Dominance? Hamiltonicita? Eulerův tah? Klikovost? Obchodní cestující? Další otázky? Někdy lze rozhodnout snadno, do které kategorie úloha patří, někdy to neví nikdo...

https://cw.fel.cvut.cz/wiki/courses/laso2017/odkazy Kam dál? https://cw.fel.cvut.cz/wiki/courses/laso2017/odkazy