• Nie Znaleziono Wyników

3 Kolorowanie krawędziowe grafów dwudzielnych

N/A
N/A
Protected

Academic year: 2021

Share "3 Kolorowanie krawędziowe grafów dwudzielnych"

Copied!
4
0
0

Pełen tekst

(1)

Algorytmy i Struktury Danych, 12. ćwiczenia

2010-12-21

1 Plan

• definicja kolorowania krawędziowego,

• twiedzenie Vizinga,

• kolorowanie krawędziowe dla grafów dwudzielnych ∆ = 2k,

• ogólny algorytm dla kolorowania krawędziowego O(E∆ log ∆),

• matching w czasie O(E∆),

• 4–kolorowanie grafów kubicznych,

• algortym Noga Alona

2 Twierdzenie Vizinga

Twierdzenie 1 Jest G jest grafem prostym, to:

χ0(G) ≤ ∆ + 1

0(G) minimalna liczba kolorów potrzebna do pokolorowania krawędziowego grafu G)

Następujący algorytm koloruje krawędziowo graf G:

1: G0← {pusty graf}

2: for all i ∈ 1, . . . , m do

3: Gi← Gi−1∪ {ei}

4: rozszerz kolorowanie Gi−1 do Gi 5: end for

Podać definicje wachlarza, dowód przez indukcję.

qued

1

(2)

3 Kolorowanie krawędziowe grafów dwudzielnych

Niech G regularny graf dwudzielny o stopniu wierzchołków 2k.

• podziel graf G na G1 i G2, tak że G1, G2 są stopnia 2k−1 — oblicz cykl Eulera, G1 otrzymuje krawędzie parzyste, G2nieparzyste.

• pokoloruj graf G1kolorami 1, . . . , 2k−1, pokoloruj graf G2kolorami 2k−1+ 1, . . . , 2k.

Czas: T (m) = m + 2 ∗ T (m/2), czyli T (m) = m log m.

Algorytm dla dowolnych grafów dwudzielnych

Jeśli graf nie jest regularny, to można, dodając nowe krawędzie i ewentualnie wierzchołki przerobić go na regularny.

Algorithm 1 Edge-Coloring(G,[a,. . . ,b])

1: if 4(G) = 1 then

2: for all e ∈ E(G) do

3: color[e] ← a

4: end for

5: else if 4(G) jest parzysta then

6: (G1, G2) ← Euler-Split(G)

7: Edge-Coloring(G1, [a, . . . , b(a + b)/2c])

8: Edge-Coloring(G2, [b(a + b)/2c + 1, . . . , b])

9: else

10: M ← Matching(G)

11: for all e ∈ E(M ) do

12: color[e] ← a

13: end for

14: Edge-Coloring(G − M, [a + 1, . . . , b]);

15: end if

Algorytm ma złożoność O(M (V, E)+E) log 4), gdzie M (V, E) to czas potrzebny na obliczenie skojarzenia.

Znajdowanie skojarzenie w czasie O(E4)

Każdej krawędzi przyznajemy wagę w(e), początkowo wszystkie wagi są równe 1. W kolejnych krokach prawdziwe będą następujące niezmienniki:

• dla każdej krawędzi e, 0 ≤ w(e) ≤ 4

• dla każdego wierzchołka v,P

u∈adj(v)w((v, u)) = 4.

Algorytm kończy działanie, gdy dla każdej krawędzi w(e) ∈ {0, 4}.

Do analizy złożoności potrzebna jest funkcja potencjału:

Φ =X

e∈E

w(e)2

Dodatkowo wiemy, że Φ0= n4/2, a Φkoniec = n42/2 = m4.

Po znalezieniu cyklu C = S ∪ T , potencjał zmienia się o:

2

(3)

X

e∈S

((w(e)+1)2−w(e)2)+X

e∈T

((w(e)−1)2−w(e)2) = |S|+|T |+2(w(S)−w(T )) ≥ |C|

Algorithm 2 Matching(G)

1: P ← ∅

2: M ← ∅

3: (C, P ) ← DFS-Cycle(G, P )

4: while C 6= ∅ do

5: (S, T ) ← Euler-Split(C)

6: if w(E[S]) ≥ w(E[T ]) then

7: (N, H) ← Redistribute-Weights(S, T, 1)

8: else

9: (N, H) ← Redistribute-Weights(T, S, 1)

10: end if

11: M ← M ∪ N

12: G ← G − (H ∪ N )

13: (C, P ) ← DFS-Cycle(G, P )

14: end while

15: return M

Algorytm Noga Alon’a

Lemat 1 Niech H 2r–regularny graf dwudzielny. Graf H można podzielić na dwa grafy dwudzielne H1, H2, które są r–regularne. Można to zrobić w czasie O(|E|).

Wystarczy dla każdej krawędzi e ∈ E z m(e) ≥ 2, przenieść po bm(e)/2c kopii krawędzi do H1 i H2. To co zostanie w H tworzy spójne składowe w których można obliczyć cykle Eulera, z każdego cyklu połowę krawędzi przeno- simy do H1, połowę do H2. Złożoność algorytmu jest liniowa względem liczby rozróżnialnych krawędzi.

Lemat 2 W dwudzielnym grafie regularnym G, doskonałe skojarzenie można obliczyć w czasie O(m log m).

Niech 2tbędzie najmniejszą potęgą 2 spełniającą 2t≥ m (m = kn/2). Niech α = b2t/kc, β = 2t− kα (czyli α = 2t div m, β = 2tmod m). Niech M będzie dowolnym doskonałym skojarzeniem w G (M nie musi zawierać krawędzi z G).

Niech H będzie grafem otrzymanym z G przez zamienienie każdej krawędzi z G przez α kopii, i dodanie β kopii krawędzi z M . Tak skonstruowany graf H jest 2t–regularny. Niech H1, H2 rozbicie H na grafy 2t−1–regularne. Jeden z tych grafów zawiera mniej złych krawędzi (takich które powstały z M ), dokładniej zawiera co najwyżej nβ/4 < nk/4 złych krawędzi. Po t krokach znajdziemy skojarzenie w H, które nie zawiera żadnych złych krawędzi. Całkowity czas działania algorytmu to O(mt) = O(m log m).

Kolorowanie w czasie O(E log E)

Niech T (n, k) czas potrzebny na pokolorowanie k–regularnego grafu dwu- dzielnego o n wierzchołkach.

3

(4)

• Jeśli k jest parzyste, to w czasie O(nk) można podzielić graf G na dwa krawędziowo rozłączne grafy k/2 regularne — H1, H2. Następnie koloru- jemy H1w czasie T (n, k/2). Mając dane pokolorowanie H1, na podstawie H2 konstruujemy graf H3 — początkowo H3 := H1, do H3 dodajemy krawędzie z H1 o kolejnych kolorach, tak by otrzymać graf 2r–regularny, k/2 ≤ 2r< k. Graf H3można pokolorować w czasie O(nk log k). Czyli:

T (n, k) ≤ O(nk log k) + T (n, k/2)

• Dla nieparzystego k, znajdujemy skojarzenie w czasie O(nk log(nk)), a potem postępujemy tak jak w poprzednim kroku. Czyli:

T (n, k) ≤ O(nk log(nk)) + T (n, (k − 1)/2)

• dla k = 1, mamy T (n, 1) = O(n), co daje w sumie:

T (n, k) = O(nk log(nk)) = O(E log E)

4 Algorytm 4–kolorowania grafów kubicznych

San Skulrattanakulchai: 4-edge-coloring graphs of maximum degree 3 in linear time. Inf. Process. Lett. 81(4): 191-195 (2002).

Twierdzenie 2 Niech G będzie grafem o maksymalnym stopniu równym 3.

Graf G można rozłożyć na dwa krawędziowo rozłączne podgrafy C i F , gdzie C jest zbiorem rozłącznych wierzchołkowo cykli, a F lasem o maksymalnym stopniu nie wiekszym niż 3.

Algorytm:

• pokoloruj zachłannie las F ,

• dla każdego cyklu Ci, pokoloruj Citak by było zgodne z kolorowaniem F . Definicje:

• wierzchołek jest k–brudny, jeśli sąsiaduje z krawędzią o kolorze k,

• jeśli wierzchołek nie sąsiaduje z krawędziami z F , to mówimy, że jest czysty.

4

Cytaty

Powiązane dokumenty

załącznik numer 2- podziel wyrazy na sylaby (zamaluj tyle kwadratów ile dany wyraz ma

Na wybranych obrazach z katalogów \dor06_07\Obrazy\Natur, (np. mapa.bmp) przeprowadzić operacje detekcji krawędzi i porównać pary obrazów: pierwotny-wynikowy z

Jak wcze´sniej wspomnieli´smy, drzewa spinaj ¾ ace otrzymane w wyniku dzia÷ ania algorytmu Drzewo mo· zna traktowa´c jako uporz ¾ adkowane drzewa z wyró· znionym korzeniem.. Porz

Dla pozostałych wierzchołków, wartości f (v) obliczamy dla kolejnych węzłów drzewa (idąc poziomami od korzenia w dół) korzytając z następującego algorytmu:.. • za

Literatura stroni od prostych reprezentacji cierpienia i straty: doświad- czenie dzieli od wyobrażenia droga okrężna i niebezpośrednia, co znajduje potwierdzenie także w

Uporządkowane kolorow anie wierzchołków grafów

Analizując historię państw afrykańskich w okresie po uzyskaniu niepodległości zasadnym jest postawienie sobie pytania, czy winni są tylko niewłaściwi ludzie, czy może

Pojawiają się nowe do- wody naukowe, udaje się negocjować z firmami ko- rzystniejsze ceny leków, wreszcie rada naukowa przy AOTM bierze pod uwagę fakt, że niekiedy nowe