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