Matematyka dyskretna 1/Wykład 14: Grafy III

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Grafy planarne

Graf nieplanarny (a) oraz graf planarny (b) wraz z jego prezentacją w postaci grafu płaskiego (c)
Grafy k33
Grafy k332

Graf płaski to para: G=(V,E), gdzie

  • V jest jakimś zbiorem punktów płaszczyzny 2,
  • E jest zbiorem nie przecinających się odcinków lub łuków w R2 o końcach w zbiorze V.

Graf planarny to graf, który jest prezentowalny jako graf płaski.

Obserwacja 14.1

Grafy 𝒦5 i 𝒦3,3 nie są planarne.

Dowód

Graf 𝒦3,3 ma sześcio-elementowy cykl Hamiltona H. Musi on być narysowany w dowolnej płaskiej prezentacji. Przykładowe umiejscowienie tego cyklu prezentuje rysunekGrafy k33.

Spośród krawędzi v1v4 i v2v5 jedna musi leżeć wewnątrz cyklu a druga musi leżeć na zewnątrz. W konsekwencji nie da się narysować krawędzi v3v0 nie przecinając krawędzi v1v4 lub v2v5.

Dowód dla 𝒦5 jest analogiczny, rozpoczynając od pięcio-elementowego cyklu Hamiltona.

Z Obserwacji 14.1 natychmiast wynika, że żaden graf zawierający 𝒦5 lub 𝒦3,3 nie jest planarny. Ale również graf powstały np. z 𝒦5 poprzez umieszczenie na jednej krawędzi dodatkowego wierzchołka nie jest planarny mimo, że nie zawiera podgrafu 𝒦5 ani 𝒦3,3. Dla scharakteryzowania grafów planarnych potrzebne nam będzie następujące pojęcie homeomorficzności grafów.

Graf 𝐆1 jest homeomorficzny z grafem 𝐆2, jeśli jeden otrzymamy z drugiego poprzez wykonanie skończenie wielu poniższych operacji:

  • Dodawanie wierzchołków stopnia dwa na krawędzi.
    Jeśli uwE(𝐆1) oraz x∉V(𝐆1), to operacja ta zastępuje graf (V(𝐆1),E(𝐆1)) grafem (V(𝐆1){x},E(𝐆1){ux,xw}{uw}).
  • Usuwanie wierzchołków stopnia dwa.
    Jeśli xV(𝐆1) ma jedynie dwóch sąsiadów u,w, to operacja ta zastępuje graf (V(𝐆1),E(𝐆1)) grafem (V(𝐆1){x},E(𝐆1){uw}{ux,xw}).

Grafy homeomorficzne

Przykład

Grafy 𝐆,𝐆 przedstawione na rysunku Grafy homeomorficzne są ze sobą homeomorficzne, zaś 𝐆 nie jest homeomorficzny ani z 𝐆 ani z 𝐆.

Następne twierdzenie podaje prostą charakteryzację grafów planarnych. Niestety dowód tego twierdzenia nie jest prosty i go pominiemy.

Twierdzenie 14.2 [Kuratowski 1930]

Graf jest planarny wtedy i tylko wtedy, gdy żaden jego podgraf nie jest homeomorficzny z 𝒦5 ani z 𝒦3,3.

Kolejne charakterystyka grafów planarnych odwołuje się do znanego nam już pojęcia sciągalności, lub grafu ilorazowego. Przypomnijmy, że

  • iloraz grafu 𝐆 przez relację równoważności θV×V na zbiorze jego wierzchołków to graf postaci
𝐆/θ=(V/θ,{{v/θ,w/θ}:{v,w}E})
  • ściągnięcie zbioru wierzchołków XV w grafie 𝐆 to szczególny przypadek ilorazu 𝐆/θ, w którym klasy równoważności wszystkich wierzchołków spoza X są jednoelementowe, a X stanowi dodatkową klasę, tzn. V/θ={{v}:vVX}{X}. W ten sposób zbiór X został ściągnięty do punktu, którego sąsiadami są sąsiedzi jakiegokolwiek wierzchołka z X. Z drugiej strony, jeśli θV×V jest relacją równoważności o klasach X1,,Xk, to ściągając w grafie 𝐆 kolejno zbiory X1,,Xk otrzymamy graf ilorazowy 𝐆/θ.

Dowód charakteryzacji grafów planarnych w terminach ściągalności również pomijamy. Grafy sciagalne k33

<flashwrap>file=Grafy sciagalne k33.swf|size=small</flashwrap>

<div.thumbcaption>Graf posiadający podgraf ściągalny do 𝒦3,3

Graf posiadający cztery ściany: f0,f1,f2,f3

Twierdzenie 14.3

Graf jest planarny wtedy i tylko wtedy, gdy nie zawiera podgrafu ściągalnego do 𝒦5 lub 𝒦3,3.

Przykład

W grafie przedstawionym na rysunku Grafy ściagalne k33 ściągnięcie zbiorów wierzchołków otoczonych przerywaną linią prowadzi do grafu zawierającego 𝒦3,3. A więc, na mocy Twierdzenia 14.3, graf ten nie jest planarny.

W grafach płaskich poza wierzchołkami oraz krawędziami można rozważać również ściany, czyli obszary płaszczyzny otoczone krawędziami.

Ściana w grafie płaskim 𝐆 to spójny obszar płaszczyzny po usunięciu linii reprezentujących krawędzie, tzn. R2E(𝐆). Innym słowy ściana to zbiór punktów płaszczyzny, które da się połączyć krzywą nieprzecinającą żadnej krawędzi.

Ściana f0 w grafie z rysunku Graf o czterech ścianach jest ścianą nieograniczoną, która nazywana jest też ścianą nieskończoną. Nie tylko ten graf, ale wszystkie grafy płaskie mają dokładnie jedną ścianę nieskończoną. Zauważmy, że las jest grafem planarnym, ale w żadnej reprezentacji płaskiej nie posiada ścian ograniczonych. Tak więc posiada w ogóle tylko jedną ścianę. Tym samym, następne twierdzenie jest uogólnieniem związku |E|=|V|k między liczbą wierzchołków, krawędzi i drzew (tzn. spójnych składowych) w lesie.

Twierdzenie 14.4 [Euler 1750]

W grafie płaskim 𝐆=(V,E) o f ścianach i k1 składowych spójnych zachodzi


|V||E|+f=k+1


Dowód

Dowód poprowadzimy indukcją ze względu na liczbę krawędzi. Jeżeli graf 𝐆 jest pusty to |E|=0,k=|V|, f=1, które to wartości spełniają podaną równość. Załóżmy, że |E|>1. Wybierzmy dowolną krawędź uvE. Jeżeli uv nie leży na żadnym cyklu grafu 𝐆, to usunięcie uv zwiększy o 1 liczbę składowych ale nie zmieni liczby ścian. Tak więc, na mocy założenia indukcyjnego, |V|(|E|1)+f=(k+1)+1, co daje żądaną równość. Załóżmy więc, że uv leży na jakimś cyklu C. Tym samym uv jest granicą pomiędzy dwoma różnymi ścianami, jako że dowolna krzywa przechodząca z jednej strony na drugą stronę granicy wyznaczonej przez krawędź uv musi przecinać jakąś krawędź z cyklu C. Tak więc usunięcie krawędzi uv zmniejszy liczbę ścian o jeden. Ale teraz usunięcie krawędzi uv nie zmienia liczby składowych. Założenie indukcyjne daje nam więc |V|(|E|1)+(f1)=k+1, czyli żądaną równość dla grafu 𝐆.

Uwaga

Ważną konsekwencją Twierdzenia 14.4 jest to, że liczba ścian zależy jedynie od liczby wierzchołków, krawędzi, oraz spójnych składowych. Tak więc w każdej reprezentacji płaskiej musi być taka sama.

Uzasadnienie dwu kolejnych wniosków z Twierdzenia 14.4 pozostawiamy jako ćwiczenie.

Wniosek 14.5

Jeśli 𝐆=(V,E) jest spójnym grafem planarnym o co najmniej 3 wierzchołkach, to


|E|3|V|6


Wniosek 14.6

Spójny graf planarny o |V|1 posiada wierzchołek o stopniu nie większym niż 5.

Graf (w kolorze czerwono-niebieskim) oraz graf do niego dualny geometrycznie (w kolorze żółto-szarym)

Graf dualny geometrycznie do grafu płaskiego 𝐆=(V,E) to graf płaski 𝐆*=(V*,E*) skonstruowany w następujący sposób:

  • Z każdej ściany grafu 𝐆 wybieramy po jednym punkcie. Tak wybrane punkty tworzą zbiór wierzchołków V*.
  • Jeśli krawędź po jednej stronie sąsiadowała ze ścianą f1, a po drugiej z f2 to w grafie 𝐆* odpowiadające ścianom f1,f2 wierzchołki v1*,v2* łączymy krawędzią v1*v2*. Tak wybrane krawędzie tworzą zbiór E*.

Twierdzenie 14.7

Jeśli 𝐆 jest spójnym grafem płaskim, to 𝐆** jest izomorficzny z 𝐆.

Dowód

Każda ściana grafu 𝐆* reprezentowana jest jednym wierzchołkiem 𝐆**. Z drugiej strony, w każdej ścianie grafu 𝐆* znajduje się dokładnie jeden wierzchołek grafu 𝐆. Ponadto, jeśli wierzchołki v1,v2 grafu 𝐆 są sąsiednie, to ściany f1*,f2* grafu 𝐆* zawierające odpowiednio v1 i v2 graniczą ze sobą. To kolei oznacza, że wierzchołki v1**,v2** grafu 𝐆** odpowiadające ścianom f1* oraz f2* są sąsiednie. Oczywiście, przy przejściu z 𝐆 do 𝐆* i potem do 𝐆** wierzchołki v1 i v2 przechodzą w v1**,v2**. Analogicznie jeżeli v1** jest połączony krawędzią z v2** w 𝐆**, to i również v1 z v2 w 𝐆.

Twierdzenie 14.8

Niech 𝐆* będzie grafem geometrycznie dualnym do grafu płaskiego 𝐆. Wtedy podzbiór C krawędzi grafu 𝐆 jest cyklem w grafie 𝐆 wtedy i tylko wtedy, gdy zbiór krawędzi dualnych do krawędzi zbioru C jest rozcięciem grafu 𝐆*.

Grafy cykl rozC

Dowód

Niech C będzie cyklem w grafie 𝐆. W grafie płaskim cykl dzieli płaszczyznę 2 na dwie spójne części A1 oraz A0, przy czym załóżmy, że A1 jest ograniczona przez C, a A0 jest nieograniczona. Niech f1 będzie dowolną ścianą we wnętrzu A1, zaś f0 ścianą nieskończoną, czyli zawartą w A0 a v1*,v0* niech będą odpowiadającymi tym ścianom punktami grafu dualnego 𝐆*. Tak więc, v1*A1, a v0*A0. A zatem dowolnie wybrana droga P z v1* do v0* musi przeciąć cykl C co najmniej raz. Przecinające się krawędzie, jedna z drogi P i druga z cyklu C, są wzajemnie dualne (przy przejściu z 𝐆 do 𝐆* i z powrotem do 𝐆**𝐆). Tak więc, zbiór C* krawędzi dualnych do krawędzi z cyklu C tworzy zbiór rozspajający wierzchołki v1*,v0*.

Pokażemy, że zbiór C* jest rozcięciem, czyli minimalnym zbiorem rozspajającym. Zmniejszenie C* powstaje oczywiście poprzez zmniejszenie zbioru C. Usunięcie jednakże krawędzi e z C, powoduje połączenie obszaru A1 z obszarem A0. Pozwala to tworzyć krzywe łączące dowolne dwa punkty A0A1 i nie przecinające krawędzi ze zbioru C{e}. W konsekwencji pozwala to na tworzenie ścieżek między dowolnymi wierzchołkami grafu 𝐆* omijając krawędzie z C{e}.

Dowód implikacji w drugą stronę jest analogiczny.

Kolorowanie grafów

W tej części wykładu zajmiemy się problemami związanymi z kolorowaniem grafów. Intuicyjnie kolorowanie to przypisanie wierzchołkom grafu kolorów w taki sposób, by każde dwa sąsiednie wierzchołki miały różne kolory.

Kolorowanie grafu 𝐆=(V,E) to funkcja c:V taka, że c(v)c(w) ilekroć vw jest krawędzią grafu 𝐆.

Kolorowanie grafu 𝐆 na k kolorów wyznacza rozbicie zbioru V na sumę rozłączną V=V0V1Vk1 jednobarwnych zbiorów Vi, przy czym każdy graf indukowany postaci 𝐆|Vi jest antykliką. Na odwrót, rozbicie V=V0V1Vk1 pozwala na pokolorowanie grafu 𝐆 na k kolorów.

Kolorowanie grafu nieoptymalne (a), optymalne (b) oraz niepoprawne (c)

Graf k-kolorowalny (k-barwny) to graf dający się pokolorować k barwami.

Liczba chromatyczna grafu, χ(𝐆), to najmniejsza liczba barw, którymi można pokolorować graf 𝐆.

Optymalne kolorowanie grafu 𝐆 to kolorowanie używające dokładnie χ(𝐆) kolorów.

Twierdzenie 14.9

Graf, którego wszystkie wierzchołki mają stopień nie większy niż k jest (k+1)-kolorowalny.

Dowód

Dowód poprowadzimy indukcyjnie ze względu na liczbę wierzchołków w grafie 𝐆=(V,E). Jeśli graf ma jeden wierzchołek, to oczywiście wystarcza jeden kolor. Załóżmy więc, że |V|2. Wybierzmy dowolny wierzchołek vV i rozważmy graf 𝐆|V{v}. Na mocy założenia indukcyjnego da się go pokolorować k+1 barwami. Zauważmy, że v ma co najwyżej k sąsiadów. Wśród k+1 kolorów użytych w kolorowaniu grafu 𝐆|V{x} jest więc kolor nie przypisany żadnemu sąsiadowi wierzchołka v. Wybieramy więc ten kolor jako barwę dla v. Udało się pokolorować graf 𝐆 zbiorem k+1 kolorów, co kończy dowód.

Ograniczenia górnego, na liczbę chromatyczną grafu, podanego w Twierdzeniu 14.9 nie można w ogólności wzmocnić. Istotnie, każde kolorowanie kliki 𝒦k+1 wymaga dokładnie k+1 kolorów, mimo iż stopień każdego wierzchołka to k. Następne twierdzenie wzmacnia jednak znacznie Twierdzenia 14.9, ale podajemy je bez dowodu.

Twierdzenie 14.10 [Brooks 1941]

Niech 𝐆 będzie spójnym grafem prostym, który nie jest kliką. Jeśli wszystkie wierzchołki grafu 𝐆 mają stopień nie większy niż k i k3, to 𝐆 jest ρ-kolorowalny.

Oczywiście nie powinno dziwić nas, że dla grafów specjalnego typu można na ogół powiedzieć więcej o ich liczbie chromatycznej.

Obserwacja 14.11

Graf jest dwudzielny wtedy i tylko wtedy, gdy jest 2-kolorowalny.

Dowód

Zauważmy najpierw, że w grafie dwudzielnym 𝐆=(V1V2,E), podgrafy indukowane 𝐆|V1 oraz 𝐆|V2 są antyklikami. Wystarczy więc pokolorować wierzchołki z V1 jednym kolorem, a wierzchołki z V2 drugim. Z drugiej strony wierzchołki grafu 2-kolorowalnego daje się oczywiście rozbić na dw zbiory indukujące antykliki, jak tego wymaga dwudzielność.

Twierdzenie 14.12

Każdy graf planarny jest 5-kolorowalny.

Grafy 5barw planar

Grafy 5barw planar2

Dowód

Dowód przeprowadzimy indukcyjnie ze względu na liczbę wierzchołków w grafie 𝐆=(V,E). Dla |V|=1 teza jest oczywista. Niech więc |V|2. Z Wniosku 14.6 wiemy, że 𝐆 ma jakiś wierzchołek v o stopniu niewiększym niż 5. Na mocy założenia indukcyjnego wiemy, że graf 𝐆|V{v} jest 5-kolorowalny. Jeżeli v ma mniej niż 5-ciu sąsiadów, to można go pokolorować kolorem niewystępującym u żadnego sąsiada, co kończyłoby dowód. Podobnie, gdyby jakiś kolor występował u co najmniej dwóch sąsiadów wierzchołka v, to także można byłoby zakończyć dowód, gdyż Wśród 5-ciu kolorów dostępnych do kolorowania grafu 𝐆 jest kolor nie przypisany żadnemu sąsiadowi wierzchołka v i może być wobec tego użyty dla v. Możemy więc założyć, że v ma 5 sąsiadów v1,v2,v3,v4,v5 odpowiednio o kolorach: 1,2,3,4,5. Bez straty ogólności ich ułożenie może wyglądać jak na rysunku Grafy 5barw planar.

Niech 𝐏i,j będzie restrykcją grafu 𝐆 do zbioru wszystkich jego wierzchołków o barwach i oraz j. Jeśli v1 i v3 nie są w tej samej spójnej składowej grafu 𝐏1,3, to można zamienić kolory 1 i 3 w spójnej składowej wierzchołka v1. Tak więc, z racji, że teraz v1 otrzymał kolor 3, koloru 1 można użyć do pokolorowania wierzchołka v. Pozostał przypadek, gdy v1 oraz v3 są w tej samej spójnej składowej grafu 𝐏1,3. Oznaczy to, że istnieje ścieżka R zawarta w 𝐏1,3 i łącząca v1 z v3. W efekcie otrzymujemy cykl vv1Rv3v, który ogranicza obszar zawierający wierzchołek v2 i nie zawierający v4.

Z planarności dostajemy więc, że wierzchołki v2 oraz v4 nie mogą być w tej samej spójnej składowej grafu 𝐏2,4. W takim razie podobnie, jak powyżej możemy podmienić kolory w spójnej składowej wierzchołka v2 tak, że v2 otrzyma kolor 4. Ale teraz możemy pokolorować wierzchołek v na kolor 2, co kończy dowód.

Okazuje się że prawdziwe jest mocniejsze i słynne twierdzenie o czterech barwach. Jego długi i skomplikowany dowód został otrzymany przy użyciu specjalnie napisanego programu do rozważenia bardzo wielu przypadków. Dowód ten pomijamy.

Twierdzenie 14.13

Każdy graf planarny jest 4-kolorowalny.

Mapa to graf płaski nie zawierający mostów.

W mapach rozważa się kolorowanie ścian.

Mapa ma k-kolorowalne ściany jeśli jej ściany można pokolorować k kolorami w ten sposób, by żadne dwie graniczące ze sobą ściany nie miały tego samego koloru. Innymi słowy, mapa 𝐌 ma k-kolorowalne ściany, jeśli jej geometrycznie dualny graf 𝐌* jest k kolorowalny.

Twierdzenie 14.14

Mapa 𝐌 ma 2-kolorowalne ściany wtedy i tylko wtedy, gdy graf 𝐌 jest eulerowski.

Dowód

Załóżmy najpierw, że ściany są pomalowane dwoma kolorami. Wtedy każdy wierzchołek v musi być incydentny z parzystą liczbą ścian, a zatem musi mieć parzysty stopień. Na mocy Twierdzenia Eulera otrzymujemy więc, że 𝐌 jest eulerowski.

Niech teraz 𝐌 będzie grafem eulerowskim. Wtedy, na mocy wniosku z Twierdzenia Eulera, jego krawędzie można podzielić na rozłączne krawędziowo cykle C1,,Ck. Kolorowanie ścian mapy 𝐌 zdefiniujmy poprzez przypisanie ścianie pierwszego koloru, jeśli jest otoczona nieparzystą liczbą cykli spośród C1,,Ck, albo poprzez przypisanie drugiego koloru, jeśli jest otoczona parzystą liczbą cykli. Kolorowanie to jest poprawne, gdyż jeśli dwie ściany graniczą ze sobą poprzez krawędź jakiegoś cyklu Ci, to jedna z tych ścian leży wewnątrz cyklu Ci, a druga na zewnątrz Ci. W stosunku do pozostałych cykli spośród C1,,Ck, albo obie ściany są wewnątrz, albo obie na zewnątrz. Tak więc różni je parzystość liczby cykli, we wnętrzu których leżą. Tym samym, w zdefiniowanym kolorowaniu, otrzymają różne kolory.

Z Twierdzenia 14.13, poprzez przejście od mapy 𝐌 do grafu geometrycznie dualnego 𝐌* dostajemy natychmiast następujący wniosek.

Wniosek 14.15

Każda mapa ma 4-kolorowalne ściany.

Z powodu dużego znaczenia kolorowania tak w samej teorii grafów, jak i w algorytmice, problemy kolorowania doczekały się bardzo rozbudowanych pojęć i narzędzi. Poznamy teraz jeszcze jedno z nich.

Liczba stopniowa grafu. Niech 𝐆=({v1,,vn},E) będzie grafem prostym. Przy każdej permutacji ρ:{1,,n}{1,,n} każdemu wierzchołkowi vρ(i) przypisana jest liczba sąsiadów nρ(i)ρ w zbiorze wierzchołków o indeksie mniejszym niż ρ(i). Liczba stopniowa jest równa


χs(𝐆)=minρmaxi=1,,nniρ
Grafy liczba stopniowa 1
Graf 𝐆1 z wierzchołkami w porządku wyznaczonym przez ρ
Kolorowanie grafu 𝐆1
Animacja

Przykład

Rozważmy graf 𝐆1=({v1,v2,v3,v4,v5},E) przedstawiony na rysunku Grafy liczba stopniowa 1.

Dla permutacji ρ zadanej przez


n12345ρ(n)52314


mamy maxi=1,,nniρ=2 i wartość ta jest realizowana przez wierzchołki v3 i v1. Wierzchołki ułożone w porządku vρ(1),,vρ(5) przedstawione są na rysunku Graf G_1 z wierzchołkami....

Przeglądając z kolei wszystkie możliwe permutacje możemy stwierdzić, że nasza permutacja ρ realizuje minimum minρmaxi=1,,nniρ, a zatem χs(𝐆)=2.

Graf 𝐆1 można teraz pokolorować następującą procedurą. Wybierając kolejno wierzchołki vρ(1),vρ(2),,vρ(5) nadajemy im kolor niewykorzystany dla żadnego dotąd rozpatrywanego sąsiada. Otrzymujemy wtedy kolorowanie przedstawione na rysunku Kolorowanie grafu.

Waga wprowadzonej liczby stopniowej wynika z poniższej obserwacji.

Obserwacja 14.16

Jeżeli 𝐆 jest grafem prostym, to


χ(𝐆)χs(𝐆)+1


Dowód

Niech v1,,vn będzie ciągiem wierzchołków grafu 𝐆 w porządku realizującym wartość χs(𝐆). Wskażemy kolorowanie za pomocą χs(𝐆)+1 barw. Wierzchołki kolorowane są kolejno zgodnie z ich numeracją. Załóżmy, że pokolorowane zostały już wierzchołki v1,,vi1. Wierzchołek vi ma co najwyżej χs(𝐆) sąsiadów w zbiorze {v1,,vi1}, tak więc w zbiorze χs(𝐆)+1 kolorów jest jeszcze co najmniej jeden kolor nie wykorzystany dla tych wcześniejszych sąsiadów vi. Przydzielamy go więc wierzchołkowi vi. Czynność ta jest powtarzana, aż do momentu pokolorowania wszystkich wierzchołków w V(𝐆).