• Keine Ergebnisse gefunden

VL-14: Der Satz von Cook & Levin (Berechenbarkeit und Komplexit¨at, WS 2019) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-14: Der Satz von Cook & Levin (Berechenbarkeit und Komplexit¨at, WS 2019) Gerhard Woeginger"

Copied!
78
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-14: Der Satz von Cook & Levin

(Berechenbarkeit und Komplexit¨ at, WS 2019) Gerhard Woeginger

WS 2019, RWTH

(2)

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

(3)

Wiederholung

(4)

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: 2n, 2n, 3n, n·2n, n!, nn Aber nicht:22n undnnn

Satz

P ⊆ NP ⊆ EXPTIME

(5)

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

(6)

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

(7)

Wdh.: Polynomielle Reduktionen

Definition

Es seienL1 undL2 Sprachen ¨uberΣ1 bzw.Σ2.

Dann istL1 polynomiellreduzierbar aufL2(mit der NotationL1pL2), wenn eine polynomiellberechenbare Funktionf: Σ1→Σ2existiert, so dass f¨ur allex∈Σ1 gilt: x∈L1 ⇔ f(x)∈L2.

L1pL2undL2pL3impliziertL1pL3 (Transitivit¨at) L1pL2undL2∈P impliziertL1∈P

COLORING≤p SAT VC≤pSAT

Ex-Cover ≤p SAT (¨Ubung)

(8)

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

(9)

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?

(10)

Die Komplexit¨ atslandschaft

NP

P

Graph- zusammenhang Primzahl

SAT

Clique Ind-Set VC

Ex-Cover

Ham-Cycle TSP Partition

Subset-Sum Knapsack

BPP Coloring

(11)

Die Komplexit¨ atslandschaft

NP

P

Graph- zusammenhang Primzahl

SAT

Clique Ind-Set VC

Ex-Cover

Ham-Cycle TSP Partition

Subset-Sum Knapsack

BPP Coloring

(12)

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.

(13)

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.

(14)

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

(15)

Beweis des Satzes

von Cook & Levin

(16)

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.

(17)

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.

(18)

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.

(19)

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.

(20)

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.

(21)

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.

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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.

(27)

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.

(28)

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.

(29)

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.

(30)

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δ.

(31)

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))

(32)

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))

(33)

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))

(34)

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.

(35)

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)

(36)

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)

(37)

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.

(38)

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.

(39)

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.

(40)

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

(41)

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.

(42)

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

(43)

NP-Vollst¨ andigkeit

(44)

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.

(45)

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.

(46)

Die Komplexit¨ atslandschaft

NP

P

Graph- zusammenhang Primzahl

SAT

(47)

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 seiLein NP-schweres Problem.

WennP6=NPgilt, so besitzt Lkeinen polynomiellen Algorithmus. Beweis: Analog zum Argument f¨urSATin unserer letzten Folgerung.

(48)

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 seiLein NP-schweres Problem.

WennP6=NPgilt, so besitzt Lkeinen polynomiellen Algorithmus.

Beweis: Analog zum Argument f¨urSATin unserer letzten Folgerung.

(49)

NP-vollst¨ andige Probleme

Definition: NP-vollst¨andig

Ein ProblemL heisstNP-vollst¨andig(engl.:NP-complete), falls gilt:

L∈NP, und ListNP-schwer.

Die Klasse derNP-vollst¨andigen Probleme wird mitNPCbezeichnet.

Anmerkung:SATist NP-vollst¨andig.

Beobachtung

Es seiLein NP-vollst¨andiges Problem.

WennP6=NPgilt, so besitzt Lkeinen polynomiellen Algorithmus.

(50)

NP-vollst¨ andige Probleme

Definition: NP-vollst¨andig

Ein ProblemL heisstNP-vollst¨andig(engl.:NP-complete), falls gilt:

L∈NP, und ListNP-schwer.

Die Klasse derNP-vollst¨andigen Probleme wird mitNPCbezeichnet.

Anmerkung:SATist NP-vollst¨andig.

Beobachtung

Es seiLein NP-vollst¨andiges Problem.

WennP6=NPgilt, so besitzt Lkeinen polynomiellen Algorithmus.

(51)

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.

(52)

Kochrezept f¨ ur

NP-Vollst¨ andigkeitsbeweise

(53)

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

WennLNP-schwer ist, so gilt: LpL ⇒ List NP-schwer Beweis:

F¨ur alleL0∈NP gilt (L0pL) und (LpL).

Die Transitivit¨at von≤p impliziertL0pL f¨ur alleL0∈NP.

(54)

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

WennLNP-schwer ist, so gilt: LpL ⇒ List NP-schwer Beweis:

F¨ur alleL0∈NP gilt (L0pL) und (LpL).

Die Transitivit¨at von≤p impliziertL0pL f¨ur alleL0∈NP.

(55)

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

WennLNP-schwer ist, so gilt: LpL ⇒ List NP-schwer

Beweis:

F¨ur alleL0∈NP gilt (L0pL) und (LpL).

Die Transitivit¨at von≤p impliziertL0pL f¨ur alleL0∈NP.

(56)

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

WennLNP-schwer ist, so gilt: LpL ⇒ List NP-schwer Beweis:

F¨ur alleL0∈NP gilt (L0pL) und (LpL).

(57)

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 Lauf 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∈Lgenau dann, wennf(x)∈L.

(58)

NP-Vollst¨ andigkeit von 3-SAT

(59)

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

(60)

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?

(61)

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).

(62)

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).

(63)

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).

(64)

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:

(65)

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.

(66)

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.

(67)

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

(68)

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

(69)

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

Referenzen

ÄHNLICHE DOKUMENTE

Die Klasse P enth¨ alt alle Entscheidungsprobleme, die effizient auf dem Computer gel¨ ost werden k¨ onnen. Intuitiv: P enth¨ alt die Probleme, die wir gut verstehen k¨ onnen und

Wir werden zeigen, dass SAT, CLIQUE, Ham-Cycle, PARTITION, Rucksack und viele weitere Probleme NP-vollst¨ andig sind.. Unter der Annahme P 6= NP (Standardannahme) besitzt also

Wir werden zeigen, dass SAT, CLIQUE, Ham-Cycle, PARTITION, Rucksack und viele weitere Probleme NP-vollst¨ andig sind.. Unter der Annahme P 6= NP (Standardannahme) besitzt also

U enth¨ alt somit genau ein Literal pro Klausel Kein Literal tritt sowohl positiv als auch negiert auf Ergo: Alle diese Literale k¨ onnen gleichzeitig erf¨ ullt werden Also ist ϕ

, n} gilt: Nur zwei der Var-Zahlen und Dummy-Zahlen haben an dieser Stelle die Ziffer 1; alle anderen Zahlen haben an dieser Stelle die Ziffer 0. F¨ ur jede Dezimalstelle i ∈ {n

Wenn das Entscheidungsproblem X NP-vollst¨ andig ist, so ist das komplement¨ are Problem X coNP-vollst¨ andig. Komplement¨

Also: Das Problem X ist sogar dann NP-schwer, wenn alle Zahlenwerte in der Instanz I nur polynomiell gross (gemessen in |I |)

Statt der RAM kann man in der Definition von polynomieller Laufzeit und von polynomiellen Algorithmen genauso gut die TM verwenden: RAM und TM simulieren einander ja mit