VL-14: Der Satz von Cook & Levin
(Berechenbarkeit und Komplexit¨ at, WS 2019) Gerhard Woeginger
WS 2019, RWTH
Organisatorisches
Heute: Vorlesungs-Evaluierung (gegen Ende der Stunde) N¨achste Vorlesungen:
Mittwoch, Dezember 18, 10:30–12:00, Aula: Fragestunde Freitag, Januar 10, 12:30–14:00 Uhr, Audimax
Mittwoch, Januar 15, 10:30–12:00, Aula
Webseite:
https://algo.rwth-aachen.de/Lehre/WS1920/BuK/BuK.py
Wiederholung
Wdh.: Komplexit¨ atsklasse EXPTIME
Definition: Komplexit¨atsklasse EXPTIME
EXPTIMEist die Klasse aller Entscheidungsprobleme,
die durch eine DTM M entschieden werden, deren Worst Case Laufzeit durch 2q(n) mit einem Polynomq beschr¨ankt ist,
Laufzeit-Beispiele: 2√n, 2n, 3n, n·2n, n!, nn Aber nicht:22n undnnn
Satz
P ⊆ NP ⊆ EXPTIME
Wdh.: L¨ osung finden vs L¨ osbarkeit entscheiden
Ein beliebiges Entscheidungsproblem in NP Eingabe:Ein diskretes ObjektX.
Frage:Existiert f¨ur dieses ObjektX ein L¨osungsobjektY? Dilemma:
Das Entscheidungsproblem besch¨aftigt sich nur mit der Frage, ob ein derartiges L¨osungsobjektY existiert.
Aber eigentlich will man das L¨osungsobjektY auch genau bestimmen, und dann damit weiter arbeiten.
Ausweg:
Ein schneller Algorithmus f¨ur das Entscheidungsproblem liefert (durch wiederholte Anwendung) oft auch einen schnellen Algorithmus zum Berechnen eines expliziten L¨osungsobjekts
Wdh.: Optimieren vs Entscheiden
F¨ur ein Optimierungsproblem mit einer MengeLvon zul¨assigen L¨osungen und einer Kostenfunktionf :L →Ndefinieren wir das entsprechende Entscheidungsproblem:
Eingabe:Wie im Optimierungsproblem; plus Schrankeγ∈N Frage:Existiert eine zul¨assige L¨osungx ∈ L
mit f(x)≥γ (f¨ur Maximierungsprobleme) respektive mit f(x)≤γ (f¨ur Minimierungsprobleme)?
Mit Hilfe eines Algorithmus, der das Optimierungsproblem l¨ost, kann man immer das entsprechende Entscheidungsproblem l¨osen.
Mit Hilfe eines Algorithmus, der das Entscheidungsproblem l¨ost, kann man den optimalen Zielfunktionswert bestimmen
Wdh.: Polynomielle Reduktionen
Definition
Es seienL1 undL2 Sprachen ¨uberΣ1 bzw.Σ2.
Dann istL1 polynomiellreduzierbar aufL2(mit der NotationL1≤pL2), wenn eine polynomiellberechenbare Funktionf: Σ∗1→Σ∗2existiert, so dass f¨ur allex∈Σ∗1 gilt: x∈L1 ⇔ f(x)∈L2.
L1≤pL2undL2≤pL3impliziertL1≤pL3 (Transitivit¨at) L1≤pL2undL2∈P impliziertL1∈P
COLORING≤p SAT VC≤pSAT
Ex-Cover ≤p SAT (¨Ubung)
Vorlesung VL-14
Der Satz von Cook & Levin
Satz von Cook & Levin NP-Vollst¨andigkeit
Kochrezept f¨ur NP-Vollst¨andigkeitsbeweise NP-Vollst¨andigkeit von 3-SAT
Karp’s Liste mit 21 Problemen
Polynomielle Reduktionen auf SAT
Problem: Satisfiability (SAT)
Eingabe:Boole’sche Formelϕin CNF ¨uber der VariablenmengeX Frage:Existiert eine Wahrheitsbelegung vonX, dieϕerf¨ullt?
Wir wissen bereits:
COLORING kann in polynomieller Zeit auf SAT reduziert werden VC kann in polynomieller Zeit auf SAT reduziert werden
EX-COVER kann in polynomieller Zeit auf SAT reduziert werden
Nat¨urliche Frage: Welche anderen Probleme k¨onnen denn noch in polynomieller Zeit auf SAT reduziert werden?
Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primzahl
SAT
Clique Ind-Set VC
Ex-Cover
Ham-Cycle TSP Partition
Subset-Sum Knapsack
BPP Coloring
Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primzahl
SAT
Clique Ind-Set VC
Ex-Cover
Ham-Cycle TSP Partition
Subset-Sum Knapsack
BPP Coloring
Der Satz von Cook & Levin
Satz (Cook & Levin)
F¨ur alleL∈NPgilt: L≤pSAT
In anderen Worten:
Jedes Problem in der KlasseNP kann in polynomieller Zeit als Spezialfall von SATformuliert werden.
Das Erf¨ullbarkeitsproblemSATist ein universelles Modellierungstool f¨ur die gesamte KlasseNP.
Stephen Cook OC (1939)
Wikipedia:Stephen Arthur Cookis an American-Canadian computer scientist and mathematician who has made major contributions to the fields of complexity theory and proof complexity.
His seminal paper“The complexity of theorem proving procedures”(presented at the 1971 Symposium on the Theory of Computing) laid the foundations for the theory of NP-Completeness.
The ensuing exploration of the boundaries and nature of the class of NP-complete problems has become one of the most active and important research areas in computer science.
Leonid Levin (1948)
Wikipedia:Leonid Anatolievich Levinis a Soviet-American computer scientist. He obtained his master’s degree at Moscow University in 1970 where he studied under Andrej Kolmogorov. He completed the Candidate Degree academic requirements in 1972.
Levin is known for his work in randomness in computing,
average-case complexity, foundations of mathematics and computer science, algorithmic probability, theory of computation, and information theory.
Leonid Levin and Stephen Cook independently discovered the existence of NP-complete problems.
Levin was awarded the Knuth Prize in 2012 for his discovery of
Beweis des Satzes
von Cook & Levin
Grundideen des Beweises (1)
Es seiL⊆Σ∗ ein beliebiges Problem inNP.
Es seiM eine NTM, dieL in polynomieller Zeit erkennt.
Wir m¨ussen/werden zeigen, dassL≤p SATgilt.
Dazu konstruieren wir eine polynomiell berechenbare Funktionf, die jedesx∈Σ∗ auf eine Formelϕ=:f(x)abbildet, sodass gilt:
x ∈L ⇔ M akzeptiertx ⇔ ϕ∈SAT
Wir nehmen folgende Eigenschaften der NTMM an: M besucht keine Bandzelle links von der Startzelle.
Eine akzeptierende Rechnung vonM geht in den Zustandqaccept
¨
uber, und bleibt dann dort in einer Endlosschleife.
Es gibt ein Polynomp(·), sodass M eine Eingabex genau dann akzeptiert, wenn es einen Rechenweg gibt, der nachp(|x|)Schritten im Zustand qaccept gelandet ist.
Grundideen des Beweises (1)
Es seiL⊆Σ∗ ein beliebiges Problem inNP.
Es seiM eine NTM, dieL in polynomieller Zeit erkennt.
Wir m¨ussen/werden zeigen, dassL≤p SATgilt.
Dazu konstruieren wir eine polynomiell berechenbare Funktionf, die jedesx∈Σ∗ auf eine Formelϕ=:f(x)abbildet, sodass gilt:
x ∈L ⇔ M akzeptiertx ⇔ ϕ∈SAT
Wir nehmen folgende Eigenschaften der NTMM an:
M besucht keine Bandzelle links von der Startzelle.
Eine akzeptierende Rechnung vonM geht in den Zustandqaccept
¨
uber, und bleibt dann dort in einer Endlosschleife.
Es gibt ein Polynomp(·), sodass M eine Eingabex genau dann akzeptiert, wenn es einen Rechenweg gibt, der nachp(|x|)Schritten im Zustand qaccept gelandet ist.
Grundideen des Beweises (2)
Beobachtung
Es seiK0=q0x die Startkonfiguration vonM. Die NTMM akzeptiert ein Wortx mit|x|=ngenau dann, wenn es eine Konfigurationsfolge
K0 ` K1 ` K2 ` · · · ` Kp(n) gibt, bei derKp(n) im Zustandqaccept ist.
Unsere Formelϕwird derart konstruiert, dassϕgenau dann erf¨ullbar ist,
wenn solch eine akzeptierende Konfigurationsfolge existiert.
Die Boole’schen Variablen (1)
Die Variablen in der Formelϕ
Q(t,q) f¨urt∈ {0, . . . ,p(n)} undq∈Q
H(t,j) f¨urt,j∈ {0, . . . ,p(n)}
B(t,j,a) f¨urt,j ∈ {0, . . . ,p(n)} unda∈Γ
Interpretation der Variablen:
Die BelegungQ(t,q) =1besagt, dass sich die Berechnung zum Zeitpunktt im Zustandqbefindet.
Die BelegungH(t,j) =1steht daf¨ur, dass sich der Kopf zum Zeitpunktt an Bandpositionj befindet.
Die BelegungB(t,j,a) =1bedeutet, dass zum Zeitpunkttan Bandpositionj das Zeichen ageschrieben steht.
Die Boole’schen Variablen (1)
Die Variablen in der Formelϕ
Q(t,q) f¨urt∈ {0, . . . ,p(n)} undq∈Q H(t,j) f¨urt,j∈ {0, . . . ,p(n)}
B(t,j,a) f¨urt,j ∈ {0, . . . ,p(n)} unda∈Γ
Interpretation der Variablen:
Die BelegungQ(t,q) =1besagt, dass sich die Berechnung zum Zeitpunktt im Zustandqbefindet.
Die BelegungH(t,j) =1steht daf¨ur, dass sich der Kopf zum Zeitpunktt an Bandpositionj befindet.
Die BelegungB(t,j,a) =1bedeutet, dass zum Zeitpunkttan Bandpositionj das Zeichen ageschrieben steht.
Die Boole’schen Variablen (1)
Die Variablen in der Formelϕ
Q(t,q) f¨urt∈ {0, . . . ,p(n)} undq∈Q H(t,j) f¨urt,j∈ {0, . . . ,p(n)}
B(t,j,a) f¨urt,j ∈ {0, . . . ,p(n)} unda∈Γ
Interpretation der Variablen:
Die BelegungQ(t,q) =1besagt, dass sich die Berechnung zum Zeitpunktt im Zustandqbefindet.
Die BelegungH(t,j) =1steht daf¨ur, dass sich der Kopf zum Zeitpunktt an Bandpositionj befindet.
Die BelegungB(t,j,a) =1bedeutet, dass zum Zeitpunktt an Bandpositionj das Zeichen ageschrieben steht.
Die Boole’schen Variablen (2): Illustration
0 1 1 0 0 1
0 1 1 0 0 1
0 1 1 0 1 1
B(0,0,0)=1 B(0,0,1)=0 B(0,1,0)=0 B(0,1,1)=1 B(0,2,0)=0 B(0,2,1)=1 B(0,3,0)=1 B(0,3,1)=0 B(0,4,0)=1 B(0,4,1)=0 B(0,5,0)=0 B(0,5,1)=1
B(1,0,0)=1 B(1,0,1)=0 B(1,1,0)=0 B(1,1,1)=1 B(1,2,0)=0 B(1,2,1)=1 B(1,3,0)=1 B(1,3,1)=0 B(1,4,0)=1 B(1,4,1)=0 B(1,5,0)=0 B(1,5,1)=1
B(2,0,0)=1 B(2,0,1)=0 B(2,1,0)=0 B(2,1,1)=1 B(2,2,0)=0 B(2,2,1)=1 B(2,3,0)=1 B(2,3,1)=0 B(2,4,0)=0 B(2,4,1)=1 B(2,5,0)=0 B(2,5,1)=1
q
q0
q00
Q(0,q) =1
H(0,0) =0
H(0,1) =0
H(0,2) =0
H(0,3) =1
H(0,4) =0
H(0,5) =0
t=0
t=1
t=2
Q(1,q0) =1
H(1,0) =0
H(1,1) =0
H(1,2) =0
H(1,3) =0 H(1,4) =1
H(1,5) =0
Q(2,q00) =1
H(2,0) =0
H(2,1) =0
H(2,2) =0
H(2,3) =0
H(2,4) =1
H(2,5) =0
Die Boole’schen Variablen (2): Illustration
0 1 1 0 0 1
0 1 1 0 0 1
0 1 1 0 1 1
B(0,0,0)=1 B(0,0,1)=0 B(0,1,0)=0 B(0,1,1)=1 B(0,2,0)=0 B(0,2,1)=1 B(0,3,0)=1 B(0,3,1)=0 B(0,4,0)=1 B(0,4,1)=0 B(0,5,0)=0 B(0,5,1)=1 B(1,0,0)=1 B(1,0,1)=0 B(1,1,0)=0 B(1,1,1)=1 B(1,2,0)=0 B(1,2,1)=1 B(1,3,0)=1 B(1,3,1)=0 B(1,4,0)=1 B(1,4,1)=0 B(1,5,0)=0 B(1,5,1)=1
B(2,0,0)=1 B(2,0,1)=0 B(2,1,0)=0 B(2,1,1)=1 B(2,2,0)=0 B(2,2,1)=1 B(2,3,0)=1 B(2,3,1)=0 B(2,4,0)=0 B(2,4,1)=1 B(2,5,0)=0 B(2,5,1)=1
q
q0
q00 Q(0,q) =1
H(0,0) =0
H(0,1) =0
H(0,2) =0
H(0,3) =1
H(0,4) =0
H(0,5) =0
t=0
t=1
t=2
Q(1,q0) =1
H(1,0) =0
H(1,1) =0
H(1,2) =0
H(1,3) =0 H(1,4) =1
H(1,5) =0
Q(2,q00) =1
H(2,0) =0
H(2,1) =0
H(2,2) =0
H(2,3) =0
H(2,4) =1
H(2,5) =0
Die Boole’schen Variablen (2): Illustration
0 1 1 0 0 1
0 1 1 0 0 1
0 1 1 0 1 1
B(0,0,0)=1 B(0,0,1)=0 B(0,1,0)=0 B(0,1,1)=1 B(0,2,0)=0 B(0,2,1)=1 B(0,3,0)=1 B(0,3,1)=0 B(0,4,0)=1 B(0,4,1)=0 B(0,5,0)=0 B(0,5,1)=1
B(1,0,0)=1 B(1,0,1)=0 B(1,1,0)=0 B(1,1,1)=1 B(1,2,0)=0 B(1,2,1)=1 B(1,3,0)=1 B(1,3,1)=0 B(1,4,0)=1 B(1,4,1)=0 B(1,5,0)=0 B(1,5,1)=1 B(2,0,0)=1 B(2,0,1)=0 B(2,1,0)=0 B(2,1,1)=1 B(2,2,0)=0 B(2,2,1)=1 B(2,3,0)=1 B(2,3,1)=0 B(2,4,0)=0 B(2,4,1)=1 B(2,5,0)=0 B(2,5,1)=1
q
q0
q00 Q(0,q) =1
H(0,0) =0
H(0,1) =0
H(0,2) =0
H(0,3) =1
H(0,4) =0
H(0,5) =0
t=0
t=1
t=2
Q(1,q0) =1
H(1,0) =0
H(1,1) =0
H(1,2) =0
H(1,3) =0 H(1,4) =1
H(1,5) =0
Q(2,q00) =1
H(2,0) =0
H(2,1) =0
H(2,2) =0
H(2,3) =0
H(2,4) =1
H(2,5) =0
Die Boole’schen Variablen (2): Illustration
0 1 1 0 0 1
0 1 1 0 0 1
0 1 1 0 1 1
B(0,0,0)=1 B(0,0,1)=0 B(0,1,0)=0 B(0,1,1)=1 B(0,2,0)=0 B(0,2,1)=1 B(0,3,0)=1 B(0,3,1)=0 B(0,4,0)=1 B(0,4,1)=0 B(0,5,0)=0 B(0,5,1)=1
B(1,0,0)=1 B(1,0,1)=0 B(1,1,0)=0 B(1,1,1)=1 B(1,2,0)=0 B(1,2,1)=1 B(1,3,0)=1 B(1,3,1)=0 B(1,4,0)=1 B(1,4,1)=0 B(1,5,0)=0 B(1,5,1)=1
B(2,0,0)=1 B(2,0,1)=0 B(2,1,0)=0 B(2,1,1)=1 B(2,2,0)=0 B(2,2,1)=1 B(2,3,0)=1 B(2,3,1)=0 B(2,4,0)=0 B(2,4,1)=1 B(2,5,0)=0 B(2,5,1)=1
q
q0
q00 Q(0,q) =1
H(0,0) =0
H(0,1) =0
H(0,2) =0
H(0,3) =1
H(0,4) =0
H(0,5) =0
t=0
t=1
t=2
Q(1,q0) =1
H(1,0) =0
H(1,1) =0
H(1,2) =0
H(1,3) =0 H(1,4) =1
H(1,5) =0
Q(2,q00) =1
H(2,0) =0
H(2,1) =0
H(2,2) =0
H(2,3) =0
H(2,4) =1
H(2,5) =0
Unser Arbeitsplan
Wir werden die akzeptierende Konfigurationsfolge in drei Phasen in die Formelϕ¨ubersetzen.
Arbeitsphase A:F¨ur jeden Zeitpunktt beschreiben die Variablen Q(t,q),H(t,j)und B(t,j,a)eine legale Konfiguration.
Arbeitsphase B:Die Konfiguration zum Zeitpunkt t+1entsteht legal aus der Konfiguration zum Zeitpunktt.
Arbeitsphase C:Startkonfiguration und Endkonfiguration sind legal.
Arbeitsphase A (1)
F¨ur jeden Zeitpunktt konstruieren wir
eine Teilformelϕt von Formelϕ, die nur dann erf¨ullt ist, wenn die VariablenQ(t,q), H(t,j)undB(t,j,a)eine legale KonfigurationKt beschreiben.
A1. Es gibtgenau einenZustandq∈Q mitQ(t,q) =1.
A2. Es gibtgenau eineBandpositionj∈ {0, . . . ,p(n)}mit H(t,j) =1.
A3. Es gibt f¨ur jedesj ∈ {0, . . . ,p(n)} jeweilsgenau einZeichena∈Γ mitB(t,j,a) =1.
Arbeitsphase A (2)
Boole’sches Werkzeug
F¨ur eine beliebige Variablenmenge{y1, . . . ,yk} besagt die folgende Formel in CNF, dassgenau eineder Variablenyi den Wert 1 annimmt:
(y1∨y2∨ . . . ∨yk) ∧ ^
i6=j
( ¯yi∨y¯j)
Die Anzahl der Literale in dieser Formel istO(k2)und quadratisch in der Anzahl der Variablen.
Die drei erw¨unschten EigenschaftenA1/A2/A3zum Zeitpunkt t(f¨ur legale Konfigurationen) k¨onnen daher jeweils durch eine Formelϕt mit polynomiell beschr¨ankter L¨ange kodiert werden.
Phase A ist damit abgeschlossen.
Arbeitsphase A (2)
Boole’sches Werkzeug
F¨ur eine beliebige Variablenmenge{y1, . . . ,yk} besagt die folgende Formel in CNF, dassgenau eineder Variablenyi den Wert 1 annimmt:
(y1∨y2∨ . . . ∨yk) ∧ ^
i6=j
( ¯yi∨y¯j)
Die Anzahl der Literale in dieser Formel istO(k2)und quadratisch in der Anzahl der Variablen.
Die drei erw¨unschten EigenschaftenA1/A2/A3zum Zeitpunkt t(f¨ur legale Konfigurationen) k¨onnen daher jeweils durch eine Formelϕt mit polynomiell beschr¨ankter L¨ange kodiert werden.
Phase A ist damit abgeschlossen.
Arbeitsphase B (1)
Wir konstruieren f¨ur jeden Zeitpunktt
eine Teilformelϕ0t von Formelϕ, die erzwingt, dass Kt
eine direkte Nachfolgekonfiguration von KonfigurationKt−1 ist.
B1. Der Bandinhalt der Konfiguration Kt stimmt an allen Positionen mit dem Bandinhalt der KonfigurationKt−1 ¨uberein, mit der m¨oglichen Ausnahme von jener Position, an der der Kopf zum vorherigen Zeitpunktt−1war.
B2. Zustand, Kopfposition und Bandinhalt an Kopfposition ver¨andern sich im Einklang mit der ¨Ubergangsrelationδ.
Arbeitsphase B (2)
EigenschaftB1(Bandinhalt vonKt stimmt mit Bandinhalt vonKt−1
¨uberein, ausgenommen an Kopfposition) wird wie folgt kodiert:
p(n)
^
i=0
^
a∈Γ
B(t−1,i,a)∧ ¬H(t−1,i) ⇒ B(t,i,a)
Boole’sches Werkzeug
x1⇒x2 ¨aquivalent zu ¬x1∨x2
¬(x1∧x2) ¨aquivalent zu ¬x1∨ ¬x2 (De Morgan) y1∧ ¬y2⇒y3 ¨aquivalent zu ¬(y1∧ ¬y2)∨y3
¨
aquivalent zu ¬y1∨y2∨y3
p(n)
^
i=0
^
a∈Γ
(¬B(t−1,i,a) ∨ H(t−1,i) ∨ B(t,i,a))
Arbeitsphase B (2)
EigenschaftB1(Bandinhalt vonKt stimmt mit Bandinhalt vonKt−1
¨uberein, ausgenommen an Kopfposition) wird wie folgt kodiert:
p(n)
^
i=0
^
a∈Γ
B(t−1,i,a)∧ ¬H(t−1,i) ⇒ B(t,i,a)
Boole’sches Werkzeug
x1⇒x2 ¨aquivalent zu ¬x1∨x2
¬(x1∧x2) ¨aquivalent zu ¬x1∨ ¬x2 (De Morgan) y1∧ ¬y2⇒y3 ¨aquivalent zu ¬(y1∧ ¬y2)∨y3
¨
aquivalent zu ¬y1∨y2∨y3
p(n)
^
i=0
^
a∈Γ
(¬B(t−1,i,a) ∨ H(t−1,i) ∨ B(t,i,a))
Arbeitsphase B (2)
EigenschaftB1(Bandinhalt vonKt stimmt mit Bandinhalt vonKt−1
¨uberein, ausgenommen an Kopfposition) wird wie folgt kodiert:
p(n)
^
i=0
^
a∈Γ
B(t−1,i,a)∧ ¬H(t−1,i) ⇒ B(t,i,a)
Boole’sches Werkzeug
x1⇒x2 ¨aquivalent zu ¬x1∨x2
¬(x1∧x2) ¨aquivalent zu ¬x1∨ ¬x2 (De Morgan) y1∧ ¬y2⇒y3 ¨aquivalent zu ¬(y1∧ ¬y2)∨y3
¨
aquivalent zu ¬y1∨y2∨y3
p(n)
^ ^
(¬B(t−1,i,a) ∨ H(t−1,i) ∨ B(t,i,a))
Arbeitsphase B (3)
EigenschaftB2(Zustand, Kopfposition und Bandinhalt an Kopfposition ver¨andern sich gem¨ass ¨Ubergangsrelationδ) wird wie folgt kodiert.
F¨ur alleq∈Q, f¨ur allej∈ {0, . . . ,p(n)−1}und f¨ur allea∈Γ verwenden wir die Teilformel
Q(t−1,q)∧H(t−1,j)∧B(t−1,j,a) ⇒ _
(q,a,q0,a0,κ)∈δ
(Q(t,q0)∧H(t,j+κ)∧B(t,j,a0))
wobeiκdie WerteL=−1,N=0und R=1annehmen kann.
Arbeitsphase B (4)
· · ·
· · · B 0 0 1 1
δ 0 1 B
q1 {(q1,B,R),(q2,1,L)} {(q3,B,R)} {(q2,B,N)}
q3 {(q1,1,R)} {(q2,0,R)} {(q1,B,L)}
Start Ende Blank q2
q1 B
Σ ={0,1}
Γ ={0,1,B}
Q={q1,q2,q3}
Q(t−1,q1)∧H(t−1,j)∧B(t−1,j,0) ⇒
Q(t,q1)∧H(t,j+1)∧B(t,j,B)
∨ Q(t,q2)∧H(t,j−1)∧B(t,j,1)
Arbeitsphase B (4)
· · ·
· · · B 0 0 1 1
δ 0 1 B
q1 {(q1,B,R),(q2,1,L)} {(q3,B,R)} {(q2,B,N)}
q3 {(q1,1,R)} {(q2,0,R)} {(q1,B,L)}
Start Ende Blank q2
q1 B
Σ ={0,1}
Γ ={0,1,B}
Q={q1,q2,q3}
Q(t−1,q1)∧H(t−1,j)∧B(t−1,j,0) ⇒
Q(t,q1)∧H(t,j+1)∧B(t,j,B)
Arbeitsphase B (5)
F¨ur alleq∈Q, f¨ur allej∈ {0, . . . ,p(n)−1}und f¨ur allea∈Γ verwenden wir die Teilformel
Q(t−1,q)∧H(t−1,j)∧B(t−1,j,a) ⇒ _
(q,a,q0,a0,κ)∈δ
(Q(t,q0)∧H(t,j+κ)∧B(t,j,a0))
wobeiκdie WerteL=−1,N=0und R=1annehmen kann.
Die Formel in Rotist nicht in CNF
Die Formel in Rotbesteht aus h¨ochstens3∆ +3Literalen (wobei∆der maximale Verzweigungsgrad der NTMM ist) Die Formel in Rotkann in eine ¨aquivalente Formel in CNF mit h¨ochstens≤33∆+3(3∆ +3)Literalen umgeformt werden Phase B ist damit abgeschlossen.
Arbeitsphase B (5)
F¨ur alleq∈Q, f¨ur allej∈ {0, . . . ,p(n)−1}und f¨ur allea∈Γ verwenden wir die Teilformel
Q(t−1,q)∧H(t−1,j)∧B(t−1,j,a) ⇒ _
(q,a,q0,a0,κ)∈δ
(Q(t,q0)∧H(t,j+κ)∧B(t,j,a0))
wobeiκdie WerteL=−1,N=0und R=1annehmen kann.
Die Formel in Rotist nicht in CNF
Die Formel in Rotbesteht aus h¨ochstens3∆ +3Literalen (wobei∆der maximale Verzweigungsgrad der NTMM ist) Die Formel in Rotkann in eine ¨aquivalente Formel in CNF mit h¨ochstens≤33∆+3(3∆ +3)Literalen umgeformt werden Phase B ist damit abgeschlossen.
Arbeitsphase B (5)
F¨ur alleq∈Q, f¨ur allej∈ {0, . . . ,p(n)−1}und f¨ur allea∈Γ verwenden wir die Teilformel
Q(t−1,q)∧H(t−1,j)∧B(t−1,j,a) ⇒ _
(q,a,q0,a0,κ)∈δ
(Q(t,q0)∧H(t,j+κ)∧B(t,j,a0))
wobeiκdie WerteL=−1,N=0und R=1annehmen kann.
Die Formel in Rotist nicht in CNF
Die Formel in Rotbesteht aus h¨ochstens3∆ +3Literalen (wobei∆der maximale Verzweigungsgrad der NTMM ist)
Die Formel in Rotkann in eine ¨aquivalente Formel in CNF mit h¨ochstens≤33∆+3(3∆ +3)Literalen umgeformt werden Phase B ist damit abgeschlossen.
Arbeitsphase B (5)
F¨ur alleq∈Q, f¨ur allej∈ {0, . . . ,p(n)−1}und f¨ur allea∈Γ verwenden wir die Teilformel
Q(t−1,q)∧H(t−1,j)∧B(t−1,j,a) ⇒ _
(q,a,q0,a0,κ)∈δ
(Q(t,q0)∧H(t,j+κ)∧B(t,j,a0))
wobeiκdie WerteL=−1,N=0und R=1annehmen kann.
Die Formel in Rotist nicht in CNF
Die Formel in Rotbesteht aus h¨ochstens3∆ +3Literalen (wobei∆der maximale Verzweigungsgrad der NTMM ist) Die Formel in Rotkann in eine ¨aquivalente Formel in CNF mit
3∆+3
Arbeitsphase C
Zum Schluss sorgen wir noch daf¨ur,
dass Startkonfiguration mit Eingabex=x0x1· · ·xn−1
und Endkonfiguration korrekt beschrieben werden:
C1. Startkonfiguration:
Q(0,q0) ∧ H(0,0) ∧
n−1
^
i=0
B(0,i,xi) ∧
p(n)
^
i=n
B(0,i,B)
C2. Endkonfiguration:
Q(p(n),qaccept)
Phase C ist damit abgeschlossen.
Zusammenfassung
Die Gesamtformelϕsetzt sich aus allen Teilformeln zusammen, die wir unterA1/A2/A3undB1/B2undC1/C2konstruiert haben.
Insgesamt sind das polynomiell viele Klauseln, die jeweils aus polynomiell vielen Literalen bestehen.
Die L¨ange vonϕ ist polynomiell beschr¨ankt inn,
und ϕkann ausx in polynomieller Zeit berechnet werden.
Die Formelϕist genau dann erf¨ullbar, wenn es eine akzeptierende Konfigurationsfolge der L¨angep(n)f¨urM aufx gibt.
Satz (Cook & Levin)
F¨ur alleL∈NPgilt: L≤pSAT
NP-Vollst¨ andigkeit
Wie schwierig ist SAT?
Satz (Cook & Levin)
F¨ur alleL∈NPgilt: L≤pSAT
Einfache Folgerung aus Cook & Levin
WennP6=NPgilt, so besitzt SATkeinen polynomiellen Algorithmus.
Beweis:
Angenommen, SATbesitzt einen polynomiellen Algorithmus. Es seiL eine beliebige Sprache inNP.
Die Reduktion L≤pSATund der polynomielle Algorithmus f¨urSAT liefern uns zusammen einen polynomiellen Algorithmus f¨urL. Damit ist jede Sprache L∈NP polynomiell l¨osbar. Widerspruch.
Wie schwierig ist SAT?
Satz (Cook & Levin)
F¨ur alleL∈NPgilt: L≤pSAT
Einfache Folgerung aus Cook & Levin
WennP6=NPgilt, so besitzt SATkeinen polynomiellen Algorithmus.
Beweis:
Angenommen, SATbesitzt einen polynomiellen Algorithmus.
Es seiLeine beliebige Sprache in NP.
Die Reduktion L≤pSATund der polynomielle Algorithmus f¨urSAT liefern uns zusammen einen polynomiellen Algorithmus f¨urL.
Damit ist jede Sprache L∈NP polynomiell l¨osbar. Widerspruch.
Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primzahl
SAT
NP-schwere Probleme
Definition: NP-schwer
Ein ProblemL∗ heisstNP-schwer(engl.:NP-hard), falls gilt:
∀L∈NP : L≤pL∗
Anmerkung:SATist NP-schwer.
Beobachtung
Es seiL∗ein NP-schweres Problem.
WennP6=NPgilt, so besitzt L∗keinen polynomiellen Algorithmus. Beweis: Analog zum Argument f¨urSATin unserer letzten Folgerung.
NP-schwere Probleme
Definition: NP-schwer
Ein ProblemL∗ heisstNP-schwer(engl.:NP-hard), falls gilt:
∀L∈NP : L≤pL∗
Anmerkung:SATist NP-schwer.
Beobachtung
Es seiL∗ein NP-schweres Problem.
WennP6=NPgilt, so besitzt L∗keinen polynomiellen Algorithmus.
Beweis: Analog zum Argument f¨urSATin unserer letzten Folgerung.
NP-vollst¨ andige Probleme
Definition: NP-vollst¨andig
Ein ProblemL∗ heisstNP-vollst¨andig(engl.:NP-complete), falls gilt:
L∗∈NP, und L∗istNP-schwer.
Die Klasse derNP-vollst¨andigen Probleme wird mitNPCbezeichnet.
Anmerkung:SATist NP-vollst¨andig.
Beobachtung
Es seiL∗ein NP-vollst¨andiges Problem.
WennP6=NPgilt, so besitzt L∗keinen polynomiellen Algorithmus.
NP-vollst¨ andige Probleme
Definition: NP-vollst¨andig
Ein ProblemL∗ heisstNP-vollst¨andig(engl.:NP-complete), falls gilt:
L∗∈NP, und L∗istNP-schwer.
Die Klasse derNP-vollst¨andigen Probleme wird mitNPCbezeichnet.
Anmerkung:SATist NP-vollst¨andig.
Beobachtung
Es seiL∗ein NP-vollst¨andiges Problem.
WennP6=NPgilt, so besitzt L∗keinen polynomiellen Algorithmus.
Noch einmal: Der Satz von Cook & Levin
Hier ist nun die klassische Formulierung des Satzes von Cook & Levin:
Satz (Cook & Levin) SATistNP-vollst¨andig.
Wir werden zeigen, dass CLIQUE, Ham-Cycle, PARTITION, Knapsack und viele weitere Probleme ebenfalls NP-vollst¨andig sind.
Unter der AnnahmeP6=NP(Standardannahme) besitzt also keines dieser Probleme einen polynomiellen Algorithmus.
Kochrezept f¨ ur
NP-Vollst¨ andigkeitsbeweise
Kochrezept f¨ ur NP-Vollst¨ andigkeitsbeweise (1)
Die NP-Vollst¨andigkeit vonSAT haben wir durch eine lange
“Master-Reduktion” von allen Problemen inNP aufSATbewiesen.
Um die NP-Vollst¨andigkeit von anderen Problemen zu zeigen, k¨onnten wir nat¨urlich f¨ur jedes neue Problem eine ¨ahnlich m¨uhsame und ¨ahnlich langwierige Master-Reduktion erstellen.
Ein viel einfacherer Ansatz weist die NP-Vollst¨andigkeit von neuen Problemen mit Hilfe der NP-Vollst¨andigkeit vonSATnach.
Satz
WennL∗NP-schwer ist, so gilt: L∗≤pL ⇒ List NP-schwer Beweis:
F¨ur alleL0∈NP gilt (L0≤pL∗) und (L∗≤pL).
Die Transitivit¨at von≤p impliziertL0≤pL f¨ur alleL0∈NP.
Kochrezept f¨ ur NP-Vollst¨ andigkeitsbeweise (1)
Die NP-Vollst¨andigkeit vonSAT haben wir durch eine lange
“Master-Reduktion” von allen Problemen inNP aufSATbewiesen.
Um die NP-Vollst¨andigkeit von anderen Problemen zu zeigen, k¨onnten wir nat¨urlich f¨ur jedes neue Problem eine ¨ahnlich m¨uhsame und ¨ahnlich langwierige Master-Reduktion erstellen.
Ein viel einfacherer Ansatz weist die NP-Vollst¨andigkeit von neuen Problemen mit Hilfe der NP-Vollst¨andigkeit vonSATnach.
Satz
WennL∗NP-schwer ist, so gilt: L∗≤pL ⇒ List NP-schwer Beweis:
F¨ur alleL0∈NP gilt (L0≤pL∗) und (L∗≤pL).
Die Transitivit¨at von≤p impliziertL0≤pL f¨ur alleL0∈NP.
Kochrezept f¨ ur NP-Vollst¨ andigkeitsbeweise (1)
Die NP-Vollst¨andigkeit vonSAT haben wir durch eine lange
“Master-Reduktion” von allen Problemen inNP aufSATbewiesen.
Um die NP-Vollst¨andigkeit von anderen Problemen zu zeigen, k¨onnten wir nat¨urlich f¨ur jedes neue Problem eine ¨ahnlich m¨uhsame und ¨ahnlich langwierige Master-Reduktion erstellen.
Ein viel einfacherer Ansatz weist die NP-Vollst¨andigkeit von neuen Problemen mit Hilfe der NP-Vollst¨andigkeit vonSATnach.
Satz
WennL∗NP-schwer ist, so gilt: L∗≤pL ⇒ List NP-schwer
Beweis:
F¨ur alleL0∈NP gilt (L0≤pL∗) und (L∗≤pL).
Die Transitivit¨at von≤p impliziertL0≤pL f¨ur alleL0∈NP.
Kochrezept f¨ ur NP-Vollst¨ andigkeitsbeweise (1)
Die NP-Vollst¨andigkeit vonSAT haben wir durch eine lange
“Master-Reduktion” von allen Problemen inNP aufSATbewiesen.
Um die NP-Vollst¨andigkeit von anderen Problemen zu zeigen, k¨onnten wir nat¨urlich f¨ur jedes neue Problem eine ¨ahnlich m¨uhsame und ¨ahnlich langwierige Master-Reduktion erstellen.
Ein viel einfacherer Ansatz weist die NP-Vollst¨andigkeit von neuen Problemen mit Hilfe der NP-Vollst¨andigkeit vonSATnach.
Satz
WennL∗NP-schwer ist, so gilt: L∗≤pL ⇒ List NP-schwer Beweis:
F¨ur alleL0∈NP gilt (L0≤pL∗) und (L∗≤pL).
Kochrezept f¨ ur NP-Vollst¨ andigkeitsbeweise (2)
Hier ist das Kochrezept:
1. Man zeigeL∈NP.
2. Man w¨ahle eine NP-vollst¨andige SpracheL∗.
3. (Reduktionsabbildung): Man konstruiere eine Funktion f, die Instanzen von L∗auf Instanzen vonL abbildet.
4. (Polynomielle Zeit):Man zeige, dass f in polynomieller Zeit berechnet werden kann.
5. (Korrektheit): Man beweise, dassf tats¨achlich eine Reduktion ist.
F¨ur jedes x∈ {0,1}∗giltx∈L∗genau dann, wennf(x)∈L.
NP-Vollst¨ andigkeit von 3-SAT
3-SAT: Definition
Einek-Klauselist eine Klausel, die aus exaktk Literalen besteht Eine CNF-Formelϕ ist ink-CNF, wenn sie ausk-Klauseln besteht Beispiel einer Formel in 3-CNF:
ϕ = (¯x1∨x¯2∨x3)
| {z }
3 Literale
∧(¯x1∨x2∨x¯3)
| {z }
3 Literale
∧(x1∨x2∨x¯3)
| {z }
3 Literale
Problem: 3-SAT
Eingabe:Eine Boole’sche Formelϕin 3-CNF Frage:Besitztϕeine erf¨ullende Belegung?
3-SATist ein Spezialfall vonSAT und liegt deshalb wieSAT in NP
3-SAT: Definition
Einek-Klauselist eine Klausel, die aus exaktk Literalen besteht Eine CNF-Formelϕ ist ink-CNF, wenn sie ausk-Klauseln besteht Beispiel einer Formel in 3-CNF:
ϕ = (¯x1∨x¯2∨x3)
| {z }
3 Literale
∧(¯x1∨x2∨x¯3)
| {z }
3 Literale
∧(x1∨x2∨x¯3)
| {z }
3 Literale
Problem: 3-SAT
Eingabe:Eine Boole’sche Formelϕin 3-CNF Frage:Besitztϕeine erf¨ullende Belegung?
3-SAT: NP-Vollst¨ andigkeit (Beginn)
Satz
SAT ≤p 3-SAT
Beweis:
Gegeben sei eine beliebige Formel ϕin CNF (Instanz von SAT) Wir werden eine zur Formel ϕ¨aquivalente Formelϕ0in 3-CNF konstruieren: ϕist erf¨ullbar ⇔ ϕ0 ist erf¨ullbar
Aus einer 1-Klausel oder 2-Klausel machen wir eine ¨aquivalente 3-Klausel, indem wir ein oder zwei Literale duplizieren
3-Klauseln bleiben 3-Klauseln
Aufk-Klauseln mitk ≥4wenden wir wiederholt die folgende Klauseltransformation(mit neu eingef¨uhrter Hilfsvariable h) an: Die Klauselc = (`1+`2+`3+· · ·+`k)wird ersetzt durch zwei neue Klauseln (`1+· · ·+`k−2+h)und(¯h+`k−1+`k).
3-SAT: NP-Vollst¨ andigkeit (Beginn)
Satz
SAT ≤p 3-SAT
Beweis:
Gegeben sei eine beliebige Formel ϕin CNF (Instanz von SAT) Wir werden eine zur Formel ϕ¨aquivalente Formelϕ0in 3-CNF konstruieren: ϕist erf¨ullbar ⇔ ϕ0 ist erf¨ullbar
Aus einer 1-Klausel oder 2-Klausel machen wir eine ¨aquivalente 3-Klausel, indem wir ein oder zwei Literale duplizieren
3-Klauseln bleiben 3-Klauseln
Aufk-Klauseln mitk ≥4wenden wir wiederholt die folgende Klauseltransformation(mit neu eingef¨uhrter Hilfsvariable h) an: Die Klauselc = (`1+`2+`3+· · ·+`k)wird ersetzt durch zwei neue Klauseln (`1+· · ·+`k−2+h)und(¯h+`k−1+`k).
3-SAT: NP-Vollst¨ andigkeit (Beginn)
Satz
SAT ≤p 3-SAT
Beweis:
Gegeben sei eine beliebige Formel ϕin CNF (Instanz von SAT) Wir werden eine zur Formel ϕ¨aquivalente Formelϕ0in 3-CNF konstruieren: ϕist erf¨ullbar ⇔ ϕ0 ist erf¨ullbar
Aus einer 1-Klausel oder 2-Klausel machen wir eine ¨aquivalente 3-Klausel, indem wir ein oder zwei Literale duplizieren
3-Klauseln bleiben 3-Klauseln
Aufk-Klauseln mitk ≥4wenden wir wiederholt die folgende Klauseltransformation(mit neu eingef¨uhrter Hilfsvariable h) an: Die Klauselc = (`1+`2+`3+· · ·+`k)wird ersetzt durch zwei neue Klauseln (`1+· · ·+`k−2+h)und(¯h+`k−1+`k).
3-SAT: NP-Vollst¨ andigkeit (Beginn)
Satz
SAT ≤p 3-SAT
Beweis:
Gegeben sei eine beliebige Formel ϕin CNF (Instanz von SAT) Wir werden eine zur Formel ϕ¨aquivalente Formelϕ0in 3-CNF konstruieren: ϕist erf¨ullbar ⇔ ϕ0 ist erf¨ullbar
Aus einer 1-Klausel oder 2-Klausel machen wir eine ¨aquivalente 3-Klausel, indem wir ein oder zwei Literale duplizieren
3-Klauseln bleiben 3-Klauseln
Aufk-Klauseln mitk ≥4wenden wir wiederholt die folgende Klauseltransformation(mit neu eingef¨uhrter Hilfsvariable h) an:
Klauseltransformation: Beispiel
Klauseltransformation f¨ur eine 5-Klausel
Wir beginnen mit der 5-Klausel (x1+ ¯x2+x3+x4+ ¯x5)
Im ersten Transformationsschritt wird daraus eine 4-Klausel und eine 3-Klausel gemacht: (x1+ ¯x2+x3+h1) (¯h1+x4+ ¯x5)
Auf die 4-Klausel wird die Transformation dann erneut angewendet. Dadurch entsteht nun (x1+ ¯x2+h2) (¯h2+x3+h1) ( ¯h1+x4+ ¯x5), und es sind nur noch 3-Klauseln vorhanden.
Klauseltransformation: Beispiel
Klauseltransformation f¨ur eine 5-Klausel
Wir beginnen mit der 5-Klausel (x1+ ¯x2+x3+x4+ ¯x5)
Im ersten Transformationsschritt wird daraus eine 4-Klausel und eine 3-Klausel gemacht: (x1+ ¯x2+x3+h1) (¯h1+x4+ ¯x5)
Auf die 4-Klausel wird die Transformation dann erneut angewendet.
Dadurch entsteht nun (x1+ ¯x2+h2) (¯h2+x3+h1) ( ¯h1+x4+ ¯x5), und es sind nur noch 3-Klauseln vorhanden.
Klauseltransformation: Korrektheit
Alte Klausel: c= (`1+`2+`3+· · ·+`k)
Neue Klauseln: c0= (`1+· · ·+`k−2+h)undc00= (¯h+`k−1+`k)
(1) Wenn eine Wahrheitsbelegung beide neuen Klauselnc0 undc00 erf¨ullt, so erf¨ullt sie automatisch auch die alte Klausel c:
Wenn h=0, dann ist`1+· · ·+`k−2 wahr Wenn h=1, dann ist`k−1+`k wahr
(2) Wenn eine Wahrheitsbelegungc erf¨ullt, so kann sie aufherweitert werden, sodass die beiden neuen Klauselnc0undc00 erf¨ullt sind:
Die Wahrheitsbelegung macht mindestens ein Literal ausc wahr Falls`1+· · ·+`k−2wahr ist, setzen wir h=0
Falls`k−1+`k wahr ist, so setzen wirh=1
Klauseltransformation: Korrektheit
Alte Klausel: c= (`1+`2+`3+· · ·+`k)
Neue Klauseln: c0= (`1+· · ·+`k−2+h)undc00= (¯h+`k−1+`k) (1) Wenn eine Wahrheitsbelegung beide neuen Klauselnc0 undc00erf¨ullt, so erf¨ullt sie automatisch auch die alte Klausel c:
Wenn h=0, dann ist`1+· · ·+`k−2 wahr Wenn h=1, dann ist`k−1+`k wahr
(2) Wenn eine Wahrheitsbelegungc erf¨ullt, so kann sie aufherweitert werden, sodass die beiden neuen Klauselnc0undc00 erf¨ullt sind:
Die Wahrheitsbelegung macht mindestens ein Literal ausc wahr Falls`1+· · ·+`k−2wahr ist, setzen wir h=0
Falls`k−1+`k wahr ist, so setzen wirh=1
Klauseltransformation: Korrektheit
Alte Klausel: c= (`1+`2+`3+· · ·+`k)
Neue Klauseln: c0= (`1+· · ·+`k−2+h)undc00= (¯h+`k−1+`k) (1) Wenn eine Wahrheitsbelegung beide neuen Klauselnc0 undc00erf¨ullt, so erf¨ullt sie automatisch auch die alte Klausel c:
Wenn h=0, dann ist`1+· · ·+`k−2 wahr Wenn h=1, dann ist`k−1+`k wahr
(2) Wenn eine Wahrheitsbelegungc erf¨ullt, so kann sie aufherweitert werden, sodass die beiden neuen Klauselnc0undc00erf¨ullt sind:
Die Wahrheitsbelegung macht mindestens ein Literal ausc wahr Falls`1+· · ·+`k−2wahr ist, setzen wir h=0
Falls`k−1+`k wahr ist, so setzen wirh=1