TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 28. února 2017
Metainformace materiály: jan.brezina.matfyz.cz/vyuka/tgh (./materialy/crls8.pdf - Introduction to algorithms) testovací server pro seminární úlohy (po aktualizaci pro rok 2017): tgh.nti.tul.cz kdo opakuje a chce uznat loňskou úlohu, do 17.3. seminární práce, pro konkrétní úlohu: formulace úlohy jako grafového problému aplikace algoritmu z přednášky na jeho řešení implementace algoritmu možná spolupráce (je třeba deklarovat) při zkoušce umět vysvětlit zkouška písemná + ústní
Počátek teorie grafů Leonard Euler (1707 1783) 1735 pobyt v Královci (Prusko), dnes Kaliningrad (Rusko) Úloha: Projít městem tak, abyste přešli každý most právě jednou.
Matematizace úlohy 1. Pozorování: nezáleží na cestě mimo mosty 2. Podstatná jsou jen území (vrcholy) a mosty (hrany) 3. Není důležitá poloha vrcholů ani tvar hran. 4. Obrázek grafu má jen pomocnou roli.
Královec abstrakce 1 2 4 3
Definice grafu Vrcholy reprezentují nějaké objekty (plochy mezi řekami), hrany jsou vztahy - relace mezi objekty (spojuje je most). Definition Graf (neorientovaný) je uspořádaná dvojice (V, E): V je množina vrcholů E je množina hran. Hrana je neuspořádaná dvojice vrcholů. Poznámky: max. počet hran je ( n 2) = n(n 1)/2, n = V obyčejný graf neobsahuje smyčky (hrana (x, x)) ani násobné hrany multigraf obsahuje násobné hrany
Grafová formulace úlohy o mostech Graf úlohy můžeme zapsat: V = {1, 2, 3, 4, 5} E = {{1, 2}, {1, 2}, {2, 3}, {2, 3}, {1, 4}, {2, 4}, {3, 4}} Úloha: Pro daný graf G = (V, E) nalézt uspořádanou posloupnost hran a vrcholů P = (v 1, e 1, v 2,..., v 7, e 7, v 8 ) tak, že e i = {v i, v i+1 } a každá hrana se v posloupnosti vyskytuje právě jednou. (Vrcholy se mohou opakovat.) Posloupnost P v níž se mohou opakovat vrcholy, ale ne hrany nazýváme tah.
Úloha pro sypače Projed te každou ulici města právě jednou v každém povoleném směru. Grafová formulace: Vrcholy - křižovatky Hrany (orientované) - silnice
Orientovaný graf Definition Graf (obyčejný orientovaný) je uspořádaná dvojice (V, E), kde V je množina vrcholů a E V V je množina hran. Př. V = {1, 2, 3, 4, 5} E = {(1, 2), (2, 1), (2, 3), (3, 2), (1, 4), (2, 4), (4, 3)} Občejný graf neobsahuje smyčky (hrany začínající a končící ve stejném vrcholu), ani násobné hrany. Maximální počet hran n(n 1).
Graf vs. nakreslení Nakreslení grafu (pro člověka na papíře): Vrcholy - puntíky, body Neorientované hrany - křivky mezi puntíky Orientované hrany - křivky se šipkou Graf (abstrakce, lze reprezentovat v počítači): Vrcholy - libovolná množina (v počítači obvykle přirozená čísla) Neorientované hrany - neuspořádané dvojice vrcholů Orientované hrany - uspořádané dvojice
Cesty v grafu sled - P = (v 1, e 1, v 2,..., v n, e n, v n+ ), vrcholy i hrany se mohou opakovat, délka n tah - sled, ve kterém se neopakuji hrany cesta - sled ve kterém se neopakují vrcholy (ani hrany) kružnice - cesta (nebo tah) ve které v 1 = v n+1 Eulerovský tah - tah obsahující všechny hrany Eulerovská kružnice - Eulerovský tah, s totožným počátkem a koncem
Další příklady aplikací Problém vrcholy hrany Web stránky odkazy (orientované) Ethernet, TCP počítače, IP adresy kabely, spojení
Další příklady aplikací Problém vrcholy hrany Web stránky odkazy (orientované) Ethernet, TCP počítače, IP adresy kabely, spojení Silniční sít města, křižovatky silnice (orientované) Elektrická sít spoje vodiče
Další příklady aplikací Problém vrcholy hrany Web stránky odkazy (orientované) Ethernet, TCP počítače, IP adresy kabely, spojení Silniční sít města, křižovatky silnice (orientované) Elektrická sít spoje vodiče Vztahy, sociální sítě lidé příbuznost, přítelství
Další příklady aplikací Problém vrcholy hrany Web stránky odkazy (orientované) Ethernet, TCP počítače, IP adresy kabely, spojení Silniční sít města, křižovatky silnice (orientované) Elektrická sít spoje vodiče Vztahy, sociální sítě lidé příbuznost, přítelství Chemické sloučeniny atomy vazby
Letecká spojení První nápad: vrcholy = letiště hrany = lety mezi letišti Úloha: Najdi nejlevnější spojení z A do B.
Letecká spojení První nápad: vrcholy = letiště hrany = lety mezi letišti Úloha: Najdi nejlevnější spojení z A do B. Problém: nemáme časovou návaznost
Letecká spojení První nápad: vrcholy = letiště hrany = lety mezi letišti Úloha: Najdi nejlevnější spojení z A do B. Problém: nemáme časovou návaznost Druhý nápad: vrcholy = letiště + čas odletu hrany = lety + čekání
Letecká spojení První nápad: vrcholy = letiště hrany = lety mezi letišti Úloha: Najdi nejlevnější spojení z A do B. Problém: nemáme časovou návaznost Druhý nápad: vrcholy = letiště + čas odletu hrany = lety + čekání závěr: Volba reprezentace pomocí grafu závisí na úloze kterou řešíme.
Význam teorie grafů Graf je abstraktní matematická struktura, umožňující popsat vztahy mezi objekty. Vzhledem k minimálním předpokladům, je tato struktura velmi široce aplikovatelná. Algoritmy řešící abstraktní grafové úlohy mají (po přizpůsobení) velmi široké použití.
Co vám může tento předmět nabídnout? Chutnou kombinaci: teorie grafů (diskrétní matematika) zajímavých algoritmů prvky teorie složitosti (jak jsou vaše algoritmu dobré) některé programátorské finty algoritmické myšlení nezávislé na konkrétním jazyku abstraktní myšlení vůbec
Co vám může tento předmět nabídnout? Chutnou kombinaci: teorie grafů (diskrétní matematika) zajímavých algoritmů prvky teorie složitosti (jak jsou vaše algoritmu dobré) některé programátorské finty algoritmické myšlení nezávislé na konkrétním jazyku abstraktní myšlení vůbec Dobrou chut.
Jsou to stejné grafy?
Jsou to stejné grafy? Ztotožnění vrcholů: 1: 4, 5, 6 2: 4, 5, 6 3: 4, 5, 6 4: 1, 2, 3 5: 1, 2, 3 6: 1, 2, 3 a: b, d, f c: b, d, f e: b, d, f b: a, c, e d: a, c, e f: a, c, e
Isomorfismus grafů Definition Dva grafy G a G nazveme izomorfní jestliže existuje vzájemně jednoznačné zobrazení f : V V, takové, že {x, y} E právě když {f(x), f(y)} E. Zobrazení f nazýváme izomorfismus grafů G a G. Značíme G = G. přejmenování vrcholů obecně těžká úloha rozhodnout zda jsou dva grafy isomorfní příklad K 3,3
Podgrafy, cesta a kružnice jinak, sled Definition Řekneme, že graf H je podgrafem grafu G, pokud V (H) V (G) a E(H) E(G). (mažu vrchuly i hrany) Řekneme, že graf H je indukovaným podgrafem grafu G, pokud V (G) V (G) a E(H) = E(G) ( ) V (H) 2. Tj. podgraf obsahuje právě všechny hrany původního grafu na podmnožině vrcholů. (mažu jen vrcholy) Cesta v grafu G (z vrcholu A do vrcholu B délky t): Podgraf isomorfní s P t. Vrcholy se nemohou opakovat. Kružnice v grafu G (délky t): Podgraf isomorfní s C t. Vrcholy se nemohou opakovat. Sled v grafu G (z vrcholu A do vrcholu B délky t) je posloupnost (v 0, e 1, v 1, e 2,..., e t, v t ), kde platí e i = {v i 1, v i } E(G). Vrcholy se mohou opakovat. Lemma V grafu G existuje cesta z a do b právě tehdy pokud existuje sled z a do b.
ekvivalence, třídy ekvivalence Relace (vztah) na množině X je podmnožina X X. (... těch dvojic, které jsou v relaci.) píšeme: x y Relace se nazývá ekvivalence pokud platí: 1) x x, 2) x y y x, 3) x y y z x z; reflexivita, symetrie, tranzitivita. Označme R[x] množinu všech y X ekvivalentních s x, tzv. třídu ekvivalence prvku x. Platí: R[x] je vždy neprázdná bud R[x] a R[y] jsou bud totožné nebo disjunktní Třídy ekvivalence jednoznačně určují relaci ekvivalence.
souvislost grafu, komponenty Definition Řekneme, že graf G je souvislý pokud pro každé dva vrcholy x a y existuje cesta z x do y. Komponenty grafu jsou jeho největší souvislé indukované podgrafy. Zavedeme relaci pro vrcholy: x y, pokud existuje cesta z x do y. Lemma Relace je ekvivalence. (tj. reflexivní, symetrická a tranzitivní relace) Množina vrcholů V se rozpadne na třídy ekvivalence V i. Třídy ekvivalence V i jsou komponenty grafu. Graf je souvislý pokud má jen jednu komponentu.
vzdálenost v grafu Pro dva vrcholy x, y souvislého grafu G definujeme jejich vzdálenost d G (x, y) jako délku nejkratší cesty v grafu G. Funkci d G : V V R nazýváme metrika grafu. Metrika má vlastnosti: 1. d(x, y) 0, přičemž d(x, y) = 0 pravě když x = y 2. (symetrie) d(x, y) = d(y, x) 3. (trojúhelníková nerovnost) d(x, y) d(x, z) + d(z, y) Zobecnění pro grafy s hranami ohodnocenými kladnými čísly.
Pojmy založené na metrice excentricita vrcholu je jeho vzdálenost k nejvzdálenějšímu vrcholu, ɛ G (v) = max u V d G(v, u) průměr grafu, diam G, je maximální excentricita poloměr grafu, minimální excentricita periferní vrcholy - ty co mají excentricitu rovnou průmeru centrální vrcholy - ty co mají excentricitu rovnu poloměru matice vzdáleností
Stupeň vrcholu Stupeň vrcholu deg(v) v neorientovaném grafu je počet hran vychazejících z v pro orientované grafy: indegree deg (v), outdegree deg + (v) Lemma deg(v) = 2 E v V Skóre grafu - neklesající posloupnost stupňů všech vrcholů grafu, nemění se při isomorfismu