Algorytmiczna teoria grafów
Transkrypt
Algorytmiczna teoria grafów
Algorytmiczna teoria grafów
dr Hanna Furma«czyk
6 kwietnia 2013
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie grafów - cd.
Denicja
Pokolorowanie grafu G = (V , E ) k kolorami jest to funkcja
c :→ {1, 2, . . . , k } taka, »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¡, χ(G ).
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie grafów - cd.
Denicja
Pokolorowanie grafu G = (V , E ) k kolorami jest to funkcja
c :→ {1, 2, . . . , k } taka, »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¡, χ(G ).
Problem k -kolorowania grafu
G
dr Hanna Furma«czyk
jest NP-trudnym dla
k
Algorytmiczna teoria grafów
≥ 3.
Kolorowanie grafów - cd.
Denicja
Pokolorowanie grafu G = (V , E ) k kolorami jest to funkcja
c :→ {1, 2, . . . , k } taka, »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¡, χ(G ).
Problem k -kolorowania grafu
G
jest NP-trudnym dla
k
≥ 3.
Wielomianowe algorytmy przybli»one, heurystyki, algorytmy
wykªadnicze.
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
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
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
dr Hanna Furma«czyk
brak koloru
Algorytmiczna teoria grafów
)
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
wªó» pierwszy wierzchoªek na stos
dr Hanna Furma«czyk
brak koloru
Algorytmiczna teoria grafów
)
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
wªó» pierwszy wierzchoªek na stos
dopóki stos nie jest pusty, wykonuj:
dr Hanna Furma«czyk
brak koloru
Algorytmiczna teoria grafów
)
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
wªó» pierwszy wierzchoªek na stos
dopóki stos nie jest pusty, wykonuj:
brak koloru
)
u - wierzchoªek na wierzchu stosu
próbujemy przypisa¢ u kolor (spo±ród {1, . . . , k }), który:
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
wªó» pierwszy wierzchoªek na stos
dopóki stos nie jest pusty, wykonuj:
brak koloru
)
u - wierzchoªek na wierzchu stosu
próbujemy przypisa¢ 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
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
wªó» pierwszy wierzchoªek na stos
dopóki stos nie jest pusty, wykonuj:
brak koloru
)
u - wierzchoªek na wierzchu stosu
próbujemy przypisa¢ 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:
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
wªó» pierwszy wierzchoªek na stos
dopóki stos nie jest pusty, wykonuj:
brak koloru
)
u - wierzchoªek na wierzchu stosu
próbujemy przypisa¢ 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
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
wªó» pierwszy wierzchoªek na stos
dopóki stos nie jest pusty, wykonuj:
brak koloru
)
u - wierzchoªek na wierzchu stosu
próbujemy przypisa¢ 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¢
c (u ) := 0
dr Hanna Furma«czyk
u , to zdejmujemy u ze stosu,
Algorytmiczna teoria grafów
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
wªó» pierwszy wierzchoªek na stos
dopóki stos nie jest pusty, wykonuj:
brak koloru
)
u - wierzchoªek na wierzchu stosu
próbujemy przypisa¢ 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¢
c (u ) := 0
u , to zdejmujemy u ze stosu,
je»eli stos jest pusty i nie znaleziono pokolorowania, to nie
istnieje pokolorowanie G k kolorami.
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Algorytm z nawrotami cd.
dla ka»dego v ∈ V : c (v ) := 0 (0 oznacza
wªó» pierwszy wierzchoªek na stos
dopóki stos nie jest pusty, wykonuj:
brak koloru
)
u - wierzchoªek na wierzchu stosu
próbujemy przypisa¢ 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¢
c (u ) := 0
u , to zdejmujemy u ze stosu,
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
Kolorowanie grafu dwoma kolorami
Algorytm
Dane wej±ciowe: spójny graf G = (V , E ).
Dane wyj±ciowe: 2-pokolorowanie G lub informacja, »e takie
pokolorowanie nie istnieje.
we¹ pierwszy wierzchoªek v , c (v ) := 1
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie grafu dwoma kolorami
Algorytm
Dane wej±ciowe: spójny graf G = (V , E ).
Dane wyj±ciowe: 2-pokolorowanie G lub informacja, »e takie
pokolorowanie nie istnieje.
we¹ pierwszy wierzchoªek v , c (v ) := 1
powtarzaj a» do skutku:
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie grafu dwoma kolorami
Algorytm
Dane wej±ciowe: spójny graf G = (V , E ).
Dane wyj±ciowe: 2-pokolorowanie G lub informacja, »e takie
pokolorowanie nie istnieje.
we¹ pierwszy 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
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie grafu dwoma kolorami
Algorytm
Dane wej±ciowe: spójny graf G = (V , E ).
Dane wyj±ciowe: 2-pokolorowanie G lub informacja, »e takie
pokolorowanie nie istnieje.
we¹ pierwszy 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
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie grafu dwoma kolorami
Algorytm
Dane wej±ciowe: spójny graf G = (V , E ).
Dane wyj±ciowe: 2-pokolorowanie G lub informacja, »e takie
pokolorowanie nie istnieje.
we¹ pierwszy 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
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
G
nie istnieje.
Kolorowanie grafu dwoma kolorami
Algorytm
Dane wej±ciowe: spójny graf G = (V , E ).
Dane wyj±ciowe: 2-pokolorowanie G lub informacja, »e takie
pokolorowanie nie istnieje.
we¹ pierwszy 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
Przykªad
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
G
nie istnieje.
Twierdzenie
χ(G ) = 2 wtedy i tylko wtedy, gdy
dwudzielnym (spójnym lub nie).
dr Hanna Furma«czyk
G
jest niepustym grafem
Algorytmiczna teoria grafów
Twierdzenie
χ(G ) = 2 wtedy i tylko wtedy, gdy
dwudzielnym (spójnym lub nie).
G
jest niepustym grafem
Obserwacja
χ(G ) = 1 wtedy i tylko wtedy, gdy
»adnej kraw¦dzi).
G
jest grafem pustym (bez
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Twierdzenie
χ(G ) = 2 wtedy i tylko wtedy, gdy
dwudzielnym (spójnym lub nie).
G
jest niepustym grafem
Obserwacja
χ(G ) = 1 wtedy i tylko wtedy, gdy
»adnej kraw¦dzi).
G
jest grafem pustym (bez
Kiedy χ(G ) = 3?
Problem trudny. Znane s¡ niektóre klasy grafów 3-chromatycznych
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Twierdzenie
χ(G ) = 2 wtedy i tylko wtedy, gdy
dwudzielnym (spójnym lub nie).
G
jest niepustym grafem
Obserwacja
χ(G ) = 1 wtedy i tylko wtedy, gdy
»adnej kraw¦dzi).
G
jest grafem pustym (bez
Kiedy χ(G ) = 3?
Problem trudny. Znane s¡ niektóre klasy grafów 3-chromatycznych
np. nieparzyste cykle, graf Petersena, koªa W , gdzie n jest
parzyste, ...
n
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie kraw¦dzi
Denicja
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
0
indeksem chromatycznym grafu G , χ (G ).
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie kraw¦dzi
Denicja
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
0
indeksem chromatycznym grafu G , χ (G ).
χ0 (G ) ≥ ∆(G ); ∆(G ) - stopie« grafu, najwi¦kszy stopie«
wierzchoªka
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie kraw¦dzi
Denicja
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
0
indeksem chromatycznym grafu G , χ (G ).
χ0 (G ) ≥ ∆(G ); ∆(G ) - stopie« grafu, najwi¦kszy stopie«
wierzchoªka
Twierdzenie Vizinga, 1964
∆(G ) ≤ χ0 (G ) ≤ ∆(G ) + 1
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Twierdzenie
Obliczenie indeksu chromatycznego (w przypadku ogólnym) jest
probleme NP-trudnym.
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Twierdzenie
Obliczenie indeksu chromatycznego (w przypadku ogólnym) jest
probleme NP-trudnym.
Denicja
Graf G nazywamy klasy 1, je»eli χ0 (G ) = ∆(G ). Analogicznie, graf
0
G nazywamy klasy 2, je»eli χ (G ) = ∆(G ) + 1.
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Twierdzenie
Obliczenie indeksu chromatycznego (w przypadku ogólnym) jest
probleme NP-trudnym.
Denicja
Graf G nazywamy klasy 1, je»eli χ0 (G ) = ∆(G ). Analogicznie, graf
0
G nazywamy klasy 2, je»eli χ (G ) = ∆(G ) + 1.
Przykªady grafów klasy 1
grafu dwudzielne, peªne K2 , koªa
k
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Twierdzenie
Obliczenie indeksu chromatycznego (w przypadku ogólnym) jest
probleme NP-trudnym.
Denicja
Graf G nazywamy klasy 1, je»eli χ0 (G ) = ∆(G ). Analogicznie, graf
0
G nazywamy klasy 2, je»eli χ (G ) = ∆(G ) + 1.
Przykªady grafów klasy 1
grafu dwudzielne, peªne K2 , koªa
k
Przykªady grafów klasy 2
znacznie mniej ni» grafów klasy 1;
cykle nieparzyste, grafy peªne K2 +1
k
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Kolorowanie kraw¦dzi vs kolorowanie wierzchoªków
Denicja
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 ).
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Twierdzenie
χ0 (G ) = χ(L(G ))
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Twierdzenie
χ0 (G ) = χ(L(G ))
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Pytanie
Czy dany graf jest grafem kraw¦dziowym jakiego± grafu, oraz czy
ka»dy graf jest grafem kraw¦dziowym jakiego± grafu?
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
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
Nieklasyczne modele kolorowania grafów
Kolorowanie sprawiedliwe; Meyer 1973
Je»eli wierzchoªki grafu G mo»na podzieli¢ na k takich zbiorów
niezale»nych V1 , . . . , V takich »e ||V | − |V || ≤ 1 dla wszystkich
i , j = 1, . . . , k , to mówimy, »e G jest sprawiedliwie k -kolorowalny.
Najmniejsza liczba k , dla której graf G jest sprawiedliwie
k -kolorowalny jest sprawiedliw¡ liczb¡ chromatyczn¡ grafu i
oznaczamy j¡ symbolem χ= (G ).
Analogicznie deniujemy sprawiedliwy indeks chromatyczny, χ0= (G ).
k
dr Hanna Furma«czyk
i
j
Algorytmiczna teoria grafów
Przykªad
s2
2s
1s
4s
s3
s3
@
@
@
3
A
A
A
As
s
1s
2
Rysunek : Sprawiedliwe pokolorowanie koªa
dr Hanna Furma«czyk
@
@s
4
W6 i grafu peªnego K4 .
Algorytmiczna teoria grafów
Przykªad
s2
2s
1s
4s
s3
s3
@
@
@
3
A
A
A
As
s
1s
2
Rysunek : Sprawiedliwe pokolorowanie koªa
4
W6 i grafu peªnego K4 .
χ= (G ) ≥ χ(G )
dr Hanna Furma«czyk
@
@s
Algorytmiczna teoria grafów
Przykªad
s2
2s
1s
4s
s3
s3
@
@
@
3
A
A
A
As
s
1s
2
Rysunek : Sprawiedliwe pokolorowanie koªa
4
W6 i grafu peªnego K4 .
χ= (G ) ≥ χ(G )
Ró»nica χ= (G ) − χ(G ) mo»e byc dowolnie du»a, np.
dr Hanna Furma«czyk
@
@s
Algorytmiczna teoria grafów
Przykªad
s2
2s
1s
4s
s3
s3
@
@
@
3
A
A
A
As
s
1s
2
Rysunek : Sprawiedliwe pokolorowanie koªa
@
@s
4
W6 i grafu peªnego K4 .
χ= (G ) ≥ χ(G )
Ró»nica χ= (G ) − χ(G ) mo»e byc dowolnie du»a, np. dla gwiazd.
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Tw. Hajnal-Szemeredi, 1970
χ= (G ) ≤ ∆(G ) + 1
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Tw. Hajnal-Szemeredi, 1970
χ= (G ) ≤ ∆(G ) + 1
Hipoteza ECC
Dla ka»dego spójnego grafu G ró»nego od grafu peªnego i
nieparzystego cyklu zachodzi: χ= (G ) ≤ ∆(G ).
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Nieklasyczne modele kolorowania grafów
Kolorowanie ograniczone
Graf G ma p -ograniczone k -kolorowanie, je»eli zbiór jego
wierzchoªków (kraw¦dzi) mo»na pokolorowa¢ k kolorami w taki
sposób, »e ka»dy kolor jest u»yty nie wi¦cej ni» p razy.
χ (G ), χ0 (G )
p
p
Przykªad
dr Hanna Furma«czyk
Algorytmiczna teoria grafów
Nieklasyczne modele kolorowania grafów
Kolorowanie zwarte - tylko kraw¦dzie!
Slajdy Dereniowski: 274-275.
dr Hanna Furma«czyk
Algorytmiczna teoria grafów