Tomáš Foltýnek foltynek@pef.mendelu.cz Barvení grafů Platónská tělesa
strana 2 Opakování z minulé přednášky Co je to prohledávání grafu? Jaké způsoby prohledávání grafu známe? Jak nalézt východ z bludiště? Jak nalézt nejkratší cestu v grafu? Jak nalézt minimální kostru v grafu?
Barvení grafu Zobrazení b: U {1,2, k} takové, že pro každé dva sousední uzly u,v platí, že b(u) b(v), nazýváme obarvení grafu Minimální počet barev potřebný pro obarvení grafu (minimální k) nazýváme chromatické číslo grafu a značíme jej χ(g) Aplikace barvení grafu Skladování nebezpečných látek, které se ovlivňují Podávání léků, které nelze kombinovat Plánování procesů, které nemohou probíhat naráz (využívají stejný zdroj) rozvrh hodin, plánování schůzek a jednání,... Alokace registrů při překladu programu intervalové grafy Sudoku Barvení mapy
Vlastnosti χ(g) χ(g) = 1 pro diskrétní graf χ(g) = 2 pro bipartitní graf χ(g) = 2 pro strom χ(g) = 2 pro hyperkrychli χ(g) 3 obsahuje-li graf kružnici liché délky χ(g) 4 pro rovinný graf χ(g) U pro libovolný graf χ(g) = U pro úplný graf χ(g) max {d(u) u U} + 1
Problém čtyř barev Obarvení politické mapy tak, aby žádné dva sousední státy nebyly obarveny stejnou barvou 1852 Francis Guthrie domněnka, že každou mapu lze obarvit 4 barvami 1976 Kenneth Appel, Wolfgang Haken důkaz 1936 různých možností rozdělení mapy dokázali, že to jsou všechny pro každou ukázali, že může být obarvena 4 barvami náročný počítačový výpočet Pěkný důkaz zatím neexistuje Problém rozhodnout, zda danou mapu lze obarvit 3 barvami, je NP-úplný Problém rozhodnout, zda obecný (nerovinný) graf lze obarvit 4 barvami, je NP-úplný
Algoritmy pro barvení grafu Barvení grafu je NP-úplný problém Následující algoritmy nezaručují nalezení optimálního řešení jsou to rychlé algoritmy poskytující relativně dobré řešení
Sekvenční barvení grafu Položme K=0 počet dosud použitých barev Dokud existuje neobarvený uzel Vybereme neobarvený uzel Určíme nejnižší přirozené číslo b, které může být obarvením uzlu a obarvíme jej Je-li b>k, aktualizujeme K
Pravidla pro výběr uzlu Náhodně Nerostoucí posloupnost podle velikosti stupňů nejdříve barvíme uzly s nejvyšším stupněm nakonec barvíme uzly s nejnižším stupněm Pro každý uzel určíme počet barev, které již byly použity k obarvení jeho sousedů vybereme uzel s nejvyšší hodnotou v případě rovnosti volíme ten, který má více neobarvených sousedů Smyslem je zbavit se nejprve nejobtížnějších uzlů
Barvení grafu pomocí nezávislých množin Množina uzlů A se nazývá nezávislá právě tehdy, když neexistuje hrana, která by spojovala dva uzly ležící v množině A Je-li dáno obarvení grafu, pak množina uzlů obarvených stejnou barvou, je nezávislá Algoritmus barvení grafu zvolíme neobarvený uzel u (podobně jako u sekvenčního barvení) určíme největší nezávislou množinu N(u) uzlů obsahující u obarvíme uzly z množiny N(u) novou barvou opakujeme tak dlouho, dokud existují neobarvené uzly
Barvení grafu slepováním uzlů Dokud graf není úplný vyber dva nesousední uzly u a v vybrané uzly nahraď jedním, který bude sousedit se všemi, s nimiž sousedily uzly u a v Obarvi každý uzel úplného grafu jinou barvou Uzly znovu rozděl
Varianty barvení grafu Barvení hran lze převést na barvení uzlů tzv. hranového grafu Barvení stěn lze převést na barvení uzlů tzv. duálního grafu
Platónská tělesa Platónské těleso je pravidelný konvexní mnohostěn z každého vrcholu vychází stejný počet hran všechny stěny tvoří stejný pravidelný mnohoúhelník Čtyřstěn, šestistěn (krychle), osmistěn, dvanáctistěn, dvacetistěn Nemůže jich být více?
Platónská tělesa Zdroj: Wikipedia
Důkaz počtu platónských těles I. V = počet vrcholů S = počet stěn H = počet hran Eulerova věta: V+S = H+2 platí pro všechny grafy, které lze rovinně nakreslit na sféru díky stereografické projekci platí i pro rovinu Důkaz indukcí přes počet stěn S = 1, graf je acyklický, je to strom a tedy H = V 1 Přidání 1 hrany nutně způsobí rozdělení některé stěny Přidání 1 uzlu na některou hranu způsobí její rozdělení
Důkaz počtu platónských těles II. V platónském tělese se v každém vrcholu potkává k n-úhelníků Dostáváme tedy n S = k V n S = 2 H Z velikosti vnitřních úhlů vyplývá, že v 1 bodě se mohou potkat nejvýše 3,4 nebo 5 rovnostranných trojúhelníků 3 čtverce 3 pravidelné pětiúhleníky Vždy tedy platí, že n 3 a k 3
Důkaz počtu platónských těles III. Z Eulerovy věty V+S = 2H a vztahů n S = k V = 2 H dostáváme H = 2nk/(2k+2n-nk) V = 4n/(2k+2n-nk) S = 4k/(2k+2n-nk) Odtud již vyplývají celočíselná řešení soustavy rovnic s parametry n,k