Parametrisierte Algorithmen

Werbung
Parametrisierte Algorithmen
Markus Lohrey
Martin-Luther Universität Halle-Wittenberg
Sommersemester 2006
Folien basieren auf Vorlagen von Jens Gramm und Rolf Niedermeier, Univ. Tübingen
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
1 / 207
Gesamtüberblick
1
Einführendes Beispiel: Vertex Cover
2
Grundlegende Definitionen / Standortbestimmung
3
Datenreduktion / Problemkernreduktion
4
Suchbäume
5
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Induktive Kompression
Baumzerlegungen
Minorentheorie
6
Parametrisierte Komplexitätstheorie
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
2 / 207
Einführendes Beispiel: Vertex Cover
Kapitel 1 — Einführendes Beispiel: Vertex Cover
Überblick:
Definition Vertex Cover
Approximationsalgorithmen für Vertex Cover
Exakte Lösung: Ein Suchbaum für Vertex Cover
Variationen zu Vertex Cover
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
3 / 207
Einführendes Beispiel: Vertex Cover
Definition Vertex Cover
Vertex Cover / Knotenüberdeckungsproblem
Gegeben: Graph G = (V , E ), positive ganze Zahl k.
Frage: Existiert eine Knotenüberdeckung der Größe ≤ k?
Knotenüberdeckung ist Menge C ⊆ V , sodass jede Kante aus E
mindestens einen Endpunkt in C hat.
Vertex Cover ist NP-vollständig!
Anwendungen: Konfliktauflösung, Überwachungssysteme, . . .
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
4 / 207
Einführendes Beispiel: Vertex Cover
Trivialer Brute-Force Ansatz
Sei G = (V , E ) ein Graph mit n = |V | vielen Knoten.
¡ ¢
Suche nach einem Vertex Cover, indem alle kn vielen Teilmengen der
Größe k betrachten werden.
Zeitaufwand:
¡n ¢
k
· |G | ≤ O(nk · |G |)
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
5 / 207
Einführendes Beispiel: Vertex Cover
1. Approximationsalgorithmus für Vertex Cover
Im folgenden sei G − v (v ein Knoten von G ) der Graph, der aus G durch
Löschen von v und aller an v anliegenden Kanten entsteht.
Analog: G − U für U eine Menge von Knoten.
Greedy“-Heuristik
”
C := ∅
while (es gibt noch Kanten in G ) do
nimm einen Knoten v mit größter Anzahl von Nachbarn
C := C ∪ {v }
G := G − v
endwhile
Bemerkung: Für jedes n gibt es einen Graphen G mit n Knoten, so dass
das durch die Greedy-Heuristik konstruierte Vertex Cover Größe
mindestens ln(n) · k hat, falls k die Größe eines kleinsten Vertex Cover ist.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
6 / 207
Einführendes Beispiel: Vertex Cover
2. Approximationsalgorithmus für Vertex Cover
Trivialer Ansatz“
”
C := ∅;
while (es gibt noch Kanten in G ) do
nimm irgendeine Kante {u, v } von G
C = C ∪ {u, v }
G := G − {u, v }
endwhile
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
7 / 207
Einführendes Beispiel: Vertex Cover
Approximation von Vertex Cover
Lemma
Obiger Algorithmus ( Trivialer Ansatz“) liefert eine
”
Faktor-2-Approximation für Vertex Cover.
Beweis:
Seien F die Menge der während des Ablaufs des Algorithmus ausgewählten
Kanten.
Dann gilt C = {u, v | {u, v } ∈ F } und keine zwei Kanten aus F haben
einen gemeinsamen Knoten, d.h. |F | = 12 |C |.
Jedes Vertex Cover C ′ muss entweder u oder v enthalten (für alle
{u, v } ∈ F ).
Also: |C ′ | ≥ 12 |C |, d.h. |C | ≤ 2|C ′ |
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
8 / 207
Einführendes Beispiel: Vertex Cover
Approximation von Vertex Cover
Bemerkungen:
• Der Trivialer Ansatz“ ist im wesentlichen der beste bekannte
”
Polynomzeit-Approximationsalgorithmus für Vertex Cover. Lediglich
asymptotisch besser:
Monien/Speckenmeyer (1985)
(1985) zeigen
³ und Bar-Yehuda/Even
´
log log n
Approximation mit Faktor 2 − 2 log n .
• Håstad (1997): Kein besserer Approximationsalgorithmus als mit
Faktor 1.1666, es sei denn P = NP.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
9 / 207
Einführendes Beispiel: Vertex Cover
Exakte Lösung: Suchbaum für Vertex Cover I
Konstruiere einen binären Suchbaum der Tiefe ≤ k, dessen Knoten mit
Paaren (H, S) beschriftet sind: H ist ein Teilgraph von G , S eine Menge
von höchstens k vielen Knoten.
Erzeuge den Wurzelknoten (G , ∅).
while ∃ Blatt (H, S) mit E (H) 6= ∅, |S| < k do
wähle beliebige Kante {u, v } ∈ E (H).
erzeuge für Knoten (H, S) die beiden Kinderknoten
(H − u, S ∪ {u}) und (H − v , S ∪ {v })
endwhile
if ∃ Blatt der Form (H, S) mit E (H) = ∅ then
S ist ein VC der Größe |S| ≤ k
else ∄ VC der Größe ≤ k
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
10 / 207
Einführendes Beispiel: Vertex Cover
Suchbaum für Vertex Cover II
Der so konstruierte Suchbaum hat höchstens 2k viele Knoten. Für jeden
Knoten verbrauchen wir Zeit O(|G |).
Satz
Vertex Cover kann in Zeit O(2k · |G |) gelößt werden, wobei |G | =
Graphgröße.
Zentrale Beobachtung: Ist k klein“ im Vergleich zur Eingabegröße n,
”
so ist obiger parametrisierter Algorithmus effizient“.
”
Für k = O(log n) liefert obige Suchbaummethode
Polynomzeitalgorithmus.
Erhebliche Verbesserung gegenüber O(nk · |G |) (Brute-Force Ansatz)
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
11 / 207
Einführendes Beispiel: Vertex Cover
Suchbaum für Vertex Cover III
Verkleinerung der Suchbaumgröße:
1
Kommt ein Knoten v nicht in das Vertex Cover, so müssen alle seine
Nachbarn N(v ) in das Vertex Cover.
2
Für einen Graphen G , so dass jeder Knoten v Grad
d(v ) = |N(v )| ≤ 1 hat, kann ein kleinstes Vertex Cover in
Polynomialzeit berechnet werden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
12 / 207
Einführendes Beispiel: Vertex Cover
Suchbaum für Vertex Cover IV
Erzeuge den Wurzelknoten (G , ∅)
while ∃ Blatt (H, S) ∃u ∈ V (H) : d(u) ≥ 2, |S| < k do
wähle Knoten u ∈ V (H) mit d(u) ≥ 2
erzeuge für Knoten (H, S) die beiden Kinderknoten
(H − u, S ∪ {u}) und (H − N(u), S ∪ N(u))
endwhile
for every Blatt (H, S) mit |S| < k oder E (H) = ∅ do
Berechne (in Zeit |H| ≤ |G |) ein kleinstes VC C ′ für H.
if |C ′ | + |S| ≤ k then C ′ ∪ S ist VC der Größe ≤ k; exit
endfor
∄ VC der Größe ≤ k
Übung: Zeigen Sie, dass im obigen Algorithmus die Größe des Suchbaums
durch 1.618k beschränkt werden kann.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
13 / 207
Einführendes Beispiel: Vertex Cover
Variationen zu Vertex Cover I
Das Studium parametrisierter Algorithmen kann in verschiedenste
Richtungen gehen:
Parametrisierungsvarianten
Die duale“ Parametrisierung n − k führt zum sogenannten
”
Independent Set Problem... und ermöglicht (wahrscheinlich) keinen
effizienten parametrisierten Algorithmus.
Beschränkung auf planare Graphen: Vertex Cover Größe beschränkt
durch ⌊3n/4⌋ (Vierfarbentheorem für planare Graphen).
Parametrisierte Komplexität der Frage, ob ein gegebener planarer
Graph ein Vertex Cover der Größe ⌊3n/4⌋ − k besitzt, ist offen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
14 / 207
Einführendes Beispiel: Vertex Cover
Variationen zu Vertex Cover II
Spezialisierungen
Vertex Cover beschränkt auf planare Graphen√ist einfacher— es gibt
parametrisierte Algorithmen mit Laufzeit O(c k + kn) für
konstantes c.
Verallgemeinerungen
Gewichtetes Vertex Cover, Capacitated Vertex Cover.
Vertex Cover auf Hypergraphen: Hitting Set Probleme.
Zählen und Aufzählen
Zähle die Zahl der optimalen Vertex Covers.
Zähle alle optimalen Vertex Covers Schritt für Schritt auf.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
15 / 207
Einführendes Beispiel: Vertex Cover
Variationen zu Vertex Cover III
Untere Schranken
Kann Vertex Cover in Zeit (1 + ǫ)k · nO(1) gelöst werden
für beliebiges ǫ > 0 oder gibt es minimalen ǫ-Wert?
Kann Vertex Cover auf allgemeinen Graphen in Zeit 2o(k) · nO(1)
gelöst werden?
Implementiere und wende an
Effizienz verschiedener Methodiken sowohl auf sequentiellen als auch
parallelen Maschinen.
Re-Engineering von Fallunterscheidungen bei Suchbaumalgorithmen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
16 / 207
Grundlegende Definitionen / Standortbestimmung
Kapitel 2 —
Grundlegende Definitionen / Standortbestimmung
Überblick:
Klassische Komplexitätstheorie
P, NP, NP-Vollständigkeit, NP-Härte.
Parametrisierte Algorithmen
Parametrisierte Probleme
Idee Parametrisierter Algorithmen
Fixed-Parameter Tractability
Beispiele und Anwendungen
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
17 / 207
Grundlegende Definitionen / Standortbestimmung
Klassische Komplexitätstheorie
Definition: Die Klasse P
Klasse von (Entscheidungs-)Problemen, die in polynomieller Laufzeit von
deterministischer Turingmaschine oder RAM gelöst werden.
Beispiele:
Sortieren von n Elementen: O(n log n).
Wortproblem kontextfreier Sprachen mittels des CYK-Algorithmus:
O(n3 ) (Wortlänge n).
Matrixmultiplikation für n × n-Matrizen mittels Standardmethode:
O(n3 ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
18 / 207
Grundlegende Definitionen / Standortbestimmung
Klassische Komplexitätstheorie
Definition: Die Klasse NP
Ein Problem gehört zur Klasse NP, wenn es in polynomieller Laufzeit von
einer nichtdeterministischen Turingmaschine entschieden werden kann.
Beispiele:
Alle Probleme aus P, da P Teilmenge von NP ist.
Satisfiability: Erfüllbarkeitsproblem für aussagenlogische Formeln in
konjunktiver Normalform, kurz Sat.
Vertex Cover, Independent Set.
Dominating Set.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
19 / 207
Grundlegende Definitionen / Standortbestimmung
Reduktionen, NP-Vollständigkeit
Seien K , L ⊆ Σ∗ zwei Probleme.
K ist in Polynomzeit reduzierbar auf L (kurz K ≤p L, genau dann wenn es
eine deterministisch in Polynomzeit berechenbare Funktion f : Σ∗ → Σ∗
gibt, sodass für alle x ∈ Σ∗ gilt:
x ∈K
⇔
f (x) ∈ L.
Σ = Eingabealphabet, f heißt Reduktionsfunktion.
Beispiel:
Es gilt: Vertex Cover ≤p Independent Set (und umgekehrt).
Definition: NP-vollständige Probleme
Ein Problem L ist NP-vollständige, wenn es (i) zu NP gehört, und (ii)
jedes andere Problem in NP auf L in Polynomzeit reduziert werden kann.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
20 / 207
Grundlegende Definitionen / Standortbestimmung
NP-Härte
Definition: NP-harte Probleme
Wie NP-vollständige Probleme, nur dass nicht gefordert wird, dass das
Problem selbst in NP liegen muss.
Beispiele:
NP-vollständig: Sat, Vertex Cover, Dominating Set,...
Aber auch härtere“ Probleme wie
”
QBF (Quantified Boolean Formula)
Gegeben: Eine quantifizierte boolesche Formel“, d.h.
”
aussagenlogische Formel, in welcher auch Allquantoren ∀“ und
”
Existenzquantoren ∃“ vorkommen können.
”
Frage: Ist diese quantifizierte
Boolesche Formel wahr“?
”
QBF ist PSPACE-vollständig und deshalb wohl härter / noch
”
schwieriger“ als NP-vollständige Probleme.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
21 / 207
Grundlegende Definitionen / Standortbestimmung
Polynomielle versus exponentielle Laufzeiten
Vergleich zwischen exponentiellen und polynomiellen Laufzeiten: Angaben
beziehen sich auf n = 50 und einen Rechner, welcher mit 108 Operationen
pro Sekunde arbeite.
Polynomiell
Komplexität Laufzeit
n2
25 µsec
n3
1.2 msec
n5
3.1 sec
Markus Lohrey (Univ. Halle-Wittenberg)
Exponentiell
Komplexität
Laufzeit
n
1.5
6.3 sec
2n
130 Tage
3n
230 · 106 Jahre
Parametrisierte Algorithmen
Sommersemester 2006
22 / 207
Grundlegende Definitionen / Standortbestimmung
Behandlung (NP-) Harter Probleme
Ansätze zur Behandlung kombinatorisch schwieriger Probleme:
Average Case statt Worst Case analysieren
Approximationsalgorithmen
Randomisierte Algorithmen
Heuristische Verfahren
Neue Berechnungsmodelle (DNA- oder Quantum-Computing)
Hier: Parametrisierte Algorithmen/ fixed-parameter tractability“
”
Grundidee: Versuche den exponentiellen Anteil in der Laufzeit auf
kleine Parameter zu beschränken.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
23 / 207
Grundlegende Definitionen / Standortbestimmung
Parametrisierte Probleme
Betrachtung parametrisierter Probleme führt quasi zu einer
zweidimensionalen Komplexitätstheorie:
Definition: Parametrisierte Probleme
Ein parametrisiertes Problem ist eine Sprache L ⊆ Σ∗ × Σ∗ . Für
(x, k) ∈ Σ∗ × Σ∗ nennen wir k den Parameter. Hierbei ist Σ ein
Eingabealphabet endlicher Größe. Zu entscheiden ist, ob (x, k) ∈ L.
Hinweis:
Meistens betrachten wir parametrisierte Probleme speziell als Untermenge
von Σ∗ × N.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
24 / 207
Grundlegende Definitionen / Standortbestimmung
Drei (parametrisierte) Graphprobleme
Gegeben: Graph G = (V , E ) und Parameter k.
Problem 1: Vertex Cover
Gibt es S ⊆ V mit |S| ≤ k, sodass jede Kante aus E mindestens einen
Endpunkt in S besitzt?
Problem 2: Independent Set
Gibt es S ⊆ V mit |S| ≥ k, sodass keine 2 Knoten aus S in G benachbart
sind?
Problem 3: Dominating Set
Gibt es S ⊆ V mit |S| ≤ k, sodass jeder Knoten aus V \ S mindestens
einen Nachbarn aus S besitzt?
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
25 / 207
Grundlegende Definitionen / Standortbestimmung
Triviale Lösungsansätze für die drei Graphprobleme
Überprüfe alle Teilmengen S der Knotenmenge mit |S| = k.
Es gibt
¡n ¢
k
= O(nk ) solche Teilmengen, falls n die Anzahl der Knoten ist.
Somit lassen sich alle 3 Graphproblem in Zeit O(nk · |G |) lösen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
26 / 207
Grundlegende Definitionen / Standortbestimmung
Leitbild für parametrisierte Algorithmen
k
statt
n
k
n
Kombinatorische Explosion bei exakter Lösung (NP-)harter Probleme auf
Parameter k beschränkt statt auf ganze Eingabegröße n = |x| einwirkend.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
27 / 207
Grundlegende Definitionen / Standortbestimmung
Fixed-Parameter Tractability
Zentrale Frage:
Welche der parametrisierten Probleme können für einen kleinen“
”
Parameterwert (meist k) effizient“ gelöst werden?
”
Definition: Fixed-Parameter Tractability
Ein parametrisiertes Problem L heißt fixed-parameter tractable, wenn in
Laufzeit f (k) · nc festgestellt werden kann, ob (x, k) ∈ L ist. Dabei
n := |x|, c eine Konstante unabhängig von sowohl n als auch k, und
f : N → R beliebige Funktion.
Die Familie aller parametrisierten Probleme, welche fixed-parameter
tractable sind, bezeichnen wir mit FPT.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
28 / 207
Grundlegende Definitionen / Standortbestimmung
Beispiele Fixed-Parameter Tractability
Alle Probleme aus P, da P Teilmenge von FPT ist.
Vertex Cover ist in FPT.
Independent Set und Dominating Set beschränkt auf planare Graphen
sind in FPT...
Clique, Independent Set und Dominating Set für allgemeine Graphen
sind sehr wahrscheinlich“ nicht in FPT.
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
29 / 207
Grundlegende Definitionen / Standortbestimmung
Vertex Cover exakt gelöst . . .
Vergleich der Laufzeiten eines Brute Force“-Algorithmus mit einem
”
einfachen Suchbaumalgorithmus für Vertex Cover:
Betrachte dazu den Quotienten nk /2k :
k=2
k=5
k=20
n = 50
625
390 625
1.8 · 1026
n=150
5625
31 640 625
2.1 · 1035
Natürliches Ziel parametrisierter Algorithmen:
Suche Algorithmus mit möglichst kleiner, auf k beschränkter
exponentieller Laufzeitkomponente.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
30 / 207
Grundlegende Definitionen / Standortbestimmung
Suchbaumgrößen für Vertex Cover
Mitteilung
Für Vertex Cover läßt sich die Suchbaumgröße von 2k bis auf etwa 1.28k
(und noch etwas mehr) verkleinern.
Die Verkleinerung von Suchbaumgrößen ist sehr wichtig — vergleichen wir
obige Größen durch Betrachtung des Quotienten 2k /1.28k ≈ 1.56k :
k
1.56k
5
≈ 9.2
10
≈ 85
20
≈ 7300
40
≈ 5.3 ·
80
107
≈ 2.8 · 1015
Kleine“ Änderungen in exponentieller Basis zeigen große Wirkung!
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
31 / 207
Grundlegende Definitionen / Standortbestimmung
Kleine Parameter in Anwendungen?!
Kleine Parameter k in verschiedensten Anwendungsgebieten, z.B.:
Netzwerk-Probleme: Z.B. optimale Positionierung einer kleinen“ Anzahl
”
von Einrichtungen in einem großen Netzwerk.
Logik- und Datenbank-Probleme: Z.B. Eingabe, bestehend aus einer
Formel (Anfrage, klein) und einer anderen, großen Struktur
(Datenbank).
Robotik: Z.B. beschränkte Anzahl von Freiheitsgraden (typischerweise
k ≤ 10) bei komplexen Bewegungs-/Routen-Planungen.
VLSI-Entwurf: Z.B. Layout in der Chip-Produktion: k = beschränkte
Anzahl von Verdrahtungsschichten. Typisch: k ≤ 30.
Compiler Design: Z.B. Typinferenz in Programmen mit
Schachtelungstiefe k von Variablendeklarationen.
Algorithmische Biologie: Z.B. Untersuchung/Vergleich von
DNS-Sequenzen der Länge n für k Spezies.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
32 / 207
Datenreduktion / Problemkernreduktion
Kapitel 3 — Datenreduktion / Problemkernreduktion
Überblick:
Datenreduktion
Beispiel: Datenreduktion beim Satisfiability Problem
Reduktion auf einen Problemkern
Beispiel: Problemkernreduktion für Maximum Satisfiability
Beispiel Vertex Cover: Der Algorithmus von Buss
Nochmal Vertex Cover: Das Nemhauser-Trotter-Theorem
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
33 / 207
Datenreduktion / Problemkernreduktion
Datenreduktion
Grundidee Datenreduktion
Verkleinere Eingabeinstanz eines harten Problems durch Anwendung
einfacher Reduktionsregeln“.
”
Eine Reduktionsregel für ein NP-hartes Problem L mit Eingabealphabet Σ
ist eine in det. Polynomzeit berechenbare Ersetzung Φ : Σ∗ → Σ∗ , sodass
für alle x ∈ Σ∗ gilt:
x ∈ L ⇔ Φ(x) ∈ L.
Bemerkungen:
Datenreduktion bedeutet in der Regel einen
Polynomzeit-Vorverarbeitungsschritt (Preprocessing) vor dem
eigentlichen“ (Exponentialzeit-)Lösungsalgorithmus.
”
Datenreduktionsregeln verwenden in der Regel problemspezifische
Eigenschaften.
Datenreduktion ist von zentraler Bedeutung in der Praxis.
Datenreduktion hat häufig heuristischen Charakter.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
34 / 207
Datenreduktion / Problemkernreduktion
Beispiel: Datenreduktion beim Satisfiability Problem
Satisfiability Problem
Gegeben: Aussagenlogische Formel F in KNF.
Frage: Gibt es eine erfüllende Belegung für F ?
Drei einfache Reduktionsregeln:
1
Gibt es in F eine Klausel bestehend aus nur einem Literal, so muss
die dazugehörige Variable entsprechend belegt werden.
2
Kommt in F eine Variable z.B. ausschliesslich nur nichtnegiert vor, so
kann diese Variable immer mit wahr belegt werden.
3
Resolution: Angenommen die Variable x tritt in der Formel nur genau
zweimal wie folgt auf: (x ∨ F1 ) ∧ (x ∨ F2 ). Ersetze diese beiden
Klauseln durch die Klausel (F1 ∨ F2 ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
35 / 207
Datenreduktion / Problemkernreduktion
Reduktion auf einen Problemkern
Definition: Problemkern, Problemkernreduktion
Sei L ein parametrisiertes Problem mit Eingabeinstanzen (x, k). Eine
Ersetzung Φ : (x, k) 7→ (x ′ , k ′ ) ist eine Problemkernreduktion, falls gilt:
k ′ ≤ c · k und |x ′ | ≤ g (k) für eine Konstante c und eine beliebige,
nur von k abhängige Funktion g ,
(x, k) ∈ L ⇔ (x ′ , k ′ ) ∈ L, und
die Ersetzung Φ ist in Zeit polynomiell in |x| und k berechenbar.
Die neue Instanz (x ′ , k ′ ) heißt dann Problemkern.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
36 / 207
Datenreduktion / Problemkernreduktion
Problemkernreduktion für Maximum Satisfiability I
Maximum Satisfiability
Gegeben: Aussagenlogische Formel F in KNF, bestehend aus K Klauseln,
und positive ganze Zahl k (der Parameter).
Frage: Gibt es eine Belegung der Variablen, die mindestens k Klauseln
erfüllt?
Beobachtung 1:
Wenn k ≤ ⌈K /2⌉, dann hat eine gegebene Instanz eine Lösung durch eine
beliebige Variablenbelegung oder ihr bitweises Komplement.
Wegen Beobachtung 1 gelte im folgenden ohne Einschränkung, dass
k > ⌈K /2⌉, also K < 2k.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
37 / 207
Datenreduktion / Problemkernreduktion
Problemkernreduktion für Maximum Satisfiability II
Beobachtung 2: Wenn es k Klauseln in F gibt, von denen jede aus mindestens k Literalen besteht, dann können mindestens k Klauseln aus F erfüllt
werden.
Unterteile Formel F in Fs und Fℓ , d.h. F = Fs ∧ Fℓ , wobei
Fs aus allen Klauseln mit weniger als k Literalen und
Fℓ aus allen Klauseln mit mindestens k Literalen besteht.
Sei L die Zahl der Klauseln in Fℓ .
Falls L ≥ k, so können wegen Bemerkung 2 indestens k Klauseln erfüllt
werden!
Gelte also im folgenden L < k.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
38 / 207
Datenreduktion / Problemkernreduktion
Problemkernreduktion für Maximum Satisfiability III
Beobachtung 3:
(Fs , k − L) ist ein Problemkern.
Fs besteht aus höchstens K − L ≤ K < 2k Klauseln, von denen jede aus
weniger als k Literalen besteht.
Damit besteht Fs aus weniger als 2k · k = 2k 2 Literalen.
Wir müssen noch zeigen:
Es sind k − L Klauseln in Fs erfüllbar ⇔ Es sind k Klauseln in F erfüllbar
⇐“: klar
”
⇒“: Um k − L Klauseln in Fs zu erfüllen, müssen höchstens k − L
”
Variablen belegt werden.
Setzt man diese k − L Wahrheitswerte in Fℓ ein, so erhält man L Klauseln
mit jeweils mindestens k − (k − L) = L Literalen. Nach Beobachtung 2
sind diese Klauseln alle erfüllbar.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
39 / 207
Datenreduktion / Problemkernreduktion
Problemkernreduktion für Maximum Satisfiability IV
Zusammengefasst:
Proposition
Maximum Satisfiability besitzt einen Problemkern bestehend aus einer
Formel mit O(k 2 ) Literalen, welcher in Linearzeit gefunden werden kann.
Bemerkung: In der Praxis benutzte Datenreduktionsregeln liefern häufig
keinen Problemkern: Nach Anwendung der Reduktionsregeln ist nicht
garantiert, dass die resultierende Probleminstanz Größe ≤ g (k) hat.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
40 / 207
Datenreduktion / Problemkernreduktion
Beispiel Vertex Cover: Der Algorithmus von Buss
1
2
3
H := {v ∈ V (G ) | d(v ) > k};
if |H| > k then ∄ VC der Größe ≤ k; exit
else
Lösche alle Knoten in H aus G ;
k ′ := k − |H|;
Lösche alle isolierten Knoten
fi
if (resultierender Graph hat mehr als k · k ′ Kanten) then
∄ VC der Größe ≤ k; exit;
Wende Suchbaumalgorithmus für VC auf verbleibenden
Graph mit Parameterwert k ′ an
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
41 / 207
Datenreduktion / Problemkernreduktion
Korrektheit des Algorithmus von Buss
Zentrale Idee
Ein Knoten mit mehr als k Nachbarn muss stets Bestandteil des Vertex
Covers (VC) der Größe ≤ k sein.
Schritt 1: Alle Knoten mit mehr als k Nachbarn werden ins VC
aufgenommen und es verbleiben k ′ Knoten, die noch zum
gesuchten VC hinzugenommen werden dürfen.
Schritt 2: Im verbleibenden Graph kann jeder Knoten maximal
je k Nachbarn besitzen. Also sind mit k ′ Knoten noch
maximal k · k ′ Kanten abdeckbar.
Schritt 3 Es liegt jetzt ein Graph zugrunde, welcher maximal
k · k ′ ≤ k 2 Kanten besitzt.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
42 / 207
Datenreduktion / Problemkernreduktion
Zeitkomplexität des Algorithmus von Buss
Zeitkomplexität des Algorithmus von Buss ist
O(|G | + 2k k 2 ),
wobei G = (V , E ).
Term |G | entspricht Zeitkomplexität der Schritte 1 und 2.
Term 2k k 2 entspricht der Komplexität unseres trivialen
Suchbaumalgorithmus aus Kapitel 1 zur Suche eines VC der Größe
k ′ ≤ k, angewandt auf den verbleibenden Restgraph mit maximal k 2
Kanten.
Zusammengefasst:
Proposition
Vertex Cover kann in Zeit O(|G | + 2k k 2 ) gelöst werden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
43 / 207
Datenreduktion / Problemkernreduktion
Das Nemhauser-Trotter-Theorem
Satz (NT-Theorem)
Gegeben sei ein Graph G = (V , E ) mit n = |V | Knoten und m = |E |
√
Kanten. Dann lassen sich in Zeit O( n · m) zwei disjunkte Mengen
C0 , V0 ⊆ V berechnen, die folgende Eigenschaften erfüllen:
(i) Falls eine Menge D ⊆ V0 ein Vertex Cover für den durch V0
induzierten Teilgraphen G [V0 ] von G ist, so ist C := D ∪ C0 ein
Vertex Cover von G .
(ii) Es gibt ein optimales Vertex Cover C ∗ von G mit C0 ⊆ C ∗ .
(iii) Ein optimales Vertex Cover von G [V0 ] hat mindestens |V0 |/2 viele
Knoten.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
44 / 207
Datenreduktion / Problemkernreduktion
Das Nemhauser-Trotter-Theorem
Folgerung 1
Seien C0 und V0 die Knotenmengen aus dem NT-Theorem. Dann gilt:
D ⊆ V0 ist opt. VC für G [V0 ] ⇒ D ∪ C0 ist opt. VC für G .
Beweis: Sei D ⊆ V0 ein optimales VC für G [V0 ].
(i) aus dem NT-Theorem ⇒ D ∪ C0 ist ein VC für G .
Sei C ∗ ein optimales VC von G mit C0 ⊆ C ∗ (existiert nach (ii) aus
NT-Theorem).
Sei U := C ∗ \ C0 .
C0 ∩ V0 = ∅ ⇒ U ∩ V0 ist VC von G [V0 ] ⇒ |U| ≥ |D|.
⇒ |C ∗ | = |C0 | + |U| ≥ |C0 | + |D| = |D ∪ C0 |
Also: D ∪ C0 ist optimales VC von G .
Folgerung 2
G hat ein VC der Größe ≤ k ⇔ (|V0 | ≤ 2k und G [V0 ] hat ein VC der
Größe ≤ k − |C0 |).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
45 / 207
Datenreduktion / Problemkernreduktion
Anwendung des NT-Theorems (Datenreduktion)
Satz
Sei (G , k) eine Eingabeinstanz von Vertex Cover. Dann lässt sich in Zeit
O(|G | + k 3 ) ein Problemkern (G ′′ , k ′′ ) mit |V (G ′′ )| ≤ 2k und k ′′ ≤ k
berechnen.
Beweis:
Schritt 1: Wende auf (G , k) den Algorithmus von Buss an.
⇒ Probleminstanz (G ′ , k ′ ) mit |V (G ′ )| ≤ 2k 2 , |E (G ′ )| ≤ k 2 , k ′ ≤ k,
welche in Zeit O(|G |) berechnet werden kann.
Schritt 2: Wende Folgerung 2 des NT-Theorems auf G ′ an.
⇒ Probleminstanzp(G ′′ , k ′′ ) mit |V (G ′′ )| ≤ 2k ′ ≤ 2k und k ′′ ≤ k ′ ≤ k,
welche in Zeit O( |V (G ′ )| · |E (G ′ )|) ≤ O(k 3 ) berechnet werden kann.
Bemerkung: Könnte man einen Problemkern kleiner als 2k finden, so
könnte man auch trivialerweise das Vertex Cover mit einem Faktor besser
als 2 approximieren – ein lange offenes Problem.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
46 / 207
Datenreduktion / Problemkernreduktion
NT-Theorem: Berechnung von C0 und V0
Sei V ′ := {v ′ |v ∈ V } eine Kopie“ von V , V ∩ V ′ = ∅.
”
Algorithmus zur Berechnung von C0 und V0 :
Eingabe: G = (V , E ).
Phase 1: Definiere bipartiten Graph (*) B = (V ∪ V ′ , EB )
mit Kantenmenge EB := {{x, y ′ } | {x, y } ∈ E }.
Phase 2: Berechne optimales Vertex Cover CB von B (**).
Ausgabe:
C0 := {x ∈ V | x ∈ CB AND x ′ ∈ CB } ⊆ V
V0 := {x ∈ V | x ∈ CB XOR x ′ ∈ CB } ⊆ V
Ausserdem definiere (für folgenden Korrektheitsbeweis)
I0 := {x | x ∈
/ CB AND x ′ ∈
/ CB } = V \ (V0 ∪ C0 ).
Ergebnis: (G [V0 ], k − |C0 |) ist Problemkern der Eingabeinstanz.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
47 / 207
Datenreduktion / Problemkernreduktion
Maximum Matching in bipartiten Graphen
(*) Ein bipartiter Graph ist ein Graph, dessen Knoten in zwei Mengen Vℓ
und Vr aufgeteilt werden können, sodass Kanten ausschließlich zwischen
Vℓ und Vr laufen.
(**) Vertex Cover in bipartiten Graphen kann über ein Maximum
Matching berechnet werden:
Ein Maximum Matching eines Graphen G = (V , E ) ist eine Menge von
Kanten E ′ ⊆ E , sodass keine zwei Kanten aus E ′ einen gemeinsamen
Endpunkt haben und E ′ von maximaler Größe ist.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
48 / 207
Datenreduktion / Problemkernreduktion
Maximum Matching in bipartiten Graphen
Satz von König
Sei G bipartit. Die Größe eines Maximum Matching von G ist gleich der
Größe eines optimalen Vertex Cover von G .
Satz (Hopcroft, Karp)
Einp
Maximum Matching eines bipartiten Graphen kann in Zeit
O( |V | · |E |) berechnet werden.
Folgerung
Einp
optimales Vertex Cover eines bipartiten Graphen kann in Zeit
O( |V | · |E |) berechnet werden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
49 / 207
Datenreduktion / Problemkernreduktion
NT-Theorem: Korrektheit I
NT-Theorem Teil (i)
Falls eine Menge D ⊆ V0 ein Vertex Cover für den durch V0 induzierten
Teilgraphen G [V0 ] von G ist, so ist C := D ∪ C0 ein Vertex Cover von
G = (V , E ).
Für {x, y } ∈ E ist zu zeigen, dass x ∈ C oder y ∈ C .
Fall 1: x ∈ I0 , d.h. x, x ′ ∈
/ CB .
⇒ y , y ′ ∈ CB ⇒ y ∈ C0 ⊆ C .
Fall 2: y ∈ I0 . Analog zu Fall 1.
Fall 3: x ∈ C0 oder y ∈ C0 . Trivial.
Fall 4: x, y ∈ V0 . Dann gilt x ∈ D ⊆ C oder y ∈ D ⊆ C .
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
50 / 207
Datenreduktion / Problemkernreduktion
NT-Theorem: Korrektheit II
NT-Theorem Teil (ii)
∃ opt. Vertex Cover C ∗ von G mit C0 ⊆ C ∗ .
Sei S ⊆ V ein optimales Vertex Cover von G . Sei
SV := S ∩ V0 (ist ein Vertex Cover von G [V0 ]),
SC := S ∩ C0 ,
SI := S ∩ I0 und S I := I0 \ SI .
Beachte: S = SV ∪ SC ∪ SI und |S| = |SV | + |SC | + |SI |.
eB := (V \ S I ) ∪ S ′ ist ein VC von B.
Zwischenbehauptung 1: C
C
Beweis von Zwischenbehauptung 1:
eB oder y ′ ∈ C
eB .
Sei {x, y ′ } ∈ EB . Es ist zu zeigen, dass x ∈ C
eB gemäß Definition von C
eB .
Fall 1: x ∈
/ S I . Dann ist x ∈ C
Fall 2: x ∈ S I , d.h. x ∈ I0 und x 6∈ SI = S ∩ I0 .
⇒ x 6∈ CB und x ′ 6∈ CB und x 6∈ S
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
51 / 207
Datenreduktion / Problemkernreduktion
NT-Theorem: Korrektheit III
⇒ y , y ′ ∈ CB (d.h. y ∈ C0 ) und y ∈ S (da {x, y } ∈ E )
eB .
⇒ y ∈ S ∩ C0 = SC , d.h. y ′ ∈ SC′ ⊆ C
Zwischenbehauptung 2: |C0 | ≤ |S \ SV |.
Beweis von Zwischenbehauptung 2:
|V0 | + 2|C0 | = |V0 ∪ C0 ∪ C0′ |
= |CB | [Def. von V0 und C0 ]
eB | [Zwischenbeh. 1 & Optimalität von CB ]
≤ |C
= |V \ S I | + |SC′ |
= |V0 ∪ C0 ∪ SI | + |SC′ |
⇒
= |V0 | + |C0 | + |SI | + |SC |
|C0 | ≤ |SI | + |SC |
= |SI | + |SC | + |SV | − |SV |
= |S| − |SV | = |S \ SV |.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
52 / 207
Datenreduktion / Problemkernreduktion
NT-Theorem: Korrektheit IV
Sei nun C ∗ = C0 ∪ SV .
Da SV ein Vertex Cover von G [V0 ] ist, ist C ∗ ein Vertex Cover von G
(nach (i) des NT-Theorems).
Aus Zwischenbehauptung 2 folgt außerdem |C ∗ | = |C0 | + |SV | ≤
|S \ SV | + |SV | = |S| = Größe eines optimalen VC von G .
Also ist C ∗ ein optimales Vertex Cover von G mit C0 ⊆ C ∗ .
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
53 / 207
Datenreduktion / Problemkernreduktion
NT-Theorem: Korrektheit V
NT-Theorem Teil (iii)
Ein optimales Vertex Cover von G [V0 ] hat ≥ |V0 |/2 viele Knoten.
Sei S0 optimales Vertex Cover von G [V0 ].
Gemäß (i) gilt, dass C0 ∪ S0 ein Vertex Cover von G ist.
Gemäß Definition von B ist damit C0 ∪ C0′ ∪ S0 ∪ S0′ ein Vertex Cover von
B. Also:
|V0 | + 2|C0 | = |CB | [Def. von V0 und C0 ]
≤ |C0 ∪ C0′ ∪ S0 ∪ S0′ | [CB optimal]
= 2|C0 | + 2|S0 |.
Hiermit folgt |V0 | ≤ 2|S0 |.
Ende des Beweises des NT-Theorems.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
54 / 207
Datenreduktion / Problemkernreduktion
Schlechtes“ Beispiel: Vor NT Anwendung
”
Number of nodes of the Vertex Cover of the original graph: 559
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
55 / 207
Datenreduktion / Problemkernreduktion
Schlechtes“ Beispiel: Nach NT Anwendung
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
56 / 207
Datenreduktion / Problemkernreduktion
Gutes“ Beispiel: Vor NT Anwendung
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
57 / 207
Datenreduktion / Problemkernreduktion
Gutes“ Beispiel: Nach NT Anwendung
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
58 / 207
Datenreduktion / Problemkernreduktion
Schlussbemerkungen zu Problemkernen
Folgende theoretischen Aussagen können zu Problemkernen gemacht
werden:
Jedes entscheidbare parametrisiertes Problem mit einem Problemkern
ist in FPT: Berechne den Problemkern und löse darauf das Problem
durch brute force“.
”
Jedes parametrisierte Problem in FPT hat einen Problemkern, wie das
folgende Resultat zeigt.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
59 / 207
Datenreduktion / Problemkernreduktion
Schlussbemerkungen zu Problemkernen
Satz
Jedes parametrisierte Problem in FPT hat einen Problemkern.
Beweis: Sei L ein parametrisiertes Problem in FPT, das durch
Algorithmus A in Laufzeit f (k) · nc gelöst werden kann. Ein Problemkern
kann dann wie folgt berechnet werden. Lasse Algorithmus A auf einer
gegebenen Eingabe (x, k) mit n = |x| genau n · nc = nc+1 Schritte lang
laufen.
Fall 1: Algorithmus A terminiert innerhalb der nc+1 Schritte. Dann
gib als Problemkern eine triviale Ja“- oder Nein“-Instanz aus.
”
”
Fall 2: Algorithmus A terminiert nicht innerhalb der nc+1 Schritte.
Dann gilt, dass n ≤ f (k). Gib deshalb die Eingabe als Problemkern
der Größe f (k) aus.
Ergebnis: Das Problem hat einen Problemkern der Größe f (k), der in
polynomieller Laufzeit nc+1 berechnet werden kann.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
60 / 207
Suchbäume
Kapitel 4 — Suchbäume
Überblick:
Beispiele anhand folgender Probleme:
3-Hitting Set
Independent Set auf planeren Graphen
Dominating Set auf planeren Graphen
Closest String
Analyse von Suchbaumgrößen
Verkleinerter Suchbaum für Vertex Cover
Verflechtung von Datenreduktion mit Suchbäumen
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
61 / 207
Suchbäume
Tiefenbeschränkte Suchbäume
Grundidee
Finde (in polynomieller Zeit) kleine Teilmenge“ der Eingabe, sodass
”
mindestens ein Element dieser Teilmenge in einer optimalen Lösung des
Problems liegen muss.
Beispiel: Vertex Cover:
Teilmenge =
b Kante,
denn einer der beiden Endknoten der Kante muss im optimalen Vertex
Cover liegen
(vgl. 2k -Suchbaum“ aus Einführungskapitel).
”
Die Suchbaumtiefe wird in der Regel durch den Parameterwert beschränkt.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
62 / 207
Suchbäume
Suchbaum für 3-Hitting Set
3-Hitting Set
Gegeben: Menge C von dreielementigen Teilmengen einer Menge S und
k ∈ N.
Frage: Enthält S eine 3-Hitting Set“ für C der Größe ≤ k, d.h.
”
∃ S ′ ⊆ S, |S ′ | ≤ k, sodass S ′ mindestens ein Element aus jeder der
Mengen in C enthält?
Lösung analog zu Vertex Cover:
Wähle beliebiges {u, v , w } ∈ C .
Einer der drei Knoten u, v , oder w muss zu jedem Hitting Set gehören.
à Verzweigung in jeweils drei Möglichkeiten.
à Suchbaum der Größe O(3k ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
63 / 207
Suchbäume
Independent Set auf planaren Graphen I
Independent Set
Gegeben: Planarer Graph G = (V , E ) und k ∈ N.
Frage: Gibt es S ⊆ V mit |S| ≥ k, sodass keine 2 Knoten aus S in G
benachbart?
Eulerformel für planare Graphen:
Sei G = (V , E ) ein zusammenhängender planarer Graph und sei f die Zahl
der durch Kanten begrenzten Flächen (Facetten). Dann gilt:
|V | − |E | + f = 2.
Folgerung aus Eulerformel (Übung)
Jeder planare Graph hat einen Knoten v mit d(v ) ≤ 5.
Sei v ein Knoten von minimalen Grad in G . Dann gilt |{v } ∪ N(v )| ≤ 6.
Einer der höchstens 6 Knoten in {v } ∪ N(v ) gehört zu jeder größten
unabhängigen Menge!
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
64 / 207
Suchbäume
Independent Set auf planaren Graphen II
Proposition
Independent Set auf planaren Graphen kann in O(6k · n) Zeit gelöst
werden, wobei n die Zahl der Graphknoten ist.
Beweis:
Sei d(v ) ≤ 5. Wähle einen Knoten u ∈ {v } ∪ N(v ) aus und nimm u in die
unabhängige Menge auf (6 Möglichkeiten).
Entferne {u} ∪ N(u) aus dem Graphen, und suche im resultierenden
Graphen nach einer unabhängigen Teilmenge der Größe k − 1,
à Suchbaum der Größe O(6k )
Aber: Es ist bekannt, dass Independent Set auf allgemeinen Graphen in
O(1.21n ) Zeit gelöst werden kann.
Andererseits wissen wir mit dem Vierfarbensatz für planare Graphen, dass
eigentlich nur der Fall k > ⌈n/4⌉ von Interesse ist.
Für k > ⌈n/4⌉ ist aber 6k > 1.56n > 1.21n und damit obiger Algorithmus
eigentlich wertlos.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
65 / 207
Suchbäume
Dominating Set auf planaren Graphen I
Dominating Set auf planaren Graphen
Gegeben: Planarer Graph G = (V , E ), positive ganze Zahl k.
Frage: Gibt es S ⊆ V mit |S| ≤ k und S ∪ N(S) = V ?
Selbe Grundidee wie vorher bei Independent Set anwendbar?
Nein!
Problem: Wenn ein Knoten u aus V entfernt wird, dürfen die Nachbarn
N(u) von u nicht entfernt werden.
Wir müssen uns jedoch merken, dass die Knoten in N(u) nun dominiert
sind (nämlich von u).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
66 / 207
Suchbäume
Dominating Set auf planaren Graphen II
Ausweg aus geschilderter Problematik:
Übergang zu einer Variante des Dominating Set Problems:
Annotated Dominating Set auf planaren Graphen
Gegeben: Planarer Graph G = (B ⊎ W , E ), (B ist die Menge der schwarz
gefärbten Knoten, W ist die Menge der weiß gefärbten Knoten), Zahl
k ∈ N.
Frage: Gibt es S ⊆ B ⊎ W mit |S| ≤ k und B ⊆ S ∪ N(S)?
Ein S ⊆ V mit B ⊆ S ∪ N(S) wird im Folgenden als Annotated
Dominating Set bezeichnet.
Suchbaumidee:
Suchbaumverzweigungen“ lediglich bzgl. schwarzer Knoten
”
(Knotenmenge B) durchführen . . .
Zentrale Frage:
Was lässt sich für den minimalen Knotengrad schwarzer Knoten
garantieren?
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
67 / 207
Suchbäume
Dominating Set auf planaren Graphen III
In planaren Graphen mit Schwarz-Weiß-Färbung gilt die Gradschranke“ 5
”
für schwarze Knoten nicht mehr:
Betrachte z.B. Sterngraph“ mit einem schwarzen Knoten, der mit
”
beliebig vielen weißen Knoten verbunden ist.
Daher werden nachfolgend einige Reduktionsregeln angegeben, die solche
pathologischen Fälle“ ausschließen und es ermöglichen, den Minimalgrad
”
schwarzer Knoten von oben zu beschränken.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
68 / 207
Suchbäume
Dominating Set auf planaren Graphen IV
Reduktionsregeln zur Lösung von Annotated Dominating Set:
1
Lösche Kanten zwischen weißen Knoten.
2
Lösche weiße Knoten vom Grad 1.
Sei u ein weißer Knoten vom Grad 2 mit den zwei schwarzen
Nachbarn v1 und v2 :
3
Falls v1 und v2 mit einer Kante verbunden sind, so lösche u.
Falls v1 und v2 beide zu einem vierten Knoten v3 verbunden sind, so
lösche u.
4
Sei u ein weißer Knoten vom Grad 3 mit den drei schwarzen Nachbarn
v1 , v2 , v3 . Falls es die Kanten {v1 , v2 } und {v2 , v3 } gibt, so lösche u.
Korrektheit: Übung
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
69 / 207
Suchbäume
Dominating Set auf planaren Graphen V
Ein schwarz-weiß-gefärbter Graph, auf den keine der obigen Regeln mehr
anwendbar ist, heiße reduziert.
Beispiel: Folgender Graph ist reduziert.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
70 / 207
Suchbäume
Dominating Set auf planaren Graphen VI
Mit etwas Mühe lässt sich folgendes Lemma beweisen:
Lemma
Mit Hilfe vorangehender Reduktionsregeln lässt sich in Linearzeit ein
reduzierter Graph berechnen.
Die zentrale technische Aussage ist nun folgende:
Lemma
Jeder reduzierte, schwarz-weiß-gefärbte planare Graph hat einen schwarzen
Knoten v mit d(v ) ≤ 7.
Der sehr aufwändige Beweis basiert wesentlich auf der Euler-Formel.
Bemerkung: Vorangehender, reduzierter Beispielgraph hat Grad sieben für
alle schwarzen Knoten!
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
71 / 207
Suchbäume
Dominating Set auf planaren Graphen VII
Satz
(Annotated) Dominating Set auf planaren Graphen kann in O(8k · n) Zeit
gelöst werden, wobei n die Zahl der Graphknoten ist.
Beweis:
Nach vorangehenden Lemmas kann ein reduzierter Graph mit mindestens
einem schwarzen Knoten v mit d(v ) ≤ 7 in O(n) Zeit berechnet werden.
Wähle einen Knoten u ∈ {v } ∪ N(v ) aus (8 Möglichkeiten) und nimm u in
das Annotated Dominating Set auf.
Färbe alle Knoten in N(u) weiß und entferne u aus dem Graphen.
Suche im resultierenden Graphen nach einem Annotated Dominating Set
der Größe k − 1.
à Suchbaum der Größe O(8k ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
72 / 207
Suchbäume
Dominating Set auf planaren Graphen VIII
Mitteilung
Dominating Set auf planaren Graphen hat einen Problemkern bestehend
aus O(k) Knoten, der in Zeit O(n3 ) berechnet werden kann.
Korollar
Dominating Set auf planaren Graphen kann in O(8k · k + n3 ) Zeit gelöst
werden, wobei n die Zahl der Graphknoten ist.
Beweis:
Wende die Problemkernreduktion für Dominating Set auf planaren
Graphen an.
Auf diesen Graph wende nun vorangehenden Satz an.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
73 / 207
Suchbäume
Closest String I
Closest String
Gegeben: m Zeichenketten s1 , s2 , . . . , sm über Alphabet Σ, |si | = L für
1 ≤ i ≤ m, und d ∈ N.
Frage: Gibt es Zeichenkette s mit |s| = L derart, dass Hamming-Abstand
dH (s, si ) ≤ d für alle i?
Der Hamming-Abstand dH (s, t) zweier Zeichenketten s und t der gleichen
Länge L ist definiert als
|{ p | s[p] 6= t[p], 1 ≤ p ≤ L }|,
wobei s[p] den Buchstaben an der p-ten Position der Zeichenkette s
bezeichnet.
Closest String ist NP-vollständig.
Parameter (hier): Der maximale Hammingabstand d.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
74 / 207
Suchbäume
Closest String II
Anwendung im Primer-Design:
...GGTGAG
...GGTGGA
...GGCGAG
...GGCGAG
...GGCAAG
ATCTATAGAAGT
ATCTACAGTAAC
ATCTACAGAAGT
ATCTATAGAGAT
ATCTATAGAAGT
TGAATGC...
GGATTGT...
GGAATGC...
GGAATGC...
GGAATGC...
“closest string”: ATCTACAGAAAT
“primer candidate”: TAGATGTCTTTA
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
75 / 207
Suchbäume
Closest String III
Lemma
Falls für s1 , s2 , . . . , sm gilt, dass ∃i, j ∈ { 1, . . . , m } mit
dH (si , sj ) > 2d, so gibt es kein s mit maxi=1,...,m dH (s, si ) ≤ d.
Beweis:
Hammingabstand erfüllt Dreiecksungleichung. Also gilt für alle s:
dH (s, si ) + dH (s, sj ) ≥ dH (si , sj ) > 2d
à dH (s, si ) > d oder dH (s, sj ) > d (oder beides)
à keine Lösung!
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
76 / 207
Suchbäume
Closest String IV
Algorithmus für Closest String benutzt rek. Funktion CSd(s, ∆d):
Globale Variablen: s1 , s2 , . . . , sm und d ∈ N.
Eingabe: Kandidatenzeichenkette s und ∆d ∈ N.
Ausgabe: Zeichenkette ŝ mit
maxi=1,...,m dH (ŝ, si ) ≤ d und dH (ŝ, s) ≤ ∆d falls existent,
“nicht möglich” sonst.
if ∆d = 0 then
if dH (s, si ) > d für ein i ∈ {1, . . . m} then
return “nicht möglich”
else (dH (s, si ) ≤ d für alle i = 1, . . . , m)
return s;
else (∆d > 0)
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
77 / 207
Suchbäume
Closest String V
if dH (s, si ) ≤ d für alle i = 1, . . . , m then return s
else
wähle beliebiges i ∈ {1, . . . , m}, sodass dH (s, si ) > d;
P := { p | s[p] 6= si [p] }; (|P| > d)
wähle beliebiges P ′ ⊆ P mit |P ′ | = d + 1;
for all p ∈ P ′ do
s ′ := s;
s ′ [p] := si [p]; (beachte: dH (s, s ′ ) = 1)
sret := CSd(s ′ , ∆d − 1);
if sret 6=“nicht möglich” then return sret
endfor
return “nicht möglich”
endif
endif
(a)
(b)
(c)
(d)
Um Closest String zu lösen, rufen wir CSd(s1 , d) auf.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
78 / 207
Suchbäume
Closest String VI
Satz
Closest String kann in O(m · L + m2 · d d+1 ) Zeit gelöst werden.
Beweis:
Wir zeigen: Der Aufruf CSd(s, ∆d) findet einen String ŝ mit
maxi=1,...,m dH (ŝ, si ) ≤ d und dH (ŝ, s) ≤ ∆d falls existent.
Korrektheit:
Wenn der Aufruf CSd(s, ∆d) einen String ŝ ausgibt, so muss für diesen
maxi=1,...,m dH (ŝ, si ) ≤ d und dH (ŝ, s) ≤ ∆d gelten (Beweis durch
Induktion über ∆d).
Noch zu zeigen:
Sei ŝ eine String mit maxi=1,...,m dH (ŝ, si ) ≤ d und dH (ŝ, s) ≤ ∆d. Dann
findet der Aufruf CSd(s, ∆d) diesen String (oder liefert vorher einen
anderen String mit der gewünschten Eigenschaft zurück).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
79 / 207
Suchbäume
Closest String VII
O.B.d.A. sei ∆d > 0 und dH (s, si ) > d für ein i ∈ {1, . . . m}.
Sei si der in Zeile (a) ausgewählte String, d.h dH (s, si ) > d
Betrachte P := { p | s[p] 6= si [p] } aus Zeile (b).
Aus P werden d + 1 Kandidatenpositionen P ′ in Zeile (c) beliebig
ausgewählt. Sei
P1 := { p | s[p] 6= si [p] und ŝ[p] = si [p] }.
P2 := { p | s[p] 6= si [p] und ŝ[p] 6= si [p] }.
Es gilt P = P1 ∪ P2 .
Da dH (ŝ, si ) ≤ d, muss |P2 | ≤ d gelten.
Wegen |P ′ | = d + 1 muss ein p ∈ P ′ ∩ P1 existieren.
Die Position p ergibt in Zeile (d) einen Kandidaten s ′ , mit
dH (s ′ , ŝ) = dH (s, ŝ) − 1 ≤ ∆d − 1.
Nach Induktion wird somit ŝ im rekursiven Aufruf CSd(s ′ , ∆d − 1)
gefunden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
80 / 207
Suchbäume
Closest String VIII
Laufzeit:
Suchbaumtiefe: ≤ d; Verzweigungsgrad: ≤ d + 1
à Suchbaumgröße O((d + 1)d ) = O(d d ).
Zudem kann ein Problemkern der Größe m2 · d in O(m · L) Schritten
berechnet werden (vgl. Übungen).
Je Suchbaumknoten ist der Zeitaufwand also O(m2 · d).
Insgesamt erhalten wir somit Laufzeit O(m · L + m2 · d · d d ).
Nachbemerkung:
Für optimales d können alle (optimalen) Lösungen in gleicher Laufzeit
gefunden werden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
81 / 207
Suchbäume
Analyse von Suchbaumgrößen I
Bisher:
Sehr einfache, regelmäßige Verzweigungsstrategie bei Suchbäumen.
à Einfache mathematische Abschätzung der Suchbaumgrößen.
Im Folgenden:
Kompliziertere Verzweigungsstrategien und deswegen Abschätzung der
Suchbaumgrößen nicht mehr so einfach!
à Mathematisches Hilfsmittel: Rekursionsgleichungen
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
82 / 207
Suchbäume
Analyse von Suchbaumgrößen II
Grundidee
Umsetzung der rekursiven Struktur von Suchbaumalgorithmen
in Rekursionsgleichungen.
à Homogene, lineare Rek.gleichungen mit konst. Koeffizienten.
Beispiel: Trivialer 2k -Suchbaum für Vertex Cover
à Rekursionsgleichung für Baumgröße Ti :
Ti = 1 + Ti−1 + Ti−1 ,
T0 = 1.
Zur Vereinfachung nur Abschätzung der Blattanzahl:
Bi = Bi−1 + Bi−1 ,
B0 = 1.
Lösung 2i (klar!)
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
83 / 207
Suchbäume
Analyse von Suchbaumgrößen III
Allgemeiner Fall:
Lineare homogene Rekursionsgleichung
Bi = Bi−d1 + Bi−d2 + . . . + Bi−dr
mit konstanten Werten für B0 , . . . , Bd−1 wobei d = max{d1 , d2 , . . . , dr }.
D. h. die Lösung eines Problems der Größe i“ wird zurückgeführt auf die
”
Lösungen von Problemen der Größen i − d1 , . . . , i − dr .
Beispiel: Suchbaum für Vertex Cover von Aufgabenblatt 1:
Bi = Bi−1 + Bi−3 .
à Suchbaum der Größe O(1.47k )
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
84 / 207
Suchbäume
Analyse von Suchbaumgrößen IV
Definitionen aufbauend auf Rekursionsgleichung
Bi = Bi−d1 + Bi−d2 + . . . + Bi−dr :
Verzweigungsvektor (d1 , d2 , . . . dr ) charakterisiert obige
Rekursionsgleichung eindeutig.
Gesucht: Verzweigungszahl α, so dass Bi = O(αi ).
Charakteristisches Polynom z d − z d−d1 − z d−d2 − . . . − z d−dr , wobei
d := max{ d1 , . . . , dr }, dient zur Lösung der Rekursionsgleichung.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
85 / 207
Suchbäume
Analyse von Suchbaumgrößen V
Für Rekursionsgleichungen wie angegeben gilt folgendes:
Mitteilung
Sei α die (eindeutige !) positive reelle Nullstelle des charakteristischen
Polynoms der Rekursionsgleichung. Dann ist α die Verzweigungszahl der
Rekursionsgleichung.
Folge:
Unsere Rekursionsgleichungen lassen sich durch Nullstellenbestimmung des
charakteristischen Polynoms lösen. Numerisch kann das z. B. mit dem
Newton-Verfahren geschehen, um beliebig“ genaue Abschätzungen für α
”
zu erhalten.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
86 / 207
Suchbäume
Analyse von Suchbaumgrößen VI
Bemerkungen:
Häufig treten in Suchbaumalgorithmen mehrere Verzweigungsfälle im
Suchbaum auf.
⇒ Berechne für jeden Fall zugehörigen Verzweigungsvektor; größte
erhaltene Verzweigungszahl liefert Worst-Case-Schranke für
Suchbaumgröße.
Vorangehender Punkt macht klar: In der praktischen Anwendung kann
Suchbaum noch deutlich kleiner sein, als es die theoretische
Worst-Case-Schranke vorgibt.
Weitere heuristische (also nicht oder nur schwer analysierbare)
Techniken ergeben häufig eine weitere Suchbaumverkleinerung.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
87 / 207
Suchbäume
Analyse von Suchbaumgrößen IX
Beispiele: Verzweigungsvektoren und Verzweigungszahlen
Verzweigungsvektor
errechnete Basis
der Baumgröße
Verzweigungsvektor
errechnete Basis
der Baumgröße
(1,1)
(1,2)
(1,3)
(1,4)
(2,1)
(2,2)
(2,3)
(2,4)
2.0
1.6180
1.4656
1.3803
1.6180
1.4142
1.3247
1.2720
(1,1,1)
(1,1,2)
(1,1,3)
(1,1,4)
(1,2,1)
(1,2,2)
(1,2,3)
(1,2,4)
3.0
2.4142
2.2056
2.1069
2.4142
2.0
1.8929
1.7549
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
88 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover I
Grundidee
Deutlich komplexere Fallunterscheidung basierend auf Knotengrad.
Wichtiger Hinweis:
Hier und i. a. auch sonst ist die Reihenfolge der betrachteten Fälle
essentiell!
(So lässt sich in einem späteren Fall ausnützen, dass eine in einem
früheren Fall abgehandelte Situation nicht auftreten kann.)
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
89 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover II
Erweiterte rekursive Prozedur für Vertex Cover:
Procedure VC(G , k)
Eingabe: Graph G = (V , E ) und positive ganze Zahl k.
Ausgabe:
ein kleinstmögliches Vertex Cover V ′ ⊆ V für G , falls für dieses
0 ≤ |V ′ | ≤ k gilt,
⊥ falls es kein solches V ′ gibt.
Vorgehen:
if (E = ∅) then return ∅;
if (E 6= ∅ und k = 0) then return ⊥;
Entferne isolierte Knoten aus G ;
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
90 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover III
Erweiterte rekursive Prozedur für Vertex Cover (Fortsetzung):
/* Um sicherzustellen, dass G im Weiteren zusammenhängend */
if (G nicht zusammenhängend und G1 Zusammenhangskomponente von G )
then
if (G1 hat kleinstmgl. Vertex Cover V1′ der Größe ≤ 4) then
V2′ :=VC(G \ G1 , k − |V1′ |);
else
V1′ :=VC(G1 , k − 1);
/* ergibt Verzweigungsvektor (1, 5) */
V2′ :=VC(G \ G1 , k − 5);
end if;
if (V1′ 6=⊥ und V2′ 6=⊥ und |V1′ ∪ V2′ | ≤ k) then
return V1′ ∪ V2′
else
return ⊥
end if;
end if;
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
91 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover IV
Erweiterte rekursive Prozedur für Vertex Cover (Fortsetzung):
G ist nun zusammenhängend.
Wähle beliebige Kante {u, v } ∈ E ;
/* “Nimm u ins Vertex Cover” */
Vu′ :=VC(G − {u}, k − 1);
Vv′ :=VC(G − {v }, k − 1);
/* “Nimm v ins Vertex Cover” */
if (Vv′ =⊥ oder (Vu′ 6=⊥ und |Vu′ | < |Vv′ |)) then
return Vu′ ∪ {u}
else
return Vv′ ∪ {v }
end if;
Ende Procedure VC.
Diese einfache Verzweigung (“Nimm u ins Vertex Cover oder nimm v ins
Vertex Cover”) wird im Folgenden durch eine Fallunterscheidung und
durch von Fall zu Fall angepasste Verzweigungsregeln ersetzt.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
92 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover V
Fallunterscheidung für Vertex Cover Suchbaum:
Fall 1: ∃ Grad-1-Knoten v mit Nachbar a.
à Nimm a in das (zu konstruierende) Vertex Cover.
Verzweigungsvektor: Keine Verzweigung.
Fall 2: ∃ Grad-(≥ 5)-Knoten v .
à Nimm entweder v oder N(v ) ins Vertex Cover.
Verzweigungsvektor: (1, 5) (oder besser).
Fall 3: ∃ Grad-2-Knoten v .
(Im Folgenden behandelt.)
Fall 4: ∃ Grad-3-Knoten v .
(Im Folgenden behandelt.)
Fall 5: Der Graph ist 4-regulär, d.h. jeder Knoten hat genau
4 Nachbarn. (Im Folgenden behandelt.)
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
93 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover VI
Fall 3: ∃ Grad-2-Knoten v mit Nachbarn N(v ) = {a, b}.
Beachte: Wir wissen bereits, dass für alle Knoten u gilt: 2 ≤ d(u) ≤ 4.
Fall 3.1: ∃ Kante zwischen a und b.
à Nimm N(v ) = {a, b} ins Vertex Cover (VC).
Denn: Nimmt man v ins VC, so muss nach wie vor die Kante
{a, b} überdeckt werden. Dazu muss entweder noch
zusätzlich a oder b ins VC genommen werden. Dann ist es
aber günstiger, gleich = {a, b} ins VC zu nehmen, da
hierdurch ja schließlich auch die Kanten von v abgdeckt
werden..
Verzweigungsvektor: keine Verzweigung.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
94 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover VII
Fall 3.2: ∄ Kante zwischen a und b und N(a) = N(b) = {u, v }.
à Nimm u und v ins VC.
Denn: Nimmt man etwa a ins VC, muss man noch b oder v
ins VC nehmen; in diesem Fall ist es aber günstiger, gleich u
und v ins VC aufzunehmen.
Analog argumentiert man mit b.
Verzweigungsvektor: keine Verzweigung.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
95 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover VIII
Fall 3.3: ∄ Kante zwischen a und b und |N(a) ∪ N(b)| ≥ 3.
à Nimm entweder
N(v ) = {a, b} oder
N(a) ∪ N(b)
ins VC.
Denn: Falls v nicht im VC ist, muss N(v ) im VC sein.
Sein nun v im VC. Falls weder a noch b im VC ist, muss
N(a) ∪ N(b) ins VC.
Falls aber z. B. a im VC ist, so können wir genauso gut
anstatt v den Knoten b ins VC aufnehmen.
Verzweigungsvektor: (2, 3). (Da |N(a) ∪ N(b)| ≥ 3.)
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
96 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover IX
Beachte: Wir wissen nun, dass für alle Knoten u gilt: 3 ≤ d(u) ≤ 4.
Fall 4: ∃ Grad-3-Knoten v mit Nachbarn N(v ) = {a, b, c}.
Fall 4.1: ∃ Kante zwischen zwei Nachbarknoten,
o.E. zwischen a und b.
à Nimm entweder
N(v ) = {a, b, c} oder
N(c)
ins VC.
Denn: Ist v nicht im VC, so muss N(v ) im VC sein.
Ist c nicht im VC, so muss V (c) im VC sein.
Sei also v und c im VC.
Wegen der Kante {a, b} muss a oder b im VC sein; sei etwa
a im VC.
Dann können wir aber genauso gut anstatt v den Knoten b
ins VC aufnehmen.
Verzweigungsvektor: (3, 3).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
97 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover X
Fall 4.2: ∄ Kante zwischen a, b, c und ∃ gemeinsamer Nachbar d 6= v
zweier Knoten in N(v ). O.B.d.A. sei d 6= v Nachbar von a
und b.
à Nimm entweder
N(v ) = {a, b, c} oder
{d, v }
ins VC.
Denn: Sei o.B.d.A. v im VC. Angenommen d ist nicht im VC.
Dann muss a und b ins VC.
Dann können wir aber anstatt v auch c ins VC aufnehmen.
Verzweigungsvektor: (3, 2).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
98 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover XI
Fall 4.3: ∄ Kante zwischen a, b, c und einer der Nachbarn in N(v )
habe Grad ≥ 4. O.E. a mit N(a) = {v , a1 , a2 , a3 }.
à Nimm entweder
N(v ) = {a, b, c} oder
N(a) = {v , a1 , a2 , a3 } oder
{a} ∪ N(b) ∪ N(c)
ins VC.
Denn: O.E. sei v und a im VC.
Dann braucht man b oder c nicht mehr hinzuzunehmen,
denn z. B. {v , a, b} wäre auf keinen Fall besser als {a, b, c}.
Verzweigungsvektor: (3, 4, 6).
(Beachte, dass |{a} ∪ N(b) ∪ N(c)| ≥ 6, denn wegen Fall 4.2
gilt N(b) ∩ N(c) = {v } und damit |N(b) ∪ N(c)| ≥ 5.
Außerdem gilt a ∈
/ N(b) und a ∈
/ N(c) wegen Fall 4.1.)
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
99 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover XII
Fall 4.4: sonst, d.h. es gibt keine Kante zwischen Elementen aus N(v )
und alle Elemente aus N(v ) besitzen genau Grad 3.
à Nimm entweder
N(v ) = {a, b, c} oder
N(a) = {v , a1 , a2 } oder
{a} ∪ N(b) ∪ N(c)
ins VC.
Denn: Gleiche Argumentation wie bei Fall 4.3.
Verzweigungsvektor: (3, 3, 6).
(Beachte hierbei, dass N(b) ∩ N(c) = {v }, also
|N(b) ∪ N(c)| = 5, und es ist a ∈
/ N(b) ∪ N(c).)
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
100 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover XIII
Fall 5: Der Graph ist 4-regulär, d.h. jeder Knoten hat genau
4 Nachbarn.
à Wähle beliebigen Knoten v , nimm entweder v oder N(v )
ins VC.
Verzweigungsvektor: (1, 4).
Da wir o.B.d.A. von einem zusammenhängenden Graphen G
ausgehen, kann dieser Fall nur einmalig auf einem Pfad von
der Wurzel zu einem Blatt des Suchbaums auftreten. Wird
nämlich nach v bzw. N(v ) verzweigt, so müssen die
entstandenen Teilgraphen immer mind. einen Knoten vom
Grad ≤ 3 enthalten. Dieser Fall spielt also asymptotisch
keine Rolle.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
101 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover XIV
Zusammenfassend:
Satz
Vertex Cover kann für gegebenen Graphen G und Parameter k in
O(|G | + 1.342k · k 2 ) Zeit gelöst werden.
Beweisidee: Wende Datenreduktion von Buss aus Kapitel 3 an. Der so
erhaltene Problemkern-Graph“ mit O(k 2 ) Knoten und Kanten ist
”
Grundlage für den Suchbaum. Jeder Suchbaumknoten (vgl.
Fallunterscheidung) kann mit O(k 2 ) Zeitaufwand abgearbeitet“ werden,
”
da nur der zugrundliegende Graph durchsucht werden muss und nur lokale
Operationen durchzuführen sind.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
102 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover XV
Verzweigungsvektoren der Fallunterscheidung:
Fall
2
3.3
4.1
4.2
4.3
4.4
5
Verzweigungsvektor
errechnete Basis
der Baumgröße
(1,5)
(2,3)
(3,3)
(3,2)
(3,4,6)
(3,3,6)
(1,4)
1.325
1.325
1.260
1.325
1.305
1.342
1.381
Fall 4.4 liefert den Worst Case mit einer Baumgröße von O(1.342k ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
103 / 207
Suchbäume
Verkleinerter Suchbaum für Vertex Cover XVI
Bemerkungen:
Durch die nachfolgend vorgestellte Verflechtungstechnik (Interleaving)
lässt sich die Laufzeit weiter zu O(|G | + 1.342k ) verbessern.
Der beste derzeit bekannte parametrisierte Algorithmus für Vertex
Cover erreicht eine Suchbaumgröße von O(1.28k ).
Der beste nicht-parametrisierte“, exakte Algorithmus für Vertex
”
Cover hat eine Laufzeit von O(1.211n ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
104 / 207
Suchbäume
Verflechtung von Datenreduktion mit Suchbäumen I
Ausgangslage:
In einem Suchbaum wird der Parameter zu den Blättern hin immer kleiner;
die Eingabeinstanz muss sich dabei aber nicht wesentlich“ verkleinern.
”
Falls die Expandierung“ eines Knotens P(n) Zeit benötigt, so ergibt sich
”
die Laufzeit O(s(k, n) · P(n)), wobei s(k, n) die Suchbaumgröße ist.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
105 / 207
Suchbäume
Verflechtung von Datenreduktion mit Suchbäumen II
Beispiel Vertex Cover:
Betrachte naiven 2k -Suchbaum und die Problemkernreduktion von Buss
mit k = 15. Auf obigen Graph liefert der Algorithmus Buss keine
Reduktion. Nimmt man an, dass der Suchbaumalgorithmus die Kanten in
der Zeichnung von rechts nach links wählt, so ändert sich die Graphgröße
bei Suchbaumknotenexpandierung nur unwesentlich.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
106 / 207
Suchbäume
Verflechtung von Datenreduktion mit Suchbäumen III
Nun Verflechtungsidee mit Problemkernreduktion:
Benutze folgenden erweiterten Algorithmus zur Expandierung eines
Suchbaumknotens (x, k).
Sei q(k) (ein Polynom in k) die Problemkerngröße und werde (x, k) über
die rekursiven Aufrufe auf den Instanzen (x1 , k − d1 ), . . . , (xr , k − dr )
gelöst.
Anstatt einer einmaligen Problemkernreduktion vor Beginn des
Suchbaumalgorithmus wenden wir die Problemkernreduktion wiederholt
an:
if |x| > c · q(k) then
führe Problemkernreduktion für (x, k) durch und
nenne die entstandene neue Instanz wieder (x, k);
ersetze (x, k) durch (x1 , k − d1 ), . . . , (xr , k − dr ).
Hierbei c geeignet zu wählende Konstante.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
107 / 207
Suchbäume
Verflechtung von Datenreduktion mit Suchbäumen IV
Zentraler Punkt
if-Abfrage bewirkt, daß auch inmitten des Suchbaums“ wiederholt
”
Problemkernreduktion durchgeführt wird.
Beispiel Vertex Cover, Fortsetzung:
In vorigem Beispielgraph gilt nun, dass nach Entfernung der zweiten Kante
aus dem Graph der Parameter k um 2 erniedrigt wird und dadurch
schließlich der ganze Kopf“ (linker Teil) aus dem Graph entfernt wird,
”
also eine deutliche Datenreduktion stattfindet.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
108 / 207
Suchbäume
Verflechtung von Datenreduktion mit Suchbäumen V
Parameterverkleinerung bildhaft, ohne Verflechtung:
Der rote Teil eines Knoten verbildlicht die Parametergröße. Die Rekursion
stoppt, falls der Parameter klein ist, d. h. kleiner als eine vorgegebene
Konstante (z. B. 1) ist.
Fast alle Knoten sind Blätter oder nahe den Blättern. Also haben fast alle
Knoten einen kleinen Parameterwert.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
109 / 207
Suchbäume
Verflechtung von Datenreduktion mit Suchbäumen VI
Bildhafte Auswirkung der Verflechtung:
Falls die Verflechtungstechnik angewandt wird, so werden (zu den Blättern
hin) nicht nur die Parameterwerte deutlich kleiner, sondern auch die
Größen der Probleminstanzen (verbildlicht durch abnehmende
Knotengrößen).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
110 / 207
Suchbäume
Verflechtung von Datenreduktion mit Suchbäumen VII
Zusammenfassend lässt sich zeigen (ohne Beweis):
Mitteilung
Sei (x, k) eine Eingabeinstanz eines parametrisierten Problems und
existiere ein Lösungsalgorithmus mit Laufzeit O(P(|x|) + R(q(k))ξ k ), der
erst in Zeit P(|x|) einen Problemkern der Größe q(k) erzeugt und dann
R(q(k)) Zeit benötigt, um einen Knoten des Suchbaums zu expandieren.
Hierbei sind q, P, und R Polynome.
(Hier also klare Trennung von Phase 1 (Problemkernreduktion) und
Phase 2 (Suchbaumalgorithmus).)
Dann bewirkt die Anwendung der Verflechtungstechnik eine Verbesserung
der Laufzeit zu O(P(|x|) + ξ k ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
111 / 207
Suchbäume
Abschließende Bemerkungen I
Suchbaumalgorithmen lassen sich in der Regel sehr leicht auf
mehreren Maschinen parallelisieren (einfache Lastbalancierung!).
Durch Heuristiken wie z.B. Branch & Bound lassen sich viele
Suchbaumgrößen in der Praxis noch deutlich verkleinern.
Suchbaumalgorithmen sind leicht mit Approximationsalgorithmen
kombinierbar.
Verkleinerte Suchbaumgrößen aufgrund extensiver Fallunterscheidung
können in der Praxis aufgrund des dazukommenden
Verwaltungsaufwands zuweilen wirkungslos bleiben (evt. die
tatsächliche Laufzeit sogar vergrößern).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
112 / 207
Suchbäume
Abschließende Bemerkungen II
Nicht alle Fälle einer Fallunterscheidung werden normalerweise in der
Praxis gleich häufig vorkommen, sodass mitunter einfachere
Suchstrategien gleiche oder sogar bessere Effizienz bringen können.
( Make the common case first!“)
”
Verflechtung von Datenreduktion mit Suchbäumen ist ebenso in der
Praxis zu empfehlen.
Suchbäume sind neben Datenreduktionen bislang die häufigst
vorkommende Methode zum Entwurf effizienter parameterisierter
Algorithmen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
113 / 207
Weitere algorithmische Techniken
Kapitel 5 — Weitere algorithmische Techniken
Überblick:
1 Farbkodierung auf Graphen.
Am Beispiel des Longest Path Problems.
2
Induktive Kompression.
Am Beispiel des Vertex Cover Problems.
Am Beispiel des Odd Cycle Cover Problems.
3
Baumzerlegungen.
Am Beispiel des Vertex Cover Problems.
4
Minorentheorie.
Weitere hier nicht behandelte Techniken:
Dynamisches Programmieren (auch in obigen Punkten 1 und 3 verwendet).
Crowne Reductions.
Ganzzahliges Lineares Programmieren (mit einer nur vom Parameter abhängigen
Variablenzahl).
...
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
114 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung I — Subgraph Isomorphismus
Viele Graphprobleme sind Teilgraphisomorphieprobleme“:
”
Das Teilgraphisomorphieproblem
Gegeben: Zwei Graphen G = (V , E ) und G ′ = (V ′ , E ′ ).
Frage: Ist G ′ isomorph zu einem Teilgraph von G ?
G ′ = (V ′ , E ′ ) ist ein Teilgraph von G = (V , E ), falls V ′ ⊆ V und E ′ ⊆ E
gilt.
Zwei Graphen G1 = (V1 , E1 ) und G2 = (V2 , E2 ) heißen isomorph, falls es
eine bijektive Abbildung f : V1 → V2 gibt, sodass {u, v } ∈ E1 gdw.
{f (u), f (v )} ∈ E2 .
Spezieller Fall eines Teilgraphisomorphieproblems:
Clique: G ′ = vollständiger Graph mit k Knoten.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
115 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung II — Das Longest Path Problem
Farbkodierung ist ein Verfahren zur Behandlung einiger (leider nicht aller)
Teilgraphisomorphieprobleme.
Nachfolgend Illustration der Methodik anhand folgenden
Teilgraphisomorphieproblems:
Longest Path Problem
Gegeben: Graph G = (V , E ) und ein k ∈ N.
Frage: Gibt es in G einen einfachen Pfad der Länge mindestens k − 1?
Ein einfacher Pfad der Länge k − 1 in einem Graphen G = (V , E ) ist eine
Folge von Knoten v1 , . . . , vk mit: (i) {vi , vi+1 } ∈ E und (ii) vi 6= vj für
i 6= j.
Longest Path wie auch das allgemeine Teilgraphisomorphieproblem
NP-vollständig!
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
116 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung III — Grundidee
Grundidee
Färbe jeden Knoten des Graphen zufällig (!) mit einer von k Farben.
Hoffe“, dass alle Knoten eines Pfades verschiedene Farben haben.
”
Ein solch voll bunter“ Pfad lässt sich leichter finden als ein
”
farbloser“.
”
Die Buntheit garantiert, dass der Pfad einfach ist.
Farbkodierungen beruhen also auf einem randomisierten Ansatz!
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
117 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung IV — Bunte Pfade
Färbe Knoten von G zufällig (und unabhängig voneinander) mit k
verschiedenen Farben.
Ein Pfad heiße voll bunt, wenn keine zwei Knoten des Pfades mit der
gleichen Farbe gefärbt sind.
Offensichtlich ist jeder voll bunte Pfad einfach.
Umgekehrt: Jeder einfache Pfad der Länge k − 1 ist mit
Wahrscheinlichkeit kk!k > e −k voll bunt!
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
118 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung V
— Algorithmus zum Finden voll bunter Pfade
Aufgabenstellung:
Gegeben sei ein Graph G = (V , E ) und eine Färbung c : V → {1, . . . , k}.
Finde alle voll bunten Pfade der Länge k − 1 ausgehend von einem
Startknoten s.
Bemerkung:
Dies ist keine Einschränkung des allgemeinen Problems, alle voll bunten
Pfade der Länge k − 1 zu finden: Dazu fügen wir einfach einen neuen
Knoten s ′ zu V hinzu, färben ihn mit der neuen Farbe 0, verbinden ihn mit
jedem Knoten aus V und setzen k auf k + 1.
Nachfolgender Ansatz beruht auf dynamischer Programmierung.
Entscheidender Trick: Nicht Pfade, sondern nur Farbmengen
¡ ¢ werden
gespeichert! Für jeden Knoten v gibt es jeweils höchstens ki viele solcher
Mengen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
119 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung VI
— Algorithmus zum Finden voll bunter Pfade
Verwendete Bezeichner:
Cu,i : Farbmenge eines voll bunten Pfades der Länge i von s zu u.
Mu,i : Menge aller Farbmengen für voll bunte Pfade der Länge i von s zu u.
Algorithmus:
Initialisierung:
Ms,0 := { {c(s)} }; für alle u ∈ V \ {s}: Mu,0 := ∅;
für alle u ∈ V , 1 ≤ i ≤ k − 1: Mu,i := ∅;
Dynamisches Programmieren:
für alle i = 1, . . . , k − 1:
/* Berechne alle Farbmengen für Pfade der Länge i. */
für alle Kanten {u, v } ∈ E mit Mu,i−1 6= ∅:
für alle Cu,i−1 ∈ Mu,i−1 mit c(v ) ∈
/ Cu,i−1 :
Mv ,i := Mv ,i ∪ {Cu,i−1 ∪ {c(v )}};
Ergebnis:
Voll bunter Pfad, wenn es v ∈ V gibt mit Mv ,k−1 6= ∅;
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
120 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung VII
— Algorithmus zum Finden voll bunter Pfade
¡ ¢
P
Zeitkomplexität: Algorithmus führt O( ki=1 |E | · ki · i) Schritte aus:
Der Faktor |E | wird für die Schleife über alle Kanten {u, v } ∈ E
benötigt.
¡ ¢
Der Faktor ki gibt die Anzahl der möglichen Mengen
Cu,i−1 ∈ Mu,i−1 an.
Der Faktor i steht für den Test, ob c(v ) ∈ Cu,i−1 .
Der gesamte Ausdruck läßt sich durch O(k 2k |E |) abschätzen.
Ergebnis:
Lemma
Seien G = (V , E ) ein Graph und c : V → {1, . . . , k} eine Färbung.
Dann kann ein voll bunter Pfad der Länge k − 1 in G (falls existent) in
Zeit 2O(k) · |E | gefunden werden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
121 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung VIII — Beispiel Farbkodierung
Beispiel:
Die k = 4 hervorgehobenen Knoten, welche einen Pfad der Länge 3 bilden,
werden bei einer zufälligen Färbung mit 4 Farben mit Wahrscheinlichkeit
4!/44 = 3/32 gefunden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
122 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung IX — Algorithmus für Longest Path
Wiederhole folgenden randomisierten Algorithmus e k = 2O(k) mal:
1
2
Wähle zufällig eine Knotenfärbung c : V → {1, . . . , k}.
Überprüfe mit vorigem Lemma in Zeit 2O(k) · |E |, ob es einen voll
bunten Pfad gibt; falls ja, so ist dies ein einfacher Pfad der
Länge k − 1.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
123 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung X — Ergebnis
Satz
Der Algorithmus auf der vorherigen Folie findet in Zeit 2O(k) · |E | einen
einfachen Pfad der Länge k − 1 (falls existent) mit Wahrscheinlichkeit
> 1 − e1 > 0.63.
Beweis:
Angenommen P ist ein einfacher Pfad der Länge k − 1.
Die Wahrscheinlichkeit, dass P bei einer der e k vielen
Wiederholungen nicht gefunden wird ist < 1 − e −k .
Die Wahrscheinlichkeit, dass P bei keiner der e k vielen
k
Wiederholungen gefunden wird ist < (1 − e1k )(e ) < e1 .
Also findet der Algorithmus P mit Wahrscheinlichkeit > 1 − e1 .
Bemerkung: Die Fehlerwahrscheinlichkeit von < e1 kann auf < ( e1 )c (für
eine Konstante c) reduziert werden, indem man e k·c ∈ 2O(k) viele
Wiederholungen macht (anstatt e k vieler).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
124 / 207
Weitere algorithmische Techniken
Farbkodierung auf Graphen
Farbkodierung XI — Derandomisierung
Unter Benutzung von Hashing-Techniken (genauer sogenannter Familien
k-perfekter Hash-Funktionen) lässt sich voriger Satz derandomisieren“,
”
sprich der randomisierte Algorithmus in einen deterministischen
Algorithmus umwandeln, der nur relativ wenig“ mehr Laufzeit benötigt:
”
Mitteilung
Longest Path kann deterministisch in 2O(k) · |E | · log |V | Zeit
gelöst werden.
Insbesondere ist Longest Path also in FPT.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
125 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive (bzw. Iterative) Kompression
Grundschema:
Induktion: Betrachte induktiv wachsenden Teil X0 , X1 , X2 , . . . der
Eingabe X .
Induktionsannahme: Optimale Lösung der Größe ≤ k für Xi ist
bekannt.
Induktionsschritt Xi → Xi+1 : Aus der Lösung für Xi läßt sich leicht
eine (nicht notwendigerweise optimale) Lösung der Größe k + 1 für
Xi+1 bestimmen. In einem “Kompressionsschritt” läßt sich aus der
bekannten Lösung für Xi+1 eine optimale Lösung bestimmen.
Idee:
Kern des Algorithmus liegt im Kompressionsschritt. Wenn der
Kompressionsschritt fixed-parameter tractable (in bezug auf k) ist, dann
ist das Gesamtproblem fixed-parameter tractable.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
126 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Vertex Cover I
Induktion: Betrachte, für i = 1, . . . , n, Graphen Gi der durch Knotenmenge
{v1 , v2 , . . . , vi } induziert wird.
Induktionsanfang: Optimales Vertex Cover für G1 ist leer.
Induktionsannahme: Optimales Vertex Cover Vi′ mit |Vi′ | ≤ k für Gi
(falls existent) ist bekannt.
Induktionsschritt Gi → Gi+1 : Die Menge Vi′ ∪ {vi+1 } ist ein Vertex
Cover für Gi+1 mit |Vi′ ∪ {vi+1 }| ≤ k + 1. In einem
“Kompressionsschritt” läßt sich aus Vi′ ∪ {vi+1 } ein optimales Vertex
Cover für Gi+1 bestimmen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
127 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Vertex Cover II
Kompressionsschritt-Lemma
Gegeben ein Graph G und ein Vertex Cover V ′ mit |V ′ | ≤ k + 1. In Zeit
O(2k · |G |) läßt sich ein optimales Vertex Cover für G bestimmen.
Algorithmus:
V ∗ := V ′ ;
Betrachte alle nicht-leeren Teilmengen X ⊆ V ′ :
V ′′ := (V ′ \ X ) ∪ { v | v ∈ N(x) für x ∈ X }.
(beachte: V ′′ ist auch Vertex Cover für G !)
Wenn |V ′′ | < |V ∗ |, dann V ∗ := V ′′ ;
V ∗ ist nun optimales Vertex Cover für G ;
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
128 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Vertex Cover III
Korrektheit Kompressionsschritt:
Vertex Cover V ′ deckt alle Kanten von G ab, wie auch jedes
alternative Vertex Cover V ′′ .
für ein alternatives Vertex Cover V ′′ läßt sich V ′ aufteilen in
V ′ ∩ V ′′ und
X = V ′ \ V ′′ .
Für jeden Knoten v ∈ X muss N(v ) in V ′′ enthalten sein (sonst
bliebe eine Kante unabgedeckt).
Also: (V ′ \ X ) ∪ N(X ) ⊆ V ′′
Durch Testen aller Möglichkeiten für X erhalten wir alle alternativen
Vertex Cover V ′′ .
Laufzeit Kompressionsschritt:
Anzahl aller nichtleeren Teilmengen X ⊆ V ′ : ≤ 2k+1 − 1 = 2 · 2k − 1.
Konstruktion von V ′′ und Test, ob |V ′′ | < |V ′ |: O(|G |) Zeit.
Gesamtlaufzeit: O(2k · |G |).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
129 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover I
Odd Cycle Cover
Gegeben: Graph G = (V , E ), positive ganze Zahl k.
Frage: Existiert eine Überdeckung aller ungeraden Zyklen (“Odd Cycle
Cover”) der Größe ≤ k?
Ein Zyklus ist eine Sequenz von Knoten C = (v1 , v2 , . . . , vr ) aus V ,
so dass {vi , vi+1 } ∈ E und {vr , v1 } ∈ E (vi = vj für i 6= j ist
möglich). Ist r zusätzlich ungerade, so ist C ein ungerader Zyklus.
Eine Überdeckung aller ungeraden Zyklen bzw. ein Odd Cycle Cover
ist eine Knotenmenge V ′ ⊆ V , so dass jeder ungerade Zyklus einen
Knoten aus V ′ enthält.
Odd Cycle Cover ist NP-vollständig!
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
130 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover II
Bemerkung 1
Entfernt man aus Graph G die Knoten eines Odd Cycle Covers, dann wird
G zu einem bipartiten Graphen.
Damit: Größe eines minimalen Odd Cycle Covers von G gibt die
“Entfernung” von G zur Bipartitheit an.
Alternativ lässt sich Bemerkung 1 formulieren als:
Bemerkung 2
Sei V ′ ein Odd Cycle Cover eines Graphen G = (V , E ). Dann erlaubt der
Graph G [V \ V ′ ] eine 2-Färbung seiner Knoten.
Erinnerung: Eine 2-Färbung (S1 , S2 ) der Knoten von G [V \ V ′ ] ist eine
Partition S1 ⊎ S2 = V \ V ′ der Knoten, so dass keine zwei Knoten aus S1
und keine zwei Knoten aus S2 durch eine Kante verbunden sind.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
131 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover III
Induktive Kompression für Odd Cycle Cover:
Induktion: Betrachte, für i = 1, . . . , n, Graphen Gi der durch Knotenmenge
{v1 , v2 , . . . , vi } induziert wird.
Induktionsanfang: Optimales Odd Cycle Cover für G1 ist leer.
Induktionsannahme: Optimales Odd Cycle Cover Vi′ für Gi der Größe
≤ k (falls existent) ist bekannt.
Induktionsschritt Gi → Gi+1 : Die Menge Vi′ ∪ {vi+1 } ist ein Odd
Cycle Cover für Gi+1 der Größe ≤ k + 1. In einem
“Kompressionsschritt” läßt sich aus Vi′ ∪ {vi+1 } ein optimales Odd
Cycle Cover für Gi+1 bestimmen.
Kompressionsschritt-Lemma
Gegeben ein Graph G und ein Odd Cycle Cover V ′ mit |V ′ | ≤ k + 1. In
Zeit O(3k · km), m =Anzahl Kanten in G , läßt sich ein optimales Odd
Cycle Cover für G bestimmen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
132 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover IV
Übersicht zum Beweis des Kompressionsschritt-Lemmas:
Konstruktion eines Hilfsgraphen H aus einem Graphen G und dem
Odd Cycle Cover V ′ . Im Wesentlichen: Vedoppelung der Knoten aus
V ′.
Für X ⊆ V ′ , Definition von “gültigen Partitionen” der den X
entsprechenden Knoten in H.
Angabe des Kompressionsschritt-Algorithmus, der auf dem
Hilfsgraphen H arbeitet und alle Teilmengen X ⊆ V ′ und alle gültigen
Partitionen der zu X entspechenden Knoten in H betrachtet.
Beweis der Korrektheit und der Laufzeit des
Kompressionsschritt-Algorithmus.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
133 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover V
Gegeben ein Graph G = (V , E ) und ein Odd Cycle Cover V ′ . Sei (S1 , S2 )
eine 2-Färbung von G [V \ V ′ ] (s. Bemerkung 2).
Konstruktion des Hilfsgraphen H:
Knotenmenge von H: V H = { v H | v ∈ V \ V ′ } ⊎ { v1H , v2H | v ∈ V ′ }.
Definiere π : V H → V durch: π(v H ) = v für v ∈ V \ V ′ und
π(viH ) = v für v ∈ V ′ und i ∈ {1, 2}.
Kantenmenge von H. Für jede Kante {u, v } ∈ E füge gemäß
folgender Fallunterscheidung Kanten zu E H hinzu:
Fall
Fall
Fall
Fall
1:
2:
3:
4:
u, v ∈ V \ V ′ : {u H , v H } ∈ E H .
u ∈ (V \ V ′ ) ∩ S1 und v ∈ V ′ : {u H , v2H } ∈ E H .
u ∈ (V \ V ′ ) ∩ S2 und v ∈ V ′ : {u H , v1H } ∈ E H .
u, v ∈ V ′ : {u1H , v2H }, {v1H , u2H } ∈ E H .
Bemerkung: Die 2-Färbung (S1 , S2 ) von G [V \ V ′ ] lässt sich erweitern zu
einer 2-Färbung von H:
S1H ∪ { v1H | v ∈ V ′ } und S2H ∪ { v2H | v ∈ V ′ }.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
134 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover VI
Gegeben
Ein Graph G = (V , E ) und ein Odd Cycle Cover V ′ ,
eine nicht-leere Teilmenge X ⊆ V ′ ,
der aus G und V ′ konstruierte Hilfsgraph H,
und die Menge π −1 (X ) = {v1H , v2H | v ∈ X } der aus X konstruierten
Knoten in H.
Eine gültige Partition von X H ist eine Partition π −1 (X ) = XAH ⊎ XBH , so
dass für jedes x ∈ X genau einer der folgenden Fälle zutrifft:
x1H ∈ XAH und x2H ∈ XBH
x2H ∈ XAH und x1H ∈ XBH .
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
135 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover VII
Grundidee des Kompressionsschritt-Algorithmus
Folgende Aussagen gelten:
1
Sei V ′′ Odd Cycle Cover V ′′ mit |V ′′ | < |V ′ |.
Dann gibt es Teilmengen X ⊆ V ′ und Y ⊆ π −1 ((V \ V ′ ) ∪ X ) sowie
eine gültige Partition π −1 (X ) = XAH ⊎ XBH mit:
V ′′ = (V ′ \ X ) ∪ π(Y )
|Y | < |X |
Jeder Pfad in H[π −1 ((V \ V ′ ) ∪ X )], der von XAH nach XBH führt, muss
einen Knoten aus Y besuchen (damit gibt es in H[π −1 ((V \ V ′ ) ∪ X )]
keine |X | vielen knotendisjunkten Pfade, die von XAH nach XBH führen).
2
Umgekehrt: Sind X , Y , XAH , XBH wie in (1) beschrieben, dann ist
V ′′ = (V ′ \ X ) ∪ π(Y ) ein Odd Cycle Cover mit |V ′′ | < |V ′ |.
Obige Aussage ist hilfreich, weil das Finden einer größtmöglichen Zahl
knotendisjunkter Pfade “einfach” ist (via Netzwerkfluß).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
136 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover VIII
Beweis von (2):
Sei X ⊆ V ′ , Y ⊆ π −1 ((V \ V ′ ) ∪ X ) und sei π −1 (X ) = XAH ⊎ XBH eine
gültige Partition mit:
V ′′ = (V ′ \ X ) ∪ π(Y )
|Y | < |X |
Jeder Pfad in H[π −1 ((V \ V ′ ) ∪ X )], der von XAH nach XBH führt,
muss einen Knoten aus Y besuchen.
Offensichtlich gilt |(V ′ \ X ) ∪ π(Y )| < |(V ′ \ X ) ∪ X | = V ′ .
Noch zu zeigen: (V ′ \ X ) ∪ π(Y ) ist ein Odd Cycle Cover.
Sei C ein ungerade Zyklus in G . O.B.d.A. besucht C keinen Knoten aus
(V ′ \ X ).
Dann muss C einen Knoten aus X besuchen.
Aus C kann ein Pfad p im Graphen H[π −1 ((V \ V ′ ) ∪ X )] von einem
Knoten v1H zu einem Knoten v2H mit v ∈ X konstruiert werden. Also muss
p einen Knoten aus Y besuchen. Damit muss C einen Knoten aus π(Y )
besuchen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
137 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover IX
Beweis von (1):
Sei V ′′ ein Odd Cycle Cover mit |V ′′ | < |V ′ |. Sei
X := V ′ \ (V ′′ ∩ V ′ ) ⊆ V ′ and Z := V ′′ \ (V ′′ ∩ V ′ ) ⊆ V \ V ′ und
Y := π −1 (Z ).
Beachte: V ′′ = (V ′ \ X ) ∪ Z , |Y | = |Z | < |X | und X ⊆ V \ V ′′ .
Wir kennen schon die 2-Färbung (S1 , S2 ) des bipartiten Graphen G [V \ V ′ ]
bzw ihre Erweiterung auf H, hier der Einfachheit halber auch (S1 , S2 )
genannt. Sei (Sˆ1 , Sˆ2 ) nun die 2-Färbung des bipartiten Graphen G [V \ V ′′ ].
Betrachten wir folgende gültige Partition π −1 (X ) = XAH ⊎ XBH :
XAH := { x1H | x ∈ X ∩ Sˆ1 } ∪ { x2H | x ∈ X ∩ Sˆ2 }
XBH := { x1H | x ∈ X ∩ Sˆ2 } ∪ { x2H | x ∈ X ∩ Sˆ1 }.
Beachte: Es gilt x1H ∈ S1 und x2H ∈ S2 für jedes x ∈ X und die auf H
erweiterte Färbung (S1 , S2 ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
138 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover X
Beweis von (1), Fortsetzung:
Angenommen, es gäbe einen Pfad p von u ∈ XAH nach v ∈ XBH in
H[π −1 ((V \ V ′ ) ∪ X )], der keinen Knoten aus Y = π −1 (Z ) besucht.
Beachte: p ergibt einen Pfad π(p) von π(u) ∈ X nach π(v ) ∈ X in G , der
in ((V \ V ′ ) ∪ X ) \ Z = (V \ (V ′ ∩ V ′′ )) \ Z = V \ V ′′ verläuft, und der
die gleiche Länge wie p hat.
Fall 1: π(u), π(v ) ∈ X ∩ Sˆ1
Nach Konstruktion von XAH gilt u = x1H für ein x ∈ X , also u ∈ S1 .
Analog folgt v ∈ S2 . Somit hat p ungerade Länge. Da
π(u), π(v ) ∈ Sˆ1 , muss π(p) gerade Länge haben. Widerspruch.
Fall 2: π(u) ∈ X ∩ Sˆ1 , π(v ) ∈ X H ∩ Sˆ2
Nach Konstruktion von XAH und XBH gilt u, v ∈ S1 . Also hat der Pfad
p gerade Länge. Da π(u) ∈ Sˆ1 und π(v ) ∈ Sˆ2 , muss π(p) ungerade
Länge haben. Widerspruch.
Fälle 3 und 4: π(u) ∈ X ∩ Sˆ2 , π(v ) ∈ X ∩ Sˆ1 analog zu Fall 2,
π(u), π(v ) ∈ X ∩ Sˆ2 analog zu Fall 1.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
139 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover XII
Algorithmus Kompressionsschritt:
V ∗ := V ′
Konstruiere bipartiten Hilfsgraphen H wie beschrieben.
Für jede Wahl einer nicht-leeren Teilmenge X aus V ′ und für jede
gültige Partition von π −1 (X ) = XAH ⊎ XBH :
Bestimme, ob es |X | viele knotendisjunkte Pfade
in H[π −1 ((V \ V ′ ) ∪ X )] gibt, die von Knoten in XAH zu Knoten in XBH
führen. Falls nein:
Bestimme Knotenmenge Y ⊆ π −1 ((V \ V ′ ) ∪ X ), |Y | < |X |, so dass
jeder Pfad in H[π −1 ((V \ V ′ ) ∪ X )] von Knoten in XAH zu Knoten in
XBH durch einen Knoten aus Y führen muss (muss nach Mengers
Theorem existieren).
(beachte: (V ′ \ X ) ∪ π(Y ) ist Odd Cycle Cover von G )
Falls |(V ′ \ X ) ∪ π(Y )| < |V ∗ |, dann setze V ∗ := (V ′ \ X ) ∪ π(Y ).
V ∗ ist nun optimales Odd Cycle Cover für G
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
140 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Odd Cycle Cover XIII
Laufzeit Kompressionsschritt:
Es gibt O(3k ) Möglichkeiten, die Knotenmenge V ′ in die Teilmengen
X und V ′ \ X , und die zu X entsprechende Menge X H wiederum in
eine gültige Partition XAH und XBH zu unterteilen.
(Mitteilung) Via Netzwerkfluß kann in Zeit O(km) bestimmt werden,
ob es k knotendisjunkte Pfade in H[π −1 ((V \ V ′ ) ∪ X )] gibt, die von
Knoten in XAH zu Knoten in XBH führen.
Der Kompressionsschritt benötigt somit Zeit O(3k · km).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
141 / 207
Weitere algorithmische Techniken
Induktive Kompression
Induktive Kompression — Abschliessende Bemerkungen
Für Vertex Cover hat die Anwendung Induktiver Kompression keine
Verbesserung der bisher in der Vorlesung diskutierten Ergebnisse
gebracht, für Odd Cycle Cover war diese technik allerdings der
Schlüssel, um zu zeigen, dass Odd Cycle Cover fixed-parameter
tractable ist (Reed/Smith/Vetta, Operations Research Letters
32:299–301, 2004).
Ist für ein Problem eine Approximation mit konstantem
Approximationsfaktor bekannt, so kann das Problem gelöst werden,
indem der Kompressionsschritt einmal im Anschluss an die
Approximation angewendet wird.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
142 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen I — Idee
Intuition/Motivation
Viele auf allgemeinen Graphen NP-harte Probleme sind auf Bäumen
einfach zu lösen (z.B. Vertex Cover oder Dominating Set).
Idee: Wenn ein Graph sehr baumartig“ ist, dann sollten besagte Probleme
”
auf solcherlei Graphen einfacher zu lösen sein als auf allgemeinen Graphen.
Das Konzept der Baumzerlegung bietet ein formales Werkzeug zur
Ermittlung der Baumartigkeit“ eines Graphen.
”
Mithilfe der Baumzerlegung von Graphen lassen sich vermöge dynamischen
Programmierens Algorithmen für Graphprobleme auf Bäumen
verallgemeinern zu Algorithmen für Graphprobleme auf baumartigen
Graphen, d.h. Graphen mit beschränkter Baumweite“.
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
143 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen II — Definition
Definition
Sei G = (V , E ) ein Graph.
(i) Eine Baumzerlegung X von G ist ein Paar hT , {Xi | i ∈ V (T )}i,
wobei T ein Baum mit Knotenmenge V (T ) ist und Xi ⊆ V
(i ∈ V (T )), sodass:
S
• i∈V (T ) Xi = V ,
• ∀ Kanten {u, v } ∈ E ∃ i ∈ V (T ) : u ∈ Xi und v ∈ Xi ,
• ∀i, j, k ∈ V (T ) : Falls j auf dem (eindeutingen) Pfad zwischen i und k
in T liegt, so gilt Xi ∩ Xk ⊆ Xj .
Die Weite w (X ) der Baumzerlegung ist dann
max {|Xi | − 1}.
i∈V (T )
(ii) Die Baumweite w (G ) von G ist der minimale Wert k, sodass G eine
Baumzerlegung der Weite k besitzt.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
144 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen III — Beispiel
Beispiel: Ein Graph mit seiner zugehörigen Baumzerlegung:
c
h
c
d
b
i
d
b
b
a
d
d
b
e
e
h
a
e
g
g
h
d
e
i
h
f
e
g
f
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
145 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen IV — Bemerkungen
Bemerkungen:
Ein Baum hat Baumweite 1.
Je kleiner die Baumweite eines Graphen ist, desto baumartiger“ ist
”
er.
Die Knotenmengen Xi einer Baumzerlegung werden üblicherweise
Bag“ genannt.
”
Es gibt verschiedene äquivalente Definitionen von Baumzerlegungen.
Ein alternativer Zugang ergibt sich beispielsweise über sogenannte
partial k-trees“.
”
Die Ermittlung einer optimalen Baumzerlegung (d.h. einer
Baumzerlegung mit möglichst kleiner Baumweite) eines Graphen ist
ein NP-hartes Problem.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
146 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen V — Das Räuber-und-Gendarm-Spiel
Eine alternative Definition der Baumweite ergibt sich spielerisch“:
”
c
h
b
d
a
e
i
g
f
Die Baumweite eines Graphen ist die minimale Anzahl von Gendarmen, die
benötigt werden, um einen sich entlang der Graphkanten bewegenden
Räuber zu fangen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
147 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen VI —
Grundansatz baumzerlegungsbasierter Algorithmen
Typischerweise ergibt sich folgender Grundansatz zur Gewinnung von
(parametrisierten) Algorithmen für Probleme auf Graphen mit
beschränkter Baumweite.
Phase 1: Ermittle eine Baumzerlegung des Eingabegraphen.
Phase 2: Wende dynamisches Programmieren auf der Baumzerlegung
an.
Nachfolgend Konzentration i.w. auf Phase 2.
Die Komplexität des dynamischen Programmierens auf einer gegebenen
Baumzerlegung wächst exponentiell mit deren Baumweite; deshalb macht
dieser Ansatz nur für kleine Baumweiten Sinn!
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
148 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen VII —
Dynamisches Programmieren am Vertex Cover Beispiel
Satz
Für Graphen G mit Baumzerlegung X = hT , {Xi : i ∈ V (T )}i der
Weite w (X ) kann ein optimales Vertex Cover in O(2w (X ) · w (X ) · |V (T )|)
Zeit gefunden werden.
Beweis:
Für jedes Bag Xi teste brute force“ alle 2|Xi | Möglichkeiten für ein Vertex
”
Cover des Teilgraphen G [Xi ]. (Verwaltung dieser Berechnungen in
Tabellen Ai , i ∈ V (T )).
In einem 2. Schritt werden diese Tabellen gegeneinander abgeglichen (von
Blättern in T zur Wurzel hocharbeiten“).
”
So gelangt man von lokalen“ Lösungen auf den Graphen G [Xi ] zu einer
”
globalen“ Lösung auf G . Nachfolgend Details.
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
149 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen VIII —
Tabelle des Dynamisches Programmierens
Schritt 0: (Erstellen der Tabelle):
Für alle i ∈ V (T ) erstelle eine Tabelle Ai wie folgt:
Sei Xi = {x1 , . . . , xn }, d.h. |Xi | = n.
x1
0
0
x2
0
0
Ai =
1
1
1
1
···
···
···
..
.
..
.
...
...
xn−1
0
0
1
1
xn
0
1
0
1
m



















2n
Jede Zeile entspricht einer Färbung“, d.h.
”
C (i) : Xi = {x1 , . . . , xn } → {0, 1}.
Interpretation:
C (i) (x) = 0 : Knoten x nicht im Vertex Cover.
C (i) (x) = 1 : Knoten x im Vertex Cover.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
150 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen IX —
Tabelle des Dynamischen Programmierens
Interpretation der Tabelleneinträge m(C (i) ):
Für die Baumzerlegung hT , {Xi : i ∈ V (T )}i sei T (i) der im Knoten i
gewurzelte S
Teilbaum von T .
Sei V (i) = j∈T (i) Xj und sei G (i) = G [V (i) ] der durch die Knotenmenge
V (i) induzierte Teilgraph.
Dann soll der Tabelleneintrag m(C (i) ) von Ai folgenden Wert abspeichern:
Anzahl der Knoten, die ein minimales Vertex Cover für G (i) benötigen
würde, mit Knoten aus Xi entsprechend der Färbung C (i) , d.h.:
©
m(C (i) ) = min |V ′ | : V ′ ⊆ V (i) ist Vertex Cover für G (i) , sodass
∀v ∈ Xi : C (i) (v ) = 1 ⇒ v ∈ V ′ª∧
C (i) (v ) = 0 ⇒ v 6∈ V ′ .
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
151 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen X —
Dynamisches Programmieren: (un)gültige Färbungen
Natürlich muss nicht jede Färbung ein Vertex Cover zulassen“: Für C (i)
”
ist es möglich, dass kein Vertex Cover V ′ ⊆ V existiert, das die Bedingung
v ∈ V ′ für alle v ∈ Xi mit C (i) (v ) = 1 und
v∈
/ V ′ für alle v ∈ Xi mit C (i) (v ) = 0.
erfüllt. Eine solche Färbung heißt ungültig“.
”
Überprüfen von Färbungen auf Gültigkeit:
bool is valid (Färbung C (i) : Xi → {0, 1})
result = true;
for ({u, v } ∈ EG [Xi ] )
if (C (i) (u) = 0 ∧ C (i) (v ) = 0) then result = false;
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
152 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XI —
Initialisierung des Dynamischen Programmierens
Schritt 1 (Initialisierung der m-Werte):
Für alle i ∈ V (T ) und jede Färbung C (i) : Xi → {0, 1} setze
(¯
¯
¯{x ∈ Xi | C (i) (x) = 1 }¯ , falls (is valid (C (i) ))
(i)
m(C ) :=
+∞,
sonst.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
153 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XII —
Der Schritt des Dynamischen Programmierens
Schritt 2: (Dynamisches Programmieren):
Wir arbeiten uns im Baum T von den Blättern zur Wurzel nach oben und
gleichen“ die jeweiligen Tabellen Ai gegeneinander ab.
”
Sei j ∈ V (T ) der Elternknoten von i ∈ V (T ).
Wir zeigen, wie die Tabelle Aj für Xj durch die Tabelle Ai für Xi
aktualisiert“ wird.
”
Es sei:
Xi = {z1 , . . . , zs , u1 , . . . , uti }
Xj = {z1 , . . . , zs , v1 , . . . , vtj },
wobei Xi ∩ Xj = {z1 , . . . , zs }.
Dann sei die Färbung C (j) eingeschränkt auf Xi ∩ Xj gegeben durch
C (j) |Xi : {z1 , . . . , zs } → {0, 1}
mit C (j) |Xi (x) := C (j) (x) für x ∈ {z1 , . . . , zs }.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
154 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XIII —
Der Schritt des Dynamischen Programmierens
Für j ∈ V (T ) berechnen wir für jede Färbung C (j) : Xj → {0, 1} den
Tabelleneintrag m(C (j) ) wie folgt:
for each i ∈ V (T ) mit j als Elternknoten do
m(C (j) ) :=m(C (j) )
+ min{m(C (i) ) | C (i) : Xi → {0, 1} und C (i) |Xj = C (j) |Xi }
¯
¯
¯
¯
− ¯{ x ∈ Xi ∩ Xj | C (i) (x) = 1 }¯
Außerdem: Bilde Verzeigerung der Tabellen um später ein optimals Vertex
Cover berechnen zu können:
Setze für jedes Kind i von j einen Zeiger von C (j) zu dem C (i) mit m(C (i) )
minimal unter der Bedingung C (i) |Xj = C (j) |Xi .
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
155 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XIV —
Dynamisches Programmieren: Ziel
Schritt 3: (Konstruktion eines optimalen Vertex Covers):
Größe eines optimalen Vertex Covers ergibt sich aus dem Minimum der
Einträge der letzten Spalte der Tabelle Ar des Wurzelknotens r ∈ V (T ).
Rekonstruktion eines optimalen Vertex Covers durch Rückverfolgen der
Verzeigerungen möglich.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
156 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XV —
Dynamisches Programmieren: Korrektheit
Zur Korrektheit des Algorithmus:
S
a) Bedingung (1) einer Baumzerlegung (V = i∈V (T ) Xi )
⇒ jeder Knoten wird in Berechnung berücksichtigt.
b) Bedingung (2) einer Baumzerlegung (∀{u, v } ∈ E ∃i : u, v ∈ Xi )
⇒ nach Behandlung der ungültigen“ Färbungen (Schritt 0) werden
”
nur noch tatsächliche Vertex Cover berücksichtigt.
c) Bedingung (3) einer Baumzerlegung
⇒ Konsistenz“ des dynamischen Programmierens
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
157 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XVI —
Dynamisches Programmieren: Laufzeit
Zur Laufzeit des Algorithmus: Aktualisieren einer Tabelle Aj durch die
Tabelle Ai (bei vorherigem Sortieren der Tabelle Ai nach den m-Werten):
O(2|Xj | · |Xj |) = O(2w (X ) · w (X ))
Pro Kante e ∈ E (T ) im Baum T muss ein Abgleich zweier Tabellen
stattfinden.
Damit Gesamtlaufzeit
O(2w (X ) · w (X ) · |E (T )|) = O(2w (X ) · w (X ) · |V (T )|).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
158 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XVII —
Dynamisches Programmieren: Ergebnisse
Dynamisches Programmieren auf Baumzerlegungen ist ein sehr universeller
Ansatz:
Mitteilung
Für einen Graphen G mit gegebener Baumzerlegung
X = hT , {Xi : i ∈ V (T )}i kann
a) Vertex Cover in Zeit O(2w (X ) · w (X ) · |V (T )|),
b) Independent Set in Zeit O(2w (X ) · w (X ) · |V (T )|),
c) Dominating Set in Zeit O(4w (X ) · w (X ) · |V (T )|),
d) 3-Coloring in Zeit O(3w (X ) · w (X ) · |V (T )|)
gelöst werden.
Beachte: |V (T )| kann offensichtlich durch 2w (X ) beschränkt werden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
159 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XVIII —
Konstruktion von Baumzerlegungen
Nun noch kurz zur Konstruktion von Baumzerlegungen:
Mitteilung (Bodlaender)
Es gibt einen Algorithmus mit Laufzeit O(f (k) · n), welcher für einen
gegebenen Graphen mit n Knoten überprüft, ob er Baumweite höchstens k
besitzt. Falls ja, so liefert der Algorithmus darüber hinaus auch eine
zugehörige Baumzerlegung.
Bemerkung: Der konstante Faktor f (k) aus obiger Mitteilung ist sehr
3
groß: f (k) = 235k .
In der Praxis benutzt man sich deshalb Approximationen und Heuristiken.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
160 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XIX —
Baumweite und Problemparameter
Im parametrisierten Kontext“ hilft oft ein problemspezifischer
”
Zusammenhang zwischen Baumweite und Problemparameter:
Lemma
Es gilt w (G ) ≤ vc(G ), wobei vc(G ) = Größe eines minimalen
Vertex Covers in G ist.
Beweis: Sei is(G ) die Größe einer größten unabhängigen Menge
(independent set) in G .
Es gilt vc(G ) = n − is(G ), wobei n die Anzahl der Knoten von G ist.
Also: w (G ) ≤ vc(G ) ⇔ n − w (G ) ≥ n − vc(G ) ⇔ w (G ) ≤ n − is(G )
Sei I eine unabhängige Menge in G der Größe is(G ).
Dann können wir eine Baumzerlegung von G mit den bags V (G ) \ I und
N(v ) ∪ {v } für alle v ∈ I konstruieren. Diese Baumzerlegung hat Weite
|V (G ) \ I | = n − is(G ) = vc(G ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
161 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XX —
Baumweite und Problemparameter
Damit erhalten wir folgenden Algorithmus für Vertex Cover:
input: Graph G und Parameter k.
Überprüfe, ob w (G ) ≤ k (nach Bodlaender).
if (w (G ) > k) then
output ( Es gibt kein Vertex Cover ≤ k“)
”
else
Berechne Baumzerlegung X von G (nach Bodlaender).
Löse Vertex Cover durch dynamisches Programmieren auf X .
end
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
162 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XXI — Planare Graphen
Sei G ein ebener Graph, d.h. G ist ein planarer Graph mit einer gegebenen
Einbettung in die Ebene (so dass sich keine Kanten kreuzen).
Definiere Schichten L1 , . . . , Lr wie folgt:
i := 0;
while G nicht leer do
i := i + 1
Sei Li die Menge der Knoten in der äußeren Facette von G
G := G \ Li
endwhile
Auf diese Weise wird G in Schichten L1 , . . . , Lr zerlegt.
G heißt dann auch r -outerplanar
Beachte: G \ Li is unzusammenhängend, d.h. Li ist ein Separator.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
163 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XXII — Planare Graphen
Mitteilung (Albers, Bodlaender, Fernau, Kloks, Niedermeier)
Sei G eine ebener Graph mit n Knoten, der r -outerplanar ist.
Dann kann eine Baumzerlegung X = hT , {Xi : i ∈ V (T )}i für G mit
Weite w (X ) ≤ 3r und |V (T )| ∈ O(n) in Zeit O(r · n) berechnet werden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
164 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XXIII — Planare Graphen
Lemma
Seien Li1 , Li2 , . . . , Lik Schichten von G (i1 < i2 < · · · < ik ) mit |Lij | ≤ s für
alle 1 ≤ j ≤ k.
³S
´
k
L
Angenommen jede Zusammenhangskomponente von G \
i
j=1 j hat
Baumweite ≤ t.
Dann hat G Baumweite ≤ t + 2s.
Beweis: Sei Li0 = Lik+1 = ∅.
Sei Gj der Teilgraph von G “zwischen” den Schichten Lij und Lij+1 , d.h. Gj
entsteht durch Herausschneiden von Schicht Lij und Lij+1 (0 ≤ j ≤ k).
(j)
Sei Xj = hTj , {Xi : i ∈ V (Tj )}i eine Baumzerlegung für Gj der Weite
≤ t.
(j)
Füge zu jedem bag Xi die benachbarten Schichten Lij und Lij+1 hinzu
und verbinde benachbarte Bäume Tj und Tj+1 durch eine beliebige Kante.
Dies ergibt eine Baumzerlegung für G der Weite ≤ t + 2s.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
165 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XXIV — Planare Graphen
Vertex Cover für planare Graphen kann nun wie folgt gelöst werden:
Sei G ein ebener Graph und k ∈ N.
1 Berechne Problemkern G ′ der Größe 2k nach Nehmhauser/Trotter.
Beachte: G ′ ist wieder ein ebener Graph.
Der neue Parameterwert heiße wieder k.
2 Seien L , . . . , L die Schichten von G ′ . Falls r > k + 1, so hat G ′ kein
1
r
Vertex Cover der Größe k:
Denn in jeder Schicht Li mit i 6= r existiert eine Kante. Also muss
jedes Vertex Cover für G ′ aus jeder Schicht Li (i 6= 3) mindestens
einen Knoten enthalten. S
√
r
3 Sei nun r ≤ k + 1. Wegen
2k
i=1 |Li | ≤ 2k muss sich unter je
vielen aufeinanderfolgenden
Schichten mindestens eine Schicht der
√
Größe ≤ 2k befinden.
√
4 Finde Schichten L , . . . , L
≤
2k, so dass der Graph Gj
i1
iℓ der Größe
√
zwischen Lij und Lij+1 aus höchstens 2k Schichten besteht.
√
Beachte: Gj ist 2k-outerplanar.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
166 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XXV — Planare Graphen
5
6
(j)
Berechne Baumzerlegung
Xj = hTj , {Xi : i ∈ V (Tj )}i für Gj der
√
Weite w√(Xj ) ∈ O( k) mit |V (Tj )| ∈ O(Anzahl Knoten von Gj ) in
Zeit O( k · Anzahl Knoten von Gj ) (nach Mitteilung).
Kombiniere diese Baumzerlegungen zu einer Baumzerlegung
√
X = hT , {Xi : i ∈ V (T )}i für G ′ der Weite w (X ) ∈ O( k) mit
|V (T )| ∈ O(k) (nach Lemma).
Gesamter Zeitbedarf
√ für Schritt 1 bis 6:
O(|G | + k 3 ) + O( k · k) = O(|G | + k 3 )
Wende auf die so erhaltene Baumzerlegung dynamisches
√
√
√ Prog. an.
k)
w
(X
)
O(
· k · k) = 2O( k)
Zeitbedarf: O(2
· w (X ) · |V (T )|) = O(2
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
167 / 207
Weitere algorithmische Techniken
Baumzerlegungen
Baumzerlegungen XXVI —
Ergebnisse auf Planaren Graphen
Zusammenfassung
Vertex Cover kann auf planaren Graphen in O(|G |) + 2O(
gelöst werden.
√
k)
Zeit
Ähnlich zeigt √man: Dominating Set kann auf planaren Graphen in
O(|G |) + 4O( k) Zeit gelöst werden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
168 / 207
Weitere algorithmische Techniken
Minorentheorie
Minorentheorie I
Seien H und G Graphen.
H ist ein Minor von G (kurz H ≤m G ), falls man H aus G durch eine
endliche Folge von Operationen folgenden Typs erhalten kann:
Löschen einer Kante
Löschen eines Knoten (und aller benachbarten Kanten)
Kontrahieren einer Kante {u, v }. Dabei werden die beiden Knoten u
und v durch einen neuen Knoten w ersetzt, der mit allen Knoten aus
(N(u) ∪ N(v )) \ {u, v } durch eine Kante verbunden wird.
Minorensatz von Robertson und Seymour
Sei C eine Menge von endlichen Graphen, die unter Minorenbildung
abgeschlossen ist, d.h. ∀G ∈ C ∀H : H ≤m G ⇒ H ∈ C.
Dann gibt es eine endliche Menge von Graphen O (Obstruktionsmenge)
mit: G 6∈ C ⇔ ∃H ∈ O : H ≤m G .
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
169 / 207
Weitere algorithmische Techniken
Minorentheorie
Minorentheorie II
Beispiel. Sei C die Menge aller planaren Graphen. Dann besteht die
Obstruktionsmenge für C aus 2 Graphen: K5 und K3,3 .
Theorem
Es gibt eine Funktion f (k) mit:
Für einen Graphen G mit n Knoten und einen Graphen H mit k Knoten
kann in Zeit f (k) · n3 überprüft werden, ob H ≤m G gilt.
Konsequenz
Sei C eine beliebige Menge von Graphen, die unter Minorenbildung
abgeschlossen ist. Dann kann in Zeit O(n3 ) entschieden werden, ob ein
gegebener Graph G zu C gehört.
Beweis: Sei O = {H1 , . . . , Ht } die Obstruktionsmenge für C. Sei k die
maximale Anzahl von Knoten in einem der Graphen Hi .
Teste in Zeit t · f (k) · n3 ob einer der Graphen Hi ein Minor von G ist.
Wenn ja: G 6∈ C; wenn nein: G ∈ C
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
170 / 207
Weitere algorithmische Techniken
Minorentheorie
Minorentheorie III
“Anwendung” für Vertex Cover:
Sei k ∈ N.
Die Menge aller Graphen G , die ein Vertex Cover der Größe ≤ k haben ist
unter Minorenbildung abgeschlossen.
Sei Ok die Obstruktionsmenge für die Menge aller Graphen mit einem
Vertex Cover der Größe ≤ k.
Sei g (k) = |Ok | und h(k) = max{Anzahl Knoten von H | H ∈ Ok }.
Dann kann in Zeit O(g (k) · f (h(k)) · n3 ) für eine Graphen mit n Knoten
entschieden werden, ob er ein Vertex Cover der Größe ≤ k hat.
Bemerkung:
Obiger Algorithmus für Vertex Cover ist wesentlich schlechter als der
einfachste O(2k · |G |)-Suchbaumalgorithmus für Vertex Cover.
Der Minorensatz ist ein Hilfsmittel, um schnell zu zeigen, dass ein
Graphproblem in FPT ist. Er liefert aber keine praktikablen
Algorithmen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
171 / 207
Parametrisierte Komplexitätstheorie
Kapitel 6 — Parametrisierte Komplexitätstheorie
Überblick:
Parametrisierte Reduktionen
Parametrisierte Komplexitätsklassen
Vollständige Probleme und die W-Hierarchie
Strukturelle Ergebnisse
Bezüge zur klassischen Komplexitätstheorie
Bezüge zu Approximationsalgorithmen
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
172 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktion
Technisch schwieriger (da feiner“) als der in der klassischen
”
Komplexitätstheorie übliche Reduktionsbegriff.
Ohne Einschränkung sei der Parameter im folgenden aus N.
Definition: Parametrisierte Reduktion
Seien L, L′ ⊆ Σ∗ × N zwei parametrisierte Probleme über Σ. Wir sagen,
dass Φ : (x, k) 7→ (x ′ , k ′ ) eine parametrisierte Reduktion von L auf L′ ist,
wenn gilt:
1
2
3
(x ′ , k ′ ) = Φ(x, k) ⇒ ((x, k) ∈ L ⇔ (x ′ , k ′ ) ∈ L′ ).
Es gibt Funktion f : N → N mit: (x ′ , k ′ ) = Φ(x, k) ⇒ k ′ = f (k).
Der neue Parameter k ′ hängt nur vom alten Parameter k ab.
”
Reduktion ist parameter-erhaltend.“
Φ(x, k) ist in Zeit g (k) · |x|O(1) berechenbar für eine beliebige
Funktion g , die nur von k abhängt.
“Berechnung der Reduktion ist fixed-parameter tractable.”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
173 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel I
Wir betrachten nun die schon bekannten parametrisierten Versionen der
Graphprobleme Vertex Cover, Independent Set und Clique:
Reduktion von Independent Set auf Vertex Cover (und umgekehrt):
Ein Graph G mit n Knoten hat ein Independent Set der Größe ≥ k,
genau dann, wenn G ein Vertex Cover der Größe ≤ n − k hat.
Diese Reduktion (G , k) 7→ (G , n − k) ist keine parametrisierte Reduktion,
da sie nicht parameter-erhaltend ist: Der alte“ Parameter k wird durch
”
den neuen“ k ′ = n − k ersetzt, welcher also auch von der Eingabe G
”
selbst und nicht nur vom alten Parameter k abhängt.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
174 / 207
Parametrisierte Komplexitätstheorie
Parametrisierten Reduktionen — Beispiel II
Reduktion von Independent Set auf Clique (und umgekehrt):
Ein Graph G = (V , E ) mit n = |V | Knoten hat ein Independent Set
der Größe ≥ k, genau dann wenn der Komplementgraph
G = (V , V × V \ E ) eine Clique (d.h. einen vollständigen
Teilgraphen) der Größe k besitzt.
Hier handelt es sich um eine parametrisierte Reduktion. Sie ist
parameter-erhaltend, weil der neue“ Parameter k ′ gleich dem alten“
”
”
Parameter k ist. D.h. Independent Set und Clique sind im parametrisierten
Sinn gleich schwierig“.
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
175 / 207
Parametrisierte Komplexitätstheorie
Parametrisierten Reduktionen — Beispiel III
Set Cover
Gegeben: Grundmenge C und endliche Familie S = {S1 , S2 , . . . , Sn } von
Teilmengen aus C , d.h. Si ⊆ C , und eine natürliche Zahl k.
Frage: Gibt es ein Set Cover der Größe höchstens k in S, d.h. k Mengen
aus S, so dass jedes Element aus C in einer dieser Mengen enthalten ist?
Reduktion von Dominating Set auf Set Cover:
Übersetze einen Graphen G = (V , E ) in eine Menge C := V und eine
Menge
S := { {v } ∪ N(v ) | v ∈ V }.
Dann gilt: G hat ein Dominating Set der Größe ≤ k, genau dann wenn es
in S ein Set Cover der Größe ≤ k gibt.
Auch hier handelt es sich um eine parametrisierte Reduktion.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
176 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel IV
Im Kapitel 5.2 (Induktive/Iterative Kompression) haben wir das Odd Cycle
Cover Problem (im folgenden bezeichnet als Vertex Bipartization)
kennengelernt:
Vertex Bipartization
Gegeben: Graph G = (V , E ), positive ganze Zahl k.
Frage: Existiert eine Knotenüberdeckung der Größe ≤ k aller ungeraden
Zyklen?
Hier ein verwandtes Problem:
Edge Bipartization
Gegeben: Graph G = (V , E ), positive ganze Zahl k.
Frage: Existiert eine Kantenüberdeckung der Größe ≤ k aller ungeraden
Zyklen?
Eine Kantenüberdeckung aller ungeraden Zyklen ist eine Teilmenge E ′ ⊆ E
mit |E ′ | ≤ k, so dass jeder ungerade Zyklus eine Kante aus E ′ enthält.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
177 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel IV
Reduktion von Edge Bipartization auf Vertex Bipartization:
Ein Graph G = (V , E ) mit Parameter k lässt sich in Zeit O(|G |2 ) so
in einen Graphen G ′ = (V ′ , E ′ ) mit Parameter k ′ übersetzen, dass gilt
|V ′ | = (k + 1)|V | + 2|E |, |E ′ | = |E | + 2(k + 1)|E | ∈ O(k|E |), k ′ = k,
und
G hat eine Kantenüberdeckung der Größe k aller ungeraden Zyklen,
genau dann wenn G ′ eine Knotenüberdeckung der Größe k ′ aller
ungeraden Zyklen hat.
Beweis: siehe Tafel.
Hier handelt es sich um eine parametrisierte Reduktion.
Mit Hilfe dieser Reduktion können wir folgern, dass auch Edge
Bipartization fixed-parameter tractable ist:
Kapitel 5.2: Vertex Bipartization kann in Zeit O(3k · k · |V | · |E |) gelöst
werden.
à Edge Bipartization kann in Zeit O(|G |2 + 3k · k 2 · |E | · (k|V | + |E |))
gelöst werden.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
178 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel V
Wir betrachten eine parametrisierte Variante des SAT-Problems:
Weighted (3)CNF Sat
Gegeben: Aussagenlogische Formel F in konjunktiver Normalform (mit
Klauseln der Länge 3) und ein Parameter k ∈ N.
Frage: Existiert eine erfüllende Belegung vom Gewicht k, d.h. eine
Belegung, bei der genau k Variablen mit wahr“ belegt werden?
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
179 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel V
Betrachte die klassische Reduktion von SAT auf 3SAT:
Kernidee: Ersetze Klauseln der Form
(l1 ∨ . . . ∨ lm )
mit m > 3 durch einen Ausdruck der Form
(l1 ∨ l2 ∨ z1 ) ∧ (z 1 ∨ l3 ∨ z2 ) ∧ . . . (z m−4 ∨ lm−2 ∨ zm−3 ) ∧ (z m−3 ∨ lm−1 ∨ lm ).
Hier sind z1 , . . . , zm−3 neu eingeführte Variablen und l1 , . . . , lm sind
Literale (Variablen, oder negierte Variablen).
Korrektheit der Reduktion: Man sieht leicht: Die so entstehende 3CNF ist
genau dann erfüllbar, wenn die ursprüngliche CNF-Formel erfüllbar war.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
180 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel V
Ist diese Reduktion auch eine parametrisierte Reduktion von Weighted Sat
auf Weighted 3SAT?
Nein!!
Angenommen: ursprüngliche Sat-Formel hätte eine erfüllende Belegung mit
Gewicht k, welche genau ein Literal lj in der Klausel (l1 ∨ . . . ∨ lm ) wahr macht.
Um aber obigen 3CNF Ausdruck zu erfüllen, müssen alle Variablen z1 , . . . , zj−2
wahr“ sein.
”
⇒ das Gewicht der erfüllenden Belegung ändert sich: Gewicht wird für diese
Klausel um j − 2 größer!
Entgegen der Definition parametrisierter Reduktion hinge damit der Wert
des neuen“ Parameters nicht nur vom alten“ ab, sondern auch von der
”
”
Struktur der alten Formel (Klauselgrößen,...).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
181 / 207
Parametrisierte Komplexitätstheorie
Parametrisierten Reduktionen — Beispiel VI
Eine weitere Parametrisierte Variante des SAT-Problems:
Weighted Monotone CNF Sat
Gegeben: Monotone aussagenlogische Formel F in konjunktiver
Normalform (d.h. Formel beinhaltet keine Negationssymbole) und ein
Parameter k ∈ N.
Frage: Existiert eine erfüllende Belegung vom Gewicht k, d.h. eine
Belegung, bei der genau k Variablen mit wahr“ belegt werden?
”
Weighted Binary Integer Programming
−
→
Gegeben: Eine Matrix A und ein Vektor b mit Einträgen aus {0, 1} und
ein Parameter k ∈ N.
−
→
→
Frage: Hat A · −
x ≥ b einen Lösungsvektor über {0, 1}, der aus genau k
Einsen besteht?
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
182 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel VI
Reduktion von Weighted Monotone CNF SAT auf Weighted Binary Integer
Programming:
Lemma
Es existiert eine parametrisierte Reduktion von Weighted Monotone CNF
SAT auf Weighted Binary Integer Programming.
Gegeben sei die monotone CNF-Formel F = C1 ∧ . . . ∧ Cp , wobei
C1 , . . . , Cp Klauseln sind, die aus den Variablen x1 , . . . , xm bestehen.
Definiere die Binärmatrix A = (aij )1≤i≤p,1≤j≤m durch
½
1 falls xj ∈ Ci
aij :=
0 falls xj ∈
/ Ci .
−
→
Sei b der nur aus Einsen bestehende p-dimensionale Vektor. Dann gilt:
−
→
→
→
A·−
x ≥ b hat einen Lösungsvektor −
x vom Gewicht k ⇔
F hat eine erfüllende Belegung vom Gewicht k.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
183 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel VII
Folgendes Problem ist in der klassischen Komplexitätstheorie “das”
NP-vollständige Referenzproblem:
Turing Machine Acceptance
Gegeben: Eine nichtdeterministische Turingmaschine M, ein
Eingabewort x für M und eine unär (d.h. über einem einelementigen
Alphabet) kodierte Zahl m.
Frage: Besitzt M auf Eingabe x einen akzeptierenden Berechnungspfad
der Länge ≤ m?
In der parametrisierten Welt“ gibt es folgendes Analogon:
”
Short Turing Machine Acceptance
Gegeben: Eine nichtdeterministische Turingmaschine M, ein
Eingabewort x für M und ein Parameter k ∈ N.
Frage: Besitzt M auf Eingabe x einen akzeptierenden Berechnungspfad
der Länge ≤ k?
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
184 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel VII
Reduktion von Independent Set auf Short Turing Machine Acceptance:
Übersetze einen Graphen G = (V , E ) mit Parameter k in eine
nichtdeterministische Turingmaschine
M, die k Knoten aus V rät (in
¡ ¢
k Schritten) und in O(k k2 ) Schritten überprüft, ob die geratenen
Knoten ein Independent Set bilden.
Dann gilt: G hat ein Independent Set der Größe k, genau dann wenn
¡ ¢
M einen akzeptierenden Berechnungspfad der Länge k ′ := k + ck k2
für Konstante c hat.
Hier handelt es sich um eine parametrisierte Reduktion. Damit ist Short
Turing Machine Acceptance im parametrisierten Sinn “mindestens so
schwer” wie Independent Set.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
185 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Reduktionen — Beispiel VII
Reduktion von Dominating Set auf Short Turing Machine Acceptance:
Übersetze einen Graphen G = (V , E ) mit Parameter k in eine
nichtdeterministische Turingmaschine M, die k Knoten aus V rät (in
k Schritten) und für jeden Knoten aus V (in insgesamt O(k|V |)
Schritten) prüft, ob er von einem der geratenen Knoten “dominiert”
wird, d.h., ob er selbst oder einer seiner Nachbarn zu den geratenen
Knoten gehören.
Dann gilt: G hat ein Dominating Set der Größe k, genau dann wenn
M einen akzeptierenden Berechnungspfad der Länge k ′ := k + ck|V |
für Konstante c hat.
Hier handelt es sich nicht um eine parametrisierte Reduktion. In der Tat ist
keine parametrisierten Reduktion von Dominating Set auf Short Turing
Machine Acceptance bekannt.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
186 / 207
Parametrisierte Komplexitätstheorie
Abschlussbemerkung: parametrisierte Reduktionen
• Es ist eher die Ausnahme als die Regel, dass klassische Reduktionen“
”
auch als parametrisierte Reduktionen taugen; letztere erfordern in der
Regel größere Sorgfalt und mehr technischen Aufwand.
• Sollte sich erweisen“, dass irgendein parametrisiertes Problem nicht
”
in FPT liegt, so darf“ es keine parametrisierte Reduktion von diesem
”
Problem auf z.B. Vertex Cover oder irgendein anderes Problem in
FPT geben.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
187 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Boolesche Schaltnetze
Definition Boolsches Schaltnetz
1
Ein Boolesches Schaltnetz C ist ein gerichter, azyklischer Graph, bei dem die
Knoten als Gatter bezeichnet werden. Außerdem wird jedem Gatter eine
aussagenlogische Funktion (Und, Oder, Negation) oder eine
Eingabevariable zugeordnet. Schließlich gibt es noch ein ausgezeichnetes
Gatter, das die Ausgabe des Schaltnetzes bestimmt.
2
Kleine Gatter von C sind Gatter, wobei der Eingangsgrad durch eine feste
Konstante (z. B. 2) beschränkt ist. Große Gatter von C sind Gatter mit
unbeschränktem Eingangsgrad.
3
Die Tiefe von C ist die maximale Anzahl von Und- und Oder-Gattern auf
einem Eingabe-Ausgabe-Pfad. Die Weft von C ist die maximale Anzahl von
großen Und- und Oder-Gattern auf einem Eingabe-Ausgabe-Pfad in C .
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
188 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Beispiel eines Schaltnetzes
Schaltnetz mit Weft 2 und Tiefe 4:
x1
x2
x3
x4
x5
Klein (fuer Konstante c=2)
Gross (fuer Konstante c=2)
Ausgabe
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
189 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Die Klassen W[t]
Weighted (t, h)-Circuit Sat
Weighted (t, h)-Circuit Sat ist das folgende parametrisierte Problem:
Gegeben: Ein Boolesches Schaltnetz C der Tiefe h und Weft t sowie eine
Zahl k (der Parameter)
Frage: Existiert eine erfüllende Belegung der Eingabegatter von C vom
Gewicht k, d.h. eine Belegung, bei der genau k Eingabegatter mit wahr“
”
belegt werden?
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
190 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Die Klassen W[t]
Definition Komplexitätsklasse W [t]
Ein parametrisiertes Problem L gehört zur Komplexitätsklasse W [t], t ≥ 1,
genau dann, wenn es ein h gibt, so dass L mittels einer parametrisierten
Reduktion auf Weighted (t, h)-Circuit Sat reduziert werden kann.
Beispiel:
Weighted CNF Sat gehört zu W [2].
Weighted 2CNF Sat gehört zu W [1].
Allgemeiner: Für jedes feste q gehört Weighted qCNF Sat zu W [1].
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
191 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Probleme in W[1]
1. Independent Set und Clique sind in W [1]:
Beobachtung:
Ein Graph G = (V , E ) mit V = {1, 2, . . .} hat ein Independent Set
der Größe k.
⇔
Nachfolgende Formel hat eine erfüllende Belegung vom Gewicht k:
^
(x i ∨ x j ).
{i,j}∈E
Obige Formel ist in 2CNF.
Somit ist sie durch ein Boolesches Schaltnetz der Tiefe 2 und Weft 1
beschreibar
Also ist Independent Set in W [1].
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
192 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Probleme in W[2]
2. Dominating Set ist in W [2]:
Beobachtung:
Ein Graph G = (V , E ) mit V = {1, 2, . . .} hat eine Dominating Set
der Größe k.
⇔
Nachfolgende Formel hat eine erfüllende Belegung vom Gewicht k
(dabei seien N(i) die Nachbarknoten von i):
^
¢
¡
xi ∨ xi1 ∨ . . . ∨ xij .
i ∈ V,
N(i) = {i1 , . . . , ij }
Obige Formel ist durch ein Boolesches Schaltnetz der Tiefe 2 und
Weft 2 beschreibar
Also ist Independent Set in W [2].
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
193 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Vereinfachte Charakterisierung von W[1]
Definition
1 Ein Schaltnetz ist s-normalisiert, falls es (i) Tiefe 2 hat, (ii) in Tiefe 1
(von den Eingabegattern aus gemessen) sich nur Oder-Gatter mit
Eingangsgrad höchstens s befinden und (iii) in Tiefe 2 ein einziges,
großes Und-Gatter ist.
W [1, s] ist die Menge aller Probleme, die mittels einer
parametrisierten Reduktion auf Weighted (1, 2)-Circuit Sat,
eingeschränkt auf s-normalisierte Schaltkreise, reduziert werden
können.
2
Ein Schaltnetz heiße antimonoton, falls alle Eingabevariablen negiert
in das Schaltnetz gegeben werden.
Antimonotone W [1, s] ist die Einschränkung von W [1, s] auf
antimonotone Schaltnetze.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
194 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Vereinfachte Charakterisierung von W[1]
Mit großem technischen Aufwand ergibt sich:
Mitteilung
Es gelten folgende Aussagen:
S
1. W [1] = ∞
s=1 W [1, s] = W [1, 2].
2. W [1, s] = Antimonontone W [1, s] für s ≥ 2.
Mithilfe dieser Mitteilung lassen sich nun vereinfacht
W[1]-Vollständigkeitsbeweise führen:
Es genügt die Reduktion von Weighted Antimonotone 2CNF Sat!
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
195 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Härte und Vollständigkeit
Analog zur NP-Härte und NP-Vollständigkeit, erhalten wir entsprechende
Konzepte in der “parametrisierten Welt”:
W[t]-Härte
Ein parametrisiertes Problem L ist W[t]-hart, für ein t ≥ 1, genau dann
wenn sich alle Probleme in W[t] mittels einer parametrisierten Reduktion
auf L zurückführen lassen.
W[t]-Vollständigkeit
Ein parametrisiertes Problem L ist W[t]-vollständig, für ein t ≥ 1, genau
dann wenn L W[t]-hart ist und zu W[t] gehört.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
196 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
W[1]-vollständige Probleme I
Satz
Folgende Probleme sind W [1]-vollständig:
• Independent Set.
• Clique.
• Weighted qCNF Sat für konstantes q ≥ 2.
• Short Turing Machine Acceptance.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
197 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
W[1]-vollständige Probleme II
a) Independent Set:
Beweis durch Reduktion von Weighted Antimonotone 2CNF Sat auf
Independent Set. Sei F eine antimonotone Formel in 2CNF. Wir
konstruieren Graphen GF , bei welchem jeder Variablen in F ein
Knoten in GF und jeder Klausel einer Kante entspricht. Dann gilt:
F hat eine erfüllende Belegung vom Gewicht k.
⇔
GF hat eine Independent Set der Größe k.
b) Clique:
Parametrisierte Äquivalenz zu Independent Set bereits gezeigt.
c) Weighted qCNF Sat für konstantes q ≥ 2.:
folgt direkt aus obiger Mitteilung, dass W [1] = W [1, 2].
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
198 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
W[1]-vollständige Probleme III
d) Short Turing Machine Acceptance:
Reduziere (parametrisiert!) Independent Set auf Short Turing
Machine Acceptance (wie als Beispiel zu Parametrisierten
Reduktionen schon gesehen!).
Wichtig: Zu konstruierende TM darf ein unbeschränktes
Eingabealphabet haben! Short Turing Machine Acceptance mit
beschränktem (d.h. konstant großem) Eingabealphabet liegt in FPT.
¤
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
199 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
W[2]-vollständige Probleme
Mitteilung
Folgende Probleme sind W [2]-vollständig:
• Weighted CNF Sat.
• Dominating Set.
• Set Cover.
• Short Multi-Tape Turing Machine Acceptance.
Hierbei ist:
Short Multi-Tape Turing Machine Acceptance
Gegeben: Eine nichtdeterministische Mehrband-Turingmaschine M, ein
Eingabewort x für M und ein Parameter k ∈ N.
Frage: Besitzt M auf Eingabe x einen akzeptierenden Berechnungspfad
der Länge ≤ k?
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
200 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
W[t]-vollständige Probleme
Bezeichnen wir Und-Verknüpfungen als logisches “Produkt” und
Oder-Verknüpfungen als logische “Summe”.
Definition
Eine aussagenlogische Formel heißt t-normalisiert, falls sie von der Form
Produkt-von-Summen-von-Produkten-von-...“ von Literalen ist mit t − 1
”
Alternierungen.
Beispiel: CNF ist 2-normalisiert.
Dann frägt Weighted t-normalized Sat nach einer erfüllenden Belegung
von Gewicht k für eine gegebene t-normalisierte aussagenlogische Formel.
Mitteilung
Weighted t-normalized Sat ist W [t]-vollständig für t ≥ 2.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
201 / 207
Parametrisierte Komplexitätstheorie
Parametrisierte Komplexitätsklassen —
Die W-Hierarchie
Definition
Die W -Hierarchie besteht aus allen Klassen W [t], t ≥ 1, zusammen mit
den zwei zusätzlichen Klassen W [Sat] und W [P], die analog zu den
W [t]-Klassen definiert sind, nur dass bei W [P] keine Beschränkung der
Schaltnetztiefe besteht und bei W [Sat] aussagenlogische Formeln
polynomieller Größe (anstelle von Schaltnetzen polynomieller Größe wie
bei W [P]) verwendet werden. Somit haben wir
FPT ⊆ W [1] ⊆ W [2] ⊆ . . . ⊆ W [Sat] ⊆ W [P].
Vermutung: Alle Inklusionen echt.
Es gilt: Aus P = NP folgt W [P] =FPT. Gültigkeit der Umkehrung
dieser Aussage nicht bekannt.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
202 / 207
Parametrisierte Komplexitätstheorie
Beispiel I — Weighted 2CNF Sat
Weighted 2CNF Sat
Gegeben: Aussagenlogische Formel F in 2-konjunktiver Normalform,
positive ganze Zahl k.
Frage: Gibt es erfüllende Belegung für F von Gewicht k?
Weighted 2CNF Sat ist zentrales W[1]-vollständiges Problem.
Die folgenden Beobachtungen sollen eine Idee davon geben, was dieses
Problem im parametrisierten Sinn schwierig macht.
Vergleich 1: Parametrisiert vs. nicht-parametrisiert.
Nicht-Parametrisiert:
Parametrisiert:
Sowohl Weighted 3CNF Sat als auch
3CNF Sat ist NP-hart und 2CNF Sat
Weighted 2CNF Sat sind
ist polynomzeitlösbar.
W[1]-vollständig.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
203 / 207
Parametrisierte Komplexitätstheorie
Beispiel I — Weighted 2CNF Sat
Vergleich 2: Monoton vs. antimonoton.
Eine aussagenlogische Formel F heißt monoton wenn alle Literale positiv
sind, sie heißt antimonoton wenn alle Literale negiert sind.
Für die resultierenden Spezialfälle von Weighted 2CNF Sat gilt:
Weighted Monotone 2CNF Sat ist
fixed-parameter tractable.
Weighted Antimonotone 2CNF Sat
ist W[1]-vollständig.
Einfach zu zeigen, dass Weighted
Monotone 2CNF Sat äquivalent zu
Vertex Cover.
Einfach zu zeigen, dass Weighted
Monotone 2CNF Sat äquivalent zu
Independent Set.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
204 / 207
Parametrisierte Komplexitätstheorie
Beispiel I — Weighted 2CNF Sat
Vergleich 3: Exaktheit.
Gegeben: Aussagenlogische Formel F in 2-konjunktiver Normalform,
positive ganze Zahl k.
Frage: Hat F eine erfüllende Belegung von Gewicht...
Frage 1: ...höchstens k?
Frage 2: ...exakt k?
Frage 1 ist fixed-par. tractable.
Frage 2 ist W[1]-vollständig.
Suchbaumalgorithmus 2CNF(F ,k), der Frage 1 löst:
if F enthält eine Klausel (x ∨ y ) mit zwei positiven Literalen then
if k > 0 then
F ′ := F [x := wahr]; 2CNF(F ′ ,k − 1);
F ′′ := F [y := wahr]; 2CNF(F ′′ ,k − 1);
end if
else
/* Lösung!*/
Setze verbliebene Variablen auf falsch; Stop;
end if
return;
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
205 / 207
Parametrisierte Komplexitätstheorie
Beispiel II: Longest Common Subsequence
Longest Common Subsequence Problem (LCS)
Gegeben: k Zeichenketten X1 , . . . , Xk über einem Alphabet Σ und m ∈ N.
Frage: Existiert X ∈ Σ∗ mit |X | ≥ m, sodass X Teilsequenz (nicht
Teilzeichenkette!) aller Xi ist?
Im folgenden zeigen wir verschiedene Parametrisierungsmöglichkeiten und
damit verbundene verschiedene parametrisierte Komplexitäten dieses
Problems auf.
LCS findet Anwendung z.B. in der algorithmischen Biologie (Multiple
Sequence Alignement).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
206 / 207
Parametrisierte Komplexitätstheorie
Beispiel II: Longest Common Subsequence
LCS1: Nur k als Parameter.
LCS2: Nur m als Parameter.
LCS3: k und m als Parameter.
Der gegenwärtige Kenntnisstand über die parametrisierte Komplexität
dieser Varianten lässt sich folgender Tabelle entnehmen:
Problem
LCS1
LCS2
LCS3
Parameter
k
m
k, m
Markus Lohrey (Univ. Halle-Wittenberg)
|Σ| unbeschränkt
W [t]-hart für alle t ≥ 1
W [2]-hart
W [1]-vollständig
Parametrisierte Algorithmen
|Σ| beschränkt
W [1]-hart
FPT
FPT
Sommersemester 2006
207 / 207
Parametrisierte Komplexitätstheorie
Bezüge zur klassischen Komplexitätstheorie I
Einige Indizien sprechen für die Echtheit“ der W-Hierarchie und
”
insbesondere die Hartnäckigkeit von W [1]-harten Problemen.
Fundamentale Hypothese der parametrisierten Komplexitätstheorie ist die
Ungleichheit
W [1] 6= FPT.
Eine weitere Hypothese ist beispielsweise
W [1] 6= W [2].
Da es beim gegenwärtigen Stand der Forschung als recht hoffnungslos gilt,
eine Aussage wie W [1] 6= FPT zeigen zu können, geht man über zu
relativen Aussagen“.
”
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
208 / 207
Parametrisierte Komplexitätstheorie
Bezüge zur klassischen Komplexitätstheorie II
Leider ist keine derart starke (relative) Aussage wie etwa
W [P] = FPT ⇒ P = NP
bekannt. Deshalb Übergang schwächeren Aussagen“ — Konzept des
”
beschränkten Nichtdeterminismus“.
”
Definition
1 NP[f (n)] bezeichne die Klasse von Entscheidungsproblemen, die in
polynomieller Zeit von einer nichtdeterministischen Turingmaschine
gelöst werden können, welche nur f (n) viele nichtdeterministische
Schritte erlaubt.
2
SUBEXPTIME [f (n)] bezeichne die Klasse von Sprachen, die von
einer deterministischen Turingmaschine in Zeit nO(1) · 2g (n) für ein g
in o(f (n)) akzeptiert werden können.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
209 / 207
Parametrisierte Komplexitätstheorie
Bezüge zur klassischen Komplexitätstheorie III
Mitteilung
Folgende Aussagen sind äquivalent:
(i) W [P] =FPT.
(ii) Es gilt NP[f (n)] ⊆ SUBEXPTIME [f (n)] für alle in Polynomzeit
berechenbaren Funktionen f (n) mit f (n) ≥ log n.
Anschauliche Deutung für (ii): Für jedes NP[f (n)]-Problem kann ein
deterministischer Algorithmus gefunden werden, welcher mit deutlich
weniger Schritten auskommt, als der Ansatz, welcher alle exponentiell
vielen Möglichkeiten durchprobiert.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
210 / 207
Parametrisierte Komplexitätstheorie
Bezüge zur klassischen Komplexitätstheorie IV
Mitteilung
W [1] =FPT ⇒ 3CNF Sat in Zeit 2o(n) lösbar, wobei n die Zahl der
Variablen angibt.
Bislang bester Algorithmus für 3CNF Sat hat Laufzeit
≈ 1.5n = 2O(n) 6= 2o(n) .
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
211 / 207
Parametrisierte Komplexitätstheorie
Bezüge zur Approximation I
Terminologie:
Sei Q ein Optimierungsproblem,
fQ (x, y ) der Wert der Zielfunktion des Problems Q für eine Ausgabe y bei
Eingabe x, und
optQ (x) der bestmögliche Wert der Zielfunktion auf Eingabe x.
Bsp: Bei Q = Vertex Cover als Maximierungsproblem gibt fQ (G , V ′ ), für einen
Graphen G , die Größe eines Vertex Covers V ′ von G an, und optQ (G ) gibt die
Größe eines größtmöglichen Vertex Covers von G an.
ǫ-Approximationsalgorithmus
Ein Optimierungsproblem Q hat einen ǫ-Approximations- algorithmus, falls
es einen Algorithmus mit polynomieller Laufzeit gibt, der für eine
Eingabe x eine Ausgabe y berechnet, so dass
|fQ (x, y ) − optQ (x)|
≤ ǫ.
max{fQ (x, y ), optQ (x)}
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
212 / 207
Parametrisierte Komplexitätstheorie
Bezüge zur Approximation II
Polynomial-Time Approximation Scheme (PTAS)
Ein Optimierungsproblem hat ein Polynomzeit-Approximationsschema,
wenn es für jedes ǫ > 0 einen ǫ-Approximationsalgorithmus gibt.
Bsp: Bin Packing (NP-vollständig) besitzt ein PTAS mit Laufzeit O(n1/ǫ ).
Efficient Polynomial-Time Approximation Scheme (EPTAS)
Ein PTAS mit Laufzeit f (1/ǫ) · poly(|x|) für bel. Funktion f nennen wir
effizientes Polynomzeit-Approximationsschema.
Fully Polynomial-Time Approximation Scheme (FPTAS)
Ein PTAS, dessen Laufzeit polynomiell bezüglich |x| und bezüglich 1/ǫ ist,
nennen wir volles Polynomzeit-Approximationsschema.
Bsp: Knapsack (NP-vollständig) besitzt ein FPTAS mit Laufzeit O(n3 /ǫ).
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
213 / 207
Parametrisierte Komplexitätstheorie
Bezüge zur Approximation III
Approximationswelt
Parameterisierte Welt
APX-hart
W[1]-hard
APX
W[1]
PTAS
?
FPT
APX-Härte = (informell) Es ist NP-hart, eine ǫ-Approximation für eine
Konstante ǫ zu berechnen.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
214 / 207
Parametrisierte Komplexitätstheorie
Bezüge zur Approximation IV
Satz
Falls ein Optimierungsproblem ein EPTAS besitzt, dann ist die
parametrisierte Version des Problems in FPT.
Beweis: Sei o.B.d.A. Q ein Maximierungsproblem, das ein EPTAS besitzt, und
sei x eine Eingabe von Q.
1
Wähle ǫ = 2k
. Weil Q ein EPTAS besitzt, gibt es Algorithmus, der Ausgabe y
für Q berechnet, so dass
maxQ (x) − fQ (x, y )
1
≤ǫ=
maxQ (x)
2k
Mit ǫ =
1
2k
⇔
fQ (x, y )
1
≥1−
.
maxQ (x)
2k
ist der Algorithmus also ein parametrisierter Algorithmus:
Fall maxQ (x) ≥ k: Dann auch fQ (x, y ) ≥ k − 12 . Da fQ (x, y ) ganzzahlig, gilt
fQ (x, y ) ≥ k.
Fall maxQ (x) < k: Da fQ (x, y ) < maxQ (x), gilt fQ (x, y ) < k.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
215 / 207
Parametrisierte Komplexitätstheorie
Bezüge zur Approximation V
Es besteht kein direkter Zusammenhang zwischen der Existenz eines PTAS
und der Mitgliedschaft eines Problems in FPT, wie folgende Beispiele
belegen:
FPT
PTAS
Vertex Cover
ja
“nein,”
APX-hart
Closest String
ja
ja
Distinguishing Substring
Selection
“nein,”
W[1]-hart
ja
Hierbei ist Distinguishing Substring Selection eine Verallgemeinerung von Closest String.
Markus Lohrey (Univ. Halle-Wittenberg)
Parametrisierte Algorithmen
Sommersemester 2006
216 / 207
Herunterladen