Slajd 1
Transkrypt
Slajd 1
Kolorowanie grafów Jakub Skalak Wydział Fizyki i Informatyki Stosowanej Kraków, 01.03.2016 www.fis.agh.edu.pl/~4skalak Na początek trochę teorii… Graf prosty G składa się z niepustego zbioru skończonego V(G), którego elementy nazywamy wierzchołkami (lub węzłami), i skończonego zbioru E(G) różnych par nieuporządkowanych różnych elementów zbioru V(G), które nazywamy krawędziami. Graf prosty jest nazywany również grafem nieskierowanym. Graf nazywamy spójnym, jeśli nie można go przedstawić w postaci sumy dwóch grafów – w przeciwnym razie nazywamy go grafem niespójnym. Graf k-spójny to graf spójny, w którym usunięcie mniej niż k dowolnych wierzchołków nie spowoduje jego rozspojenia. www.fis.agh.edu.pl/~4skalak Teorii ciąg dalszy … Mówimy, że dwa wierzchołki v i w grafu G są sąsiednie, jeżeli istnieje krawędź vw, która je łączy. Mówimy też wtedy, że wierzchołki v i w są incydentne z tą krawędzią. Podobnie, dwie krawędzie e i f są sąsiednie, jeżeli mają wspólny wierzchołek. Grafem planarnym nazywamy graf, który można narysować na płaszczyźnie bez przecięć – to znaczy tak, by żadne krawędzie nie przecinały się na rysunku poza wierzchołkiem, z którym są incydentne. Każdy taki rysunek nazywamy rysunkiem płaskim lub grafem płaskim. www.fis.agh.edu.pl/~4skalak Teorii ciąg dalszy … Jeśli G jest grafem bez pętli, to mówimy, że G jest grafem kkolorowalnym, jeżeli każdemu wierzchołkowi możemy przypisać jeden z k kolorów w taki sposób, by sąsiednie wierzchołki miały różne kolory. Jeśli graf G jest k-kolorowalny, ale nie jest (k-1)kolorowalny, to mówimy, że jest on k-chromatyczny, lub że jego liczba chromatyczna jest równa k; piszemy wtedy X(G) = k. UWAGA: Problem wyznaczania liczby chromatycznej jest na ogół NP-trudny. www.fis.agh.edu.pl/~4skalak Teorii ciąg dalszy … Mapa to graf planarny 3-spójny – nie zawiera rozcięć mających 1 lub 2 krawędzie, nie ma wierzchołków stopnia 1 lub 2. Mapa jest k-kolorowalna(f), jeśli jej ściany można pokolorować k kolorami w taki sposób, by żadne dwie ściany ograniczone wspólną krawędzią nie były pokolorowane tym samym kolorem. www.fis.agh.edu.pl/~4skalak Teorii ciąg dalszy … Mówimy, że graf G jest k-kolorowalny(e), jeśli jego krawędzie można pokolorować k kolorami w taki sposób, by żadne dwie sąsiednie krawędzie nie miały tego samego koloru. Jeżeli graf G jest k-kolorowalny(e), ale nie jest (k1)-kolorowalny(e), to mówimy, że jego indeks chromatyczny wynosi k i piszemy X’(G) = k. www.fis.agh.edu.pl/~4skalak Teorii ciąg dalszy … Twierdzenie 1: Jeśli G jest grafem prostym, w którym największym stopniem wierzchołka jest ∆, to graf G jest (∆+1)kolorowalny. Definicja: Graf prosty, w którym każda para różnych wierzchołków jest połączona krawędzią, nazywamy grafem pełnym. Twierdzenie 2(Brooks, 1941): Jeśli G jest spójnym grafem prostym, nie będącym grafem pełnym, i jeśli największy stopień wierzchołka grafu G wynosi ∆(gdzie ∆ ≥3), to graf G jest ∆-kolorowalny. www.fis.agh.edu.pl/~4skalak Teorii ciąg dalszy … Twierdzenie 3: Każdy planarny graf prosty jest 6-kolorowalny. Twierdzenie 4(Heawood, 1890): Każdy planarny graf prosty jest 5-kolorowalny. Twierdzenie 5(Appel i Haken, 1976): Każdy planarny graf prosty jest 4-kolorowalny. Twierdzenie to jest zwane również zagadnieniem czterech barw. www.fis.agh.edu.pl/~4skalak Algorytmy kolorowania grafów Algorytm LF(largest first): 1. Uporządkuj wierzchołki grafu G nierosnąco według stopni v1 … vn. 2. Koloruj wierzchołki zachłannie zgodnie z przyjętą permutacją(kolejnością). Własności: 1. Algorytm LF jest algorytmem statycznym, gdyż raz ustalona kolejność wierzchołków nie zmienia się w trakcie jego działania. 2. Ścieżka P6 jest najmniejszym dość trudnym grafem: Kolejność wierzchołków: v2, v3, v4, v5, v1, v6 www.fis.agh.edu.pl/~4skalak Algorytmy kolorowania grafów 3. Najmniejszym trudnym grafem do kolorowania jest tzw. „koperta”, która jest grafem 3-barwym, a algorytm LF zużywa czterech kolorów. www.fis.agh.edu.pl/~4skalak Algorytmy kolorowania grafów Algorytm SL(smallest last): 1. Znajdź wierzchołek o minimalnym stopniu i usuń go z grafu. 2. Powtarzaj krok pierwszy tak długo, aż graf będzie pusty (zapamiętaj kolejność usuwanych wierzchołków). 3. Koloruj wierzchołki zachłannie, zgodnie z ustaloną wcześniej kolejnością (zaczynając od wierzchołków usuniętych później). Własności: 1. Algorytm statyczny 2. Przypadki pozytywne: drzewa, cykle, koła 3. Przypadki półpozytywne: grafy planarne 4. Przypadki negatywne: grafy dwudzielne www.fis.agh.edu.pl/~4skalak Algorytmy kolorowania grafów 5. Najmniejszym dość trudnym grafem jest tzw. „pryzma” 6. Najmniejszym trudnym grafem jest „pryzmatoid” www.fis.agh.edu.pl/~4skalak Algorytmy kolorowania grafów Algorytm SLF(saturated largest first): while istnieją niepokolorowane wierzchołki do znajdź wierzchołek o maksymalnym stopniu spośród wierzchołków o maksymalnym stopniu nasycenia; pokoloruj znaleziony wierzchołek zachłannie; end Uwaga: Stopień nasycenia wierzchołków, to ilość rożnych kolorów incydentnych z tym wierzchołkiem. www.fis.agh.edu.pl/~4skalak Kolorowanie map Historycznie zagadnienie czterech barw pojawiło się w związku z kolorowaniem map. Prawdopodobnie najbardziej znane sformułowanie twierdzenia o czterech barwach mówi, że każdą mapę można pokolorować czterema kolorami. Definicja: Grafem spójny G nazywamy grafem eulerowskim, jeśli istnieje zamknięta ścieżka zawierająca każdą krawędź G. Taką ścieżkę nazywamy cyklem Eulera. Twierdzenie 6: Mapa G jest 2-kolorowalna(f) wtedy i tylko wtedy, gdy graf G jest grafem eulerowskim. www.fis.agh.edu.pl/~4skalak Kolorowanie krawędzi Twierdzenie 7(Vizing, 1964) Jeśli G jest grafem prostym, w którym największy stopień wierzchołka wynosi ∆, to ∆ ≤ X’(G) ≤ ∆+1. Twierdzenie to podaje bardzo dobre oszacowanie indeksu chromatycznego grafu prostego G. Nie wiadomo, które grafy mają indeks chromatyczny ∆ i które mają indeks chromatyczny ∆ +1. www.fis.agh.edu.pl/~4skalak Przykłady zastosowania kolorowania grafów 1. Harmonogram – gdy mamy do wykonania wiele prac, których nie możemy wykonywać jednocześnie. 2. Dzięki kolorowaniu map, w sieciach GSM wystarczą tylko 4 częstotliwości, by zapobiec interferencji z sąsiednich stacji nadawczych. 3. Obliczenia równoległe – do wieloprocesorowego serwera wpływają zadania do wykonania. Niektóre mogą być wykonane równocześnie, a niektóre nie. Niektóre zadania mogą być wykonywane tylko na ściśle określonych procesorach. www.fis.agh.edu.pl/~4skalak Bibliografia 1. Robin J. Wilson Wprowadzenie do teorii grafów, PWN 2002 2. https://pl.wikipedia.org/wiki/Kolorowanie_grafu 3. http://www.mimuw.edu.pl/~sem/konferencja2010/materialy/Grzesik%20-%20Soczewka.pdf 4. https://inf.ug.edu.pl/~hanna/grafy/14_kolorowanie.pdf www.fis.agh.edu.pl/~4skalak