TGH02 - teorie grafů, základní pojmy Jan Březina Technical University of Liberec 31. března 2015
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 (obyčejný neorientovaný) je uspořádaná dvojice (V, E), kde V je množina vrcholů a E ( ( V 2) je množina hran. Symbolem V n) značíme množinu všech n prvkových podmnožin množiny V. Neorientovaná hrana je neuspořádaná dvojice vrcholů, jejich max. počet je n(n 1)/2 pro n = V
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 sled.
Ú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 (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 kružnice - cesta 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 Letecká spojení letiště + čas lety, čekání (orientované)
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 Letecká spojení letiště + čas lety, čekání (orientované) Závislosti knihovny, třídy, úkoly závislosti knihoven, tříd, úkolů
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 Letecká spojení letiště + čas lety, čekání (orientované) Závislosti knihovny, třídy, úkoly závislosti knihoven, tříd, úkolů 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 Letecká spojení letiště + čas lety, čekání (orientované) Závislosti knihovny, třídy, úkoly závislosti knihoven, tříd, úkolů Vztahy, sociální sítě lidé příbuznost, přítelství Chemické sloučeniny prvky vazby Paralelizace části úlohy výměna dat
Grafy Platónských těles
Fulereny
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