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, vektor, ArrayList... 2D pole, matice... Zamotané, poměrně efektivní Přehlednější, méně efektivní
Malé grafové zoo Souvislý graf Nesouvislý graf Orientovaný graf Strom Souvislý N uzlů, N─1 hran Binární strom Orientovaný Projevují se v něm logaritmus a exponenciála. Úplný graf N uzlů, (N2─N)/2 hran
Malé grafové zoo 17.2 23 -20 A B 188 0.5 4.3 Pravidelný graf Všechny uzly mají stejný stupeň. 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. 17.2 A 23 A B -20 188 B 0.5 4.3 Nejkratší cesta mezi A a B Cesta obsahuje minimální možný počet hran. Nejkratší cesta mezi A a B Cesta má minimální možný součet vah hran, nehledě na jejich počet. Kružnice v grafu Cesta, jejíž první a poslední uzel splývají.
Velmi snadná otázka = kompletní řešení zvládne informatický bakalář. Příklad velmi malého grafu Položíme si o grafu několik jednoduchých nenápadných otázek. Velmi snadná otázka = kompletní řešení zvládne informatický bakalář. Velmi obtížná 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í.) http://www.claymath.org/millennium-problems/rules-millennium-prizes Od r. 2000 nabízí 1 000 000 $ za kompletní řešení kterékoli velmi obtížné otázky. Dosud se nikdo nepřihlásil....
Je graf souvislý? Existuje cesta mezi libovolnými dvěma uzly? Velmi snadná otázka
Nezávislost grafu? Najděte co nejvíce takových uzlů, že žádné dva z nich spolu nesousedí. Kolik jich bude? Více než 23? Velmi obtížná otázka
Dominance? 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? Velmi obtížná otázka
Barevnost? Stačí jen daný počet barev na obarvení uzlů tak, aby sousední uzly vždy měly rozdílnou barvu? Stačí 2 barvy? -- Velmi snadná otázka Stačí 3 barvy nebo více? -- Velmi obtížná otázka
Nejkratší cesta z A do B? Z C do D? Nejkratší může být co se týče počtu hran nebo součtu délek jejích hran. Velmi snadná otázka, ať už jde jen o počet hran nebo jde o součet jejich délek.
Tabulka nejkratších vzdáleností mezi každou dvojicí uzlů? Vzdálenost můžeme měřit počtem hran na cestě nebo součtem jejich délek. Velmi snadná otázka
Nejkratší přesun (ne nutně cesta) z A do B procházející všemi uzly? Zajížďky, po těchto hranách půjdeme tam i zpět. A B Nejkratší přesun (ne nutně cesta) z A do B procházející všemi uzly? Velmi obtížná otázka
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. Velmi snadná otázka
Jak dopadne obchodní cestující? Jaká je nejkratší okružní cesta navštěvující všechny uzly? Existuje vůbec nějaká okružní cesta procházející všemi uzly? Velmi obtížná otázka
Eulerův tah? Lze graf namalovat jedním tahem (každou hranu malujeme právě jedenkrát)? Lze projít všechny ulice ve městě a do žádné se nevracet? Pokud ano, jak? Velmi snadná otázka Zde to nejde, tři (např. ty červené) uzly lichého stupně tomu brání.
Je graf planární? Lze graf namalovat bez toho, aby se hrany křížily? Velmi snadná otázka (ale jen pro velmi pokročilé bakaláře ) 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 nelze nakreslit bez křížení hran.
Jaká je největší klika v grafu? Jaká je maximální skupina uzlů, v níž každý uzel sousedí s každým? Velmi obtížná otázka
C D A B Jsou dva grafy izomorfní? 6 1 3 4 5 2 6 1 4 3 2 5 C D A B Jsou dva grafy izomorfní? 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 obtížná nebo snadná otázka. 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.
https://cw.fel.cvut.cz/wiki/courses/laso2016/odkazy Kam dál? https://cw.fel.cvut.cz/wiki/courses/laso2016/odkazy