laden

Werbung
Komplexitätstheorie
Teil E: Parametrisierte Komplexität
18: Weitere algorithmische Techniken
Version von: 11. Juni 2015 (17:58)
Sommersemester 2015 - Thomas Schwentick
Inhalt
18.1 Weitere Techniken für FPT-Algorithmen
✄ 18.1.1 Kleine Suchbäume
18.1.2 Baumzerlegungen
18.1.3 Andere Techniken
18.1.4 FPT und Approximation
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 1
Kleine Suchbäume: Einleitung
• Der Suchbaum-basierte O(2k n2 )-
Algorithmus für P-V ERTEX C OVER lässt sich
auf einfache Weise verbessern
• N (v) bezeichne die Menge der Nachbarn
eines Knoten v
• Grundidee:
– Ein Vertex-Cover muss jeweils v oder
(alle Knoten aus) N (v) enthalten
• Der Algorithmus verwaltet immer ein aktuell zu lösendes Problem (G,k,U ) (mit
G=(V,E)) und einer Menge U von
•
Knoten, die schon in das zu berechnende
Vertex-Cover aufgenommen sind
(U ∩ V =
Algorithmus 18.1
(0) Falls |V | ≤
blem direkt
3 oder k ≤ 1, löse das Pro-
(1) Falls möglich, wähle v vom Grad 1 und
mache weiter mit G − N (v)
(2) Falls möglich, wähle v vom Grad 2 mit verbundenen Nachbarn und mache weiter mit
G − N (v)
(3) Falls möglich, wähle v vom Grad 2 mit unverbundenen Nachbarn und verzweige zu
(a) G − N (N (v)) und
(b) G − N (v)
(4) Andernfalls wähle v vom Grad ≥ 3 und
∅)
verzweige zu
Notation: Für eine Menge N von Knoten
(a) G − {v} und (b) G − N (v)
bezeichnen wir mit G − N das Teilpro• Wenn als Parameter ein negativer Wert
blem (G − N,k − |N |,U ∪ N )
übergeben wird, liefert der Aufruf des Algorithmus die Antwort „nein“
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 2
Analyse von Algorithmus 18.1 (1/2)
Satz 18.2
Beweisskizze für (b)
1. Algorithmus 18.1 ist korrekt
2. Die Anzahl der Blätter im Suchbaum
von Algorithmus 18.1 bei Eingaben
mit Parameter k ist beschränkt durch
1,47k
Beweisskizze
• Die Korrektheit des Algorithmus kann
durch eine Fallunterscheidung gezeigt werden
– Begründung dafür, dass in (3a)
die Menge N (N (v)) gewählt
wird:
∗ Alternativ müsste v und ein
Nachbar x von v aufgenommen werden
∗ Das ist aber nicht besser als
N (v) aufzunehmen, was
durch (3b) schon erfasst ist
Kompl.-Theorie / Schwentick / SoSe 15
• Algorithmus 18.1 verzweigt
(1) zu einem Teilproblem mit Parameter k − 1,
(2) zu einem Teilproblem mit Parameter k − 2,
(3) zu einem Teilproblem mit Parameter k − 2
und einem mit Parameter ≤ k − 2, oder
(4) zu einem Teilproblem mit Parameter k − 1
und einem mit Parameter ≤ k − 3
• Mit T (k) bezeichnen wir die maximale Anzahl
der Blätter eines Verzweigungsbaumes für Eingaben der Art (G,k)
• Dann lässt sich in den vier Fällen die Anzahl der
Blätter also abschätzen durch
(1) T (k − 1)
(2) T (k − 2)
(3) T (k − 2) + T (k − 2)
(4) T (k − 1) + T (k − 3)
• Außerdem ist T (1) = 1
• Behauptung: T (k) ≤ 1,47k
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 3
Analyse von Algorithmus 18.1 (2/2)
Beweisskizze (Forts.)
• Klar: wenn in einer Berechnung des Algorithmus nur die Fälle (1) und (2) vorkommen, verzweigt er gar nicht
• Kommen nur die Fälle (1)-(3) vor, so ist die
Anzahl der Blätter höchstens
√ k
k/2
2
= ( 2)
• Wie gehen wir mit Fall (4) um?
• Das charakteristische Polynom
x3 − x2 − 1 zur Rekurrenz
T (k) ≤ T (k − 1)√+ T (k − 3) hat
eine Nullstelle α mit 2 ≤ α ≤ 1,47
• Es gilt also α3 = α2 + 1
• Wir zeigen jetzt durch Induktion nach k:
T (k) ≤ αk
• Induktionsanfang: T (1) = 1 ≤ α
Kompl.-Theorie / Schwentick / SoSe 15
Beweisskizze (Forts.)
• Sei k > 1
– Wenn der Algorithmus gemäß (1) oder
(2) verzweigt, ist die Anzahl der Blätter
≤ T (k − 1) ≤ αk−1 ≤ αk
– Wenn der Algorithmus gemäß (3) verzweigt, ist die Anzahl der Blätter
≤ 2T (k − 2) ≤ 2αk−2 ≤ αk
(wegen 2 ≤ α2 )
– Wenn der Algorithmus gemäß (4) verzweigt, ist die Anzahl der Blätter
≤ T (k − 1) + T (k − 3) ≤
αk−1 + αk−3 = αk
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 4
Analyse von rekursiven Algorithmen: allgemein
• Das allgemeine Vorgehen bei rekursiv verzweigenden Algorithmen ist wie folgt
– Wir nehmen zunächst an: T (1) = 1
– Wir betrachten jede Möglichkeit der Verzweigung des
Algorithmus unabhängig von den anderen:
∗ Angenommen, für den i-ten Fall lässt sich die Anzahl
der Blätter im Baum abschätzen durch
T (k − d1 ) + . . . + T (k − dl )
· (Verzweigungsvektor (d1 , . . . ,dl ))
∗ Wir definieren dazu das charakteristisches Polynom:
p(x) = xd − xd−d1 − . . . − xd−dl
(d: maximales di )
∗ Es ist immer p(1) ≤ 0 und limx→∞ p(x) = ∞
➨ p hat eine reelle Nullstelle αi mit 1 ≤ αi
∗ Sei α das Minimum aller αi > 1
∗ Dann lässt sich durch Induktion nach k zeigen, dass
T (k) ≤ αk ist
• Ist T (1) = c, so ergibt sich T (k) ≤ cαk
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 5
P-V ERTEX C OVER: Verfeinerter Algorithmus (1/2)
• Durch eine verfeinerte Fallunterscheidung lässt sich Algorithmus 18.1 weiter verbessern
• u1 ,u2 , . . . bezeichnen im Folgenden die Nachbarn von v
Nr.
(1)
(2)
(3)
d(v)
1
≥5
4, 3, 2
Verzweige zu ...
Vorbedingung
G − {u1 }
G−{v}, G−N (v)
G−{v}, G−N (v)
G regulär (alle Knoten haben
denselben Grad)
(4b)
2
2
G−{u1 ,u2 }
G−{v,w}
(4c)
2
(5a)
3
3
3
G−N (v),
G−(N (u1 ) ∪ N (u2 ))
G−N (v), G−N (u3 )
G−N (v), G−{v,w}
G−N (v), G−N (u1 ),
G−({u1 } ∪ N ({u2 ,u3 }))
(4a)
(5b)
(5c)
(u1 ,u2 ) ∈ E
u1 ,u2 haben Grad 2
und es gibt w 6= v ,
(w,u1 ),(w,u2 ) ∈ E
sonst
v,u1 ,u2 bilden Dreieck
v,u1 ,w,u2 ,v ist Kreis
keine Kanten zwischen
u1 ,u2 ,u3 , |N (u1 )|
• Falls G unzusammenhängend wird: weiter mit Komponenten
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
=4
. ✁✄
Folie 6
P-V ERTEX C OVER: Verfeinerter Algorithmus (2/2)
Satz 18.3
• Der beschriebene Algorithmus führt zu einem Suchbaum der Größe O(1,33k )
Beweisidee
• Korrektheit: durch Fallunterscheidung
• Die Verzweigungsvektoren und α-Werte sind wie folgt:
Nr.
Verzweigungsvektor
αi
(1)
(1)
1
(2)
(1,5)
≤ 1,33
(3)
(1,4), (1,3) oder (1,2) < 1,39, 1,47, 1,62
(4a)
(2)
1
(4b)
(2)
1
(4c)
(2,3)
< 1,33
(5a)
(3,3)
< 1,27
(5b)
(3,2)
< 1,33
(5c)
(3,4,6)
< 1,31
– Fall (3) kann insgesamt nur dreimal auf jedem vertikalen Pfad
des Suchbaumes, deshalb beeinflusst er α nicht
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 7
Inhalt
18.1 Weitere Techniken für FPT-Algorithmen
18.1.1 Kleine Suchbäume
✄ 18.1.2 Baumzerlegungen
18.1.3 Andere Techniken
18.1.4 FPT und Approximation
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 8
Baumzerlegungen (1/5)
• Allgemeine Erfahrung: Viele Probleme, die auf allgemeinen Graphen schwierig sind, lassen sich auf Bäumen
effizient lösen
• Beispiele:
– Graph-Färbung, C LIQUE
– V ERTEX C OVER, D OMINATING S ET
Beispiel
• Beispiel: Baumzerlegung für
Kreis v1 , . . . ,vn ,v1 :
{v1 ,v2 ,v3 }, {v1 ,v3 ,v4 },
. . . ,{v1 ,vn−1 ,vn }
• Lässt es sich auch ausnutzen, wenn ein Graph nur
„baum-ähnlich“ ist?
• Das führt uns zum Konzept von Baumzerlegungen
• Grundidee: wir gruppieren die Knoten eines Graphen
G in Clustern
– Dabei kann derselbe Knoten in mehreren Clustern
vorkommen
• Genauer: Wir konstruieren einen Baum T , dessen Knoten jeweils mit einem Teilgraphen von G markiert sind,
so dass
– jede Kante von G in einem T -Knoten vorkommt und
– jeder Knoten von G einen zusammenhängenden
Teilbaum von T induziert
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 9
Baumzerlegungen (2/5)
Beispiel
3
Beispiel
3
8
2
2
4
1
5
4
9
7
2
4
2
1
4
5
6
8
5
4
8
5
7
5
7
8
9
6
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 10
Baumzerlegungen (3/5)
Definition
• Sei G = (V,E) ein Graph
• Eine Baumzerlegung (T,X) besteht aus einem
Baum T mit Knotenmenge I und einer Funktion
X : I → 2V , so dass gelten:
[
X(i)
(i) V =
i∈I
(ii)
E=
[
E(i)
i∈I
– wobei E(i)
def
=
{(u,v) ∈ E | u,v ∈ X(i)}
(iii) Für jedes v ∈ V ist die Menge
{i | v ∈ X(i)} zusammenhängend in T
• Die Weite w(T,X) ist max |X(i)| − 1
• G Baum ⇒ tw(G) = 1
• G Kreis ⇒ tw(G) = 2
• G (m×m)-Grid ⇒
tw(G) = m
• Notation:
– G[X] bezeichnet den durch
die Knotenmenge X ⊆ V
induzierten Teilgraphen von G
– Z.B.: G[X(i)] ist der Graph
(X(i),E(i))
i∈I
• Die Baumweite tw(G) von G ist die minimale
Weite einer Baumzerlegung für G
• Mit BTWk bezeichnen wir die Klasse aller Graphen
mit Baumweite ≤ k
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 11
Baumzerlegungen: (4/5)
• Die Baumweite eines Graphen G lässt sich
durch folgendes Räuber-und-Gendarm-Spiel charakterisieren:
– Zwei Spieler (für Gendarmen und Räuber)
– Der Räuber steht immer auf einem Knoten
– k Gendarmen stehen jeweils auf k Knoten
– Eine Spielrunde:
∗ Spieler 1 kündigt an, welche Gendarmen er
auf welche Knoten bewegen will (unabhängig von Kanten)
∗ Spieler 2 darf den Räuber entlang Kanten,
die nicht von bewegungslosen Gendarmen
besetzt sind, beliebig weit bewegen
– Spieler 1 gewinnt, wenn ein Gendarm auf einem Feld landet, auf dem der Räuber sich
befindet
• Ein Zusammenhang zwischen Baum-
zerlegungen und parametrisierten Algorithmen wird durch die folgenden Resultate hergestellt
Satz 18.4 [Arnborg et al. 87, Bodlaender 96]
(a) Die Menge {(G,k)
ist NP-vollständig
| tw(G) ≤ k}
(b) Für jedes feste k, ist die Menge aller
G mit tw(G) ≤ k in linearer Zeit
erkennbar
(c) Es gibt einen Algorithmus, der
zu jedem gegebenen Graphen
G ∈ BTWk eine Baumzerlegung der
Weite k konstruiert, und der für jedes
feste k lineare Laufzeit hat
• Fakt: Die Minimalzahl von Gendarmen, die
Spieler 1 auf G zum Sieg benötigt, ist genau
tw(G) + 1
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 12
Baumzerlegungen: (5/5)
Beispiel: Graphklassen beschränkter Baumweite
• Für praktische Zwecke sind die Al-
• Bäume: Baumweite 1
• „Series-parallel graphs:“
– Graphen, die durch serielle und parallele Komposition konstruiert werden können
– Baumweite 2
• Außerplanare Graphen:
– Planare Graphen, bei denen alle Knoten auf einem Kreis liegen und Kanten nur nach „außen“
führen
– Baumweite 2
• k-außerplanare Graphen: Baumweite ≤ 3k + 1
• Halin-Graphen:
gorithmen aus Satz 18.4 nur bedingt
geeignet, da die Konstanten riesig
werden
• Im FPT-Zusammenhang sind Baumzerlegungen trotzdem interessant:
– Wähle die Baumweite eines Graphen als Parameter
– Für Eingabe (G,k) konstruiere
eine Baumzerlegung (T,X)
der Weite k mit Algorithmus A
– Teste (G,k) ∈ L durch dynamische Programmierung in Zeit
– Bäume, deren Blätter durch Kreis verbunden
sind
– Baumweite 3
f (k)p(|G|)
• Die Klasse der planaren Graphen hat unbeschränkte
Baumweite: Grids
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 13
P-V ERTEX C OVER durch dynamische Programmierung (1/2)
Satz 18.5
Beweisskizze
• Für Graphen G mit gegebener Baumzerlegung (T,X) der Weite k lässt sich in Zeit
O(2k k|I|) ein minimales Vertex-Cover
• Sei in T eine Wurzel r gewählt
• Bezeichnungen:
def
– Ti = Teilbaum von T , der Knoten i
als Wurzel
hat
[
def
– Vi =
X(j)
berechnen
Beweisidee
• Idee:
1. Berechne, für jeden ClusterKnoten i ∈ I , eine Tabelle Ai
aller möglichen Vertex-Cover von
def
Gi = (X(i),E(i))
2. Wähle eine Wurzel von T
3. Kombiniere die Tabellen in einer
Bottom-up-Berechnung bezüglich T
zu einem minimalen Vertex-Cover für G
Kompl.-Theorie / Schwentick / SoSe 15
j∈Ti
(Menge aller Knoten in Ti )
1. Phase: Berechne, für jeden Knoten i von T
und jede Menge X ⊆ X(i):
• Ai (X) := |X|, falls X VertexCover von Gi ist
• Ai (X) := ⊥, andernfalls
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 14
P-V ERTEX C OVER durch dynamische Programmierung (2/2)
Beweisskizze (Forts.)
2. Phase:
• Wähle jeweils ein Blatt j und den
Eltern-Knoten i von j
def
• Sei D = X(i) ∩ X(j)
✎ Menge der Knoten, die in i und j
•
vorkommen
Für X ⊆ X(i) sei Kj (X) die
Menge aller „mit X kompatiblen“ Teilmengen von X(j):
def
– Kj (X) =
{Y ⊆ X(j) | X ∩ D = Y ∩ D}
• Für jedes X ⊆ X(i) berechne
def
δj (X) = min Aj (Y )
Y ∈Kj (X)
und setze Ai (X)
:=
Ai (X) + δj (X) − |D ∩ X|
• Entferne j von T
• Am Ende der Berechnung ist dann nur
noch die Wurzel r von T übrig
Kompl.-Theorie / Schwentick / SoSe 15
Beweisskizze (Forts.)
• Die Korrektheit des Algorithmus lässt sich
durch Induktion mit der folgenden Schleifeninvariante zeigen:
– Ai (X) ist immer der optimale Wert
eines VC U mit X(i)
∩ U = X für
S
G[X(i) ∪
ℓ∈Ti ,ℓ gelöscht
X(ℓ)]
• Dann: OPT- V V ERTEXC OVER (G) =
min{Ar (X) | X ⊆ Xi }
• Wie bei dynamischer Programmierung üblich, lässt sich aus den gespeicherten Zwischenergebnissen auch eine optimale Lösung konstruieren
• Die behauptete Laufzeit gilt bei geschickter
Implementierung
✎ im Prinzip muss für Knoten j und i nur
jeder Eintrag von Ai und Aj einmal
besucht werden
• Beispielberechnung:
E: 18. Weitere algorithmische Techniken
⊞
. ✁✄
Folie 15
Inhalt
18.1 Weitere Techniken für FPT-Algorithmen
18.1.1 Kleine Suchbäume
18.1.2 Baumzerlegungen
✄ 18.1.3 Andere Techniken
18.1.4 FPT und Approximation
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 16
Weitere Techniken für FPT-Algorithmen
• Dynamische Programmierung: Wir wissen, dass
RUCKSACK einen pseudo-polynomiellen Algorithmus
hat
➞ Wenn wir W als Parameter wählen, wird aus diesem Algorithmus ein FPT-Algorithmus
• Die Monadische Logik zweiter Stufe (MSO) erlaubt
die Quantifizierung von Mengen
– Damit lässt sich z.B. 3C OL ausdrücken
• Fakt: für jedes k kann jede Eigenschaft, die sich in
MSO beschreiben lässt, auf Graphen mit Baumweite
k in linearer Zeit entschieden werden [Courcelle 90]
– Deshalb gilt z.B.: 3C OL ∈ FPT (mit Baumweite
als Parameter)
• Es gibt eine Vielzahl weiterer Techniken
• Das Gebiet ist ein hochaktuelles Forschungsgebiet!
• Siehe [Niedermeier 06; Flum, Grohe 06]
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 17
Inhalt
18.1 Weitere Techniken für FPT-Algorithmen
18.1.1 Kleine Suchbäume
18.1.2 Baumzerlegungen
18.1.3 Andere Techniken
✄ 18.1.4 FPT und Approximation
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 18
FPT und PTAS
Beweisskizze
• Für ein NPO-Problem O = (I,S,v,t) sei
die Standard-Parametrisierung PO von O
das parametrisierte Problem
– {(x,k) | OPT- VO (x) ≥ k},
falls t = max und
– {(x,k) | OPT- VO (x) ≤ k},
falls t = min
• EPTAS: Klasse aller PTAS-Probleme mit ei-
nem Approximationsalgorithmus mit Laufzeit
f ( 1ǫ )p(|x|) für ein berechenbares f
Satz 18.6
• Für NPO-Probleme mit ganzzahligen Lösungswerten gilt:
O ∈ EPTAS
⇒ PO ∈ FPT
Beweisidee
• Es genügt, eine Genauigkeit <
chen
Kompl.-Theorie / Schwentick / SoSe 15
1
zu erreik
• OBdA: t = min
• Sei A der EPTAS-Algorithmus für O
• Sei f ( 1ǫ )p(|x|) eine Laufzeitschranke
für A bei Approximationsgüte 1 + ǫ
• Seien x ∈ I und k gegeben
1
• Setze ǫ = 2k
• Berechne Näherungslösung y mit
v(x,y) ≤ (1 + ǫ)OPT- V(x)
• Antwort „ja“, genau wenn v(x,y) ≤ k
• Denn:
– Angenommen: OPT- V(x) ≤ k
➨ v(x,y) − OPT- V(x) ≤ ǫk ≤ 12
➨ v(x,y) = OPT- V(x)
def
• Laufzeit: f (2k)p(|x|)
➨ FPT
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 19 !
Quellen
• Lehrbücher
– R.G. Downey and M.R. Fellows. Parameterized Complexity. Springer, 1997
– J. Flum and M. Grohe. Parameterized
Complexity Theory. Springer-Verlag,
2006
– Rolf Niedermeier. Invitation to fixedparameter algorithms. Oxford University
Press, 2006
Kompl.-Theorie / Schwentick / SoSe 15
• Originalarbeiten:
– Baumzerlegungen:
∗ S. Arnborg, D. G. Corneil, and A. Proskurowski. Complexity of finding embedding in a k-tree. SIAM Journal
on Algebraic and Discrete Methods,
8:277–284, 1987
∗ Hans L. Bodlaender. A linear time algorithm for finding tree-decompositions
of small treewidth. In STOC, pages
226–234, 1993
∗ Hans L. Bodlaender. A linear-time algorithm for finding tree-decompositions
of small treewidth. SIAM J. Comput.,
25(6):1305–1317, 1996. Conference
Version in STOC 93
∗ Bruno Courcelle. Graph rewriting: An
algebraic and logic approach. In Handbook of Theoretical Computer Science,
Volume B: Formal Models and Sematics (B), pages 193–242. 1990
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 20
Änderungslog
23.6.14 Folie 6: (5c), letzter Fall: G−({u1 } ∪ N ({u2 ,u3 }))
• Danke an Herrn Christian Cöster für den Hinweis
Kompl.-Theorie / Schwentick / SoSe 15
E: 18. Weitere algorithmische Techniken
. ✁✄
Folie 21
Herunterladen