Grundlagen der Theoretischen Informatik II

Werbung
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.
Herunterladen