240 Kolorowanie wierzchołków Def. Niech G bdzie grafem prostym. Przez kolorowanie wierzchołków rozumiemy takie etykietowanie elementów V(G) liczbami naturalnymi, e ssiednie wierzchołki otrzymuj róne liczby (kolory, etykiety). Def. Liczba chromatyczna grafu G jest to najmniejsza liczba k taka, e istnieje pokolorowanie G za pomoc k kolorów i jest oznaczana symbolem χ(g). Przykład Optymalne (zuywajce minimaln liczb kolorów) pokolorowania grafów C 5, W 6, K 5.
241 Kolorowanie wierzchołków Uwaga Problem wyznaczania liczby chromatycznej jest w ogólnoci NPtrudny. Zatem, w praktyce uyteczne s oszacowania. Def. Klik grafu G nazywamy jego podgraf pełny. Lemat Prawdziwe jest nastpujce oszacowanie dolne: χ(g) ω, gdzie ω jest rozmiarem maksymalnej kliki grafu G. Uwaga Powysze oszacowanie ma dwie wady: 2 n ω jest parametrem trudnym do wyliczenia. Ze zwizku ω 2 n 2m otrzymujemy oszacowanie mniej dokładne, lecz łatwe do obliczenia. rónica pomidzy χ(g) a ω moe by dowolnie dua, na co przykładem s grafy Mycielskiego.
242 Kolorowanie wierzchołków Tw. Dla dowolnego grafu o maksymalnym stopniu wierzchołka zachodzi oszacowanie χ(g) + 1. Dowód: Przeprowadzimy indukcj wzgldem n. Jeli n = 1, to nierówno oczywicie zachodzi. Zakładamy, e twierdzenie jest prawdziwe dla pewnego n > 0. Dowodzimy przypadek, gdy graf G ma n + 1 wierzchołków. Usumy z G dowolny wierzchołek v. Dla grafu G v z załoenia indukcyjnego mamy: χ(g v) + 1. Wierzchołek v ma w grafie G co najwyej ssiadów, wic jeden sporód +1 kolorów jest dla v dostpny, co pozwala uzyska pokolorowanie G za pomoc co najwyej +1 barw. Tw (Brooks, 1941) Istniej dwie klasy grafów, dla których χ(g) = + 1: grafy pełne oraz cykle o nieparzystej liczbie wierzchołków. Wniosek Jeli G K n oraz 3, to χ(g).
243 Kolorowanie wierzchołków Uwaga Oszacowanie χ(g) moe by bardzo niedokładne, zwłaszcza dla gwiazd, dla których χ(k 1,s ) = 2 oraz (K 1,s ) = s. Tw. Dla grafu G o m krawdziach zachodz oszacowania: ( G) ( G) 2m + 1, + 1, gdzie λ jest długoci najdłuszej drogi w grafie G. Uwaga Pierwsze z powyszych oszacowa moe by niedokładne, gdy dla grafów pełnych dwudzielnych K k,k rónica moe przyjmowa dowolnie du warto. 2k 2 + 1 ( G) = 2k 1 Uwaga Drugie z oszacowa jest niedokładne dla cieki P n, dla której χ(p n ) = 2 oraz λ(p n ) = n 1.
244 Kolorowanie grafów planarnych Tw. Kady graf planarny jest 6-barwny. Dowód: Zastosujemy indukcj wzgldem liczby wierzchołków grafu. Jeli n = 1, to twierdzenie jest oczywicie prawdziwe. Zakładamy, e własno zachodzi dla wszystkich (n 1)- wierzchołkowych grafów planarnych. Niech G bdzie grafem planarnym o n wierzchołkach. Wiemy, e G posiada co najmniej jeden pk v (wierzchołek o stopniu mniejszym lub równym 5). Po usuniciu v mamy (n 1)-wierzchołkowy graf planarny G v, do którego stosujemy załoenie indukcyjne otrzymujc jego 6- pokolorowanie. Wierzchołek v ma w G co najwyej 5 ssiadów, wic jeden z szeciu kolorów bdzie dla v dostpny. Std G jest 6-barwny.
245 Kolorowanie grafów planarnych Tw. (Heawood, 1890) Kady graf planarny jest 5-barwny. Dowód: Podobnie jak w poprzednim twierdzeniu, stosujemy indukcj wzgldem n. Jeli wyznaczymy (z zał. ind.) 5-pokolorowanie G v (gdzie v jest pkiem) i wierzchołek v jest incydentny z co najwyej 4 kolorami, to twierdzenie zachodzi. W przeciwnym wypadku rozwaamy 2 sytuacje (kolory 1 czerwony, 2 zielony, 3 niebieski, 4 fioletowy): Przypadek 1: Wierzchołki o kolorach 1,3 (ssiedzi v) nale do rónych składowych grafu indukowanego przez wierzchołki o kolorach 1,3 (w całym grafie G v) Wtedy zamieniamy kolory 1 i 3 w składowej zawierajcej wierzchołek o kolorze 1 (ssiedni z v) v otrzymuje kolor 1 v v
246 Kolorowanie grafów planarnych Dowód (c.d.): Przypadek 2: Wierzchołki o kolorach 1,3 (ssiedzi v) wraz z v tworz cykl w G Wtedy w składowej spójnoci zawierajcej ssiada v o kolorze 2 moemy zamieni kolory 2 i 4 v otrzymuje kolor 2 v v Tw. (Appel, Haken + komputer, 1976) Kady graf planarny jest 4-barwny.
247 Algorytmy przyblione Przez A(G) oznaczmy liczb kolorów, któr algorytm A uywa podczas kolorowania grafu G. Wyróniamy nastpujce parametry, uwzgldniane podczas opisu algorytmu przyblionego A: 1) Złoono obliczeniowa. 2) Funkcja dobroci zdefiniowana jako: A(n) = max{ A(G)/χ(G) : G ma n wierzchołków }. Najgorsz moliw funkcj dobroci jest A(n)=n, najlepsz za A(n)=1. 3) Najmniejszy dotrudny graf najmniejszy graf G, dla którego algorytm moe uy wicej kolorów ni χ(g). 4) Najmniejszy trudny graf najmniejszy graf G, dla którego algorytm musi uy wicej kolorów ni χ(g).
248 Algorytm sekwencyjny Algorytm sekwencyjny S mona opisa nastpujco: Uporzdkuj w dowolny sposób wierzchołki grafu G v 1,...,v n. Koloruj wierzchołki zachłannie zgodnie z przyjt permutacj Własnoci: 1) algorytm statyczny kolejno wierzchołków ustalona na pocztku nie zmienia si podczas realizacji algorytmu 2) cieka P 4 jest najmniejszym do trudnym grafem 3) Graf trudny nie istnieje 4) Funkcja dobroci jest liniowa. Jej oczekiwana warto wynika z oszacowania: S(G) (2 + ε) χ(g) 5) Złoono O(n + m)
249 Algorytm LF Algorytm LF (largest first) mona opisa nastpujco: Uporzdkuj wierzchołki grafu G nierosnco według stopni v 1,...,v n. Koloruj wierzchołki zachłannie zgodnie z przyjt permutacj Własnoci: 1) algorytm statyczny kolejno wierzchołków ustalona na pocztku nie zmienia si podczas realizacji algorytmu 2) cieka P 6 jest najmniejszym do trudnym grafem: v 1 v 2 v 3 v 4 v 5 v 6 Kolejno wierzchołków: v 2, v 5, v 3, v 4, v 1, v 6.
250 Algorytm LF Własnoci algorytm LF (c.d.): 3) najmniejszym trudnym grafem do kolorowania jest koperta, która jest grafem 3-barwnym, natomiast LF zuywa czterech kolorów: 2 2 4 4 1(3) 2 3(1) 2(3) 1 3(2) 1(2) 3 2(1) 4 3 3 Koperta wraz z oznaczonymi stopniami wierzchołków 4 5 4 5 4 5 a) Szeregujemy wierzchołki stopnia 4 b) Kolorujemy te wierzchołki c) W kadym przypadku wybór wierzch. stopnia 3 jest symetryczny d) We wszystkich przyp. wymagany kolor nr 4
251 Algorytm LF Własnoci algorytm LF (cd.): 4) funkcja dobroci to O(n). Zdefiniujmy k-ty graf Johnsona J k jako K k,k M, gdzie M = {{u i,v i }: u i V 1 (K k,k ),v i V 2 (K k,k )}. Przykład grafu J 4 pokazuje rysunek (wraz z pokolorowaniem utworzonym przez algorytm LF). u 1 u 2 u 3 u 4 v 1 v 2 v 3 v 4 χ(j k ) = 2, gdy grafy Johnsona s dwudzielne. Dla permutacji wierzchołków u 1, v 1, u 2, v 2,..., u k, u k algorytm LF uywa k kolorów. Std LF( J k ) n / 2 n = = ( J ) 2 4 k
252 Algorytm SL Algorytm SL (smallest last) składa si z dwóch etapów: 1) faza redukcji grafu: znajdujemy wierzchołek o minimalnym stopniu i usuwamy go z grafu (powtarzamy dopóki graf nie jest pusty). 2) kolorujemy wierzchołki zachłannie w kolejnoci ustalonej w poprzednim kroku, zaczynajc od wierzchołków usuwanych póniej. Własnoci: Algorytm statyczny Złoono algorytmu: O(n+ m) Funkcja dobroci jest liniowa Przypadki pozytywne: drzewa, cykle, grafy jednocykliczne, kola, grafy Mycielskiego, grafy Johnsona, grafy planarne
253 Algorytm SL Własnoci (cd.) : Przypadki półpozytywne: grafy planarne (za pomoc szeciu kolorów w czasie O(n)) Przypadki negatywne: grafy dwudzielne, grafy Colemana-Moore a r 1 permutacja SL to: q 1,s 1,...,q k,s k, p 1,r 1,...,p k,r k, u 1,v 1,...,u k,v k, p 1 u 1 v 1 q 1 s 1 SL(CM 3 ) = 4 r 2 p 2 u 2 v 2 q 2 s 2 Ogólnie: r 3 p 3 u 3 v 3 q 3 s 3 SL(CM k ) = k+1 χ(cm k ) = 2
254 Algorytm SL Własnoci algorytmu (cd.): Najmniejszym do trudnym grafem jest pryzma a b c d e f Permutacja: d c a b c d e f a b c d e f e a b c d e f f a b c d e f b a b c d e f a a b c d e f a b c d e f Najmniejszym trudnym grafem jest pryzmatoid : 1 2 3 4 5 6 7 8
255 Algorytm SLF Algorytm SLF (saturacyjny LF) mona opisa nastpujco: while istniej niepokolorowane wierzchołki do begin znajd wierzchołek o maksymalnym stopniu sporód wierzchołków o maksymalnym stopniu nasycenia; pokoloruj znaleziony wierzchołek zachłannie; end Uwaga Stopie nasycenia wierzchołka to ilo rónych kolorów incydentnych z tym wierzchołkiem. Przypadki pozytywne: grafy dwudzielne (w tym drzewa i grafy Johnsona), cykle, koła, kaktusy Przypadki negatywne: grafy trójdzielne
256 Własnoci algorytmu: Złoono: O(mlogn) Algorytm SLF Najmniejszy do trudny graf: Najmniejszy trudny graf: Pozostałe wierzchołki mog by kolorowane w dowolnej kolejnoci, co zawsze prowadzi do uycia czwartego koloru.
257 Kolorowanie krawdzi Def. Funkcja c:e(g) {1,...,k} jest k-pokolorowaniem krawdziowym grafu G, o ile dla kadej pary ssiednich krawdzi e i e zachodzi c(e) c(e ). Najmniejsze k, dla którego istnieje krawdziowe k-pokolorowanie nazywamy indeksem chromatycznym grafu G i oznaczamy symbolem χ (G) Uwaga Pokolorowanie wierzchołków oznaczało rozbicie V na zbiory niezalene, natomiast pokolorowanie krawdzi k kolorami jest rozbiciem grafu na k skojarze. Uwaga Problem kolorowania krawdzi jest równowany kolorowaniu wierzchołków grafu krawdziowego. Przykład χ (G) = 2 dla cieek i cykli parzystych χ (G) = 3 dla drzew binarnych o > 2 i cykli nieparzystych
258 Oszacowania dolne Tw. Zachodzi oszacowanie χ (G) Dowód: Wynika std, i wszystkie krawdzie incydentne z tym samym wierzchołkiem musz otrzyma parami róne kolory. Tw. Zachodzi oszacowaniem/t χ (G), gdzie t jest rozmiarem maksymalnego skojarzenia. Dowód: Niech bdzie dane pewne pokolorowanie grafu G. Zauwamy, e kady z k kolorów jest przydzielony co najwyej t krawdziom grafu G. Redukujemy graf, usuwajc krawdzie o pewnym ustalonym kolorze. W kadym takim kroku usuniemy co najwyej t krawdzi, co oznacza, e musimy wykona co najmniej m/t powyszych kroków, aby zredukowa graf do grafu pustego. Ilo kroków jest równa iloci kolorów, co koczy dowód.
259 Oszacowania górne Tw. χ (G) max{, deg(u) + deg(v) + deg(w)/2 }, gdzie maksimum jest obliczane wzgldem wszystkich dróg elementarnych długoci 2. Tw (Shannon, 1949). χ (G) 3 /2 Tw (Vizing, 1964). χ (G) + µ, gdzie µ jest maksymalnym zwielokrotnieniem krawdzi w grafie, tzn. µ jest najwiksz liczb k tak, e wystpuje para wierzchołków połczonych k krawdziami. Uwaga Dla duych wartoci parametru µ i specyficznych grafów (np. dwuwierzchołkowych), oszacowanie Vizing a jest słabsze od oszacowania Ore go. Dla µ = 1 oszacowanie Vizing a jest bardzo dokładne jako, e χ (G).
260 Tw. Vizinga Wniosek Dla grafów prostych G zachodzi χ (G) + 1. Uwaga Grafy, dla których χ (G) = nazywamy grafami klasy 1. Przykłady to grafy dwudzielne, pełne o parzystej liczbie wierzchołków, planarne o 8, nieparzystego rzdu z gwiazd spinajc. Grafy klasy 2, to takie, dla których χ (G) = +1. Przykładami s nieparzyste cykle, pełne nieparzystego rzdu, regularne nieparzystego rzdu. Uwaga Grafów klasy 1 jest znacznie wicej. Np. sporód 112 grafów rzdu 6, tylko 3 s klasy 2.
261 Algorytm NC Algorytm w kadym kroku wybiera dowoln krawd i przydziela jej najniszy kolor, sporód kolorów, które nie zostały uyte do pokolorowania krawdzi ssiednich. Własnoci: Złoono algorytmu to O(m ) Najmniejszym do trudnym grafem jest cieka P 5 Najmniejszy trudny graf nie istnieje Algorytm jest 2-przybliony, tzn. NC(G) < 2χ (G). Uzasadnienie: Jeli algorytm NC koloruje pewn krawd e = {u,v}, to w najgorszym przypadku s deg(u) + deg(v) 2 zabronione kolory dla e. Oznacza to, e kolor przydzielony e jest nie wikszy ni deg(u) + deg(v) 1. Std: NC(G) max{ deg(u) + deg(u) 1 : {u,v} E(G) } 2 1 < 2 2χ (G).
262 Algorytm NTL Def. Kolor brakujcy dla wierzchołka v grafu G to kolor, który nie został przydzielony adnej krawdzi incydentnej do v. M(v) oznacza zbiór wszystkich kolorów brakujcych dla v. Def. Dla kadego wierzchołka v ustalamy pewien jego kolor brakujcy m(v). Wachlarzem F przy wierzchołku v rozpoczynajcym si krawdzi {v,w 0 } nazywamy taki cig krawdzi {v,w 0 }, {v,w 1 },..., {v,w s }, e {v,w i } ma przydzielony kolor m(w i 1 ), i > 0. Liczba s to rozpito wachlarza. Uwaga Jeli wybrana krawd {u,v} nie jest pokolorowana, to kady z wierzchołków u,v ma przynajmniej dwa kolory brakujce.
263 Algorytm NTL Nazwa metody pochodzi od pierwszych liter nazwisk jej twórców (Nishizeki, Terada, Leven) Procedure AlgorytmNTL( G ) begin if (G) 2 then koloruj optymalnie trawersujc cieki i cykle; else begin q := (G) + 1; G := (V(G), ); for kada e E(G) do begin G := G + e; if e = {u,v} nie moe otrzyma wspólnego koloru brakujcego w u i v then Recolor( u, v ); koloruj e; end end end
264 Procedura Recolor zamierzamy pokolorowa krawd {u,v}; wyznaczamy maksymalny wachlarz F ( t.. w 0 =u) przy wierzchołku v przypadek 1: m(w s ) M(v), gdzie s to rozpito wachlarza wówczas kolorujemy krawd {v,w i } barw m(w i ) dla kadego i=1,...,s. przypadek 2: m(w i ) M(v) niech P bdzie ciek w grafie G zaczynajc si w w s złoon z krawdzi pokolorowanych barwami m(v) i m(w s ) przypadek 2a: P nie osiga wierzchołka v: wówczas zamieniamy kolory znajdujce si na ciece, {v,w s } otrzymuje kolor m(v) i pozostałe krawdzie {v,w i }otrzymuj kolory m(w i ); przypadek 2b: P osiga v: niech w j, gdzie j {0,...,s 2}bdzie wierzchołkiem takim, e m(w j 1 )=m(w s ). cieka P koczy si w wierzchołku w j. Zmieniamy kolory wachlarza tak, e krawd {v,w i } otrzymuje kolor m(w i ) dla i<j 1. Zamieniamy kolory na ciece P i ostatecznie malujemy {v,w j 1 } kolorem m(v).