VLASTNOSTI GRAFŮ Doc. RNDr. Josef Kolář, CSc

Slides:



Advertisements
Podobné prezentace
Grafové algoritmy.
Advertisements

LOGISTICKÉ SYSTÉMY 14/15.
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
Základy infinitezimálního počtu
Deduktivní soustava výrokové logiky
Komplexní čísla. Komplexní číslo je uspořádaná dvojice [x, y], kde číslo x představuje reálnou část a číslo y imaginární část. Pokud je reálná část nulová,
Fakulta životního prostředí Katedra informatiky a geoinformatiky
NEJKRATŠÍ CESTY MEZI VŠEMI UZLY
PLANARITA A TOKY V SÍTÍCH
LOGISTICKÉ SYSTÉMY 6/14.
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/ Úvod do teorie grafů.
ALGO – Algoritmizace 1. cvičení
Algebra.
ADT Strom.
LOGISTICKÉ SYSTÉMY 7/14.
LOGISTICKÉ SYSTÉMY 8/14.
TI 6.1 STROMY A KOSTRY Stromy a kostry. TI 6.2 Stromy a kostry Seznámíme se s následujícími pojmy: kostra grafu, cyklomatické číslo grafu, hodnost grafu.
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:
Abeceda a formální jazyk
Stromy.
Fakulta životního prostředí Katedra informatiky a geoinformatiky
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Ů
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ů.
Formální modely výpočtu Tomáš Vaníček Katedra inženýrské informatiky Stavební fakulta ČVUT Thákurova 7, Praha 6 Dejvice, b407
P-těžké, np-těžké a np-úplné problémy
Matematické metody optimalizace Tomáš Vaníček Katedra inženýrské informatiky Stavební fakulta ČVUT Thákurova 7, Praha 6 Dejvice, b407
Kostra grafu Prohledávání grafu
hledání zlepšující cesty
Vektorové prostory.
Spojení a průnik podprostorů
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Barvení grafů Platónská tělesa
2. Vybrané základní pojmy matematické statistiky
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Prohledávání stavového prostoruGRA, LS 2013/14, Lekce 11.
Čtverec kružítkem Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem.
Planarita a toky v sítích
Teorie čísel Prvočíslo Generování prvočísel: Erathosenovo síto
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)Turingovy strojeGRA, LS 2012/13, Lekce 12 1 / 21 TURINGOVY.
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É.
STROMY A KOSTRY Doc. RNDr. Josef Kolář, CSc
Jak je to s izomorfismem
GRAFOVÉ ALGORITMY A ZÁKLADY TEORIE SLOŽITOSTI Doc. RNDr
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)Toky v sítích IIGRA, LS 2013/14, Lekce 10 1 / 35 TOKY V.
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.
Úvod do databázových systémů
Množina bodů dané vlastnosti
Definiční obor a obor hodnot
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.
Maximální propustnost rovinné dopravní sítě
MINIMÁLNÍ KOSTRA V GRAFU
Konstrukce trojúhelníku
CW – 05 TEORIE ROZHODOVACÍCH PROCESŮ
Běžné reprezentace grafu
Množina bodů dané vlastnosti
DEFINICE FUNKCE Název školy: Základní škola Karla Klíče Hostinné
Toky v sítích.
Konstruktivní úlohy na rotačních plochách
NEJKRATŠÍ CESTY MEZI VŠEMI UZLY
Množina bodů dané vlastnosti
VLASTNOSTI GRAFŮ Vlastnosti grafů - kap. 3.
Konstrukce trojúhelníku
Transkript prezentace:

VLASTNOSTI GRAFŮ Doc. RNDr. Josef Kolář, CSc 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ů

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. 37 - 49

Eulerovy grafy 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 ... Problém sedmi mostů města Královce Pokrytí (neorientovaného) grafu = {Hi} ... rozklad množiny hran H do tříd, kde každá třída Hi je tahem grafu G. Minimální pokrytí má minimální počet tahů

Jak asi vypadají grafy, které lze pokrýt jediným uzavřeným tahem ??? Eulerovy grafy 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č)

?A jak to dopadne s čínským pošťákem? O tom ještě později ... Eulerovy grafy ?Jaké vlastnosti mají Eulerovy grafy? V: G je Eulerův graf  G = Ki, Ki  Kj =  (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 ...

Jak najdeme Eulerův tah? Slovní popis algoritmu: Ověříme, že graf je souvislý a každý uzel má sudý stupeň. Vybereme počáteční uzel s a vložíme ho do zásobníku. Tah T inicializujeme jako prázdný. 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. Tah T obsahuje výsledný Eulerův tah.

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?

Animace algoritmu Stack Adj[u] Eulerův tah T 3 4 1 2,3 2 1 3,4,5 3 2 1 1 3 2 1 null 4,5 3 1 4 2 1 5 5 4 2 1 2 2 5 4 2 1 2 3 1 5 2 3 1 4 5 2 3 1 2 4 5 2 3 1 1 2 4 5 2 3 1 1 2 5 3 4 1 2 5

Orientované Eulerovy grafy Orientovaný Eulerův graf: platí u  U: +(u) = -(u) V: G je orientovaný Eulerův graf  G = Ci, Ci  Cj =  (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: U1 = { u: +(u) = -(u) } U2 = { u: +(u) > -(u) } U3 = { u: +(u) < -(u) } Označíme k =  (+(u) - -(u)) pro uU2 (tedy i k = (-(u) - +(u)) pro uU3) V: Nechť G je souvislý orientovaný graf s množinami uzlů U1, U2, U3 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 U2 a koncovým v U3 .

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 Kn vznikne graf obsahující Hamiltonovskou cestu.

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

Nezávislost, klikovost, dominance 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 ? 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í

(G) = minimální počet barev postačující k obarvení 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 …

n1n2 + n1n3 + ... n1nk + n2n3 + ... + nk-1nk =  ninj ... přes i<j Dvojbarevné grafy Bipartitní graf - (G) = 2 (bichromatický graf) - uzly se rozpadají do dvou tříd Úplný bipartitní graf Km,n má všechny možné hrany m n ?Jak vypadá maximální k-chromatický graf? označíme n1, n2, ..., nk počty uzlů jednotlivých barev počty hran budou n1n2 + n1n3 + ... n1nk + n2n3 + ... + nk-1nk =  ninj ... přes i<j ?Pro jaké hodnoty ni bude počet hran maximální ?

Kontrolní otázky 5.1 Vyslovte tvrzení o tom, kdy lze orientovaný graf pokrýt jedním uzavřeným orientovaným tahem. 5.2 Je možné prohlásit, že orientovaný Eulerův graf je silně souvislý? Pokud ano, dokažte, pokud nikoliv, vyvraťte protipříkladem. 5.3 Nechť {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.4 Graf G vznikl jako sjednocení několika hranově disjunktních kružnic. Lze tento graf pokrýt jediným uzavřeným tahem? 5.5 Mě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.6 Dokaž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.7 Pro které hodnoty m,n (m  n  2) je úplný neorientovaný bipartitní graf Km,n možné pokrýt jediným uzavřeným, resp. otevřeným tahem? 5.8 Určete nezávislost (Cn) a dominanci (Cn) kružnice Cn tvořené n (3) hranami (výsledkem mají být výrazy závislé na n).

Kontrolní otázky 5.9 Jaký je maximální možný počet hran v obyčejném (neorientovaném) bichromatickém grafu s 21 uzly? 5.10 Navrhně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.11 Jak vypadá neorientovaný graf, který má chromatické číslo 3, ale odebráním libovolné jeho hrany vznikne graf s chromatickým číslem 2? 5.12 Sestrojte nesouvislý obyčejný neorientovaný graf, který má 13 uzlů, chromatické číslo 3 a maximální počet hran. 5.13 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.14 Určete nezávislost (Gn), dominanci (Gn) a chromatické číslo (Gn) n-tého člena fraktální rodiny grafů definovaných obrázkem. G0 G1 Gn Gn-1

Vzdálenost na grafu C(m+n, n) ? PROČ ? Jak daleko je z uzlu u do uzlu v ?? 1 2 n u v 1 2 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 … C(m+n, n) ? PROČ ?

(pro stromy dokonce T(G)=2.r(G) nebo T(G)=2.r(G)-1 ) Vzdálenost na grafu 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 )

Kontrolní otázky 5.15 Určete poloměr, průměr a středy pro ... a) cestu o n uzlech b) úplný graf o n uzlech c) kružnici o n uzlech

Vzdálenost na grafu Problém určování vzdáleností (nejkratších cest) ?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=h1, h2, ..., hn =  w(hi) dw(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.

Kontrolní otázky 5.16 Určete poloměr, průměr a chromatické číslo hyperkrychle Hk 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ě. H0 H1 H3 H4 H2 5.17 Mě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.

Kontrolní otázky 5.18 Určete počet středů, poloměr r(Sn), průměr T(Sn), chromatické číslo (Sn), nezávislost (Sn) a dominanci (Sn) a pravúhlé sítě Sn 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. 1 2 3 4 . n