• Nie Znaleziono Wyników

Algorytmy i Struktury Danych, 13. ćwiczenia

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy i Struktury Danych, 13. ćwiczenia"

Copied!
3
0
0

Pełen tekst

(1)

Algorytmy i Struktury Danych, 13. ćwiczenia

2018-01-12

Spis treści

1 Rozwiązania zadań z kolokwium 2018-01-11 1

2 Naliczniejsze skojarzenia w drzewach 1

3 Pokrycie wierzcholkowe 2

4 Kolorowanie krawędziowe grafów dwudzielnych 2

1 Rozwiązania zadań z kolokwium 2018-01-11 2 Naliczniejsze skojarzenia w drzewach

Możemy obliczyć następujące tablice:

• OP T [v] – najlepsze rozwiązanie dla poddrzewa o korzeniu w v,

• OP T1[v] – najlepsze rozwiązanie dla poddrzewa o korzeniu w v, ale zakła- damy, że v i pewien z jego synów jest połączony krawędzią ze skojarzenia,

• OP T2[v] – najlepsze rozwiązanie dla podrzewa o korzeniu w v, ale zakła- damy, że v i żaden z jego synów nie jest połączony krawędzią ze skojarze- nia.

Algorithm 1: MaxMatching(v) for x ∈ child(v) do MaxMatching(x) sumOpt = 0

for x ∈ child(v) do sumOpt = sumOpt + OP T [x]

OP T2[v] = sumOpt; OP T1[v] = −∞

for x ∈ child(v) do

OP T1[v] = max(OP T1[v], sumOpt − OP T [x] + OP T2[x] + 1) OP T [v] = max(OP T1[v], OP T2[v])

1

(2)

3 Pokrycie wierzcholkowe

Pokrycie wierzchołkowe — minimalny pozbiór wierzchołków C ⊆ V , taki, że dla każdej krawędzi (x, y) ∈ E, x ∈ C lub y ∈ C.

Twierdzenie 1. (Konig, Egervary, 1931) Jeśli G graf dwudzielny, C minimalne pokrycie wierzchołkowe G, M maksymalne skojarzenie G, to |C| = |M |.

Dowód: (przez przepływy) Dodajemy do grafu s i t (s połączone z wierz- chołkami X, t połączone z wierzchołkami Y ), wszystkie krawędzie z/do s, t, mają przepustowość 1, oryginalne krawędzie grafowe mają przepustowość ∞.

|f | = |M |, a jako minimalne pokrycie bierzemy zbiór wierzchołków sąsiadujący z krawędziami cięcia.

Dowód: Niech M maksymalne skojarzenie, w takim razie |C| ≥ |M |. Należy jeszcze udowodnić, że |M | ≥ |C|.

Niech C minimalne pokrycie wierzchołkowe, można pokazać, że C ∩X można doskonale skojarzyć z Y −C (C ∩X i Y −C muszą spełniać twierdzenie Hall, ina- czej można pokazać, mniejsze minimalne pokrycie), oraz C ∩Y można doskonale skojarzyć z X − C, co w sumie daje skojarzenie o mocy |C|.

Twierdzenie 2. (Hall, 1935) Niech G graf dwudzielny (o zbiorach wierzchołków X i Y ). Pełne skojarzenie wierzchołków X istnieje wtw, |S| ≤ |N (S)| dla dowolnego S ⊆ X.

Jeśli graf ma skojarzenie doskonałe, to warunek jest spełniony.

Niech dla każdego S ⊆ X, |S| ≤ |N (S)|, oraz istnieje x0 ∈ X, który nie jest skojarzony. Niech Z bedzie zbiorem wierzchołków osiągalnych z x0 przez ścieżki alternujące. Ponieważ M jest najliczniejszym skojarzeniem, nie wśród nich ścieżek rozszerzających. Niech S = Z ∩ A, T = Z ∩ B. Każdy wierzchołek w T jest skojarzony z pewnym wierzchołkiem z S −{x0}, oraz każdy wierzchołek z S − {x0} jest skojarzony z pewnym wierzchołkiem z T . Więc |T | = |S| − 1, ale T = N (S), stąd |N (S)| = |S| − 1 — sprzeczność.

4 Kolorowanie krawędziowe grafów dwudzielnych

Lemat 1. Dla grafu dwudzielnego G = (X ∪ Y, E), niech 4(G) oznacza mak- symalny stopień wierzchołków. Do pokolorowania krawędziowego grafu G jest konieczne i wystarczające 4(G) kolorów.

Jeśli graf nie jest regularny, to należy dodać nowe krawędzie i ewentualnie wierz- chołki tak by przerobić go na regularny.

2

(3)

Algorithm 2: 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

3

Cytaty

Powiązane dokumenty

[r]

Jeśli graf nie jest regularny, to należy dodać nowe krawędzie i ewentualnie wierz- chołki tak by przerobić go na regularny.. Algorithm

Algorytmy i Struktury

Wstarczy tak długo jak drzewo zawiera węzeł z lewym synem, wykonujemy na nim (i lewym synie) prawą

• v należy do poddrzewa p.right, jednak zauważmy, że liczba kroków tego typu nie może przekroczyć O(log n). 3

[r]

[r]

Ponieważ M jest najliczniejszym skojarzeniem, nie wśród nich