VL-14: Der Satz von Cook & Levin
(Berechenbarkeit und Komplexit¨ at, WS 2018) Gerhard Woeginger
WS 2018, RWTH
Organisatorisches
N¨achste Vorlesung:
Donnerstag, Januar 11, 12:30–14:00 Uhr, Aula
Webseite:
http://algo.rwth-aachen.de/Lehre/WS1819/BuK.php (−→ Arbeitsheft zur Berechenbarkeit)
Wiederholung
Wdh.: Alternative Charakterisierung von NP
Satz (Zertifikat Charakterisierung von NP) Eine SpracheL⊆Σ∗liegt genau dann in NP,
wenn es einen polynomiellen (deterministischen) AlgorithmusV und ein Polynomp mit der folgenden Eigenschaft gibt:
x ∈L ⇐⇒ ∃y ∈ {0,1}∗, |y| ≤p(|x|) : V akzeptierty#x
Anmerkungen:
Der polynomielle AlgorithmusV heisst auch Verifizierer Das Worty∈ {0,1}∗heisst auch Zertifikat
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!, nn. Aber nicht:22n
Satz
P ⊆ NP ⊆ EXPTIME
Wdh.: Polynomielle Reduktionen
Definition
Es seienL1 undL2 Sprachen ¨uberΣ1 bzw.Σ2.
Dann istL1polynomiell reduzierbar aufL2(mit der NotationL1≤pL2), wenn eine polynomiellberechenbare Funktionf: Σ∗1→Σ∗2 existiert, so dass f¨ur allex∈Σ∗1 gilt: x∈L1 ⇔ f(x)∈L2.
Satz
FallsL1≤pL2 und fallsL2∈P, so giltL1∈P Satz
COLORING≤p SAT
Wdh.: Ex-Cover ≤
pSAT
Problem: Exact Cover (Ex-Cover)
Eingabe:Eine endliche MengeX; TeilmengenS1, . . . ,Sm vonX Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,m},
sodass die MengenSi mit i ∈I eine Partition vonX bilden?
Ubung¨
Zeigen Sie: Ex-Cover≤p SAT
Vorlesung VL-14
Der Satz von Cook & Levin
NP-Vollst¨andigkeit Satz von Cook & Levin
Kochrezept f¨ur NP-Vollst¨andigkeitsbeweise NP-Vollst¨andigkeit von 3-SAT
Karp’s Liste von Problemen
Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primes
SAT
Clique Ind-Set VC
Ex-Cover
Ham-Cycle TSP Partition
Subset-Sum Rucksack
BPP Coloring
NP-Vollst¨ andigkeit
NP-schwere Probleme
Definition: NP-schwer
Ein ProblemLheisstNP-schwer(engl.:NP-hard), falls gilt:
∀L0∈NP : L0≤pL
Satz
WennL NP-schwer ist, dann gilt: L∈P ⇒ P=NP
Beweis: Ein polynomieller Algorithmus f¨urL liefert zusammen mit der ReduktionL0≤pLeinen polynomiellen Algorithmus f¨ur alleL0∈NP.
Fazit: F¨ur NP-schwere Probleme gibt es keine polynomiellen Algorithmen, es sei dennP=NP.
Illustration
Schwierig
Leicht
NP-Vollst¨ andige Probleme
Definition: NP-vollst¨andig
Ein ProblemLheisstNP-vollst¨andig(engl.:NP-complete), falls gilt:
L∈NP, und L istNP-schwer.
Die Klasse derNP-vollst¨andigen Probleme wird mitNPCbezeichnet.
Wir werden zeigen, dass SAT, CLIQUE, Ham-Cycle, PARTITION, Rucksack und viele weitere Probleme NP-vollst¨andig sind.
Unter der AnnahmeP6=NP (Standardannahme) besitzt also keines dieser Probleme einen polynomiellen Algorithmus.
Satz von Cook & Levin
Stephen Arthur Cook OC (1939)
Wikipedia: Steve Cook is 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 Anatolievich Levin (1948)
Wikipedia: Leonid Levin is a Soviet-American computer scientist. He obtained his master’s degree at Moscow University in 1970 where he studied under Andrej Kolmogorov.
Leonid Levin and Stephen Cook independently discovered the existence of NP-complete problems.
Levin is known for his work in randomness in computing,
average-case complexity, algorithmic probability, theory of computation, and information theory.
Der Satz von Cook & Levin
Der Ausgangspunkt f¨ur alle unsereNP-Vollst¨andigkeitsbeweise ist das Erf¨ullbarkeitsproblemSAT.
Problem: Satisfiability (SAT)
Eingabe:Boole’sche Formelϕin CNF ¨uber der Variablenmenge X Frage:Existiert eine Wahrheitsbelegung vonX, die ϕerf¨ullt?
Satz (Cook & Levin) SATistNP-vollst¨andig.
Fazit: WennP6=NP, besitzt SATkeinen polynomiellen Algorithmus.
Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primes
SAT
Clique Ind-Set VC
Ex-Cover
Ham-Cycle TSP Partition
Subset-Sum Rucksack
BPP Coloring
Beweis des Satzes
von Cook & Levin
Cook & Levin (1a): Grundideen des Beweises
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 q gelandet ist.
Cook & Levin (1b): Grundidee des Beweises
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.
Cook & Levin (2a): Die Boole’schen Variablen
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.
Cook & Levin (2b): Illustration der Variablen
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
Cook & Levin (3): 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 Zeitpunktt+1entsteht legal aus der Konfiguration zum Zeitpunktt.
Arbeitsphase C: Startkonfiguration und Endkonfiguration sind legal.
Cook & Levin (4a): Arbeitsphase A
F¨ur jeden Zeitpunktt konstruieren wir eine Teilformelϕt von Formelϕ, die nur dann erf¨ullt ist, wenn die Variablen Q(t,q),H(t,j)undB(t,j,a) eine legale KonfigurationKt beschreiben.
A1. Es gibt genau einen Zustandq∈Q mitQ(t,q) =1.
A2. Es gibt genau eine Bandpositionj ∈ {0, . . . ,p(n)} mitH(t,j) =1.
A3. Es gibt f¨ur jedesj ∈ {0, . . . ,p(n)} jeweils genau ein Zeichena∈Γ mitB(t,j,a) =1.
Cook & Levin (4b): Arbeitsphase A
Boole’sches Werkzeug
F¨ur eine beliebige Variablenmenge{y1, . . . ,yk} besagt die folgende Formel in CNF, dass genau eine der 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/A3 zum Zeitpunktt (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.
Cook & Levin (5a): Arbeitsphase B
Wir konstruieren f¨ur jeden Zeitpunktt eine Teilformelϕ0t von Formelϕ, die erzwingt, dass KonfigurationKt eine direkte Nachfolgekonfiguration von KonfigurationKt−1ist.
B1. Der Bandinhalt der Konfiguration Kt stimmt an allen Positionen mit dem Bandinhalt der KonfigurationKt−1 ¨uberein, mit m¨oglicher Ausnahme jener Position, an der der Kopf zum Zeitpunktt−1ist.
B2. Zustand, Kopfposition und Bandinhalt an Kopfposition ver¨andern sich im Einklang mit der ¨Ubergangsrelationδ.
Cook & Levin (5b): Arbeitsphase B
EigenschaftB1(Bandinhalt vonKt stimmt mit Bandinhalt vonKt−1
¨uberein, ausgenommen 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))
Cook & Levin (5c): Arbeitsphase B
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.
Cook & Levin (5d): Arbeitsphase B
· · ·
· · · 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)
Cook & Levin (5e): Arbeitsphase B
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.
Cook & Levin (6): Arbeitsphase C
Zum Schluss sorgen wir noch daf¨ur, dass Startkonfiguration und Endkonfiuration 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.
Cook & Levin: Zusammenfassung
Die Gesamtformelϕsetzt sich aus allen Teilformeln zusammen, die wir f¨urA1/A2/A3 undB1/B2undC1/C2konstruiert haben.
Insgesamt sind das polynomiell viele Klauseln, die jeweils aus polynomiell vielen Literalen bestehen.
Die L¨ange vonϕ ist daher polynomiell beschr¨ankt inn, undϕkann ausx in polynomieller Zeit berechnet werden.
Die Formelϕgenau dann erf¨ullbar, wenn es eine akzeptierende Konfigurationsfolge der L¨angep(n)f¨urM aufx gibt.
Satz (Cook & Levin)
SATistNP-vollst¨andig.
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 aus NP 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, dann gilt: L∗≤pL ⇒ L ist NP-schwer Beweis:
F¨ur alleL0∈NP giltL0≤pL∗undL∗≤pL.
Die Transitivit¨at von≤p impliziertL0≤pLf¨ur alleL0∈NP.
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¨urx ∈ {0,1}∗gilt x∈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∨¯x2∨x3)
| {z }
3 Literale
∧(¯x1∨x2∨¯x3)
| {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: 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 Klauseltransformationan:
Die Klauselc = (`1+`2+`3+· · ·+`k)wird ersetzt durch die beiden neuen Klauseln(`1+· · ·+`k−2+h)und(¯h+`k−1+`k).
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 Wahrheitsbelegungc0 undc00erf¨ullt, so erf¨ullt sie automatisch auchc:
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 Klauselnc0 undc00erf¨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
3-SAT: NP-Vollst¨ andigkeit (Ende)
Durch Anwendung der Klauseltransformation entstehen aus einer k-Klausel eine(k−1)-Klausel und eine 3-Klausel.
Nach k−3Iterationen sind dann aus einer einzelnen altenk-Klausel genau k−2neue 3-Klauseln entstanden.
Ausk ≥4alten Literalen entstehen also3k−6neue Literale.
Diese Transformation wird solange auf die Formelϕangewandt, bis die Formel nur noch 3-Klauseln enth¨alt.
Wenn ϕauspLiteralen besteht, so bestehtϕ0 aus h¨ochstens3p Literalen.
Die Laufzeit der Reduktion ist daher polynomiell beschr¨ankt.
Satz
3-SAT ist NP-vollst¨andig.
Die Komplexit¨ atslandschaft
NP
P
Graph- zusammenhang Primes
SAT
Clique Ind-Set VC
Ex-Cover
Ham-Cycle TSP Partition
Subset-Sum Rucksack
BPP Coloring 3-SAT
Karp’s Liste mit 21 Problemen
Richard Manning Karp (1935)
Wikipedia: Richard Karp is an American computer scientist, who has made many important discoveries in computer science, operations research, and in the area of combinatorial algorithms.
Karp introduced the now standard methodology for proving problems to be NP-complete which has led to the identification of many practical problems as being computationally difficult.
Edmonds-Karp algorithm for max-flow Hopcroft-Karp algorithm for matching Rabin-Karp string search algorithm Karp-Lipton theorem
Karp’s Liste mit 21 NP-vollst¨ andigen Problemen
Richard Karp bewies 1972 die NP-Vollst¨andigkeit von 21 kombinatorischen und graphen-theoretischen Problemen, die sich hartn¨ackig einer effizienten algorithmischen L¨osung entzogen hatten.
SAT 3-SAT
INTEGER PROGRAMMING COLORING
CLIQUE CLIQUE COVER
INDEP-SET EXACT COVER
VERTEX COVER 3-DIM MATCHING
SET COVER STEINER TREE
FEEDBACK ARC SET HITTING SET
FEEDBACK VERTEX SET SUBSET-SUM
DIR HAM-CYCLE JOB SEQUENCING
UND HAM-CYCLE PARTITION
MAX-CUT
Landkarte mit Karp’s 20 Reduktionen
SAT INTEGER
PROG 3-SAT
COLORING
CLIQUE COVER
EXACT COVER 3-DIM
MATCHING
STEINER TREE
HITTING SET
SUBSET-SUM
JOB SEQUENCING PARTITION
MAX-CUT SET COVER FEEDBACK
ARC SET
FEEDBACK VERTEX
SET DIRECTED
HAM-CYCLE
HAM CYCLE
VERTEX COVER INDEP
SET
CLIQUE