• Nie Znaleziono Wyników

Algorytmiczna teoria grafów Klasyczne kolorowanie wierzchołków i krawędzi grafu dr Hanna Furmańczyk 19 grudnia 2020

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmiczna teoria grafów Klasyczne kolorowanie wierzchołków i krawędzi grafu dr Hanna Furmańczyk 19 grudnia 2020"

Copied!
49
0
0

Pełen tekst

(1)

Algorytmiczna teoria grafów

Klasyczne kolorowanie wierzchołków i krawędzi grafu

dr Hanna Furmańczyk

19 grudnia 2020

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(2)

Kolorowanie wierzchołków

Definicja

Pokolorowaniem wierzchołków grafu G = (V , E ) k kolorami nazywamy funkcję c : V → {1, 2, . . . , k} taką, że c(u) 6= c(v ) dla każdej krawędzi {u, v } ∈ E . Najmniejsze takie k, dla którego instnieje k-pokolorowanie grafu G nazywamy liczbą chromatyczną oznaczamy przez χ(G ).

Przykład, zastosowania - tablica

(3)

Kolorowanie wierzchołków

Definicja

Pokolorowaniem wierzchołków grafu G = (V , E ) k kolorami nazywamy funkcję c : V → {1, 2, . . . , k} taką, że c(u) 6= c(v ) dla każdej krawędzi {u, v } ∈ E . Najmniejsze takie k, dla którego instnieje k-pokolorowanie grafu G nazywamy liczbą chromatyczną oznaczamy przez χ(G ).

Przykład, zastosowania - tablica

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(4)

Kolorowanie wierzchołków

Twierdzenie

Problem k-kolorowania grafu G jest NP-trudnym dla k ≥ 3.

redukcja z problemu 3-SAT

Wielomianowe algorytmy przybliżone, heurystyki, algorytmy wykładnicze.

(5)

Kolorowanie wierzchołków

Twierdzenie

Problem k-kolorowania grafu G jest NP-trudnym dla k ≥ 3.

redukcja z problemu 3-SAT

Wielomianowe algorytmy przybliżone, heurystyki, algorytmy wykładnicze.

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(6)

Kolorowanie wierzchołków

Twierdzenie

Problem k-kolorowania grafu G jest NP-trudnym dla k ≥ 3.

redukcja z problemu 3-SAT

Wielomianowe algorytmy przybliżone, heurystyki, algorytmy wykładnicze.

(7)

Algorytm 2-kolorowania grafu (wielomianowy) Dane wejściowe: spójny graf G = (V , E ).

Dane wyjściowe: 2-pokolorowanie G lub informacja, że takie pokolorowanie nie istnieje.

weź dowolny wierzchołek v , c(v ) := 1

powtarzaj aż do skutku:

weź wszystkie niepokolorowane wierzchołki sąsiednie do wierzchołków kolorowanych w poprzedniej iteracji

jeżeli wśród nich żadne dwa nie są połączone krawędzią, to pokoloruj je kolorem innym niż w poprzedniej iteracji

w przeciwnym przypadku, 2-pokolorowanie grafu G nie istnieje.

Przykład

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(8)

Algorytm 2-kolorowania grafu (wielomianowy) Dane wejściowe: spójny graf G = (V , E ).

Dane wyjściowe: 2-pokolorowanie G lub informacja, że takie pokolorowanie nie istnieje.

weź dowolny wierzchołek v , c(v ) := 1 powtarzaj aż do skutku:

weź wszystkie niepokolorowane wierzchołki sąsiednie do wierzchołków kolorowanych w poprzedniej iteracji

jeżeli wśród nich żadne dwa nie są połączone krawędzią, to pokoloruj je kolorem innym niż w poprzedniej iteracji

w przeciwnym przypadku, 2-pokolorowanie grafu G nie istnieje. Przykład

(9)

Algorytm 2-kolorowania grafu (wielomianowy) Dane wejściowe: spójny graf G = (V , E ).

Dane wyjściowe: 2-pokolorowanie G lub informacja, że takie pokolorowanie nie istnieje.

weź dowolny wierzchołek v , c(v ) := 1 powtarzaj aż do skutku:

weź wszystkie niepokolorowane wierzchołki sąsiednie do wierzchołków kolorowanych w poprzedniej iteracji

jeżeli wśród nich żadne dwa nie są połączone krawędzią, to pokoloruj je kolorem innym niż w poprzedniej iteracji

w przeciwnym przypadku, 2-pokolorowanie grafu G nie istnieje. Przykład

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(10)

Algorytm 2-kolorowania grafu (wielomianowy) Dane wejściowe: spójny graf G = (V , E ).

Dane wyjściowe: 2-pokolorowanie G lub informacja, że takie pokolorowanie nie istnieje.

weź dowolny wierzchołek v , c(v ) := 1 powtarzaj aż do skutku:

weź wszystkie niepokolorowane wierzchołki sąsiednie do wierzchołków kolorowanych w poprzedniej iteracji

jeżeli wśród nich żadne dwa nie są połączone krawędzią, to pokoloruj je kolorem innym niż w poprzedniej iteracji

w przeciwnym przypadku, 2-pokolorowanie grafu G nie istnieje. Przykład

(11)

Algorytm 2-kolorowania grafu (wielomianowy) Dane wejściowe: spójny graf G = (V , E ).

Dane wyjściowe: 2-pokolorowanie G lub informacja, że takie pokolorowanie nie istnieje.

weź dowolny wierzchołek v , c(v ) := 1 powtarzaj aż do skutku:

weź wszystkie niepokolorowane wierzchołki sąsiednie do wierzchołków kolorowanych w poprzedniej iteracji

jeżeli wśród nich żadne dwa nie są połączone krawędzią, to pokoloruj je kolorem innym niż w poprzedniej iteracji

w przeciwnym przypadku, 2-pokolorowanie grafu G nie istnieje.

Przykład

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(12)

Algorytm 2-kolorowania grafu (wielomianowy) Dane wejściowe: spójny graf G = (V , E ).

Dane wyjściowe: 2-pokolorowanie G lub informacja, że takie pokolorowanie nie istnieje.

weź dowolny wierzchołek v , c(v ) := 1 powtarzaj aż do skutku:

weź wszystkie niepokolorowane wierzchołki sąsiednie do wierzchołków kolorowanych w poprzedniej iteracji

jeżeli wśród nich żadne dwa nie są połączone krawędzią, to pokoloruj je kolorem innym niż w poprzedniej iteracji

w przeciwnym przypadku, 2-pokolorowanie grafu G nie istnieje.

Przykład

(13)

Twierdzenie

χ(G ) = 2 wtedy i tylko wtedy, gdy G jest niepustym grafem dwudzielnym (spójnym lub nie).

Obserwacja

χ(G ) = 1 wtedy i tylko wtedy, gdy G jest grafem pustym (bez żadnej krawędzi).

Kiedy χ(G ) = 3?

Problem trudny. Znane są niektóre klasy grafów 3-chromatycznych

np. nieparzyste cykle, graf Petersena, koła Wn, gdzie n jest parzyste, ...

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(14)

Twierdzenie

χ(G ) = 2 wtedy i tylko wtedy, gdy G jest niepustym grafem dwudzielnym (spójnym lub nie).

Obserwacja

χ(G ) = 1 wtedy i tylko wtedy, gdy G jest grafem pustym (bez żadnej krawędzi).

Kiedy χ(G ) = 3?

Problem trudny. Znane są niektóre klasy grafów 3-chromatycznych

np. nieparzyste cykle, graf Petersena, koła Wn, gdzie n jest parzyste, ...

(15)

Twierdzenie

χ(G ) = 2 wtedy i tylko wtedy, gdy G jest niepustym grafem dwudzielnym (spójnym lub nie).

Obserwacja

χ(G ) = 1 wtedy i tylko wtedy, gdy G jest grafem pustym (bez żadnej krawędzi).

Kiedy χ(G ) = 3?

Problem trudny. Znane są niektóre klasy grafów 3-chromatycznych

np. nieparzyste cykle, graf Petersena, koła Wn, gdzie n jest parzyste, ...

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(16)

Twierdzenie

χ(G ) = 2 wtedy i tylko wtedy, gdy G jest niepustym grafem dwudzielnym (spójnym lub nie).

Obserwacja

χ(G ) = 1 wtedy i tylko wtedy, gdy G jest grafem pustym (bez żadnej krawędzi).

Kiedy χ(G ) = 3?

Problem trudny. Znane są niektóre klasy grafów 3-chromatycznych np. nieparzyste cykle, graf Petersena, koła Wn, gdzie n jest parzyste, ...

(17)

Algorytm z nawrotami - złożoność wykładnicza Dane wejściowe: graf G = (V , E ), liczba nat. k.

Dane wyjściowe: pokolorowanie wierzchołków G k kolorami lub informacja, że takie pokolorowanie nie istnieje.

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(18)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru)

włóż pierwszy wierzchołek na stos dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu

jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos

jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

(19)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru) włóż pierwszy wierzchołek na stos

dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu

jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos

jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(20)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru) włóż pierwszy wierzchołek na stos

dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu

jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos

jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

(21)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru) włóż pierwszy wierzchołek na stos

dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos

jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(22)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru) włóż pierwszy wierzchołek na stos

dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu

jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos

jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

(23)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru) włóż pierwszy wierzchołek na stos

dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(24)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru) włóż pierwszy wierzchołek na stos

dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos

jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

(25)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru) włóż pierwszy wierzchołek na stos

dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(26)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru) włóż pierwszy wierzchołek na stos

dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

(27)

Algorytm z nawrotami cd.

dla każdego v ∈ V : c(v ) := 0 (0 oznacza brak koloru) włóż pierwszy wierzchołek na stos

dopóki stos nie jest pusty, wykonuj:

u - wierzchołek na wierzchu stosu

próbujemy przypisać do u kolor (spośród {1, . . . , k}), który:

jest większy od obecnego koloru c(u) nie koliduje z kolorami wierzchołków ze stosu jeżeli uda się pokolorować, to:

sprawdzamy, czy pokolorowano już wszystkie wierzchołki jeżeli ’tak’, to ’koniec’

jeżeli ’nie’, to wkładamy kolejny wierzchołek na stos jeżeli nie uda się pokolorować u, to zdejmujemy u ze stosu, c(u) := 0

jeżeli stos jest pusty i nie znaleziono pokolorowania, to nie istnieje pokolorowanie G k kolorami.

Przykład

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(28)

Heurystyki

slajdy - prof. Dereniowski pp.8-17

(29)

Oszacowania χ(G )

1 ≤ χ(G ) ≤ n

Definicja

Kliką w grafie G = (V , E ) nazywamy taki podzbiór V0⊆ V , że u, v ∈ V0 → {u, v }inE . Pojęcie kliki utożsamia się często z

podgrafem opartym na takim podzbiorze wierzchołków. Klikę V0 w grafie G nz maksymalną, jeżeli nie istnieje żadna klika V00 taka, że V0 ⊂ V00. Liczbą klikową ω(G ) nz rozmiar największej

maksymalnej kliki w G .

ω(G ) ≤ χ(G )

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(30)

Oszacowania χ(G )

1 ≤ χ(G ) ≤ n

Definicja

Kliką w grafie G = (V , E ) nazywamy taki podzbiór V0⊆ V , że u, v ∈ V0 → {u, v }inE . Pojęcie kliki utożsamia się często z

podgrafem opartym na takim podzbiorze wierzchołków. Klikę V0 w grafie G nz maksymalną, jeżeli nie istnieje żadna klika V00 taka, że V0 ⊂ V00. Liczbą klikową ω(G ) nz rozmiar największej

maksymalnej kliki w G .

ω(G ) ≤ χ(G )

(31)

Oszacowania χ(G )

1 ≤ χ(G ) ≤ n

Definicja

Kliką w grafie G = (V , E ) nazywamy taki podzbiór V0⊆ V , że u, v ∈ V0 → {u, v }inE . Pojęcie kliki utożsamia się często z

podgrafem opartym na takim podzbiorze wierzchołków. Klikę V0 w grafie G nz maksymalną, jeżeli nie istnieje żadna klika V00 taka, że V0 ⊂ V00. Liczbą klikową ω(G ) nz rozmiar największej

maksymalnej kliki w G .

ω(G ) ≤ χ(G )

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(32)

Oszacowania χ(G )

ω(G ) ≤ χ(G )

oszacowanie niedokładne - różnica χ(G ) − ω(G ) może być dowolnie duża - grafy Mycielskiego

wyznaczenie ω(G ) - problem NP-trudny

(33)

Grafy Mycielskiego

Definicja

Niech G bdzie grafem o n wierzchołkach: v0, v1, . . . , vn−1. Grafem Mycielskiego µ(G ) zawiera graf G jako izomorficzny podgraf oraz n + 1 dodatkowych wierzchołków: ui odpowiadające wierzchołkom vi oraz wierzchoek w . Każdy wierzchołek ui jest połączony krawędzią z wierzchołkiem w tak, że tworzą one razem podgraf Kn+1 (gwiazda). Dodatkowo, dla każdej krawędzi vivj w ramach konstrukcji dodawane są krawędzie uivj oraz viuj. Dla grafu G o n wierzchołkach i m krawędziach powstaje graf µ(G ) o 2n + 1 wierzchołkach i 3m + n krawędziach.

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(34)

Grafy Mycielskiego - przykład

ω(C5) = ω(µ(C5)) = 2

χ(C5) = 3 i χ(µ(C5)) = 4 - graf Grötzscha

(35)

Oszacowania χ(G )

Twierdzenie

Każdy graf G jest (∆(G ) + 1)-kolorowalny, tzn. χ(G ) ≤ ∆(G ) + 1.

Dowód patrz tablica

Twierdzenie

[Brooks 1941] G - graf z ∆(G ) ≥ 3, G 6= C2k+1, Kn χ(G ) ≤ ∆(G )

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(36)

Oszacowania χ(G )

Twierdzenie

Każdy graf G jest (∆(G ) + 1)-kolorowalny, tzn. χ(G ) ≤ ∆(G ) + 1.

Dowód patrz tablica

Twierdzenie

[Brooks 1941] G - graf z ∆(G ) ≥ 3, G 6= C2k+1, Kn χ(G ) ≤ ∆(G )

(37)

Kolorowanie krawędzi

Definicja

Mówimy, że graf G jest k-barwny krawędziowo, jeżeli jego

krawędzie można pokolorować k kolorami w taki sposób, że żadne dwie krawędzie sąsiednie nie mają tego samego koloru. Najmniejsze k, dla którego istnieje k-pokolorowanie krawędzi grafu G nazywamy indeksem chromatycznymgrafu G , χ0(G ).

χ0(G ) ≥ ∆(G )

Twierdzenie Vizinga, 1964

∆(G ) ≤ χ0(G ) ≤ ∆(G ) + 1

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(38)

Kolorowanie krawędzi

Definicja

Mówimy, że graf G jest k-barwny krawędziowo, jeżeli jego

krawędzie można pokolorować k kolorami w taki sposób, że żadne dwie krawędzie sąsiednie nie mają tego samego koloru. Najmniejsze k, dla którego istnieje k-pokolorowanie krawędzi grafu G nazywamy indeksem chromatycznymgrafu G , χ0(G ).

χ0(G ) ≥ ∆(G )

Twierdzenie Vizinga, 1964

∆(G ) ≤ χ0(G ) ≤ ∆(G ) + 1

(39)

Kolorowanie krawędzi

Definicja

Mówimy, że graf G jest k-barwny krawędziowo, jeżeli jego

krawędzie można pokolorować k kolorami w taki sposób, że żadne dwie krawędzie sąsiednie nie mają tego samego koloru. Najmniejsze k, dla którego istnieje k-pokolorowanie krawędzi grafu G nazywamy indeksem chromatycznymgrafu G , χ0(G ).

χ0(G ) ≥ ∆(G )

Twierdzenie Vizinga, 1964

∆(G ) ≤ χ0(G ) ≤ ∆(G ) + 1

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(40)

Twierdzenie

Obliczenie indeksu chromatycznego (w przypadku ogólnym) jest probleme NP-trudnym.

Definicja

Graf G nazywamyklasy 1, jeżeli χ0(G ) = ∆(G ). Analogicznie, graf G nazywamyklasy 2, jeżeli χ0(G ) = ∆(G ) + 1.

Przykłady grafów klasy 1

grafu dwudzielne, pełne K2k, koła

Przykłady grafów klasy 2

znacznie mniej niż grafów klasy 1; cykle nieparzyste, grafy pełne K2k+1

(41)

Twierdzenie

Obliczenie indeksu chromatycznego (w przypadku ogólnym) jest probleme NP-trudnym.

Definicja

Graf G nazywamyklasy 1, jeżeli χ0(G ) = ∆(G ). Analogicznie, graf G nazywamyklasy 2, jeżeli χ0(G ) = ∆(G ) + 1.

Przykłady grafów klasy 1

grafu dwudzielne, pełne K2k, koła

Przykłady grafów klasy 2

znacznie mniej niż grafów klasy 1; cykle nieparzyste, grafy pełne K2k+1

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(42)

Twierdzenie

Obliczenie indeksu chromatycznego (w przypadku ogólnym) jest probleme NP-trudnym.

Definicja

Graf G nazywamyklasy 1, jeżeli χ0(G ) = ∆(G ). Analogicznie, graf G nazywamyklasy 2, jeżeli χ0(G ) = ∆(G ) + 1.

Przykłady grafów klasy 1

grafu dwudzielne, pełne K2k, koła

Przykłady grafów klasy 2

znacznie mniej niż grafów klasy 1; cykle nieparzyste, grafy pełne K2k+1

(43)

Twierdzenie

Obliczenie indeksu chromatycznego (w przypadku ogólnym) jest probleme NP-trudnym.

Definicja

Graf G nazywamyklasy 1, jeżeli χ0(G ) = ∆(G ). Analogicznie, graf G nazywamyklasy 2, jeżeli χ0(G ) = ∆(G ) + 1.

Przykłady grafów klasy 1

grafu dwudzielne, pełne K2k, koła

Przykłady grafów klasy 2

znacznie mniej niż grafów klasy 1;

cykle nieparzyste, grafy pełne K2k+1

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(44)

Kolorowanie krawędzi vs kolorowanie wierzchołków

Definicja

Graf krawędziowy (ang. line graph) grafu G to taki graf L(G ), którego zbiorem wierzchołków jest zbiór krawędzi grafu G :

V (L(G )) = E (G ), natomiast zbiorem krawędzi E (L(G )) jest zbiór par elementów zbioru E (G ).

(45)

Twierdzenie

χ0(G ) = χ(L(G ))

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(46)

Twierdzenie

χ0(G ) = χ(L(G ))

(47)

Pytanie

Czy dany graf jest grafem krawędziowym jakiegoś grafu, oraz czy każdy graf jest grafem krawędziowym jakiegoś grafu?

Twierdzenie, Beineke 1968

Graf jest grafem krawędziowym jakiegoś grafu wtedy i tylko wtedy, gdy nie zawiera żadnego z dziewięciu wymienionych grafów:

dr Hanna Furmańczyk Algorytmiczna teoria grafów

(48)

Pytanie

Czy dany graf jest grafem krawędziowym jakiegoś grafu, oraz czy każdy graf jest grafem krawędziowym jakiegoś grafu?

Twierdzenie, Beineke 1968

Graf jest grafem krawędziowym jakiegoś grafu wtedy i tylko wtedy, gdy nie zawiera żadnego z dziewięciu wymienionych grafów:

(49)

Heurystyki - kolorowanie krawędzi

slajdy prof. Dereniowskiego - str. 22-25

dr Hanna Furmańczyk Algorytmiczna teoria grafów

Cytaty

Powiązane dokumenty

Ka»da dziewczyna chce wyj±¢ za m¡», przy czym ka»da z nich godzi si¦ po±lubi¢ tylko pewnych chªopców spo±ród wszystkich.. Chªopcy natomiast nie maj¡ nic

Mówimy, że G jest eulerowski, jeśli istnieje łańcuch zamknięty zawierający każdą krawędź multigrafu; taki łańcuch nazywamy cyklem Eulera.. Analogicznie, mówimy, że G

wtedy, kiedy nie można wskazać ścieżki powiększającej, a nie mamy jeszcze przelewu maksymalnego.. Niezbędny jest systematyczny sposób generowania ścieżek powiększających -

Dwa grafy są homeomorficzne jeśli mogą być otrzymane z tego samego grafu poprzez umieszczenie nowych wierzchołków stopnia dwa na jego krawędziach (krawędź zastępowana

Kolor brakuj cy dla wierzchołka v grafu G to kolor, który nie został przydzielony adnej kraw dzi incydentnej do v. M(v) oznacza zbiór wszystkich kolorów brakuj cych

(b) wszystkie wierzchołki dwudziestościanu foremnego leżą w pewnych trzech równo- ległych płaszczyznach.. (c) wszystkie wierzchołki dwunastościanu foremnego leżą w pewnych

(Zadanie Rafała Sroki) Dwudziestościan foremny można rozciąć na dwadzieścia jed- nakowych czworościanów (wierzchołkami każdego czworościanu są: środek dwudzie- stościanu i

Trudniej jest porównać dwa ułamki zwykłe od dwóch liczb naturalnych, na które wystarczy, że zerkniemy okiem, a już potrafimy wskazać większą z nich.. W przypadku dwóch