Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 1 / 23 VLASTNOSTI.

Podobné prezentace


Prezentace na téma: "Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 1 / 23 VLASTNOSTI."— Transkript prezentace:

1 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 1 / 23 VLASTNOSTI GRAFŮ Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze BI-GRA, LS 2013/2014, Lekce 5 https://edux.fit.cvut.cz/courses/BI-GRA Doc. Josef Kolář (ČVUT)Vlastnosti grafů

2 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 2 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 2 / 23 Pokrytí a vzdálenost Seznámíme se s následujícími pojmy: pokrytí grafu, Eulerův graf, Eulerův tah nezávislá podmnožina uzlů, nezávislost grafu klika, klikovost grafu dominující podmnožina uzlů, dominance barevnost (chromatické číslo) grafu, bichromatický graf, úplný bichromatický graf vzdálenost na grafu, excentricita uzlu v grafu, průměr grafu, poloměr grafu, střed grafu Skripta odstavec 3.1, str

3 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 3 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 3 / 23 Problém sedmi mostů města Královce Vzpomeňme si na okružní jízdu pražskou MHD... máme projet všechny úseky všech linek v rámci jediné okružní jízdy problém čínského listonoše – co nejkratší uzavřený tah obsahující všechny hrany Zkusíme to nejdříve se sedmi mosty v Královci... Pokrytí (neorientovaného) grafu = {H i }... rozklad množiny hran H do tříd, kde každá třída H i je tahem grafu G. Minimální pokrytí má minimální počet tahů Eulerovy grafy

4 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 4 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 4 / 23 Jak asi vypadají grafy, které lze pokrýt jediným uzavřeným tahem ??? Eulerův graf (EG) : (u) je sudé pro všechny uzly uU POZOR – alternativní definice EG požaduje i souvislost (hned uvidíme, proč) Eulerovy grafy

5 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 5 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 5 / 23 ?Jaké vlastnosti mají Eulerovy grafy? V: G je Eulerův graf  G =  K i, K i  K j =  (hranově) (tj. Eulerův graf je sjednocení hranově disjunktních kružnic) Být Eulerovým grafem (podle naší definice!) k pokrytí jedním uzavřeným tahem NESTAČÍ: V: Graf lze pokrýt jedním uzavřeným tahem  je-li souvislý a Eulerův. ?A co když netrváme na uzavřeném tahu? V: Nechť má souvislý graf G právě 2n uzlů lichého stupně. Potom každé jeho minimální pokrytí tvoří n otevřených tahů. ?A jak to dopadne s čínským pošťákem? O tom ještě později... Eulerovy grafy

6 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 6 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 6 / 23 Jak najdeme Eulerův tah? Slovní popis algoritmu: 1.Ověříme, že graf je souvislý a každý uzel má sudý stupeň. 2.Vybereme počáteční uzel s a vložíme ho do zásobníku. 3.Tah T inicializujeme jako prázdný. 4.Dokud není zásobník prázdný, nechť u je uzel na jeho vrcholu. Pokud u má nějakou incidující hranu vedoucí do uzlu v, pak uložíme v na zásobník a vypustíme hranu [u,v] z grafu. Pokud u nemá žádnou incidující hranu, vybereme ho ze zásobníku a přidáme do tahu T. 5.Tah T obsahuje výsledný Eulerův tah.

7 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 7 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 7 / 23 Nalezení uzavřeného Eulerova tahu void EulerTah (Graph G, Node s) { // pseudo-code 1 if (EulerTest(G)) { 2 Stack.Init(); Stack.Push(s); 3 T =  ; 4 while (!Stack.Empty()) { 5 u = Stack.Get(); 6 if ( Adj[u] != null ) 7 { v = First(Adj[u]); Stack.Push(v); 8 DeleteEdge(u,v,G); } 9 else 10 { T = cons(u,T); Stack.Pop(); } 11 } 12 return T; 13 } } Jaká je časová složitost tohoto algoritmu?

8 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 8 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 8 / 23 Animace algoritmu StackAdj[u]Eulerův tah T 12,3 2 13,4, null 3 2 1null1 2 14, null null null null null null

9 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 9 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 9 / 23 Orientovaný Eulerův graf: platí  u  U:  + (u) =  - (u) V: G je orientovaný Eulerův graf  G =  C i, C i  C j =  (hranově) (tj. orientovaný Eulerův graf je sjednocení hranově disjunktních cyklů) V: Graf lze pokrýt jedním uzavřeným orientovaným tahem právě tehdy, je-li souvislý a Eulerův. ?A co když netrváme na uzavřeném orientovaném tahu? Rozdělíme uzly do následujících tří podmnožin: U 1 = { u:  + (u) =  - (u) } U 2 = { u:  + (u) >  - (u) } U 3 = { u:  + (u) <  - (u) } Označíme k =  (  + (u) -  - (u)) pro u  U 2 (tedy i k =  (  - (u) -  + (u)) pro u  U 3 ) V: Nechť G je souvislý orientovaný graf s množinami uzlů U 1, U 2, U 3 jak je zavedeno výše. Potom je každé minimální pokrytí grafu G tvořeno přesně k otevřenými orientovanými tahy s poč. uzlem v U 2 a koncovým v U 3. Orientované Eulerovy grafy

10 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 10 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 10 / 23 Hamiltonovské cesty a kružnice (cykly) Hamiltonovská cesta (kružnice) obsahuje všechny uzly daného grafu. Hamiltonovský graf je takový, který obsahuje Hamiltonovskou kružnici pravidelný 12-stěn je hamiltonovský Určit, zda je graf Hamiltonovský, je NP-úplný (tedy složitý!) problém. Bodovaná kontrolní úloha: Dokažte, že libovolnou orientací úplného neorientovaného grafu K n vznikne graf obsahující Hamiltonovskou cestu.

11 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 11 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 11 / 23 Nezávislost, klikovost, dominance Nezávislá podmnožina uzlů I  U : I  ( I ) =  maximální nezávislá podmnožina (v sobě)... Nezávislost grafu  (G) = max | I | pro I  Ind(G) Klika grafu – maximální úplný podgraf Klikovost  (G): platí  (G)=  (-G) I I

12 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 12 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 12 / 23 Dominující podmnožina uzlů D  U : D  (D) = U minimální dominující podmnožina (v sobě)... Dominance grafu G  (G) = min |D| pro D  Dom(G) D 18 : 8 = 2,25 18 : 6 = 3,0 Nezávislost, klikovost, dominance

13 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 13 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 13 / 23 ? Obecné vlastnosti ? V: Nechť I je nezávislá podmnožina uzlů v G. Potom ( I je maximální  I je dominující v G ). Důsledek:  (G)   (G) Příklady aplikací: úlohy o dámách, úlohy o strážích, minimální potřebný počet odbavovacích bran na letišti (gates) ? Složitost určování nezávislosti a dominance ? Strom generování nezávislých podmnožin - exponenciální Nezávislost, klikovost, dominance

14 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 14 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 14 / 23 Barevnost grafu ? Co znamená "barvit" graf (uzly, hrany) ? Stejně obarvené uzly nesmí sousedit (tj. být spojeny hranou). ? Jak definovat barvení hran? Chromatické číslo grafu G:  (G) = minimální počet barev postačující k obarvení ?Jak se určí chromatické číslo grafu? Těžko! Jednoduchá zjištění o barevnosti:   (G).  (G)  |U|   (G)   (G)   (G)   max + 1   (G) = 2  G neobsahuje kružnici liché délky Důkaz …

15 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 15 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 15 / 23 Bipartitní graf -  (G) = 2 (bichromatický graf) - uzly se rozpadají do dvou tříd Úplný bipartitní graf K m,n má všechny možné hrany ? Jak vypadá maximální k-chromatický graf? označíme n 1, n 2,..., n k počty uzlů jednotlivých barev počty hran budou n 1 n 2 + n 1 n n 1 n k + n 2 n n k-1 n k =  n i n j... přes i

16 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 16 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 16 / 23 Kontrolní otázky 5.1Vyslovte tvrzení o tom, kdy lze orientovaný graf pokrýt jedním uzavřeným orientovaným tahem. 5.2Je možné prohlásit, že orientovaný Eulerův graf je silně souvislý? Pokud ano, dokažte, pokud nikoliv, vyvraťte protipříkladem. 5.3Nechť {S1, S2,..., Sk} je minimální pokrytí neorientovaného grafu G tvořené k uzavřenými tahy. Je z této skutečnosti možné odvodit nějaké tvrzení o stupních uzlů grafu G nebo o počtu jeho komponent? 5.4Graf G vznikl jako sjednocení několika hranově disjunktních kružnic. Lze tento graf pokrýt jediným uzavřeným tahem? 5.5Mějme libovolný orientovaný graf. Jak určíme minimální počet hran, jejichž přidáním se tento graf stane orientovaným Eulerovým grafem? Bude třeba ještě přidávat nějaké hrany, aby bylo možné vzniklý graf pokrýt jedním uzavřeným tahem? 5.6Dokažte následující tvrzení: Neorientovaný graf G je Eulerův právě tehdy, pokud pro libovolný rozklad {U1, U2} jeho množiny uzlů platí, že má sudý počet hran s jedním krajním uzlem v U1 a druhým v U2. 5.7Pro které hodnoty m,n (m  n  2) je úplný neorientovaný bipartitní graf K m,n možné pokrýt jediným uzavřeným, resp. otevřeným tahem? 5.8Určete nezávislost  (C n ) a dominanci  (C n ) kružnice C n tvořené n (  3) hranami (výsledkem mají být výrazy závislé na n).

17 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 17 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 17 / 23 Kontrolní otázky 5.9Jaký je maximální možný počet hran v obyčejném (neorientovaném) bichromatickém grafu s 21 uzly? 5.10Navrhněte pseudokód algoritmu, který zjistí, zda je zadaný neorientovaný graf bipartitní (tj. má chromatické číslo 2). Určete asymptotickou složitost navrženého algoritmu. 5.11Jak vypadá neorientovaný graf, který má chromatické číslo 3, ale odebráním libovolné jeho hrany vznikne graf s chromatickým číslem 2? 5.12Sestrojte nesouvislý obyčejný neorientovaný graf, který má 13 uzlů, chromatické číslo 3 a maximální počet hran Graf G’ nazýváme barycentrickým zjemněním neorientovaného grafu G, pokud G’ vznikl rozpůlením všech hran grafu G. Odvoďte nějaké tvrzení o chromatickém čísle grafu G’. 5.14Určete nezávislost  (G n ), dominanci  (G n ) a chromatické číslo  (G n ) n-tého člena fraktální rodiny grafů definovaných obrázkem. G0G0 G1G1 GnGn G n-1

18 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 18 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 18 / 23 Vzdálenost na grafu Jak daleko je z uzlu u do uzlu v ?? Kolik je různých nejkratších cest ? A kolik jich je v mřížce s m x n políčky? … vzpomínka na BI-ZDM … u v C(m+n, n) ? PROČ ? n

19 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 19 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 19 / 23 d(u,v) = délka (počet hran) nejkratší cesty z u do v (0)d(u,v) je nezáporné celé číslo (1)d(u,v)  0, přičemž d(u,v)=0, právě když u=v (2)d(u,v) = d(v,u) (3)d(u,v)  d(u,z) + d(z,v) (4) je-li d(u,v)>1, pak  z: z  u,v: d(u,v) = d(u,z) + d(z,v) Průměr grafu T(G) = max d(u,v)  u,v  U Excentricita uzlu u v grafu G: e(u,G) = max d(u,v)  v  U Poloměr grafu G: r(G) = min e(u,G)  u  U, střed(-y) grafu Věta: r(G)  T(G)  2.r(G) (pro stromy dokonce T(G)=2.r(G) nebo T(G)=2.r(G)-1 ) Vzdálenost na grafu

20 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 20 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 20 / Určete poloměr, průměr a středy pro... a) cestu o n uzlech c) kružnici o n uzlech b) úplný graf o n uzlech Kontrolní otázky

21 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 21 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 21 / 23 ?Jak to bude se vzdáleností v orientovaném grafu? Uvažuje se opět nejkratší cesta – ale orientovaná. ? Další možné zobecnění ? Pro grafy s (nezáporným) ohodnocením hran w: H  R + w-délka (orientovaného!) spojení S=  h 1, h 2,..., h n  =  w(h i ) d w (u,v) = w-délka nejkratšího (orientovaného!) spojení Problém určování vzdáleností (nejkratších cest) budeme řešit později. Vzdálenost na grafu

22 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 22 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 22 / 23 Kontrolní otázky 5.16Určete poloměr, průměr a chromatické číslo hyperkrychle H k dimenze k. Hyperkrychle dimenze k má množinu uzlů tvořenou všemi binárními posloupnostmi délky k. Hranou jsou spojeny vždy ty dvojice uzlů, jejichž binární posloupnosti se liší pouze v jediném místě. 5.17Mějme dva disjunktní grafy G1 a G2 s poloměry r1 a r2. Graf G vytvoříme tak, že střed grafu G1 spojíme hranou se středem grafu G2. Určete poloměr vzniklého grafu G v závislosti na r1 a r2. H0H0 H1H1 H3H3 H4H4 H2H2

23 Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 23 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 23 / 23 Kontrolní otázky 5.18Určete počet středů, poloměr r(S n ), průměr T(S n ), chromatické číslo  (S n ), nezávislost  (S n ) a dominanci  (S n ) a pravúhlé sítě S n velikosti n x n políček, ve které každé políčko obsahuje jednu diagonální hranu – viz obrázek. Pro dominanci a nezávislost stačí určit limitní hodnotu koeficientu u nejvyšší mocniny n n n


Stáhnout ppt "Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Vlastnosti grafůGRA, LS 2013/14, Lekce 5 1 / 23 VLASTNOSTI."

Podobné prezentace


Reklamy Google