1 2 Parametrisierte Komplexität Grundlagen der Theoretischen Informatik O(22k · n) O(nk ) Till Mossakowski Definition: Eine Parametrisierung der Wörter über einem Alphabet Σ ist eine in polynomieller Zeit berechenbare Abbildung κ : Σ∗ → N. Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg Definition: Ein parametrisiertes Problem ist gegeben durch eine Sprache L ⊆ Σ∗ und eine Parametrisierung κ : Σ∗ → N. Sommersemester 2015 3 4 Fixed-Parameter Tractability 3-cnf = {φ | φ ist eine Boolesche Formel in konjunktiver Normalform, in der alle Klauseln aus drei Literalen bestehen} 3-sat ⊆ 3-cnf ⊆ Definition: Ein parametrisiertes Problem (L, κ) ist festparameterhandhabbar (fixed-parameter tractable), falls es einen Algorithmus A, ein Polynom p und eine berechenbare Funktion f gibt, so dass A für alle x ∈ Σ∗ in Zeit f (κ(x)) · p(|x|) Σ∗ ⎧ ⎪ ⎨ k falls x = φ ∈ 3-cnf und in φ kommen k Variablen vor κ(x) = ⎪ ⎩ 1 sonst entscheidet, ob x ∈ L. Satz: (3-sat, κ) ist festparameterhandhabbar. (3-sat, κ) 5 6 Beweisskizze: Für jede der 2k möglichen Belegungen der k Variablen können wir jeweils in Linearzeit testen, ob die Formel bei der Belegung erfüllt ist. X1 = 0 knotenfärbbarkeit κ(x) = ⊆ Σ∗ k falls x = G, k 1 sonst Satz: Falls P = NP, so ist das parametrisierte Problem (knotenfärbbarkeit, κ) nicht festparameterhandhabbar. X1 = 1 7 independent-set κ1 (x) = κ2 (x) = ⊆ Σ∗ k falls x = G, k 1 sonst k + Δ(G) falls x = G, k 1 (independent-set, κ1 ) 8 sonst (independent-set, κ2 ) Während (independent-set, κ1 ) vermutlich nicht festparameterhandhabbar ist, ist es (independent-set, κ2 ) hingegen: Satz: (independent-set, κ2 ) ist festparameterhandhabbar. 9 10 Eine diese Beobachtung ausnutzende, tiefenbeschränkte Suche liefert O((Δ(G) + 1)k ) Knotenmengen, von denen mindestens eine k unabhängige Knoten umfasst, falls miss(G) ≥ k. Beweisskizze: Sei v ein Knoten in G = (V, E) und N[v] = {u ∈ V | {u, v} ∈ E} ∪ {v} G Entweder ist v in einer maximalen unabhängigen Knotenmenge enthalten oder mindestens einer der Nachbarn von v, denn wäre dem nicht so, so könnte man v zur unabhängigen Knotenmenge problemlos hinzunehmen: G − N[v] G − N[u1 ] G − N[u2 ] G − N[uΔ(v) ] miss(G) = max{miss(G − N[u]) | u ∈ N[v]} + 1 11 Platzkomplexität 12 Die Komplexitätsklasse PSPACE Definition: Sei M eine deterministische oder eine nichtdeterministische Turing-Maschine über einem Alphabet Σ. Die Turing-Maschine M heißt polynomiell platzbeschränkt, falls es ein Polynom p gibt, so dass für alle n ∈ N0 und alle w ∈ Σ∗ mit |w| = n jede Berechnung von M bei Eingabe w höchstens p(n) Positionen auf dem Band der Turing-Maschine besucht. Eine Sprache L heißt deterministisch mit polynomiellem Platzbedarf entscheidbar, falls es eine deterministische polynomiell platzbeschränkte Turing-Maschine gibt, die L entscheidet. Definition: Die Klasse der deterministisch mit polynomiellem Platzbedarf entscheidbaren Sprachen wird mit PSPACE bezeichnet. 13 14 Die Komplexitätsklasse NPSPACE Da eine Turingmaschine pro Berechnungsschritt höchstens eine neue Position besuchen kann, folgt Satz: P ⊆ PSPACE. Definition: Die Klasse der nichtdeterministisch mit polynomiellem Platzbedarf entscheidbaren Sprachen wird mit NPSPACE bezeichnet. Ferner gilt Satz: PSPACE ⊆ EXP. Beweis: Eine Turing-Maschine, die höchstens f (n) ≥ n Platz benutzt, durchläuft höchstens f (n)2O(f (n)) verschiedene Konfigurationen. Keine Konfiguration wird zweimal erreicht, sonst gäbe es eine Endlosschleife. Satz: [Savitch] Sei f : N → R eine Funktion mit f (n) ≥ n für alle n ∈ N. Falls eine Sprache L nichtdeterministisch mit Platzbedarf f (n) entschieden werden kann, so kann L deterministisch mit Platzbedarf O( f (n)2 ) entschieden werden. 15 Aus dem Satz von Savitch folgt Satz: PSPACE-Vollständigkeit PSPACE = NPSPACE. Da eine Turingmaschine pro Berechnungsschritt höchstens eine neue Position besuchen kann, folgt Satz: 16 NP ⊆ NPSPACE. Zusammenfassend gilt somit Satz: P ⊆ NP ⊆ PSPACE = NPSPACE ⊆ EXP Definition: Eine Sprache C heißt PSPACE-vollständig, falls C ∈ PSPACE und für alle L ∈ PSPACE gilt L P C. Eine Sprache C heißt PSPACE-hart, falls für alle L ∈ PSPACE gilt L P C. 17 18 Boolesche Formeln können durch das Hinzufügen von All- und Existenzquantoren erweitert werden. ∃ X∀ Y : (X ∨ Y) ∧ (X ∨ Y) ∀ X∃ Y : (X ∨ Y) ∧ (X ∨ Y) tqbf = {φ | φ ist eine vollständig quantifizierte Boolesche Formel in pränexer Normalform und φ ist wahr} Satz: tqbf ist PSPACE-vollständig. xkcd.com 19 Beweis: 20 Wir dürfen o.B.d.A. annehmen, dass die Turing-Maschine M das Band leert, bevor sie auf der gleichen Bandposition, auf der sie gestartet ist, wieder hält. Lemma: tqbf ∈ PSPACE. Lemma: tqbf ist PSPACE-hart. Wir betrachten den Konfigurationsgraphen Beweisskizze: GM,|w| Sei L ∈ PSPACE beliebig. Dann gibt es eine deterministische polynomiell platzbeschränkte Turing-Maschine M = (K, Σ, Γ, δ , s, qaccept , qreject ), die L entscheidet. Ferner sei s(n) = nk , so dass M bei jeder Eingabe w der Länge n höchstens s(n) Positionen auf dem Band von M besucht. Zu gegebenem w konstruieren wir eine vollquantifizierte Formel φ , die genau dann wahr ist, wenn w ∈ L. zu M. Sei n = |w|. Die Knoten von GM,|w| sind die Konfigurationen von M, die die s(n) relevanten Bandpositionen umfassen. Es gibt höchstens (2kM )s(n) solche Konfigurationen für eine Konstante kM . Es gibt in GM,|w| eine Kante von Konfiguration c1 zu Konfiguration c2 , wenn c2 in einem Berechnungsschritt von M aus c1 hervorgeht. 21 22 In Analogie zum Beweis von domino P sat werden Konfiguration aus GM,|w| wie folgt durch einen Boolesche Formel beschrieben, so dass jede Belegung der Variablen, die die Formel erfüllt, einer Konfiguration entspricht. Wir konstruieren teilquantifizierte Formeln φi (C1 , C2 ). Die nichtquantifizierten Variablen in φi (C1 , C2 ) repräsentieren zwei Konfigurationen aus GM,|w| . Legen Wahrheitswerte dieser Variablen Konfigurationen c1 und c2 fest, so ist der resultierende Boolesche Ausdruck genau dann wahr, wenn es in GM,|w| einen Pfad der Länge höchstens 2i von c1 nach c2 gibt. Es gibt Variablen Xσj für alle 1 ≤ j ≤ s(n) und alle σ ∈ Γ. Ferner Variablen Xql für alle 1 ≤ l ≤ s(n) und alle q ∈ K. Variable Xσj hat Wahrheitswert 1 genau dann wenn σ das Symbol auf der j-ten Bandposition ist. Xql ist 1 genau dann wenn sich der Schreib-/Lesekopf auf der l-ten Bandposition befindet und M im Zustand q ist. 23 ⎛ ⎝ ⎛ σ ∈Γ Xσj 1≤j≤s(n) σ =σ ∈Γ ∧⎝ ⎛ 1≤j≤s(n) ∧⎝ ⎛ 1≤j≤s(n) ∧⎝ q∈K Xqj ⎞ ⎠ Xσj ∨ Xσj ∧⎝ j Xq ∨ Xqj j 1≤j≤s(n) q=q ∈K ⎠ ⎞ ⎠ φ0 (C1 , C2 ) ist nun eine Boolesche Formel, die nach Variablenbelegung, die Konfigurationen c1 und c2 repräsentiert, zu einem Booleschen Ausdruck führt, der genau dann wahr ist, falls c1 = c2 oder c2 in einem Berechnungsschritt aus c1 hervorgeht. ⎞ ⎛ j j ⎝ Xσ = Yσ ⎠ ⎛ ⎞ ⎠ 1≤j=j ≤s(n) q∈K ⎛ ⎞ 24 Xq ∨ Xqj ⎞ ⎠ ∧⎝ ⎛ ∨⎝ 1≤j≤s(n) σ ∈Γ ⎞ Xqj = Yqj ⎠ 1≤j≤s(n) q∈K 1≤j≤s(n) (q,σ ) ⎞ ( . . . )⎠ 25 c2 geht in höchstens 2i Schritten aus c1 hervor, falls es eine Zwischenkonfiguration c gibt, die von c1 aus in höchstens 2i−1 Schritten erreicht wird und von der aus c2 in höchstens 2i−1 Schritten erreicht wird. Sei cstart die Startkonfiguration bei Eingabe w und caccept die eindeutige akzeptierende Haltekonfiguration. Die vollquantifizierte Formel φ = φkM ·s(n) (cstart , caccept ), die aus φkM ·s(n) (C1 , C2 ) entsteht, indem wir die Variablen so durch Wahrheitswerte belegen, dass cstart beziehungsweise caccept repräsentiert werden, ist genau dann wahr, wenn w ∈ L(M). Sie kann in polynomieller Zeit konstruiert werden. φi (C1 , C2 ) ist, in abkürzender Schreibweise, folgende teilquantifizierte Formel: ∃ C ∀ D1 ∀ D2 26 ∨ (D1 = C1 ∧ D2 = C ) ∨ (D1 = C ∧ D2 = C2 ) ⇒ φi−1 (D1 , D2 ) Würden wir in obigem Beweis φi (C1 , C2 ) = ∃C (φi−1 (C1 , C ) ∧ φi−1 (C , C2 )) setzen, hätte unsere Formel exponentielle Länge in n = |w|, könnte also nicht in polynomieller Zeit konstruiert werden. Wie zuvor sind die zu C1 und C2 gehörigen Variablen nicht quantifiziert. 27 28 Gewinnstrategien in Zweipersonenspielen Formelspiel: Zu quantifizierten Booleschen Formel in prenexer Normalform lässt sich ein 2-Personenspiel ableiten: Die Quantoren einer gegebenen Formel werden von links nach rechts abgearbeitet. Bei einem Existenzquantor ∃ darf Spieler E den Wahrheitswert der quantifizierten Variablen festlegen, bei einem Allquantor ∀ darf Spieler A den Wert der quantifizierten Variablen festlegen. E gewinnt, falls die Teilformel ohne die Quantoren bei der gewählten Belegung erfüllt ist, ansonsten gewinnt A. formula-game = {φ | φ ist eine quantifizierte Boolesche Formel, für deren assoziiertes 2-Personenspiel Spieler E eine Gewinnstrategie besitzt} Lemma: formula-game ist in PSPACE. Lemma: tqbf P formula-game. Satz: formula-game ist PSPACE-vollständig.