Parametrisierte Algorithmen
|
|
|
- Käte Goldschmidt
- vor 10 Jahren
- Abrufe
Transkript
1 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 / 207
2 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 / 207
3 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 / 207
4 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 / 207
5 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 ( n k) vielen Teilmengen der Größe k betrachten werden. Zeitaufwand: ( n k) G O(nk G ) Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
6 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 / 207
7 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 / 207
8 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 = 1 2 C. Jedes Vertex Cover C muss entweder u oder v enthalten (für alle {u, v} F). Also: C 1 2 C, d.h. C 2 C Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
9 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) und Bar-Yehuda/Even (1985) zeigen Approximation mit Faktor ( 2 log log n 2log n Håstad (1997): Kein besserer Approximationsalgorithmus als mit Faktor , es sei denn P = NP. ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
10 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), 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 / 207
11 Einführendes Beispiel: Vertex Cover Suchbaum für Vertex Cover II Der so konstruierte Suchbaum hat höchstens 2 k viele Knoten. Für jeden Knoten verbrauchen wir Zeit O( G ). Satz Vertex Cover kann in Zeit O(2 k 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(n k G ) (Brute-Force Ansatz) Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
12 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 / 207
13 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 k beschränkt werden kann. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
14 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 / 207
15 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 / 207
16 Einführendes Beispiel: Vertex Cover Variationen zu Vertex Cover III Untere Schranken Kann Vertex Cover in Zeit (1 + ǫ) k n O(1) gelöst werden für beliebiges ǫ > 0 oder gibt es minimalen ǫ-wert? Kann Vertex Cover auf allgemeinen Graphen in Zeit 2 o(k) n O(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 / 207
17 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 / 207
18 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(n 3 ) (Wortlänge n). Matrixmultiplikation für n n-matrizen mittels Standardmethode: O(n 3 ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
19 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 / 207
20 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 / 207
21 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 / 207
22 Grundlegende Definitionen / Standortbestimmung Polynomielle versus exponentielle Laufzeiten Vergleich zwischen exponentiellen und polynomiellen Laufzeiten: Angaben beziehen sich auf n = 50 und einen Rechner, welcher mit 10 8 Operationen pro Sekunde arbeite. Polynomiell Exponentiell Komplexität Laufzeit Komplexität Laufzeit n 2 25 µsec 1.5 n 6.3 sec n msec 2 n 130 Tage n sec 3 n Jahre Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
23 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 / 207
24 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 / 207
25 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 / 207
26 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(n k ) solche Teilmengen, falls n die Anzahl der Knoten ist. Somit lassen sich alle 3 Graphproblem in Zeit O(n k G ) lösen. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
27 Grundlegende Definitionen / Standortbestimmung Leitbild für parametrisierte Algorithmen k n statt 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 / 207
28 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) n c 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 / 207
29 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 / 207
30 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 n k /2 k : n = 50 n=150 k= k= k= 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 / 207
31 Grundlegende Definitionen / Standortbestimmung Suchbaumgrößen für Vertex Cover Mitteilung Für Vertex Cover läßt sich die Suchbaumgröße von 2 k bis auf etwa 1.28 k (und noch etwas mehr) verkleinern. Die Verkleinerung von Suchbaumgrößen ist sehr wichtig vergleichen wir obige Größen durch Betrachtung des Quotienten 2 k /1.28 k 1.56 k : k k Kleine Änderungen in exponentieller Basis zeigen große Wirkung! Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
32 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 / 207
33 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 / 207
34 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 / 207
35 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 F 1 ) (x F 2 ). Ersetze diese beiden Klauseln durch die Klausel (F 1 F 2 ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
36 Datenreduktion / Problemkernreduktion Reduktion auf einen Problemkern Definition: Problemkern, Problemkernreduktion Sei L ein parametrisiertes Problem mit Eingabeinstanzen (x, k). Eine Ersetzung Φ : (x, k) (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 / 207
37 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 / 207
38 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 F s und F l, d.h. F = F s F l, wobei F s aus allen Klauseln mit weniger als k Literalen und F l aus allen Klauseln mit mindestens k Literalen besteht. Sei L die Zahl der Klauseln in F l. 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 / 207
39 Datenreduktion / Problemkernreduktion Problemkernreduktion für Maximum Satisfiability III Beobachtung 3: (F s, k L) ist ein Problemkern. F s besteht aus höchstens K L K < 2k Klauseln, von denen jede aus weniger als k Literalen besteht. Damit besteht F s aus weniger als 2k k = 2k 2 Literalen. Wir müssen noch zeigen: Es sind k L Klauseln in F s erfüllbar Es sind k Klauseln in F erfüllbar : klar : Um k L Klauseln in F s zu erfüllen, müssen höchstens k L Variablen belegt werden. Setzt man diese k L Wahrheitswerte in F l 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 / 207
40 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 / 207
41 Datenreduktion / Problemkernreduktion Beispiel Vertex Cover: Der Algorithmus von Buss 1 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 2 if (resultierender Graph hat mehr als k k Kanten) then VC der Größe k; exit; 3 Wende Suchbaumalgorithmus für VC auf verbleibenden Graph mit Parameterwert k an Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
42 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 / 207
43 Datenreduktion / Problemkernreduktion Zeitkomplexität des Algorithmus von Buss Zeitkomplexität des Algorithmus von Buss ist wobei G = (V,E). O( G + 2 k k 2 ), Term G entspricht Zeitkomplexität der Schritte 1 und 2. Term 2 k 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 + 2 k k 2 ) gelöst werden. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
44 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 C 0, V 0 V berechnen, die folgende Eigenschaften erfüllen: (i) Falls eine Menge D V 0 ein Vertex Cover für den durch V 0 induzierten Teilgraphen G[V 0 ] von G ist, so ist C := D C 0 ein Vertex Cover von G. (ii) Es gibt ein optimales Vertex Cover C von G mit C 0 C. (iii) Ein optimales Vertex Cover von G[V 0 ] hat mindestens V 0 /2 viele Knoten. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
45 Datenreduktion / Problemkernreduktion Das Nemhauser-Trotter-Theorem Folgerung 1 Seien C 0 und V 0 die Knotenmengen aus dem NT-Theorem. Dann gilt: D V 0 ist opt. VC für G[V 0 ] D C 0 ist opt. VC für G. Beweis: Sei D V 0 ein optimales VC für G[V 0 ]. (i) aus dem NT-Theorem D C 0 ist ein VC für G. Sei C ein optimales VC von G mit C 0 C (existiert nach (ii) aus NT-Theorem). Sei U := C \ C 0. C 0 V 0 = U V 0 ist VC von G[V 0 ] U D. C = C 0 + U C 0 + D = D C 0 Also: D C 0 ist optimales VC von G. Folgerung 2 G hat ein VC der Größe k ( V 0 2k und G[V 0 ] hat ein VC der Größe k C 0 ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
46 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. Probleminstanz (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 / 207
47 Datenreduktion / Problemkernreduktion NT-Theorem: Berechnung von C 0 und V 0 Sei V := {v v V } eine Kopie von V, V V =. Algorithmus zur Berechnung von C 0 und V 0 : Eingabe: G = (V,E). Phase 1: Definiere bipartiten Graph (*) B = (V V, E B ) mit Kantenmenge E B := {{x, y } {x, y} E}. Phase 2: Berechne optimales Vertex Cover C B von B (**). Ausgabe: C 0 := {x V x C B AND x C B } V V 0 := {x V x C B XOR x C B } V Ausserdem definiere (für folgenden Korrektheitsbeweis) I 0 := {x x / C B AND x / C B } = V \ (V 0 C 0 ). Ergebnis: (G[V 0 ], k C 0 ) ist Problemkern der Eingabeinstanz. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
48 Datenreduktion / Problemkernreduktion Maximum Matching in bipartiten Graphen (*) Ein bipartiter Graph ist ein Graph, dessen Knoten in zwei Mengen V l und V r aufgeteilt werden können, sodass Kanten ausschließlich zwischen V l und V r 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 / 207
49 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) Ein Maximum Matching eines bipartiten Graphen kann in Zeit O( V E ) berechnet werden. Folgerung Ein optimales Vertex Cover eines bipartiten Graphen kann in Zeit O( V E ) berechnet werden. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
50 Datenreduktion / Problemkernreduktion NT-Theorem: Korrektheit I NT-Theorem Teil (i) Falls eine Menge D V 0 ein Vertex Cover für den durch V 0 induzierten Teilgraphen G[V 0 ] von G ist, so ist C := D C 0 ein Vertex Cover von G = (V,E). Für {x, y} E ist zu zeigen, dass x C oder y C. Fall 1: x I 0, d.h. x, x / C B. y, y C B y C 0 C. Fall 2: y I 0. Analog zu Fall 1. Fall 3: x C 0 oder y C 0. Trivial. Fall 4: x, y V 0. Dann gilt x D C oder y D C. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
51 Datenreduktion / Problemkernreduktion NT-Theorem: Korrektheit II NT-Theorem Teil (ii) opt. Vertex Cover C von G mit C 0 C. Sei S V ein optimales Vertex Cover von G. Sei S V := S V 0 (ist ein Vertex Cover von G[V 0 ]), S C := S C 0, S I := S I 0 und S I := I 0 \ S I. Beachte: S = S V S C S I und S = S V + S C + S I. Zwischenbehauptung 1: C B := (V \ S I ) S C ist ein VC von B. Beweis von Zwischenbehauptung 1: Sei {x, y } E B. Es ist zu zeigen, dass x C B oder y C B. Fall 1: x / S I. Dann ist x C B gemäß Definition von C B. Fall 2: x S I, d.h. x I 0 und x S I = S I 0. x C B und x C B und x S Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
52 Datenreduktion / Problemkernreduktion NT-Theorem: Korrektheit III y, y C B (d.h. y C 0 ) und y S (da {x, y} E) y S C 0 = S C, d.h. y S C C B. Zwischenbehauptung 2: C 0 S \ S V. Beweis von Zwischenbehauptung 2: V C 0 = V 0 C 0 C 0 = C B [Def. von V 0 und C 0 ] C B [Zwischenbeh. 1 & Optimalität von C B ] = V \ S I + S C = V 0 C 0 S I + S C = V 0 + C 0 + S I + S C C 0 S I + S C = S I + S C + S V S V = S S V = S \ S V. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
53 Datenreduktion / Problemkernreduktion NT-Theorem: Korrektheit IV Sei nun C = C 0 S V. Da S V ein Vertex Cover von G[V 0 ] ist, ist C ein Vertex Cover von G (nach (i) des NT-Theorems). Aus Zwischenbehauptung 2 folgt außerdem C = C 0 + S V S \ S V + S V = S = Größe eines optimalen VC von G. Also ist C ein optimales Vertex Cover von G mit C 0 C. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
54 Datenreduktion / Problemkernreduktion NT-Theorem: Korrektheit V NT-Theorem Teil (iii) Ein optimales Vertex Cover von G[V 0 ] hat V 0 /2 viele Knoten. Sei S 0 optimales Vertex Cover von G[V 0 ]. Gemäß (i) gilt, dass C 0 S 0 ein Vertex Cover von G ist. Gemäß Definition von B ist damit C 0 C 0 S 0 S 0 ein Vertex Cover von B. Also: V C 0 = C B [Def. von V 0 und C 0 ] C 0 C 0 S 0 S 0 [C B optimal] = 2 C S 0. Hiermit folgt V 0 2 S 0. Ende des Beweises des NT-Theorems. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
55 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 / 207
56 Datenreduktion / Problemkernreduktion Schlechtes Beispiel: Nach NT Anwendung Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
57 Datenreduktion / Problemkernreduktion Gutes Beispiel: Vor NT Anwendung Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
58 Datenreduktion / Problemkernreduktion Gutes Beispiel: Nach NT Anwendung Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
59 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 / 207
60 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) n c 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 n c = n c+1 Schritte lang laufen. Fall 1: Algorithmus A terminiert innerhalb der n c+1 Schritte. Dann gib als Problemkern eine triviale Ja - oder Nein -Instanz aus. Fall 2: Algorithmus A terminiert nicht innerhalb der n c+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 n c+1 berechnet werden kann. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
61 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 / 207
62 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 = Kante, denn einer der beiden Endknoten der Kante muss im optimalen Vertex Cover liegen (vgl. 2 k -Suchbaum aus Einführungskapitel). Die Suchbaumtiefe wird in der Regel durch den Parameterwert beschränkt. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
63 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(3 k ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
64 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 / 207
65 Suchbäume Independent Set auf planaren Graphen II Proposition Independent Set auf planaren Graphen kann in O(6 k 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(6 k ) Aber: Es ist bekannt, dass Independent Set auf allgemeinen Graphen in O(1.21 n ) 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 6 k > 1.56 n > 1.21 n und damit obiger Algorithmus eigentlich wertlos. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
66 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 / 207
67 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 / 207
68 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 / 207
69 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. 3 Sei u ein weißer Knoten vom Grad 2 mit den zwei schwarzen Nachbarn v 1 und v 2 : Falls v 1 und v 2 mit einer Kante verbunden sind, so lösche u. Falls v 1 und v 2 beide zu einem vierten Knoten v 3 verbunden sind, so lösche u. 4 Sei u ein weißer Knoten vom Grad 3 mit den drei schwarzen Nachbarn v 1, v 2, v 3. Falls es die Kanten {v 1, v 2 } und {v 2, v 3 } gibt, so lösche u. Korrektheit: Übung Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
70 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 / 207
71 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 / 207
72 Suchbäume Dominating Set auf planaren Graphen VII Satz (Annotated) Dominating Set auf planaren Graphen kann in O(8 k 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(8 k ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
73 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(n 3 ) berechnet werden kann. Korollar Dominating Set auf planaren Graphen kann in O(8 k k + n 3 ) 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 / 207
74 Closest String I Suchbäume Closest String Gegeben: m Zeichenketten s 1, s 2,...,s m über Alphabet Σ, s i = L für 1 i m, und d N. Frage: Gibt es Zeichenkette s mit s = L derart, dass Hamming-Abstand d H (s, s i ) d für alle i? Der Hamming-Abstand d H (s, t) zweier Zeichenketten s und t der gleichen Länge L ist definiert als {p s[p] 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 / 207
75 Closest String II Suchbäume Anwendung im Primer-Design:...GGTGAG...GGTGGA...GGCGAG...GGCGAG...GGCAAG closest string : primer candidate : ATCTATAGAAGT TGAATGC... ATCTACAGTAAC GGATTGT... ATCTACAGAAGT GGAATGC... ATCTATAGAGAT GGAATGC... ATCTATAGAAGT GGAATGC... ATCTACAGAAAT TAGATGTCTTTA Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
76 Closest String III Suchbäume Lemma Falls für s 1, s 2,...,s m gilt, dass i, j {1,...,m } mit d H (s i, s j ) > 2d, so gibt es kein s mit max i=1,...,m d H (s, s i ) d. Beweis: Hammingabstand erfüllt Dreiecksungleichung. Also gilt für alle s: d H (s, s i ) + d H (s, s j ) d H (s i, s j ) > 2d d H (s, s i ) > d oder d H (s, s j ) > d (oder beides) keine Lösung! Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
77 Closest String IV Suchbäume Algorithmus für Closest String benutzt rek. Funktion CSd(s, d): Globale Variablen: s 1, s 2,...,s m und d N. Eingabe: Kandidatenzeichenkette s und d N. Ausgabe: Zeichenkette ŝ mit max i=1,...,m d H (ŝ, s i ) d und d H (ŝ, s) d falls existent, nicht möglich sonst. if d = 0 then if d H (s, s i ) > d für ein i {1,...m} then return nicht möglich else (d H (s, s i ) d für alle i = 1,...,m) return s; else ( d > 0) Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
78 Closest String V Suchbäume if d H (s, s i ) d für alle i = 1,...,m then return s else wähle beliebiges i {1,...,m}, sodass d H (s, s i ) > d; (a) P := { p s[p] s i [p] }; ( P > d) (b) wähle beliebiges P P mit P = d + 1; (c) for all p P do s := s; s [p] := s i [p]; (beachte: d H (s, s ) = 1) (d) s ret := CSd(s, d 1); if s ret nicht möglich then return s ret endfor return nicht möglich endif endif Um Closest String zu lösen, rufen wir CSd(s 1, d) auf. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
79 Closest String VI Suchbäume Satz Closest String kann in O(m L + m 2 d d+1 ) Zeit gelöst werden. Beweis: Wir zeigen: Der Aufruf CSd(s, d) findet einen String ŝ mit max i=1,...,m d H (ŝ, s i ) d und d H (ŝ, s) d falls existent. Korrektheit: Wenn der Aufruf CSd(s, d) einen String ŝ ausgibt, so muss für diesen max i=1,...,m d H (ŝ, s i ) d und d H (ŝ, s) d gelten (Beweis durch Induktion über d). Noch zu zeigen: Sei ŝ eine String mit max i=1,...,m d H (ŝ, s i ) d und d H (ŝ, 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 / 207
80 Closest String VII Suchbäume O.B.d.A. sei d > 0 und d H (s, s i ) > d für ein i {1,...m}. Sei s i der in Zeile (a) ausgewählte String, d.h d H (s, s i ) > d Betrachte P := { p s[p] s i [p] } aus Zeile (b). Aus P werden d + 1 Kandidatenpositionen P in Zeile (c) beliebig ausgewählt. Sei P 1 := { p s[p] s i [p] und ŝ[p] = s i [p] }. P 2 := { p s[p] s i [p] und ŝ[p] s i [p] }. Es gilt P = P 1 P 2. Da d H (ŝ, s i ) d, muss P 2 d gelten. Wegen P = d + 1 muss ein p P P 1 existieren. Die Position p ergibt in Zeile (d) einen Kandidaten s, mit d H (s, ŝ) = d H (s, ŝ) 1 d 1. Nach Induktion wird somit ŝ im rekursiven Aufruf CSd(s, d 1) gefunden. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
81 Closest String VIII Suchbäume Laufzeit: Suchbaumtiefe: d; Verzweigungsgrad: d + 1 Suchbaumgröße O((d + 1) d ) = O(d d ). Zudem kann ein Problemkern der Größe m 2 d in O(m L) Schritten berechnet werden (vgl. Übungen). Je Suchbaumknoten ist der Zeitaufwand also O(m 2 d). Insgesamt erhalten wir somit Laufzeit O(m L + m 2 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 / 207
82 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 / 207
83 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 2 k -Suchbaum für Vertex Cover Rekursionsgleichung für Baumgröße T i : T i = 1 + T i 1 + T i 1, T 0 = 1. Zur Vereinfachung nur Abschätzung der Blattanzahl: Lösung 2 i (klar!) B i = B i 1 + B i 1, B 0 = 1. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
84 Suchbäume Analyse von Suchbaumgrößen III Allgemeiner Fall: Lineare homogene Rekursionsgleichung B i = B i d1 + B i d B i dr mit konstanten Werten für B 0,...,B d 1 wobei d = max{d 1, d 2,...,d r }. 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 d 1,...,i d r. Beispiel: Suchbaum für Vertex Cover von Aufgabenblatt 1: B i = B i 1 + B i 3. Suchbaum der Größe O(1.47 k ) Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
85 Suchbäume Analyse von Suchbaumgrößen IV Definitionen aufbauend auf Rekursionsgleichung B i = B i d1 + B i d B i dr : Verzweigungsvektor (d 1, d 2,...d r ) charakterisiert obige Rekursionsgleichung eindeutig. Gesucht: Verzweigungszahl α, so dass B i = O(α i ). Charakteristisches Polynom z d z d d 1 z d d 2... z d dr, wobei d := max{ d 1,...,d r }, dient zur Lösung der Rekursionsgleichung. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
86 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 / 207
87 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 / 207
88 Suchbäume Analyse von Suchbaumgrößen IX Beispiele: Verzweigungsvektoren und Verzweigungszahlen errechnete Basis der Baumgröße Verzweigungsvektor Verzweigungsvektor errechnete Basis der Baumgröße (1,1) 2.0 (1,1,1) 3.0 (1,2) (1,1,2) (1,3) (1,1,3) (1,4) (1,1,4) (2,1) (1,2,1) (2,2) (1,2,2) 2.0 (2,3) (1,2,3) (2,4) (1,2,4) Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
89 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 / 207
90 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 und k = 0) then return ; Entferne isolierte Knoten aus G; Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
91 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 G 1 Zusammenhangskomponente von G) then if (G 1 hat kleinstmgl. Vertex Cover V 1 der Größe 4) then V 2 :=VC(G \ G 1, k V 1 ); else V 1 :=VC(G 1, k 1); V 2 :=VC(G \ G 1, k 5); /* ergibt Verzweigungsvektor (1,5) */ end if; if (V 1 und V 2 und V 1 V 2 k) then return V 1 V 2 else return end if; end if; Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
92 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; V u:=vc(g {u}, k 1); /* Nimm u ins Vertex Cover */ V v:=vc(g {v}, k 1); /* Nimm v ins Vertex Cover */ if (V v = oder (V u und V u < V v )) then return V u {u} else return V v {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 / 207
93 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 / 207
94 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 / 207
95 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 / 207
96 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 / 207
97 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 / 207
98 Suchbäume Verkleinerter Suchbaum für Vertex Cover X Fall 4.2: Kante zwischen a, b, c und gemeinsamer Nachbar d v zweier Knoten in N(v). O.B.d.A. sei d 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 / 207
99 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, a 1, a 2, a 3 }. Nimm entweder N(v) = {a, b, c} oder N(a) = {v, a 1, a 2, a 3 } 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 / 207
100 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, a 1, a 2 } 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 / 207
101 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 / 207
102 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 k 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 / 207
103 Suchbäume Verkleinerter Suchbaum für Vertex Cover XV Verzweigungsvektoren der Fallunterscheidung: Verzweigungsvektor errechnete Basis der Baumgröße Fall 2 (1,5) (2,3) (3,3) (3,2) (3,4,6) (3,3,6) (1,4) Fall 4.4 liefert den Worst Case mit einer Baumgröße von O(1.342 k ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
104 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 k ) verbessern. Der beste derzeit bekannte parametrisierte Algorithmus für Vertex Cover erreicht eine Suchbaumgröße von O(1.28 k ). Der beste nicht-parametrisierte, exakte Algorithmus für Vertex Cover hat eine Laufzeit von O(1.211 n ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
105 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 / 207
106 Suchbäume Verflechtung von Datenreduktion mit Suchbäumen II Beispiel Vertex Cover: Betrachte naiven 2 k -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 / 207
107 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 (x 1, k d 1 ),...,(x r, k d r ) 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 (x 1, k d 1 ),...,(x r, k d r ). Hierbei c geeignet zu wählende Konstante. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
108 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 / 207
109 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 / 207
110 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 / 207
111 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 / 207
112 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 / 207
113 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 / 207
114 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 / 207
115 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 G 1 = (V 1, E 1 ) und G 2 = (V 2, E 2 ) heißen isomorph, falls es eine bijektive Abbildung f : V 1 V 2 gibt, sodass {u, v} E 1 gdw. {f (u), f (v)} E 2. Spezieller Fall eines Teilgraphisomorphieproblems: Clique: G = vollständiger Graph mit k Knoten. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
116 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 v 1,...,v k mit: (i) {v i, v i+1 } E und (ii) v i v j für i j. Longest Path wie auch das allgemeine Teilgraphisomorphieproblem NP-vollständig! Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
117 Weitere algorithmische Techniken Farbkodierung III Grundidee Farbkodierung auf Graphen 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 / 207
118 Weitere algorithmische Techniken Farbkodierung IV Bunte Pfade Farbkodierung auf Graphen 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 k! k k > e k voll bunt! Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
119 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 ( k i) viele solcher Mengen. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
120 Weitere algorithmische Techniken Farbkodierung auf Graphen Farbkodierung VI Algorithmus zum Finden voll bunter Pfade Verwendete Bezeichner: C u,i : Farbmenge eines voll bunten Pfades der Länge i von s zu u. M u,i : Menge aller Farbmengen für voll bunte Pfade der Länge i von s zu u. Algorithmus: Initialisierung: M s,0 := { {c(s)} }; für alle u V \ {s}: M u,0 := ; für alle u V, 1 i k 1: M u,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 M u,i 1 : für alle C u,i 1 M u,i 1 mit c(v) / C u,i 1 : M v,i := M v,i {C u,i 1 {c(v)}}; Ergebnis: Voll bunter Pfad, wenn es v V gibt mit M v,k 1 ; Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
121 Weitere algorithmische Techniken Farbkodierung auf Graphen Farbkodierung VII Algorithmus zum Finden voll bunter Pfade Zeitkomplexität: Algorithmus führt O( k (k i=1 E i) i) Schritte aus: Der Faktor E wird für die Schleife über alle Kanten {u, v} E benötigt. Der Faktor ( k i) gibt die Anzahl der möglichen Mengen C u,i 1 M u,i 1 an. Der Faktor i steht für den Test, ob c(v) C u,i 1. Der gesamte Ausdruck läßt sich durch O(k 2 k 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 2 O(k) E gefunden werden. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
122 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!/4 4 = 3/32 gefunden. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
123 Weitere algorithmische Techniken Farbkodierung auf Graphen Farbkodierung IX Algorithmus für Longest Path Wiederhole folgenden randomisierten Algorithmus e k = 2 O(k) mal: 1 Wähle zufällig eine Knotenfärbung c : V {1,...,k}. 2 Überprüfe mit vorigem Lemma in Zeit 2 O(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 / 207
124 Weitere algorithmische Techniken Farbkodierung X Ergebnis Farbkodierung auf Graphen Satz Der Algorithmus auf der vorherigen Folie findet in Zeit 2 O(k) E einen einfachen Pfad der Länge k 1 (falls existent) mit Wahrscheinlichkeit > 1 1 e > 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 Wiederholungen gefunden wird ist < (1 1 e k ) (ek) < 1 e. Also findet der Algorithmus P mit Wahrscheinlichkeit > 1 1 e. Bemerkung: Die Fehlerwahrscheinlichkeit von < 1 e kann auf < (1 e )c (für eine Konstante c) reduziert werden, indem man e k c 2 O(k) viele Wiederholungen macht (anstatt e k vieler). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
125 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 2 O(k) E log V Zeit gelöst werden. Insbesondere ist Longest Path also in FPT. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
126 Weitere algorithmische Techniken Induktive Kompression Induktive (bzw. Iterative) Kompression Grundschema: Induktion: Betrachte induktiv wachsenden Teil X 0, X 1, X 2,... der Eingabe X. Induktionsannahme: Optimale Lösung der Größe k für X i ist bekannt. Induktionsschritt X i X i+1 : Aus der Lösung für X i läßt sich leicht eine (nicht notwendigerweise optimale) Lösung der Größe k + 1 für X i+1 bestimmen. In einem Kompressionsschritt läßt sich aus der bekannten Lösung für X i+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 / 207
127 Weitere algorithmische Techniken Induktive Kompression Induktive Kompression Vertex Cover I Induktion: Betrachte, für i = 1,...,n, Graphen G i der durch Knotenmenge {v 1, v 2,...,v i } induziert wird. Induktionsanfang: Optimales Vertex Cover für G 1 ist leer. Induktionsannahme: Optimales Vertex Cover V i mit V i k für G i (falls existent) ist bekannt. Induktionsschritt G i G i+1 : Die Menge V i {v i+1 } ist ein Vertex Cover für G i+1 mit V i {v i+1 } k + 1. In einem Kompressionsschritt läßt sich aus V i {v i+1 } ein optimales Vertex Cover für G i+1 bestimmen. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
128 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(2 k 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 / 207
129 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 : 2 k+1 1 = 2 2 k 1. Konstruktion von V und Test, ob V < V : O( G ) Zeit. Gesamtlaufzeit: O(2 k G ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
130 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 = (v 1, v 2,...,v r ) aus V, so dass {v i, v i+1 } E und {v r, v 1 } E (v i = v j für i 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 / 207
131 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 (S 1, S 2 ) der Knoten von G[V \ V ] ist eine Partition S 1 S 2 = V \ V der Knoten, so dass keine zwei Knoten aus S 1 und keine zwei Knoten aus S 2 durch eine Kante verbunden sind. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
132 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 G i der durch Knotenmenge {v 1, v 2,...,v i } induziert wird. Induktionsanfang: Optimales Odd Cycle Cover für G 1 ist leer. Induktionsannahme: Optimales Odd Cycle Cover V i für G i der Größe k (falls existent) ist bekannt. Induktionsschritt G i G i+1 : Die Menge V i {v i+1 } ist ein Odd Cycle Cover für G i+1 der Größe k + 1. In einem Kompressionsschritt läßt sich aus V i {v i+1 } ein optimales Odd Cycle Cover für G i+1 bestimmen. Kompressionsschritt-Lemma Gegeben ein Graph G und ein Odd Cycle Cover V mit V k + 1. In Zeit O(3 k 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 / 207
133 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 / 207
134 Weitere algorithmische Techniken Induktive Kompression Induktive Kompression Odd Cycle Cover V Gegeben ein Graph G = (V,E) und ein Odd Cycle Cover V. Sei (S 1, S 2 ) 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 } {v1 H, vh 2 v V }. Definiere π : V H V durch: π(v H ) = v für v V \ V und π(vi H ) = 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 1: u,v V \ V : {u H,v H } E H. Fall 2: u (V \ V ) S 1 und v V : {u H,v2 H} EH. Fall 3: u (V \ V ) S 2 und v V : {u H,v1 H} EH. Fall 4: u,v V : {u1 H,vH 2 }, {vh 1,uH 2 } EH. Bemerkung: Die 2-Färbung (S 1, S 2 ) von G[V \ V ] lässt sich erweitern zu einer 2-Färbung von H: S H 1 {vh 1 v V } und S H 2 {vh 2 v V }. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
135 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) = {v1 H, vh 2 Knoten in H. v X } der aus X konstruierten Eine gültige Partition von X H ist eine Partition π 1 (X) = X H A X H B, so dass für jedes x X genau einer der folgenden Fälle zutrifft: x H 1 X H A und xh 2 X H B x H 2 X H A und xh 1 X H B. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
136 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) = XA H X B H mit: V = (V \ X) π(y ) Y < X Jeder Pfad in H[π 1 ((V \ V ) X)], der von XA H nach X B H führt, muss einen Knoten aus Y besuchen (damit gibt es in H[π 1 ((V \ V ) X)] keine X vielen knotendisjunkten Pfade, die von XA H nach X B H führen). 2 Umgekehrt: Sind X, Y, XA H, X B H 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 / 207
137 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) = X H A X H B eine gültige Partition mit: V = (V \ X) π(y ) Y < X Jeder Pfad in H[π 1 ((V \ V ) X)], der von X H A nach X H B 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 v1 H zu einem Knoten vh 2 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 / 207
138 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 (S 1, S 2 ) des bipartiten Graphen G[V \ V ] bzw ihre Erweiterung auf H, hier der Einfachheit halber auch (S 1, S 2 ) genannt. Sei (Ŝ 1, Ŝ 2 ) nun die 2-Färbung des bipartiten Graphen G[V \ V ]. Betrachten wir folgende gültige Partition π 1 (X) = X H A X H B : X H A := { xh 1 x X Ŝ 1 } {x H 2 x X Ŝ 2 } X H B := { xh 1 x X Ŝ 2 } {x H 2 x X Ŝ 1 }. Beachte: Es gilt x H 1 S 1 und x H 2 S 2 für jedes x X und die auf H erweiterte Färbung (S 1, S 2 ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
139 Weitere algorithmische Techniken Induktive Kompression Induktive Kompression Odd Cycle Cover X Beweis von (1), Fortsetzung: Angenommen, es gäbe einen Pfad p von u X H A nach v X H B 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 Ŝ 1 Nach Konstruktion von X H A gilt u = xh 1 für ein x X, also u S 1. Analog folgt v S 2. Somit hat p ungerade Länge. Da π(u), π(v) Ŝ 1, muss π(p) gerade Länge haben. Widerspruch. Fall 2: π(u) X Ŝ 1, π(v) X H Ŝ 2 Nach Konstruktion von X H A und X H B gilt u, v S 1. Also hat der Pfad p gerade Länge. Da π(u) Ŝ 1 und π(v) Ŝ 2, muss π(p) ungerade Länge haben. Widerspruch. Fälle 3 und 4: π(u) X Ŝ 2, π(v) X Ŝ 1 analog zu Fall 2, π(u), π(v) X Ŝ2 analog zu Fall 1. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
140 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) = X H A X H B : Bestimme, ob es X viele knotendisjunkte Pfade in H[π 1 ((V \ V ) X)] gibt, die von Knoten in X H A zu Knoten in X H B 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 X H A zu Knoten in X H B 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 / 207
141 Weitere algorithmische Techniken Induktive Kompression Induktive Kompression Odd Cycle Cover XIII Laufzeit Kompressionsschritt: Es gibt O(3 k ) 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 XA H und X B H 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 XA H zu Knoten in X B H führen. Der Kompressionsschritt benötigt somit Zeit O(3 k km). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
142 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: , 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 / 207
143 Weitere algorithmische Techniken Baumzerlegungen I Idee Baumzerlegungen 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 / 207
144 Weitere algorithmische Techniken Baumzerlegungen II Definition Baumzerlegungen Definition Sei G = (V,E) ein Graph. (i) Eine Baumzerlegung X von G ist ein Paar T, {X i i V(T)}, wobei T ein Baum mit Knotenmenge V(T) ist und X i V (i V(T)), sodass: i V(T) X i = V, Kanten {u,v} E i V(T) : u X i und v X i, i, j, k V(T) : Falls j auf dem (eindeutingen) Pfad zwischen i und k in T liegt, so gilt X i X k X j. Die Weite w(x) der Baumzerlegung ist dann max { X i 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 / 207
145 Weitere algorithmische Techniken Baumzerlegungen Baumzerlegungen III Beispiel Beispiel: Ein Graph mit seiner zugehörigen Baumzerlegung: a b c d e f g h i a b d b c d b d e d e h h i e f g e g h Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
146 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 X i 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 / 207
147 Weitere algorithmische Techniken Baumzerlegungen Baumzerlegungen V Das Räuber-und-Gendarm-Spiel Eine alternative Definition der Baumweite ergibt sich spielerisch : c h b d i a e 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 / 207
148 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 / 207
149 Weitere algorithmische Techniken Baumzerlegungen Baumzerlegungen VII Dynamisches Programmieren am Vertex Cover Beispiel Satz Für Graphen G mit Baumzerlegung X = T, {X i : i V(T)} der Weite w(x) kann ein optimales Vertex Cover in O(2 w(x) w(x) V(T) ) Zeit gefunden werden. Beweis: Für jedes Bag X i teste brute force alle 2 X i Möglichkeiten für ein Vertex Cover des Teilgraphen G[X i ]. (Verwaltung dieser Berechnungen in Tabellen A i, 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[X i ] zu einer globalen Lösung auf G. Nachfolgend Details. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
150 Weitere algorithmische Techniken Baumzerlegungen Baumzerlegungen VIII Tabelle des Dynamisches Programmierens Schritt 0: (Erstellen der Tabelle): Für alle i V(T) erstelle eine Tabelle A i wie folgt: Sei X i = {x 1,...,x n }, d.h. X i = n. x 1 x 2 x n 1 x n m A i = Jede Zeile entspricht einer Färbung, d.h. C (i) : X i = {x 1,...,x n } {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 / n
151 Weitere algorithmische Techniken Baumzerlegungen Baumzerlegungen IX Tabelle des Dynamischen Programmierens Interpretation der Tabelleneinträge m(c (i) ): Für die Baumzerlegung T, {X i : i V(T)} sei T (i) der im Knoten i gewurzelte Teilbaum von T. Sei V (i) = j T (i) X j und sei G (i) = G[V (i) ] der durch die Knotenmenge V (i) induzierte Teilgraph. Dann soll der Tabelleneintrag m(c (i) ) von A i folgenden Wert abspeichern: Anzahl der Knoten, die ein minimales Vertex Cover für G (i) benötigen würde, mit Knoten aus X i 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 X i : C (i) (v) = 1 v V C (i) (v) = 0 v V }. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
152 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 X i mit C (i) (v) = 1 und v / V für alle v X i 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) : X i {0, 1}) result = true; for ({u, v} E G[Xi ]) if (C (i) (u) = 0 C (i) (v) = 0) then result = false; Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
153 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) : X i {0, 1} setze { m(c (i) {x X i C (i) (x) = 1 }, falls (is valid (C (i) )) ) := +, sonst. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
154 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 A i gegeneinander ab. Sei j V(T) der Elternknoten von i V(T). Wir zeigen, wie die Tabelle A j für X j durch die Tabelle A i für X i aktualisiert wird. Es sei: wobei X i X j = {z 1,...,z s }. X i = {z 1,...,z s, u 1,...,u ti } X j = {z 1,...,z s, v 1,...,v tj }, Dann sei die Färbung C (j) eingeschränkt auf X i X j gegeben durch C (j) Xi : {z 1,...,z s } {0, 1} mit C (j) Xi (x) := C (j) (x) für x {z 1,...,z s }. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
155 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) : X j {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) : X i {0, 1} und C (i) Xj = C (j) Xi } { x X i X j 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 / 207
156 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 A r 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 / 207
157 Weitere algorithmische Techniken Baumzerlegungen Baumzerlegungen XV Dynamisches Programmieren: Korrektheit Zur Korrektheit des Algorithmus: a) Bedingung (1) einer Baumzerlegung (V = i V(T) X i) jeder Knoten wird in Berechnung berücksichtigt. b) Bedingung (2) einer Baumzerlegung ( {u, v} E i : u, v X i ) 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 / 207
158 Weitere algorithmische Techniken Baumzerlegungen Baumzerlegungen XVI Dynamisches Programmieren: Laufzeit Zur Laufzeit des Algorithmus: Aktualisieren einer Tabelle A j durch die Tabelle A i (bei vorherigem Sortieren der Tabelle A i nach den m-werten): O(2 X j X j ) = O(2 w(x) w(x)) Pro Kante e E(T) im Baum T muss ein Abgleich zweier Tabellen stattfinden. Damit Gesamtlaufzeit O(2 w(x) w(x) E(T) ) = O(2 w(x) w(x) V(T) ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
159 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 = T, {X i : i V(T)} kann a) Vertex Cover in Zeit O(2 w(x) w(x) V(T) ), b) Independent Set in Zeit O(2 w(x) w(x) V(T) ), c) Dominating Set in Zeit O(4 w(x) w(x) V(T) ), d) 3-Coloring in Zeit O(3 w(x) w(x) V(T) ) gelöst werden. Beachte: V(T) kann offensichtlich durch 2 w(x) beschränkt werden. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
160 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 groß: f (k) = 2 35k3. In der Praxis benutzt man sich deshalb Approximationen und Heuristiken. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
161 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 / 207
162 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 / 207
163 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 L 1,...,L r wie folgt: i := 0; while G nicht leer do i := i + 1 Sei L i die Menge der Knoten in der äußeren Facette von G G := G \ L i endwhile Auf diese Weise wird G in Schichten L 1,...,L r zerlegt. G heißt dann auch r-outerplanar Beachte: G \ L i is unzusammenhängend, d.h. L i ist ein Separator. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
164 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 = T, {X i : i V(T)} 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 / 207
165 Weitere algorithmische Techniken Baumzerlegungen Baumzerlegungen XXIII Planare Graphen Lemma Seien L i1, L i2,...,l ik Schichten von G (i 1 < i 2 < < i k ) mit L ij s für alle 1 j k. ( k ) Angenommen jede Zusammenhangskomponente von G \ j=1 L i j hat Baumweite t. Dann hat G Baumweite t + 2s. Beweis: Sei L i0 = L ik+1 =. Sei G j der Teilgraph von G zwischen den Schichten L ij und L ij+1, d.h. G j entsteht durch Herausschneiden von Schicht L ij und L ij+1 (0 j k). Sei X j = T j, {X (j) i : i V(T j )} eine Baumzerlegung für G j der Weite t. Füge zu jedem bag X (j) i die benachbarten Schichten L ij und L ij+1 hinzu und verbinde benachbarte Bäume T j und T j+1 durch eine beliebige Kante. Dies ergibt eine Baumzerlegung für G der Weite t + 2s. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
166 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 1,...,L r die Schichten von G. Falls r > k + 1, so hat G kein Vertex Cover der Größe k: Denn in jeder Schicht L i mit i r existiert eine Kante. Also muss jedes Vertex Cover für G aus jeder Schicht L i (i 3) mindestens einen Knoten enthalten. 3 Sei nun r k + 1. Wegen r i=1 L i 2k muss sich unter je 2k vielen aufeinanderfolgenden Schichten mindestens eine Schicht der Größe 2k befinden. 4 Finde Schichten L i1,...,l il der Größe 2k, so dass der Graph G j zwischen L ij und L ij+1 aus höchstens 2k Schichten besteht. Beachte: G j ist 2k-outerplanar. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
167 Weitere algorithmische Techniken Baumzerlegungen Baumzerlegungen XXV Planare Graphen 5 Berechne Baumzerlegung X j = T j, {X (j) i : i V(T j )} für G j der Weite w(x j ) O( k) mit V(T j ) O(Anzahl Knoten von G j ) in Zeit O( k Anzahl Knoten von G j ) (nach Mitteilung). 6 Kombiniere diese Baumzerlegungen zu einer Baumzerlegung X = T, {X i : i V(T)} 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. Zeitbedarf: O(2 w(x) w(x) V(T) ) = O(2 O( k) k k) = 2 O( k) Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
168 Weitere algorithmische Techniken Baumzerlegungen XXVI Ergebnisse auf Planaren Graphen Baumzerlegungen Zusammenfassung Vertex Cover kann auf planaren Graphen in O( G ) + 2 O( k) Zeit gelöst werden. Ähnlich zeigt man: Dominating Set kann auf planaren Graphen in O( G ) + 4 O( k) Zeit gelöst werden. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
169 Minorentheorie I Weitere algorithmische Techniken Minorentheorie 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 C H O : H m G. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
170 Minorentheorie II Weitere algorithmische Techniken Minorentheorie Beispiel. Sei C die Menge aller planaren Graphen. Dann besteht die Obstruktionsmenge für C aus 2 Graphen: K 5 und K 3,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) n 3 ü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(n 3 ) entschieden werden, ob ein gegebener Graph G zu C gehört. Beweis: Sei O = {H 1,...,H t } die Obstruktionsmenge für C. Sei k die maximale Anzahl von Knoten in einem der Graphen H i. Teste in Zeit t f (k) n 3 ob einer der Graphen H i ein Minor von G ist. Wenn ja: G C; wenn nein: G C Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
171 Minorentheorie III Weitere algorithmische Techniken Minorentheorie 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 O k die Obstruktionsmenge für die Menge aller Graphen mit einem Vertex Cover der Größe k. Sei g(k) = O k und h(k) = max{anzahl Knoten von H H O k }. Dann kann in Zeit O(g(k) f (h(k)) n 3 ) 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(2 k 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 / 207
172 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 / 207
173 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) (x, k ) eine parametrisierte Reduktion von L auf L ist, wenn gilt: 1 (x, k ) = Φ(x, k) ((x, k) L (x, k ) L ). 2 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. 3 Φ(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 / 207
174 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) (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 / 207
175 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 / 207
176 Parametrisierte Komplexitätstheorie Parametrisierten Reduktionen Beispiel III Set Cover Gegeben: Grundmenge C und endliche Familie S = {S 1, S 2,...,S n } von Teilmengen aus C, d.h. S i 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 / 207
177 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 / 207
178 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(3 k k V E ) gelöst werden. Edge Bipartization kann in Zeit O( G k k 2 E (k V + E )) gelöst werden. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
179 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 / 207
180 Parametrisierte Komplexitätstheorie Parametrisierte Reduktionen Beispiel V Betrachte die klassische Reduktion von SAT auf 3SAT: Kernidee: Ersetze Klauseln der Form (l 1... l m ) mit m > 3 durch einen Ausdruck der Form (l 1 l 2 z 1 ) (z 1 l 3 z 2 )...(z m 4 l m 2 z m 3 ) (z m 3 l m 1 l m ). Hier sind z 1,...,z m 3 neu eingeführte Variablen und l 1,...,l m 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 / 207
181 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 l j in der Klausel (l 1... l m ) wahr macht. Um aber obigen 3CNF Ausdruck zu erfüllen, müssen alle Variablen z 1,...,z j 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 / 207
182 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 / 207
183 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 = C 1... C p, wobei C 1,...,C p Klauseln sind, die aus den Variablen x 1,...,x m bestehen. Definiere die Binärmatrix A = (a ij ) 1 i p,1 j m durch { 1 falls xj C a ij := i 0 falls x j / C i. 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 / 207
184 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 / 207
185 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 ( k 2) ) 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 ( ) k 2 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 / 207
186 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 / 207
187 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 / 207
188 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 / 207
189 Parametrisierte Komplexitätstheorie Parametrisierte Komplexitätsklassen Beispiel eines Schaltnetzes Schaltnetz mit Weft 2 und Tiefe 4: x1 x x x x Klein (fuer Konstante c=2) Gross (fuer Konstante c=2) Ausgabe Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
190 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 / 207
191 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 / 207
192 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 / 207
193 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 x i1... x ij. i V, N(i) = {i 1,..., i j } 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 / 207
194 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 / 207
195 Parametrisierte Komplexitätstheorie Parametrisierte Komplexitätsklassen Vereinfachte Charakterisierung von W[1] Mit großem technischen Aufwand ergibt sich: Mitteilung Es gelten folgende Aussagen: 1. W[1] = s=1 W[1, s] = W[1, 2]. 2. W[1, s] = AntimonontoneW[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 / 207
196 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 / 207
197 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 / 207
198 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 G F, bei welchem jeder Variablen in F ein Knoten in G F und jeder Klausel einer Kante entspricht. Dann gilt: F hat eine erfüllende Belegung vom Gewicht k. G F 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 / 207
199 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 / 207
200 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 / 207
201 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 / 207
202 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 / 207
203 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: 3CNF Sat ist NP-hart und 2CNF Sat ist polynomzeitlösbar. Parametrisiert: Sowohl Weighted 3CNF Sat als auch Weighted 2CNF Sat sind W[1]-vollständig. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
204 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. Einfach zu zeigen, dass Weighted Monotone 2CNF Sat äquivalent zu Vertex Cover. Weighted Antimonotone 2CNF Sat ist W[1]-vollständig. Einfach zu zeigen, dass Weighted Monotone 2CNF Sat äquivalent zu Independent Set. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
205 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 1 ist fixed-par. tractable. Frage 2:...exakt k? 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 Setze verbliebene Variablen auf falsch; Stop; /* Lösung!*/ end if return; Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
206 Parametrisierte Komplexitätstheorie Beispiel II: Longest Common Subsequence Longest Common Subsequence Problem (LCS) Gegeben: k Zeichenketten X 1,...,X k über einem Alphabet Σ und m N. Frage: Existiert X Σ mit X m, sodass X Teilsequenz (nicht Teilzeichenkette!) aller X i 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 / 207
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 Parameter Σ unbeschränkt Σ beschränkt LCS1 k W[t]-hart für alle t 1 W[1]-hart LCS2 m W[2]-hart FPT LCS3 k, m W[1]-vollständig FPT Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
208 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] FPT. Eine weitere Hypothese ist beispielsweise W[1] W[2]. Da es beim gegenwärtigen Stand der Forschung als recht hoffnungslos gilt, eine Aussage wie W[1] FPT zeigen zu können, geht man über zu relativen Aussagen. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
209 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 n O(1) 2 g(n) für ein g in o(f (n)) akzeptiert werden können. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
210 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 / 207
211 Parametrisierte Komplexitätstheorie Bezüge zur klassischen Komplexitätstheorie IV Mitteilung W[1] =FPT 3CNF Sat in Zeit 2 o(n) lösbar, wobei n die Zahl der Variablen angibt. Bislang bester Algorithmus für 3CNF Sat hat Laufzeit 1.5 n = 2 O(n) 2 o(n). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
212 Parametrisierte Komplexitätstheorie Bezüge zur Approximation I Terminologie: Sei Q ein Optimierungsproblem, f Q (x,y) der Wert der Zielfunktion des Problems Q für eine Ausgabe y bei Eingabe x, und opt Q (x) der bestmögliche Wert der Zielfunktion auf Eingabe x. Bsp: Bei Q = Vertex Cover als Maximierungsproblem gibt f Q (G,V ), für einen Graphen G, die Größe eines Vertex Covers V von G an, und opt Q (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 f Q (x, y) opt Q (x) max{f Q (x, y), opt Q (x)} ǫ. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
213 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(n 1/ǫ ). 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(n 3 /ǫ). Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
214 Parametrisierte Komplexitätstheorie Bezüge zur Approximation III Approximationswelt Parameterisierte Welt APX-hart APX PTAS? W[1]-hard W[1] 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 / 207
215 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. Wähle ǫ = 1 2k. Weil Q ein EPTAS besitzt, gibt es Algorithmus, der Ausgabe y für Q berechnet, so dass max Q (x) f Q (x,y) max Q (x) ǫ = 1 2k f Q(x,y) max Q (x) 1 1 2k. Mit ǫ = 1 2k ist der Algorithmus also ein parametrisierter Algorithmus: Fall max Q (x) k: Dann auch f Q (x,y) k 1 2. Da f Q(x,y) ganzzahlig, gilt f Q (x,y) k. Fall max Q (x) < k: Da f Q (x,y) < max Q (x), gilt f Q (x,y) < k. Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
216 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 Hierbei ist Distinguishing Substring Selection eine Verallgemeinerung von Closest String. ja Markus Lohrey (Univ. Halle-Wittenberg) Parametrisierte Algorithmen Sommersemester / 207
Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)
Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,
Das Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
Die Komplexitätsklassen P und NP
Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und
Primzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!
Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual! 0kg 4000 Euro Luster 5,5 kg, 430.- Laptop 2,0 kg, 000.- Schatulle 3,2 kg, 800.- Uhr 3,5 kg, 70.- Schwert,5 kg, 850.- Bild 3,4 kg, 680.- Besteck
Algorithmen II Vorlesung am 15.11.2012
Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales
Parametrisierte Algorithmen
Parametrisierte Algorithmen Rolf Niedermeier in Zusammenarbeit mit Jochen Alber Wilhelm-Schickard-Institut für Informatik, Universität Tübingen, Sand 13, D-72076 Tübingen [email protected]
Erfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
Algorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
Grundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.
13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen. Sie heißt linear, wenn sie die Form y (n) + a n 1 y (n 1)
7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
Informationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
Grundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden [email protected] WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
Lineare Gleichungssysteme
Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der
Anmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012
Die Klassen P und NP Dr. Eva Richter 29. Juni 2012 1 / 35 Die Klasse P P = DTIME(Pol) Klasse der Probleme, die sich von DTM in polynomieller Zeit lösen lassen nach Dogma die praktikablen Probleme beim
50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
Stackelberg Scheduling Strategien
Stackelberg Scheduling Strategien Von Tim Roughgarden Präsentiert von Matthias Ernst Inhaltsübersicht Einleitung Vorbetrachtungen Stackelberg Strategien Ergebnisse Seminar Algorithmische Spieltheorie:
1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
Einführung in die Algebra
Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv
1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
Gleichungen Lösen. Ein graphischer Blick auf Gleichungen
Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen
Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen 1. Quadratische Gleichungen Quadratische Gleichungen lassen sich immer auf die sog. normierte Form x 2 + px + = 0 bringen, in
Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt
Übung Theoretische Grundlagen
Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory
WS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich
Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
Musterlösungen zur Linearen Algebra II Blatt 5
Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische
Kombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 1 Programm des
Expander Graphen und Ihre Anwendungen
Expander Graphen und Ihre Anwendungen Alireza Sarveniazi Mathematisches Institut Universität Göttingen 21.04.2006 Alireza Sarveniazi (Universität Göttingen) Expander Graphen und Ihre Anwendungen 21.04.2006
Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)
Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff
Mathematischer Vorbereitungskurs für Ökonomen
Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen
Grundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische
8. Quadratische Reste. Reziprozitätsgesetz
O Forster: Prizahlen 8 Quadratische Reste Rezirozitätsgesetz 81 Definition Sei eine natürliche Zahl 2 Eine ganze Zahl a heißt uadratischer Rest odulo (Abkürzung QR, falls die Kongruenz x 2 a od eine Lösung
NP-Vollständigkeit. Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984)
NP-Vollständigkeit Krautgartner Martin (9920077) Markgraf Waldomir (9921041) Rattensberger Martin (9921846) Rieder Caroline (0020984) 0 Übersicht: Einleitung Einteilung in Klassen Die Klassen P und NP
Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29
1 29 Teil III: Routing - Inhalt I Literatur Compass & Face Routing Bounded & Adaptive Face Routing Nicht Ω(1) UDG E. Kranakis, H. Singh und Jorge Urrutia: Compass Routing on Geometric Networks. Canadian
Korrelation (II) Korrelation und Kausalität
Korrelation (II) Korrelation und Kausalität Situation: Seien X, Y zwei metrisch skalierte Merkmale mit Ausprägungen (x 1, x 2,..., x n ) bzw. (y 1, y 2,..., y n ). D.h. für jede i = 1, 2,..., n bezeichnen
15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
Künstliche Intelligenz Maschinelles Lernen
Künstliche Intelligenz Maschinelles Lernen Stephan Schwiebert Sommersemester 2009 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Maschinelles Lernen Überwachtes Lernen
Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3
Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen
4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen
Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 6 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 Satz 1 Seien F, G Boolesche Ausdrücke
Repetitionsaufgaben Wurzelgleichungen
Repetitionsaufgaben Wurzelgleichungen Inhaltsverzeichnis A) Vorbemerkungen B) Lernziele C) Theorie mit Aufgaben D) Aufgaben mit Musterlösungen 4 A) Vorbemerkungen Bitte beachten Sie: Bei Wurzelgleichungen
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x
Theoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über
Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier [email protected]
Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier [email protected] 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik
Informatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: [email protected] Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben
Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr.
Lösungsvorschlag für die Probeklausuren und Klausuren zu Algebra für Informations- und Kommunikationstechniker bei Prof. Dr. Kurzweil Florian Franzmann André Diehl Kompiliert am 10. April 2006 um 18:33
Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.
Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren
Wortproblem für kontextfreie Grammatiken
Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?
Definition 3.1: Ein Differentialgleichungssystem 1. Ordnung
Kapitel 3 Dynamische Systeme Definition 31: Ein Differentialgleichungssystem 1 Ordnung = f(t, y) ; y R N ; f : R R N R N heißt namisches System auf dem Phasenraum R N Der Parameter t wird die Zeit genannt
Numerische Verfahren und Grundlagen der Analysis
Numerische Verfahren und Grundlagen der Analysis Rasa Steuding Hochschule RheinMain Wiesbaden Wintersemester 2011/12 R. Steuding (HS-RM) NumAna Wintersemester 2011/12 1 / 16 4. Groß-O R. Steuding (HS-RM)
Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
Alles zu seiner Zeit Projektplanung heute
Alles zu seiner Zeit Projektplanung heute Nicole Megow Matheon Überblick Projektplanung Planen mit Graphentheorie Maschinenscheduling Ein 1 Mio. $ Problem Schwere & leichte Probleme? Zeitplanungsprobleme?
Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur
Signatur Formeln Am Beispiel der Aussagenlogik erklären wir schrittweise wichtige Elemente eines logischen Systems. Zunächst benötigt ein logisches System ein Vokabular, d.h. eine Menge von Namen, die
Einführung in. Logische Schaltungen
Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von
Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum
Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume
Betragsgleichungen und die Methode der Fallunterscheidungen
mathe online Skripten http://www.mathe-online.at/skripten/ Betragsgleichungen und die Methode der Fallunterscheidungen Franz Embacher Fakultät für Mathematik der Universität Wien E-mail: [email protected]
WS 2013/14. Diskrete Strukturen
WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314
Lineare Gleichungssysteme
Lineare Gleichungssysteme Eines der am häufigsten auftretenden Standardprobleme der angewandten Mathematik ist das Lösen linearer Gleichungssysteme, etwa zur Netzwerkberechnung in der Elektrotechnik oder
Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
Kompetitive Analysen von Online-Algorithmen
Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen
Die reellen Lösungen der kubischen Gleichung
Die reellen Lösungen der kubischen Gleichung Klaus-R. Löffler Inhaltsverzeichnis 1 Einfach zu behandelnde Sonderfälle 1 2 Die ganzrationale Funktion dritten Grades 2 2.1 Reduktion...........................................
Probleme beim Arbeiten mit Variablen, Termen und Gleichungen
Probleme beim Arbeiten mit Variablen, Termen und Gleichungen Tage des Unterrichts in Mathematik, Naturwissenschaften und Technik Rostock 2010 Prof. Dr. Hans-Dieter Sill, Universität Rostock, http://www.math.uni-rostock.de/~sill/
Beweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit [email protected] 6
Guten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
Zeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
Logische Folgerung. Definition 2.11
Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell
Kap. 8: Speziell gewählte Kurven
Stefan Lucks 8: Spezielle Kurven 82 Verschl. mit Elliptischen Kurven Kap. 8: Speziell gewählte Kurven Zur Erinnerung: Für beliebige El. Kurven kann man den Algorithmus von Schoof benutzen, um die Anzahl
Peer-to-Peer- Netzwerke
Peer-to-Peer- Netzwerke Christian Schindelhauer Sommersemester 2006 14. Vorlesung 23.06.2006 [email protected] 1 Evaluation der Lehre im SS2006 Umfrage zur Qualitätssicherung und -verbesserung
2.11 Kontextfreie Grammatiken und Parsebäume
2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle
Approximation durch Taylorpolynome
TU Berlin Fakultät II - Mathematik und Naturwissenschaften Sekretariat MA 4-1 Straße des 17. Juni 10623 Berlin Hochschultag Approximation durch Taylorpolynome Im Rahmen der Schülerinnen- und Schüler-Uni
Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt
Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung
Programmierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
Gleichungen und Ungleichungen
Gleichungen Ungleichungen. Lineare Gleichungen Sei die Gleichung ax = b gegeben, wobei x die Unbekannte ist a, b reelle Zahlen sind. Diese Gleichung hat als Lösung die einzige reelle Zahl x = b, falls
Maximaler Fluß und minimaler Schnitt. Von Sebastian Thurm [email protected]
Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm [email protected] Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische
Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
TECHNISCHE UNIVERSITÄT MÜNCHEN
TECHISCHE UIVERSITÄT MÜCHE Zentrum Mathematik PRF. R.R. JÜRGE RICHTER-GEBERT, VAESSA KRUMMECK, MICHAEL PRÄHFER Höhere Mathematik für Informatiker I (Wintersemester 003/004) Aufgabenblatt 1 (4. ktober 003)
V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x + 400 y = 520 300x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,
Aufgabenpool für angewandte Mathematik / 1. Jahrgang V B, C, D Drinks Ein gastronomischer Betrieb kauft 300 Dosen Energydrinks (0,3 l) und 400 Liter Flaschen Mineralwasser und zahlt dafür 50, Euro. Einen
Algorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] Algorithmen für Graphen Fragestellungen: Suche
Lineare Gleichungssysteme
Lineare Gleichungssysteme Sei K ein Körper, a ij K für 1 i m, 1 j n. Weiters seien b 1,..., b m K. Dann heißt a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2... a m1
Grundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen
Grundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II
1. Motivation 2. Lernmodelle Teil I 2.1. Lernen im Limes 2.2. Fallstudie: Lernen von Patternsprachen 3. Lernverfahren in anderen Domänen 3.1. Automatensynthese 3.2. Entscheidungsbäume 3.3. Entscheidungsbäume
Lineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.
Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann [email protected]
Algorithmische Mathematik
Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)
6.2 Scan-Konvertierung (Scan Conversion)
6.2 Scan-Konvertierung (Scan Conversion) Scan-Konvertierung ist die Rasterung von einfachen Objekten (Geraden, Kreisen, Kurven). Als Ausgabemedium dient meist der Bildschirm, der aus einem Pixelraster
Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff
Programmieren in C Rekursive Funktionen Prof. Dr. Nikolaus Wulff Rekursive Funktionen Jede C Funktion besitzt ihren eigenen lokalen Satz an Variablen. Dies bietet ganze neue Möglichkeiten Funktionen zu
OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland
OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben
