Algorytmika Problemów Trudnych
Wykªad 8 Tomasz Krawczyk
krawczyk@tcs.uj.edu.pl
Kraków, semestr letni 2020/21
plan wykªadu
Szeroko±¢ drzewowa.
I adna dekompozycja drzewowa.
I Programowanie dynamiczne po dekompozycji drzewowej.
I Twierdzenie Courcelle'a.
I Zastosowania w grafach planarnych (technika Bakera).
Minory grafów.
I Poj¦cie minora.
I Twierdzenie Robertsona-Seymoura i jego algorytmiczne konsekwencje.
I Twierdzenie o Gridzie i jego algorytmiczne konsekwencje.
Dekompozycja i szeroko±¢ drzewowa
Denicja
Dekompozycj¡ drzewow¡ grafu G nazywamy par¦
T = ( T , {X
t: t ∈ V (T )}), gdzie T jest drzewem, { X
t: t ∈ V (T )} jest zbiorem zbiorów wierzchoªków V (G), która speªnia nast¦puj¡ce warunki:
I dla ka»dej kraw¦dzi {u, v} w G istnieje t ∈ V (T ) taki, »e {u, v} ⊂ X
t,
I dla ka»dego wierzchoªka zbiór
{ t ∈ V (T ) : v ∈ X
t} jest poddrzewem (drzewem spójnym) w drzewie T .
Szeroko±ci¡ drzewow¡ dekompozycji drzewowej T jest
liczba max
t∈V (T )| X
t| − 1, oznaczana przez tw(T ) .
Rysunek: Wikipedia.
Dekompozycja i szeroko±¢ drzewowa
Notacja:
I zbiory {X
t} nazywamy w¦zªami dekompozycji drzewowej T ,
I je»eli {u, v} ∈ E(G) oraz {u, v} ⊂ X
t, to mówimy, »e kraw¦d¹ {u, v} jest realizowana w w¦¹le X
t,
I dla v ∈ V (G), zbiór {t ∈ T : v ∈ X
t} nazywamy poddrzewem wierzchoªka v .
Rysunek: Wikipedia.
Szeroko±¢ drzewowa
Denicja
Szeroko±¢ drzewowa grafu G, oznaczana przez tw(G), jest deniowana jako
tw(G) = min{tw(T ) : T jest dekompozycj¡ drzewow¡ G}.
adna Dekompozycja Drzewowa
Denicja
Dekompozycj¦ drzewow¡ T = (T , {X
t: t ∈ T }) grafu G nazwiemy ªadn¡
dekompozycj¡ drzewow¡ (ang. nice tree decomposition) je»eli T jest drzewem ukorzenionym oraz ka»dy w¦zeª t ∈ T :
I albo ma dwóch snów t
0i t
00i wtedy X
t= X
t0= X
t00(w¦zeª taki nazywamy w¦zªem ª¡cz¡cym),
I albo ma jednego syna t
0i wtedy rozmiar X
toraz X
t0ró»ni¡ si¦ o 1 oraz
I
je»eli X
t= X
t0∪ { v} to wtedy t jest w¦zeª t jest w¦zªem wprowadzaj¡cym v.
I
je»eli X
t= X
t0\ { v} to w¦zeª t jest w¦zªem zapominaj¡cym v.
I albo jest li±ciem i wtedy X
tjest zbiorem jednoelementowym.
adna Dekompozycja Drzewowa
Twierdzenie
Ka»dy n-wierzchoªkowy graf o szeroko±ci drzewowej k posiada
ªadn¡ dekompozycj¦ drzewow¡ skªadaj¡c¡ si¦ z O(kn) w¦zªów.
Programowanie dynamiczne po szeroko±ci drzewowej
Programowanie Dynamiczne po szeroko±ci drzewowej:
I przegl¡damy (ªadn¡) dekompozycj¦ drzewow¡ grafu G od li±ci do korzenia, I w ka»dym w¦¹le t algorytm przetrzymuje pewne informacje o grae G
t, gdzie G
tto graf indukowany na G przez zbiór wierzchoªków V
t= [
{ X
s: s jest potomkiem t w T } ∪ X
t. I informacje dla w¦zªa t pozyskujemy przegl¡daj¡c dzieci w¦zªa t,
I rozwi¡zanie odczytujemy z w¦zªa b¦d¡cego korzeniem dekompozycji drzewowej.
Dla przykªadu, problem 3-Kolorowania oraz Zbioru Niezale»nego o Maksymalnej Wadze mo»na rozwi¡za¢ w czasie 2
O(k)n w n-wierzchoªkowych grafach o szeroko±ci drzewowej 6 k (¢wiczenia).
Oznacza to, »e problemy te w grafach planarnych mo»na rozwi¡za¢ w czasie 2
O(√n)n.
adna dekompozycja drzewowa wraz z w¦zªami wprowadzj¡cymi kraw¦dzie G
I Czasami wygodniej jest wprowadzi¢ do ªadnej dekompozycji G dodatkowe w¦zªy wprowadzaj¡ce ka»d¡ kraw¦d¹ G, jeden w¦zeª dla ka»dej kraw¦dzi G.
I Dokªadnie, dla ka»dej kraw¦dzi e = uv grafu G, tu» przed pierwszym w¦zªem zapominaj¡cym u b¡d¹ v, istnieje dokªadnie jeden w¦zeª X
ewprowadzaj¡cy kraw¦d¹ e.
I Tak zdeniowana ªadna dekompozycja ma równie» O(kn) w¦zªów.
Graf G
tdenujemy wówczas jako graf okre±lony na zbiorze wierzchoªków V
tzawieraj¡cy wszystkie kraw¦dzie wprowadzone w w¦zªach potomnych t wraz z t.
Wprowadzenie w¦zªów wprowadzaj¡cych kraw¦dzie czasami upraszcza pisanie
algorytmów dymamicznych po dekompozycjach drzewowych.
Dynamika po dekompozycji drzewowej: Maksymalny zbiór niezale»ny
Wej±cie: Graf G i ªadna dekompozycja drzewowa (T , {X
t: t ∈ T }) grafu G o szerokosci k.
Wyj±cie: Rozmiar najliczniejszego zbioru niezale»nego w grae G.
Dla ka»dego w¦zªa t ∈ T i dla ka»dego zbioru A ⊂ X
talgorytm oblicza warto±¢ c(t, A) zdeniowan¡ nast¦puj¡co:
c(t, A) =
rozmiar maksymalnego zbioru niezale»nego S w G
ttakiego, »e X
t∩ S = A, gdy A niezale»ny,
−∞ gdy A nie jest zbiorem niezale»nym.
Dla ka»dego w¦zªa t potrzebujemy tablicy o pojemno±ci 2
k+1do zapami¦tania warto±ci c(t, A).
Wynik w korzeniu!
Dynamika po dekompozycji drzewowej: Maksymalny zbiór niezale»ny
Wej±cie: Graf G i ªadna dekompozycja drzewowa (T , {X
t: t ∈ T }) grafu G o szerokosci k.
Wyj±cie: Rozmiar najliczniejszego zbioru niezale»nego w grae G.
Dla ka»dego w¦zªa t ∈ T i dla ka»dego zbioru A ⊂ X
talgorytm oblicza warto±¢
c(t, A) zdeniowan¡ nast¦puj¡co:
c(t, A) =
rozmiar maksymalnego zbioru niezale»nego S w G
ttakiego, »e X
t∩ S = A, gdy A niezale»ny,
−∞ gdy A nie jest zbiorem niezale»nym.
Dla ka»dego w¦zªa t potrzebujemy tablicy o pojemno±ci 2
k+1do zapami¦tania warto±ci c(t, A).
Wynik w korzeniu!
Dynamika po dekompozycji drzewowej: Maksymalny zbiór niezale»ny
Wej±cie: Graf G i ªadna dekompozycja drzewowa (T , {X
t: t ∈ T }) grafu G o szerokosci k.
Wyj±cie: Rozmiar najliczniejszego zbioru niezale»nego w grae G.
Dla ka»dego w¦zªa t ∈ T i dla ka»dego zbioru A ⊂ X
talgorytm oblicza warto±¢
c(t, A) zdeniowan¡ nast¦puj¡co:
c(t, A) =
rozmiar maksymalnego zbioru niezale»nego S w G
ttakiego, »e X
t∩ S = A, gdy A niezale»ny,
−∞ gdy A nie jest zbiorem niezale»nym.
Dla ka»dego w¦zªa t potrzebujemy tablicy o pojemno±ci 2
k+1do zapami¦tania warto±ci c(t, A).
Wynik w korzeniu!
Dynamika po dekompozycji drzewowej: Maksymalny zbiór niezale»ny
Wej±cie: Graf G i ªadna dekompozycja drzewowa (T , {X
t: t ∈ T }) grafu G o szerokosci k.
Wyj±cie: Rozmiar najliczniejszego zbioru niezale»nego w grae G.
Dla ka»dego w¦zªa t ∈ T i dla ka»dego zbioru A ⊂ X
talgorytm oblicza warto±¢
c(t, A) zdeniowan¡ nast¦puj¡co:
c(t, A) =
rozmiar maksymalnego zbioru niezale»nego S w G
ttakiego, »e X
t∩ S = A, gdy A niezale»ny,
−∞ gdy A nie jest zbiorem niezale»nym.
Dla ka»dego w¦zªa t potrzebujemy tablicy o pojemno±ci 2
k+1do zapami¦tania warto±ci c(t, A).
Wynik w korzeniu!
Dynamika po dekompozycji drzewowej: Maksymalny zbiór niezale»ny
I t - w¦zeª ª¡cz¡cy w¦zªy t
1, t
2(X
t= X
t1= X
t2):
c(t, A) = c(t
1, A) + c(t
2, A) − |A|.
I t - w¦zeª wprowadzaj¡cy wierzchoªek v, z synem t
1(X
t= X
t1∪ {v}):
c(t, A) =
c(t
1, A \ {v}) + 1 je»eli v ∈ A i A niezale»ny,
−∞ je»eli v ∈ A i A zale»ny, c(t
1, A) je»eli v /∈ A.
I t - w¦zeª zapominaj¡cy wierzchoªek v, z synem t
1(X
t= X
t1\ {v}):
c(t, A) = max{c(t
1, A), c(t
1, A ∪ {v})}.
Dynamika po dekompozycji drzewowej: Maksymalny zbiór niezale»ny
I t - w¦zeª ª¡cz¡cy w¦zªy t
1, t
2(X
t= X
t1= X
t2):
c(t, A) = c(t
1, A) + c(t
2, A) − |A|.
I t - w¦zeª wprowadzaj¡cy wierzchoªek v, z synem t
1(X
t= X
t1∪ {v}):
c(t, A) =
c(t
1, A \ {v}) + 1 je»eli v ∈ A i A niezale»ny,
−∞ je»eli v ∈ A i A zale»ny, c(t
1, A) je»eli v /∈ A.
I t - w¦zeª zapominaj¡cy wierzchoªek v, z synem t
1(X
t= X
t1\ {v}):
c(t, A) = max{c(t
1, A), c(t
1, A ∪ {v})}.
Dynamika po dekompozycji drzewowej: Maksymalny zbiór niezale»ny
I t - w¦zeª ª¡cz¡cy w¦zªy t
1, t
2(X
t= X
t1= X
t2):
c(t, A) = c(t
1, A) + c(t
2, A) − |A|.
I t - w¦zeª wprowadzaj¡cy wierzchoªek v, z synem t
1(X
t= X
t1∪ {v}):
c(t, A) =
c(t
1, A \ {v}) + 1 je»eli v ∈ A i A niezale»ny,
−∞ je»eli v ∈ A i A zale»ny, c(t
1, A) je»eli v /∈ A.
I t - w¦zeª zapominaj¡cy wierzchoªek v, z synem t
1(X
t= X
t1\ {v}):
c(t, A) = max{c(t
1, A), c(t
1, A ∪ {v})}.
Dynamika po dekompozycji drzewowej: Maksymalny zbiór niezale»ny
Wej±cie: Graf planarny G o n wierzchoªkach.
Wyj±cie: Maksymalny zbiór niezale»ny w G.
I Problem Maksymalnego Zbioru Niezale»nego w klasie grafów planarnych jest NPC.
I Szeroko±¢ drzewowa grafów planarnych jest rz¦du O( √ n).
I W czasie O(n
2log n) mo»na skonstruowa¢ ªadn¡ dekompozycj¦ drzewow¡
grafu G o szeroko±ci O( √ n).
I W czasie 2
O(√n)mo»na znale¹¢ maksymalny zbiór niezale»ny w G.
Maksymalny zbiór niezale»ny w grafach planarnych - aproksymacja
Problem Maksymalnego Zbioru Niezale»nego w grafach planarnych posiada wielomianowy schemat aproksymacji (PTAS, ang. polynomial-time approximation scheme):
Dla ka»dego ustalonego > 0 istnieje wielomianowy od n algorytm (zale»ny
by¢ mo»e wykªadniczo od
1, ale traktujemy jako staª¡) znajduj¡cy zbiór
niezale»ny rozmiaru (1 − ) × rozmiar maksymalnego zbioru niezale»nego.
Grafy k-zewn¦trznie planarne - technika Baker'a
Niech G b¦dzie grafem planarnym narysowanym w sposób planarny (kraw¦dzie grafu nie przecinaj¡ si¦ poza zbiorem wierzchoªków) na pªaszczy¹nie.
Pierwsz¡ warstw¡ grafu planarnego G nazywamy wierzchoªki przylegªe do ±ciany zewn¦trznej grafu G.
Drug¡ warstw¡ G nazywamy pierwsz¡ warstw¦ grafu planarnego powstaªego poprzez usuni¦cie wierzchoªków z warstwy pierwszej.
Ogólnie, i-t¡ warstw¡ grafu G nazywamy pierwsz¡ warstw¦ grafu planarnego powstaªego z G przez usuni¦cie wierzchoªków z warstw od 1 do i − 1.
Lemat
Szeroko±¢ drzewowa ka»dych k kolejnych warstw grafu planarnego jest ograniczona
przez 3k + 1.
Zbiór niezale»ny w grafach planarnych - aproksymacja
I Ustalmy =
15.
I Niech G
idla i ∈ [5] b¦dzie grafem planarnym powstaªym z G poprzez usuni¦cie co piatej warstwy pocz¡wszy od warstwy i-tej.
I Graf G
ima szeroko±¢ drzewow¡ 6 3 ∗ 5 + 1 = 16.
I Dekompozycj¦ drzewow¡ G
io szeroko±ci 16 mo»na znale¹¢ w czasie wielomianowym od n. W czasie wielomianowym od n mo»na znale¹¢
maksymalny zbiór niezale»ny w G
i.
I Niech I b¦dzie maksymalnym zbiorem niezale»nym w G.
I Istnieje i ∈ [5] takie, »e I ma co najwy»ej (1 −
15) wierzchoªków w G \ G
i. I Istnieje i ∈ [5] takie, »e maksymalny zbiór niezale»ny w G
ima rozmiar co
najmniej (1 −
15)|I |.
Monadic Second Order MSO 2
Rozpatrzmy formuª¦ logiczn¡ Φ, której prawdziwo±¢ sprawdzamy w grae (V , E):
∃C ⊆ E :
∀u ∈ V ∃v, w ∈ V : {v 6= w ∧ (u, v) ∈ C ∧ (u, w) ∈ C∧
∧(∀x ∈ V : (u, x) ∈ C ⇒ x = v ∨ x = w)}.
Powy»sza formuªa jest prawdziwa w grafach (V , E), które mo»na pokry¢
wierzchoªkowo rozª¡cznymi cyklami.
Monadic Second Order MSO 2
Rozpatrzmy formuª¦ logiczn¡ Φ, której prawdziwo±¢ sprawdzamy w grae (V , E):
∃C ⊆ E :
∀u ∈ V ∃v, w ∈ V : {v 6= w ∧ (u, v) ∈ C ∧ (u, w) ∈ C∧
∧(∀x ∈ V : (u, x) ∈ C ⇒ x = v ∨ x = w)}.
Powy»sza formuªa jest prawdziwa w grafach (V , E), które mo»na pokry¢
wierzchoªkowo rozª¡cznymi cyklami.
Monadic Second Order MSO 2
Rozpatrzmy formuª¦ logiczn¡ Ψ ewaluowan¡ w grae (V , E):
∀ U ⊆ V : {(U 6= V ∧ ∃u ∈ U) ⇒
∃v, w ∈ V : (v, w) ∈ E ∧ v ∈ U ∧ w /∈ U}.
Powy»sza formuªa jest prawdziwa tylko i wyª¡cznie w grafach spójnych (V , E).
Monadic Second Order MSO 2
Rozpatrzmy formuª¦ logiczn¡ Ψ ewaluowan¡ w grae (V , E):
∀ U ⊆ V : {(U 6= V ∧ ∃u ∈ U) ⇒
∃v, w ∈ V : (v, w) ∈ E ∧ v ∈ U ∧ w /∈ U}.
Powy»sza formuªa jest prawdziwa tylko i wyª¡cznie w grafach spójnych (V , E).
Monadic Second Order MSO 2
Wykazali±my, »e wªasno±ci grafowe:
I wierzchoªkowa pokrywalno±¢ rozª¡cznymi cyklami, I spójno±¢,
s¡ wyra»alne w j¦zyku monadycznej logiki drugiego rz¦du (ang. Monadic Second Order Logic), w skrócie MSO
2.
J¦zyk monadycznej logiki drugiego rz¦du MSO
2pozwala:
I stosowa¢ spójniki logiczne: ¬, ∧, ∨, ⇒, ⇔, ...
I u»ywania zmiennych dla wierzchoªków, kraw¦dzi, podzbiorów wierzchoªków, i podzbiorów kraw¦dzi,
I u»ywanie predykatów: ∈, =,
I u»ycia kwantykatorów ∀, ∃ w odniesieniu do elementów ze zbioru V oraz E (oraz ich podzbiorów) jak równie» w odniesieniu do podzbiorów zbioru V czy te»
zbioru E.
We wcze±niejszych przykªadach, V oraz E s¡ zmiennymi wolnymi (nie zwi¡zanymi
kwantykatorami) formuª Φ i Ψ.
Monadic Second Order
Formuªa logiczna α wyra»ona w j¦zyku MSO
2ze zmiennymi wolnymi V , E, D
∀ v ∈ V : (v ∈ D ∨ ∃w ∈ D : (v, w) ∈ E)
wyra»a wªano±¢, »e D jest zbiorem dominuj¡cym w grae (V , E).
Twierdzenie Courcelle'a
Speªnialno±¢ formuª MSO
2:
Wej±cie: Formuªa Φ w j¦zyku MSO
2ze zmiennymi wolnymi (V , E), graf (V , E) wraz z dekompozycj¡ drzewow¡ rozmiaru t.
Wyj±cie: TAK wtedy i tylko wtedy gdy graf (V , E) speªnia φ.
Twierdzenie (Courcelle, 1990)
Istnieje algorytm rozwi¡zuj¡cy Problem speªnialno±ci formuª MSO
2dziaªaj¡cy w
czasie f (|φ|, t)n, gdzie f jest pewn¡ funkcj¡ obliczaln¡.
Optymalizacyjna Wersja Twierdzenia Courcelle'a
Wej±cie: Formuªa Φ w j¦zyku MSO
2ze zmiennymi wolnymi V , E, X
1, . . . , X
k, gdzie X
1, . . . , X
kto podzbiory V lub E, funkcja liniowa α(x
1, . . . , x
k) , graf (V , E) wraz z dekompozycj¡ drzewow¡ rozmiaru t.
Wyj±cie: Zbiory X
1, . . . , X
kminimalizuj¡ce/maksymalizuj¡ce warto±¢ funkcji liniowej α(| X
1|, . . . , | X
k|) takie, »e V , E, X
1, . . . , X
kspeªniaj¡ formuª¦ Φ.
Twierdzenie
Istnieje algorytm dla powy»szego problemu dziaªaj¡cy w czasie f (|φ|, t)n, gdzie f jest pewn¡ funkcj¡ obliczaln¡.
Zbiór dominuj¡cy mo»emy rozwi¡za¢ w czasie f (staªa, √
n)n, niemniej jednak czas ten
(sªabe ograniczenie na f ) nie jest zadowalaj¡cy.
Minor - denicja
Niech G b¦dzie grafem. Na grae G deniujemy 3 operacje:
I usuni¦cie wierzchoªka v ∈ V (G): wynikiem tej operacji jest graf G = ( V (G) \ {v}, E | (V (G) \ {v}) × (V (G) \ {v}) ), I usuni¦cie kraw¦dzi e ∈ E(G): wynikiem tej operacji jest graf
G = ( V (G), E \ {e}),
I ±ci¡gni¦cie (kontrakcja) kraw¦dzi e = {u, v}: wynikiem tej operacji jest graf G
0ze zbiorem wierzchoªków (V \ {u, v}) ∪ {v
e}) oraz zbiorem kraw¦dzi
zdeniowanym nastepuj¡co:
I
v
ejest poª¡czony z w w G
0je»eli w ∈ V (G) \ {u, v} oraz w jest poª¡czone kraw¦dzi¡ z u lub v w G,
I