Kolorowanie wierzchołków grafu

Podobne dokumenty
Podstawowe własności grafów. Wykład 3. Własności grafów

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Wykłady z Matematyki Dyskretnej

SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Skojarzeniem w grafie G nazywamy dowolny podzbiór krawędzi parami niezależnych.

a) 7 b) 19 c) 21 d) 34

Kolorowanie wierzchołków

10. Kolorowanie wierzchołków grafu

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

E ' E G nazywamy krawędziowym zbiorem

Sortowanie topologiczne skierowanych grafów acyklicznych

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Matematyczne Podstawy Informatyki

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

6d. Grafy dwudzielne i kolorowania

TEORIA GRAFÓW I SIECI

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Kolorowanie wierzchołków

Znajdowanie skojarzeń na maszynie równoległej

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

Lista 4. Kamil Matuszewski 22 marca 2016

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Algorytmiczna teoria grafów

Suma dwóch grafów. Zespolenie dwóch grafów

Algorytmy multikolorowania grafów w modelu rozproszonym

Złożoność obliczeniowa klasycznych problemów grafowych

Graf. Definicja marca / 1

Matematyczne Podstawy Informatyki

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka od zaraz zatrudnię

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Praca dyplomowa magisterska

Algorytmiczna teoria grafów

Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n

Opracowanie prof. J. Domsta 1

Podejście zachłanne, a programowanie dynamiczne

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Wojciech Guzicki. Konferencja SEM(Kolory matematyki) Sielpia, 26 października 2018 r.

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Tytuł rozprawy w języku polskim: Analiza właściwości algorytmicznych problemu szkieletowego kolorowania grafów

Luty 2001 Algorytmy (4) 2000/2001

Wykład 4. Droga i cykl Eulera i Hamiltona

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

TEORIA GRAFÓW I SIECI

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Digraf. 13 maja 2017

Spis treści Podstawowe definicje Wielomian charakterystyczny grafu Grafy silnie regularne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

Wybrane podstawowe rodzaje algorytmów

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

5. Rozwiązywanie układów równań liniowych

Algorytmy i Struktury Danych

Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa

Grafy. Graf ( graf ogólny) to para G( V, E), gdzie:

Zadania z ćwiczeń #18 (pon. 7 maja) Matematyka Dyskretna

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Indukcja matematyczna. Zasada minimum. Zastosowania.

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Wykłady z Matematyki Dyskretnej

Metody uporządkowania

Matematyka dyskretna

Metody uporządkowania

TEORETYCZNE PODSTAWY INFORMATYKI

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

AiSD zadanie trzecie

7. Teoria drzew - spinanie i przeszukiwanie

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Kolorowanie płaszczyzny, prostych i okręgów

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B.

Porządek symetryczny: right(x)

Teoria grafów - Teoria rewersali - Teoria śladów

2. FUNKCJE. jeden i tylko jeden element y ze zbioru, to takie przyporządkowanie nazwiemy FUNKCJĄ, lub

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Matematyka Dyskretna - zadania

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Kody blokowe Wykład 5a;

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Ilustracja S1 S2. S3 ściana zewnętrzna

Akademickie Mistrzostwa Polski w Programowaniu Zespołowym

Transkrypt:

Kolorowanie wierzchołków grafu Niech G będzie grafem prostym. Przez k-kolorowanie właściwe wierzchołków grafu G rozumiemy takie przyporządkowanie wierzchołkom grafu liczb naturalnych ze zbioru {1,..., k} (kolorów), że sąsiednie wierzchołki otrzymują różne liczby (kolory). Najmniejszą liczbę k dla której graf G ma k-kolorowanie właściwe nazywamy liczba chromatyczna grafu, ozn. χ(g). Przykład: Optymalne (za pomocą minimalnej liczby kolorów) kolorowania grafów C 5, W 6 i K 5.

Kolorowanie wierzchołków grafu Uwaga. Problem wyznaczania liczby chromatycznej grafu jest w ogólności problemem NP-trudnym. Zatem, w praktyce użyteczne są oszacowania. Kliką grafu G nazywamy jego podgraf pełny. Liczba klikowa grafu, ozn. ω(g), to rząd (liczba wierzchołków) największej kliki grafu. Lemat Prawdziwe jest następujace oszacowanie dolne: χ(g) ω(g).

Kolorowanie wierzchołków grafu Uwaga. Problem wyznaczania liczby chromatycznej grafu jest w ogólności problemem NP-trudnym. Zatem, w praktyce użyteczne są oszacowania. Kliką grafu G nazywamy jego podgraf pełny. Liczba klikowa grafu, ozn. ω(g), to rząd (liczba wierzchołków) największej kliki grafu. Lemat Prawdziwe jest następujace oszacowanie dolne: χ(g) ω(g). Uwaga. Oszacowanie to ma dwie wady: parametr ω(g) jest trudny do wyznaczenia; ze związku n 2 ω(g) otrzymujemy oszacowanie mniej dokładne, lecz n 2 2m łatwe do obliczenia. różnica pomiędzy χ(g) a ω(g) może być dowolnie duża, przykładem są grafy Mycielskiego.

Oszacowania liczby chromatycznej Twierdzenie (Brooks, 1941) Niech G będzie grafem spójnym, który nie jest grafem pełnym ani cyklem długości nieparzystej. Wówczas χ(g) (G). Jeżeli G jest grafem pełnym lub cyklem nieparzystym, to χ(g) = (G) + 1. Uwaga. Oszacowanie χ(g) (G) może być bardzo niedokładne, zwłaszcza dla gwiazd, dla których χ(k 1,n ) = 2, a (K 1,n ) = n.

Oszacowania liczby chromatycznej Twierdzenie Dla grafu G o m krawędziach zachodzi χ(g) 2m + 1, χ(g) λ + 1, gdzie λ oznacza długość (liczbę krawędzi) najdłuższej drogi w grafie. Uwaga. Pierwsze oszacowanie może być bardzo niedokładne np. dla grafów pełnych dwudzielnych K n,n, których liczba krawędzi m = n 2, natomiast liczba chromatyczna jest równa 2; zatem różnica 2m + 1 χ(kn,n ) = 2n 2 + 1 χ(k n,n ) = 2n + 1 2 = 2n 1 może być dowolnie duża. Uwaga. Drugie z oszacowań jest niedokładne dla dróg P n, których liczba chromatyczna wynosi 2, natomiast λ jest równa n 1.

Algorytmy przybliżone Niech A będzie pewnym algorytmem kolorowania wierzchołków grafu. Przez A(G) oznaczmy liczbę kolorów, których algorytm A używa podczas kolorowania grafu G. Następujące parametry są uwzględniane podczas opisu algorytmu A: złożoność obliczeniowa; funkcja dobroci zdefiniowana jako A(n) = max{a(g)/χ(g) : graf G ma n wierzchołków}; najgorszą możliwą funkcją dobroci jest A(n) = n, najlepszą natomiast A(n) = 1; najmniejszy dość trudny graf najmniejszy (w sensie rzędu) graf G, dla którego algorytm może użyć więcej kolorów, niż χ(g); najmniejszy trudny graf najmniejszy (w sensie rzędu) graf G, dla którego algorytm musi użyć więcej kolorów, niż χ(g).

Algorytm sekwencyjny Sekwencyjnym algorytmem kolorowania grafu G nazywamy algorytm działający w dwóch następujących krokach: 1. ustal pewną kolejność kolorowania wierzchołków grafu G; 2. koloruj wierzchołki zachłannie zgodnie z przyjętym porządkiem. Dla grafu G i ustalonej kolejności wierzchołków K = (v 1,..., v n ) kolorowaniem zachłannym nazywamy następującą procedurę przydzielania kolorów: Algorytm KolorujZachłannie(G,K); begin for v:=v 1 to v n do przydziel wierzchołkowi v pierwszy wolny kolor; end;

Metoda RS Metoda RS, nazywana inaczej naiwną, jest metodą sekwencyjną, w której nie ma etapu porządkowania wierzchołków (wierzchołki są porządkowane w sposób losowy). Algorytm KolorujRS(G); begin K:=losowa sekwencja wierzchołków grafu G; KolorujZachłannie(G,K); end; Własności algorytmu RS: algorytm statyczny; złożoność: O(m + n); funkcja dobroci RS(n) = O(n); najmniejszy dość trudny graf: droga P 4 ; nie istnieje graf trudny.

Metoda RS Metoda RS, nazywana inaczej naiwną, jest metodą sekwencyjną, w której nie ma etapu porządkowania wierzchołków (wierzchołki są porządkowane w sposób losowy). Algorytm KolorujRS(G); begin K:=losowa sekwencja wierzchołków grafu G; KolorujZachłannie(G,K); end; Własności algorytmu RS: algorytm statyczny; złożoność: O(m + n); funkcja dobroci RS(n) = O(n); najmniejszy dość trudny graf: droga P 4 ; nie istnieje graf trudny. 1 4 3 2

Metoda RS Metoda RS, nazywana inaczej naiwną, jest metodą sekwencyjną, w której nie ma etapu porządkowania wierzchołków (wierzchołki są porządkowane w sposób losowy). Algorytm KolorujRS(G); begin K:=losowa sekwencja wierzchołków grafu G; KolorujZachłannie(G,K); end; Własności algorytmu RS: algorytm statyczny; złożoność: O(m + n); funkcja dobroci RS(n) = O(n); najmniejszy dość trudny graf: droga P 4 ; nie istnieje graf trudny. 1 4 3 2

Metoda RS Metoda RS, nazywana inaczej naiwną, jest metodą sekwencyjną, w której nie ma etapu porządkowania wierzchołków (wierzchołki są porządkowane w sposób losowy). Algorytm KolorujRS(G); begin K:=losowa sekwencja wierzchołków grafu G; KolorujZachłannie(G,K); end; Własności algorytmu RS: algorytm statyczny; złożoność: O(m + n); funkcja dobroci RS(n) = O(n); najmniejszy dość trudny graf: droga P 4 ; nie istnieje graf trudny. 1 4 3 2

Metoda RS Metoda RS, nazywana inaczej naiwną, jest metodą sekwencyjną, w której nie ma etapu porządkowania wierzchołków (wierzchołki są porządkowane w sposób losowy). Algorytm KolorujRS(G); begin K:=losowa sekwencja wierzchołków grafu G; KolorujZachłannie(G,K); end; Własności algorytmu RS: algorytm statyczny; złożoność: O(m + n); funkcja dobroci RS(n) = O(n); najmniejszy dość trudny graf: droga P 4 ; nie istnieje graf trudny. 1 4 3 2

Metoda RS Metoda RS, nazywana inaczej naiwną, jest metodą sekwencyjną, w której nie ma etapu porządkowania wierzchołków (wierzchołki są porządkowane w sposób losowy). Algorytm KolorujRS(G); begin K:=losowa sekwencja wierzchołków grafu G; KolorujZachłannie(G,K); end; Własności algorytmu RS: algorytm statyczny; złożoność: O(m + n); funkcja dobroci RS(n) = O(n); najmniejszy dość trudny graf: droga P 4 ; nie istnieje graf trudny. 1 4 3 2

Metoda RS Metoda RS, nazywana inaczej naiwną, jest metodą sekwencyjną, w której nie ma etapu porządkowania wierzchołków (wierzchołki są porządkowane w sposób losowy). Algorytm KolorujRS(G); begin K:=losowa sekwencja wierzchołków grafu G; KolorujZachłannie(G,K); end; Własności algorytmu RS: algorytm statyczny; złożoność: O(m + n); funkcja dobroci RS(n) = O(n); najmniejszy dość trudny graf: droga P 4 ; nie istnieje graf trudny. 1 4 3 2 χ(p 4 ) = 2, RS(P 4 ) = 3

Metoda LF (Largest First) Metoda LF (Largest First) (Welsha & Powell, 1967). Wynika ze spostrzeżenia, że dla wierzchołków o małym stopniu zwykle mamy pewną swobodę w wyborze koloru; zatem należy najpierw kolorować wierzchołki o dużym stopniu. Algorytm KolorujLF(G); begin K:=wierzchołki grafu G uporządkowane wg stopni nierosnąco; KolorujZachłannie(G,K); end; Własności algorytmu LF: algorytm statyczny (kolejność wierzchołków ustalona na początku nie zmienia się podczas realizacji algorytmu); złożoność: O(m + n);

Własności algorytmu LF (cd.) najmniejszy dość trudny graf: droga P 6 ; 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 ).

Własności algorytmu LF (cd.) najmniejszy dość trudny graf: droga P 6 ; 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 ). graf H 1 najmniejszy graf trudny.

Własności algorytmu LF (cd.) najmniejszy dość trudny graf: droga P 6 ; 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 ). v 7 graf H 1 najmniejszy graf trudny. (porządkujemy wierzchołki stopnia 4 i kolorujemy; wybór spośród wierzchołków stopnia 3 jest symetryczny - zawsze potrzebny jest czwarty kolor) v1 v6 v2 v3 v4 v5

Własności algorytmu LF (cd.) najmniejszy dość trudny graf: droga P 6 ; 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 ). v 7 graf H 1 najmniejszy graf trudny. (porządkujemy wierzchołki stopnia 4 i kolorujemy; wybór spośród wierzchołków stopnia 3 jest symetryczny - zawsze potrzebny jest czwarty kolor) v1 v6 v2 v3 v4 v5

Własności algorytmu LF (cd.) najmniejszy dość trudny graf: droga P 6 ; 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 ). v 7 graf H 1 najmniejszy graf trudny. (porządkujemy wierzchołki stopnia 4 i kolorujemy; wybór spośród wierzchołków stopnia 3 jest symetryczny - zawsze potrzebny jest czwarty kolor) v1 v6 v2 v3 v4 v5

Własności algorytmu LF (cd.) Funkcja dobroci LF(n) = O(n). Niech J k ozn. k-ty graf Johnsona, skonstruowany następująco: J k = K k,k M, gdzie M = {{u i, v i } : u i V 1, v i V 2 }, V(K k,k ) = (V 1, V 2 ). u 1 u 2 u 3 u 4 v 1 v 2 v 3 graf J oraz kolorowanie algorytmem LF 4 v 4 Grafy Johnsona są dwudzielne, więc χ(j k ) = 2, natomiast dla permutacji wierzchołków (u 1, v 1, u 2, v 2,..., u k, v k ) algorytm LF użyje k kolorów, stąd LF(J k ) χ(j k ) = n/2 2 = n 4.

Metoda SL (Smallest Last) Metoda SL (Smallest Last) (Matula, Marble & Isaacson, 1972). Podobnie jak LF, opiera się na obserwacji, że korzystnie jest kolorować wierzchołki o małym stopniu jako ostatnie. Algorytm SL składa się z dwóch etapów: faza redukcji grafu: znajdujemy wierzchołek o minimalnym stopniu i usuwamy go z grafu (powtarzamy dopóki graf nie jest pusty). kolorujemy wierzchołki zachłannie w kolejności ustalonej w poprzednim kroku, zaczynając od wierzchołków usuwanych najpóźniej.

Metoda SL (Smallest Last) Algorytm KolorujSL(G); begin K:= ; while V \ K do dopisz do K wierzchołek v o najmniejszym stopniu w podgrafie indukowanym przez V \ K; KolorujZachłannie(G,K); K ozn. odwrócenie kolejności K end; Własności algorytmu SL: algorytm statyczny; złożoność: O(m + n); funkcja dobroci SL(n) = O(n); algorytm optymalnie koloruje: drzewa, cykle, grafy jednocykliczne, koła, grafy Mycielskiego, grafy Johnsona;

Własności algorytmu SL (cd.) najmniejszy dość trudny graf: pryzma P; 1 2 4 3 χ(p) = 3, SL(P) = 4 6 5

Własności algorytmu SL (cd.) najmniejszy dość trudny graf: pryzma P; 1 2 4 3 χ(p) = 3, SL(P) = 4 6 5 graf Pd (pryzmatoid) najmniejszy graf trudny. χ(pd) = 4, SL(Pd) = 5