1 Grundlagen der Theoretischen Informatik II Till Mossakowski Fakultät für Informatik Otto-von-Guericke-Universität Magdeburg Sommersemester 2015 2 Parametrisierte Komplexität O(nk ) O(22k · n) Definition: Eine Parametrisierung der Wörter über einem Alphabet Σ ist eine in polynomieller Zeit berechenbare Abbildung κ : Σ∗ → N. Definition: Ein parametrisiertes Problem ist gegeben durch eine Sprache L ⊆ Σ∗ und eine Parametrisierung κ : Σ∗ → N. 3 3-cnf = {hφ i | φ ist eine Boolesche Formel in konjunktiver Normalform, in der alle Klauseln aus drei Literalen bestehen} 3-sat ⊆ 3-cnf ⊆ Σ∗ k falls x = hφ i ∈ 3-cnf und in φ kommen k Variablen vor κ(x) = 1 sonst (3-sat, κ) 4 Fixed-Parameter Tractability 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|) entscheidet, ob x ∈ L. Satz: (3-sat, κ) ist festparameterhandhabbar. 5 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 X1 = 1 6 knotenfärbbarkeit ( κ(x) = ⊆ Σ∗ k falls x = hG, ki 1 sonst Satz: Falls P 6= NP, so ist das parametrisierte Problem (knotenfärbbarkeit, κ) nicht festparameterhandhabbar. 7 independent-set ( κ1 (x) = Σ∗ k falls x = hG, ki 1 sonst ( κ2 (x) = ⊆ k + ∆(G) falls x = hG, ki 1 (independent-set, κ1 ) sonst (independent-set, κ2 ) 8 Während (independent-set, κ1 ) vermutlich nicht festparameterhandhabbar ist, ist es (independent-set, κ2 ) hingegen: Satz: (independent-set, κ2 ) ist festparameterhandhabbar. 9 Beweisskizze: Sei v ein Knoten in G = (V, E) und N[v] = {u ∈ V | {u, v} ∈ E} ∪ {v} 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: miss(G) = max{miss(G − N[u]) | u ∈ N[v]} + 1 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. G G − N[v] G − N[u1 ] G − N[u2 ] G − N[u∆(v) ] 11 Platzkomplexität 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. 12 Die Komplexitätsklasse PSPACE 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 Da eine Turingmaschine pro Berechnungsschritt höchstens eine neue Position besuchen kann, folgt Satz: P ⊆ PSPACE. 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. 14 Die Komplexitätsklasse NPSPACE Definition: Die Klasse der nichtdeterministisch mit polynomiellem Platzbedarf entscheidbaren Sprachen wird mit NPSPACE bezeichnet. 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 = NPSPACE. Da eine Turingmaschine pro Berechnungsschritt höchstens eine neue Position besuchen kann, folgt Satz: NP ⊆ NPSPACE. Zusammenfassend gilt somit Satz: P ⊆ NP ⊆ PSPACE = NPSPACE ⊆ EXP 16 PSPACE-Vollständigkeit 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 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 = {hφ i | φ ist eine vollständig quantifizierte Boolesche Formel in pränexer Normalform und φ ist wahr} Satz: tqbf ist PSPACE-vollständig. 18 xkcd.com 19 Beweis: Lemma: tqbf ∈ PSPACE. Lemma: tqbf ist PSPACE-hart. Beweisskizze: 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. 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. Wir betrachten den Konfigurationsgraphen GM,|w| 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 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. 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. 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 ^ _ 1≤ j≤s(n) σ ∈Γ ^ ^ ! Xσj Xσj ∨ Xσj 0 ∧ 1≤ j≤s(n) σ 6=σ 0 ∈Γ ∧ _ _ 1≤ j≤s(n) q∈K ! Xqj ∧ ^ 0 Xq ∨ Xqj ^ j 1≤ j6= j0 ≤s(n) q∈K ∧ ^ Xq ∨ Xqj0 ^ j 1≤ j≤s(n) q6=q0 ∈K 24 φ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 Xσ = Yσj 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 c0 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. φi (C1 ,C2 ) ist, in abkürzender Schreibweise, folgende teilquantifizierte Formel: ∃ C0 ∀ D1 ∀ D2 ∨ (D1 = C1 ∧ D2 = C0 ) ∨ (D1 = C0 ∧ D2 = C2 ) ⇒ φi−1 (D1 , D2 ) Wie zuvor sind die zu C1 und C2 gehörigen Variablen nicht quantifiziert. 26 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. Würden wir in obigem Beweis φi (C1 ,C2 ) = ∃C0 (φi−1 (C1 ,C0 ) ∧ φi−1 (C0 ,C2 )) setzen, hätte unsere Formel exponentielle Länge in n = |w|, könnte also nicht in polynomieller Zeit konstruiert werden. 27 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 = {hφ i | φ ist eine quantifizierte Boolesche Formel, für deren assoziiertes 2-Personenspiel Spieler E eine Gewinnstrategie besitzt} 28 Lemma: formula-game ist in PSPACE. Lemma: tqbf P formula-game. Satz: formula-game ist PSPACE-vollständig.