Algorithmentheorie 13. Vorlesung - Startseite TU Ilmenau · FG KTuEA, TU Ilmenau AT – 06.07.2006...

317
Algorithmentheorie 13. Vorlesung Martin Dietzfelbinger 6. Juli 2006 FG KTuEA, TU Ilmenau AT – 06.07.2006

Transcript of Algorithmentheorie 13. Vorlesung - Startseite TU Ilmenau · FG KTuEA, TU Ilmenau AT – 06.07.2006...

Algorithmentheorie13. Vorlesung

Martin Dietzfelbinger

6. Juli 2006

FG KTuEA, TU Ilmenau AT – 06.07.2006

”Cliquenproblem“: Geg.: Graph G = (V,E) und k ∈ N.

4

2 3

1

5

6 7

Frage: Gibt es in G eine Clique der Große ≥ k?

Hat das Cliquenproblem einen Polynomialzeitalgorithmus?

Analog:

Independent Set, Vertex Cover, Rucksack, Partition,

Binpacking, TSP, Hamiltonkreis, . . .

FG KTuEA, TU Ilmenau AT – 06.07.2006 1

Definition

P = {LM | ∃ Polynom p(n) : M ist p(n)-zeitbeschrankte TM}

NP = {LM | ∃ Polynom p(n) : M ist p(n)-zeitbeschrankte NTM}.

Nichtdeterministisch, Polynomialzeitbeschrankt

co-NP = {L | L ∈ NP}.

Klar: P ⊆ NP.

FG KTuEA, TU Ilmenau AT – 06.07.2006 2

Das P-NP-Problem (1970)

Gilt P = NP oder gilt P 6= NP ?

Das beruhmteste und wichtigste offene Problem der

Komplexitatstheorie/Theoretischen Informatik.

FG KTuEA, TU Ilmenau AT – 06.07.2006 3

Polynomialzeit-Reduzierbarkeit

( )

* ∆*

� �� �

� �� �

� �� �

� �� �

� �

� �

� �

� �� �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �

f

x

f x( )

L

L’z

f z

Σ

f ∈ FP

FG KTuEA, TU Ilmenau AT – 06.07.2006 4

Definition Gegeben: Sprachen L1 ⊆ Σ∗ und L2 ⊆ ∆∗.

L1 heißt polynomialzeit-reduzierbar auf L2 (L1 ≤p L2),

wenn es ein f ∈ FP gibt, f : Σ∗ → ∆∗, mit

∀x ∈ Σ∗ : x ∈ L1 ⇔ f(x) ∈ L2.

FG KTuEA, TU Ilmenau AT – 06.07.2006 5

Beispielreduktionen

LClique ≤p LIS und LIS ≤p LClique.

LIS ≤p LVC und LVC ≤p LIS.

Mit Transitivitat: LVC ≤p LClique und LClique ≤p LVC.

FG KTuEA, TU Ilmenau AT – 06.07.2006 6

NP-vollstandige SprachenDefinition

(a) L heißt NP-vollstandig (engl.”NP-complete“), falls

(i) L ∈ NP(ii) fur alle L′ ∈ NP gilt L′ ≤p L

(b) NPC := {L | L Sprache, L NP-vollstandig}.

Beispiele:

LClique, LVC, LIS, LRucksack und LTSP sind NP-vollstandig.

(Beweise spater oder in KT-Vorlesung.)

Entscheidungsproblem heißt NP-vollstandig,

falls zugehorige Sprache in NPC.

FG KTuEA, TU Ilmenau AT – 06.07.2006 7

Satz

NPC ∩ P 6= ∅ ⇔ P = NP.

FG KTuEA, TU Ilmenau AT – 06.07.2006 8

Satz

NPC ∩ P 6= ∅ ⇔ P = NP.

Problem der Komplexitatstheorie: Ist”P = NP?“

ist aquivalent zum Problem der Algorithmik:

”Gibt es einen Polynomialzeitalgorithmus fur das Cliquenpro-

blem?“

FG KTuEA, TU Ilmenau AT – 06.07.2006 8

Satz

NPC ∩ P 6= ∅ ⇔ P = NP.

Problem der Komplexitatstheorie: Ist”P = NP?“

ist aquivalent zum Problem der Algorithmik:

”Gibt es einen Polynomialzeitalgorithmus fur das Cliquenpro-

blem?“

Vermutung: NPC ∩ P = ∅(Geeignet als Hypothese fur die Alltagsarbeit)

FG KTuEA, TU Ilmenau AT – 06.07.2006 8

Vermutete Situation:

P

NPC

NP

Sprachen, die

effiziente Algo-

rithmen haben

Sprachen, die

effiziente

Algorithmen

haben

FG KTuEA, TU Ilmenau AT – 06.07.2006 9

2.5 Der Satz von Cook/Levin

Aussagenlogische Formeln:

FG KTuEA, TU Ilmenau AT – 06.07.2006 10

2.5 Der Satz von Cook/Levin

Aussagenlogische Formeln:

(A ∨B)

FG KTuEA, TU Ilmenau AT – 06.07.2006 10

2.5 Der Satz von Cook/Levin

Aussagenlogische Formeln:

(A ∨B)

(A → ((¬B) ∨ C))

FG KTuEA, TU Ilmenau AT – 06.07.2006 10

2.5 Der Satz von Cook/Levin

Aussagenlogische Formeln:

(A ∨B)

(A → ((¬B) ∨ C))

((¬A) → (A → B))

FG KTuEA, TU Ilmenau AT – 06.07.2006 10

2.5 Der Satz von Cook/Levin

Aussagenlogische Formeln:

(A ∨B)

(A → ((¬B) ∨ C))

((¬A) → (A → B))

((A → B) → C)

FG KTuEA, TU Ilmenau AT – 06.07.2006 10

2.5 Der Satz von Cook/Levin

Aussagenlogische Formeln:

(A ∨B)

(A → ((¬B) ∨ C))

((¬A) → (A → B))

((A → B) → C)

((A ∧B) ↔ (¬((¬A) ∨ (¬B))))

FG KTuEA, TU Ilmenau AT – 06.07.2006 10

2.5 Der Satz von Cook/Levin

Aussagenlogische Formeln:

(A ∨B)

(A → ((¬B) ∨ C))

((¬A) → (A → B))

((A → B) → C)

((A ∧B) ↔ (¬((¬A) ∨ (¬B))))

A, B, . . . :”Aussagenvariable“, reprasentieren Aussagen

FG KTuEA, TU Ilmenau AT – 06.07.2006 10

2.5 Der Satz von Cook/Levin

Aussagenlogische Formeln:

(A ∨B)

(A → ((¬B) ∨ C))

((¬A) → (A → B))

((A → B) → C)

((A ∧B) ↔ (¬((¬A) ∨ (¬B))))

A, B, . . . :”Aussagenvariable“, reprasentieren Aussagen

Induktive Definition der Menge der aussagenlogischen

Formeln:

FG KTuEA, TU Ilmenau AT – 06.07.2006 10

2.5 Der Satz von Cook/Levin

Aussagenlogische Formeln:

(A ∨B)

(A → ((¬B) ∨ C))

((¬A) → (A → B))

((A → B) → C)

((A ∧B) ↔ (¬((¬A) ∨ (¬B))))

A, B, . . . :”Aussagenvariable“, reprasentieren Aussagen

Induktive Definition der Menge der aussagenlogischen

Formeln: AFS-Vorlesung

FG KTuEA, TU Ilmenau AT – 06.07.2006 10

Beispiel:

ϕ = A → (¬B ∨ C)

FG KTuEA, TU Ilmenau AT – 06.07.2006 11

Beispiel:

ϕ = A → (¬B ∨ C)

Wahr oder falsch?

FG KTuEA, TU Ilmenau AT – 06.07.2006 11

Beispiel:

ϕ = A → (¬B ∨ C)

Wahr oder falsch?

Eine aussagenlogische Formel ϕ fur sich

kann nicht wahr oder falsch sein.

FG KTuEA, TU Ilmenau AT – 06.07.2006 11

Beispiel:

ϕ = A → (¬B ∨ C)

Wahr oder falsch?

Eine aussagenlogische Formel ϕ fur sich

kann nicht wahr oder falsch sein.

Brauchen: Belegung v (”value“) der Variablen, die in ϕ

vorkommen, mit Wahrheitswerten.

FG KTuEA, TU Ilmenau AT – 06.07.2006 11

Beispiel:

ϕ = A → (¬B ∨ C)

Wahr oder falsch?

Eine aussagenlogische Formel ϕ fur sich

kann nicht wahr oder falsch sein.

Brauchen: Belegung v (”value“) der Variablen, die in ϕ

vorkommen, mit Wahrheitswerten.

v(A) = v(C) = falsch, v(B) = wahr :

FG KTuEA, TU Ilmenau AT – 06.07.2006 11

Beispiel:

ϕ = A → (¬B ∨ C)

Wahr oder falsch?

Eine aussagenlogische Formel ϕ fur sich

kann nicht wahr oder falsch sein.

Brauchen: Belegung v (”value“) der Variablen, die in ϕ

vorkommen, mit Wahrheitswerten.

v(A) = v(C) = falsch, v(B) = wahr :

⇒ Wahrheitswert v(ϕ) von A → (¬B ∨ C) ist wahr.

FG KTuEA, TU Ilmenau AT – 06.07.2006 11

Gegeben ϕ und eine Belegung v,

FG KTuEA, TU Ilmenau AT – 06.07.2006 12

Gegeben ϕ und eine Belegung v, konnen wir

den Wahrheitswert v(ϕ) von ϕ unter v

ausrechnen.

FG KTuEA, TU Ilmenau AT – 06.07.2006 12

Gegeben ϕ und eine Belegung v, konnen wir

den Wahrheitswert v(ϕ) von ϕ unter v

ausrechnen.

Methode (bekannt): Wahrheitstafeln.

FG KTuEA, TU Ilmenau AT – 06.07.2006 12

Gegeben ϕ und eine Belegung v, konnen wir

den Wahrheitswert v(ϕ) von ϕ unter v

ausrechnen.

Methode (bekannt): Wahrheitstafeln.

0 = falsch 1 = wahr

FG KTuEA, TU Ilmenau AT – 06.07.2006 12

A → ((¬B) ∨ C)

FG KTuEA, TU Ilmenau AT – 06.07.2006 13

A → ((¬B) ∨ C)

v(A) v(B) v(C) v(¬B) v(¬B ∨ C) v(A → (¬B ∨ C))0 0 0 1 1 10 0 1 1 1 10 1 0 0 0 10 1 1 0 1 11 0 0 1 1 11 0 1 1 1 11 1 0 0 0 01 1 1 0 1 1

FG KTuEA, TU Ilmenau AT – 06.07.2006 13

Definition

Eine aussagenlogische Formel ϕ heißt Tautologie,

FG KTuEA, TU Ilmenau AT – 06.07.2006 14

Definition

Eine aussagenlogische Formel ϕ heißt Tautologie,

wenn v(ϕ) = 1 fur alle Belegungen v gilt.

FG KTuEA, TU Ilmenau AT – 06.07.2006 14

Definition

Eine aussagenlogische Formel ϕ heißt Tautologie,

wenn v(ϕ) = 1 fur alle Belegungen v gilt.

(Ergebnisspalte in der Wahrheitstafel enthalt nur 1en.)

FG KTuEA, TU Ilmenau AT – 06.07.2006 14

Definition

Eine aussagenlogische Formel ϕ heißt Tautologie,

wenn v(ϕ) = 1 fur alle Belegungen v gilt.

(Ergebnisspalte in der Wahrheitstafel enthalt nur 1en.)

Beispiele fur Tautologien:

FG KTuEA, TU Ilmenau AT – 06.07.2006 14

Definition

Eine aussagenlogische Formel ϕ heißt Tautologie,

wenn v(ϕ) = 1 fur alle Belegungen v gilt.

(Ergebnisspalte in der Wahrheitstafel enthalt nur 1en.)

Beispiele fur Tautologien:

A ∨ ¬A

FG KTuEA, TU Ilmenau AT – 06.07.2006 14

Definition

Eine aussagenlogische Formel ϕ heißt Tautologie,

wenn v(ϕ) = 1 fur alle Belegungen v gilt.

(Ergebnisspalte in der Wahrheitstafel enthalt nur 1en.)

Beispiele fur Tautologien:

A ∨ ¬A

(A → B) ↔ ((¬B) → (¬A))

FG KTuEA, TU Ilmenau AT – 06.07.2006 14

Definition

Eine aussagenlogische Formel ϕ heißt Tautologie,

wenn v(ϕ) = 1 fur alle Belegungen v gilt.

(Ergebnisspalte in der Wahrheitstafel enthalt nur 1en.)

Beispiele fur Tautologien:

A ∨ ¬A

(A → B) ↔ ((¬B) → (¬A))

(A → B) ↔ ((¬A) ∨B)

FG KTuEA, TU Ilmenau AT – 06.07.2006 14

Definition

Eine aussagenlogische Formel ϕ heißt Tautologie,

wenn v(ϕ) = 1 fur alle Belegungen v gilt.

(Ergebnisspalte in der Wahrheitstafel enthalt nur 1en.)

Beispiele fur Tautologien:

A ∨ ¬A

(A → B) ↔ ((¬B) → (¬A))

(A → B) ↔ ((¬A) ∨B)

(A ∧B) ↔ (¬((¬A) ∨ (¬B)))

FG KTuEA, TU Ilmenau AT – 06.07.2006 14

Tautologieproblem

FG KTuEA, TU Ilmenau AT – 06.07.2006 15

Tautologieproblem

Eingabe: Aussagenlogische Formel ϕ

FG KTuEA, TU Ilmenau AT – 06.07.2006 15

Tautologieproblem

Eingabe: Aussagenlogische Formel ϕ

Frage: Ist ϕ eine Tautologie?

FG KTuEA, TU Ilmenau AT – 06.07.2006 15

Tautologieproblem

Eingabe: Aussagenlogische Formel ϕ

Frage: Ist ϕ eine Tautologie?

Formalisierung:

LAL−Taut = {〈ϕ〉 | ϕ ist Tautologie}

FG KTuEA, TU Ilmenau AT – 06.07.2006 15

Tautologieproblem

Eingabe: Aussagenlogische Formel ϕ

Frage: Ist ϕ eine Tautologie?

Formalisierung:

LAL−Taut = {〈ϕ〉 | ϕ ist Tautologie}

(〈ϕ〉: Kodierung von ϕ als Wort.)

FG KTuEA, TU Ilmenau AT – 06.07.2006 15

Tautologieproblem

Eingabe: Aussagenlogische Formel ϕ

Frage: Ist ϕ eine Tautologie?

Formalisierung:

LAL−Taut = {〈ϕ〉 | ϕ ist Tautologie}

(〈ϕ〉: Kodierung von ϕ als Wort.)

Kann zeigen: LAL−Taut ∈ co−NP.

FG KTuEA, TU Ilmenau AT – 06.07.2006 15

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

(Ergebnisspalte in der W.-tafel enthalt mindestens eine 1.)

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

(Ergebnisspalte in der W.-tafel enthalt mindestens eine 1.)

Andernfalls heißt ϕ unerfullbar.

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

(Ergebnisspalte in der W.-tafel enthalt mindestens eine 1.)

Andernfalls heißt ϕ unerfullbar.

Beispiele:

A ∧ (¬A)

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

(Ergebnisspalte in der W.-tafel enthalt mindestens eine 1.)

Andernfalls heißt ϕ unerfullbar.

Beispiele:

A ∧ (¬A) unerfullbar

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

(Ergebnisspalte in der W.-tafel enthalt mindestens eine 1.)

Andernfalls heißt ϕ unerfullbar.

Beispiele:

A ∧ (¬A) unerfullbar

A ∧ (¬B)

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

(Ergebnisspalte in der W.-tafel enthalt mindestens eine 1.)

Andernfalls heißt ϕ unerfullbar.

Beispiele:

A ∧ (¬A) unerfullbar

A ∧ (¬B) erfullbar

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

(Ergebnisspalte in der W.-tafel enthalt mindestens eine 1.)

Andernfalls heißt ϕ unerfullbar.

Beispiele:

A ∧ (¬A) unerfullbar

A ∧ (¬B) erfullbar

(A ∧ (A → B)) ∧ (¬B)

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

(Ergebnisspalte in der W.-tafel enthalt mindestens eine 1.)

Andernfalls heißt ϕ unerfullbar.

Beispiele:

A ∧ (¬A) unerfullbar

A ∧ (¬B) erfullbar

(A ∧ (A → B)) ∧ (¬B) unerfullbar

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Definition

Eine aussagenlogische Formel ϕ heißt erfullbar,

wenn v(ϕ) = 1 fur mindestens eine Belegung v gilt.

(Ergebnisspalte in der W.-tafel enthalt mindestens eine 1.)

Andernfalls heißt ϕ unerfullbar.

Beispiele:

A ∧ (¬A) unerfullbar

A ∧ (¬B) erfullbar

(A ∧ (A → B)) ∧ (¬B) unerfullbar

Klar: ϕ Tautologie genau dann wenn (¬ϕ) unerfullbar.

FG KTuEA, TU Ilmenau AT – 06.07.2006 16

Erfullbarkeitsproblem fur aussagenlogische Formeln:

FG KTuEA, TU Ilmenau AT – 06.07.2006 17

Erfullbarkeitsproblem fur aussagenlogische Formeln:

Eingabe: Aussagenlogische Formel ϕ

FG KTuEA, TU Ilmenau AT – 06.07.2006 17

Erfullbarkeitsproblem fur aussagenlogische Formeln:

Eingabe: Aussagenlogische Formel ϕ

Frage: Ist ϕ erfullbar?

FG KTuEA, TU Ilmenau AT – 06.07.2006 17

Erfullbarkeitsproblem fur aussagenlogische Formeln:

Eingabe: Aussagenlogische Formel ϕ

Frage: Ist ϕ erfullbar?

Formalisierung:

LAL−SAT = {〈ϕ〉 | ϕ ist erfullbare a.l. Formel}

FG KTuEA, TU Ilmenau AT – 06.07.2006 17

Erfullbarkeitsproblem fur aussagenlogische Formeln:

Eingabe: Aussagenlogische Formel ϕ

Frage: Ist ϕ erfullbar?

Formalisierung:

LAL−SAT = {〈ϕ〉 | ϕ ist erfullbare a.l. Formel}

(engl.”SATisfiable“:

”erfullbar“)

FG KTuEA, TU Ilmenau AT – 06.07.2006 17

Erfullbarkeitsproblem fur aussagenlogische Formeln:

Eingabe: Aussagenlogische Formel ϕ

Frage: Ist ϕ erfullbar?

Formalisierung:

LAL−SAT = {〈ϕ〉 | ϕ ist erfullbare a.l. Formel}

(engl.”SATisfiable“:

”erfullbar“)

Kann zeigen: LAL−SAT ∈ NP.

FG KTuEA, TU Ilmenau AT – 06.07.2006 17

Erfullbarkeitsproblem fur aussagenlogische Formeln:

Eingabe: Aussagenlogische Formel ϕ

Frage: Ist ϕ erfullbar?

Formalisierung:

LAL−SAT = {〈ϕ〉 | ϕ ist erfullbare a.l. Formel}

(engl.”SATisfiable“:

”erfullbar“)

Kann zeigen: LAL−SAT ∈ NP.

Sogar: NP-vollstandig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 17

{∨,∧,¬}-Formeln: A

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B , C ∧ ((¬(¬A)) ∨B)

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B , C ∧ ((¬(¬A)) ∨B)

Wissen:

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B , C ∧ ((¬(¬A)) ∨B)

Wissen: Zu jeder a.l. Formel ϕ

gibt es eine”aquivalente“ {∨,∧,¬}-Formel ϕ′, d.h.:

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B , C ∧ ((¬(¬A)) ∨B)

Wissen: Zu jeder a.l. Formel ϕ

gibt es eine”aquivalente“ {∨,∧,¬}-Formel ϕ′, d.h.:

v(ϕ) = v(ϕ′) fur alle Belegungen v.

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B , C ∧ ((¬(¬A)) ∨B)

Wissen: Zu jeder a.l. Formel ϕ

gibt es eine”aquivalente“ {∨,∧,¬}-Formel ϕ′, d.h.:

v(ϕ) = v(ϕ′) fur alle Belegungen v.

Beispiel: zu A ↔ (B ∧ (¬C))

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B , C ∧ ((¬(¬A)) ∨B)

Wissen: Zu jeder a.l. Formel ϕ

gibt es eine”aquivalente“ {∨,∧,¬}-Formel ϕ′, d.h.:

v(ϕ) = v(ϕ′) fur alle Belegungen v.

Beispiel: zu A ↔ (B ∧ (¬C)) bilde

(A ∧B ∧ (¬C)) ∨ (¬A ∧ (¬(B ∧ (¬C))))

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B , C ∧ ((¬(¬A)) ∨B)

Wissen: Zu jeder a.l. Formel ϕ

gibt es eine”aquivalente“ {∨,∧,¬}-Formel ϕ′, d.h.:

v(ϕ) = v(ϕ′) fur alle Belegungen v.

Beispiel: zu A ↔ (B ∧ (¬C)) bilde

(A ∧B ∧ (¬C)) ∨ (¬A ∧ (¬(B ∧ (¬C)))) oder

((¬A) ∨B) ∧ ((¬A) ∨ (¬C)) ∧ (A ∨ (¬B) ∨ C).

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B , C ∧ ((¬(¬A)) ∨B)

Wissen: Zu jeder a.l. Formel ϕ

gibt es eine”aquivalente“ {∨,∧,¬}-Formel ϕ′, d.h.:

v(ϕ) = v(ϕ′) fur alle Belegungen v.

Beispiel: zu A ↔ (B ∧ (¬C)) bilde

(A ∧B ∧ (¬C)) ∨ (¬A ∧ (¬(B ∧ (¬C)))) oder

((¬A) ∨B) ∧ ((¬A) ∨ (¬C)) ∧ (A ∨ (¬B) ∨ C).

Noch enger:

disjunktive Normalform: Disjunktion von Konjunktionen

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

{∨,∧,¬}-Formeln: A , (¬A) ∨B , C ∧ ((¬(¬A)) ∨B)

Wissen: Zu jeder a.l. Formel ϕ

gibt es eine”aquivalente“ {∨,∧,¬}-Formel ϕ′, d.h.:

v(ϕ) = v(ϕ′) fur alle Belegungen v.

Beispiel: zu A ↔ (B ∧ (¬C)) bilde

(A ∧B ∧ (¬C)) ∨ (¬A ∧ (¬(B ∧ (¬C)))) oder

((¬A) ∨B) ∧ ((¬A) ∨ (¬C)) ∧ (A ∨ (¬B) ∨ C).

Noch enger:

disjunktive Normalform: Disjunktion von Konjunktionen

konjunktive Normalform, KNF:

Konjunktion von Disjunktionen

FG KTuEA, TU Ilmenau AT – 06.07.2006 18

Definition

(a) Boolesche Variable (≈ Aussagevariable):

FG KTuEA, TU Ilmenau AT – 06.07.2006 19

Definition

(a) Boolesche Variable (≈ Aussagevariable):

X0, X1, X2, X3, . . .

FG KTuEA, TU Ilmenau AT – 06.07.2006 19

Definition

(a) Boolesche Variable (≈ Aussagevariable):

X0, X1, X2, X3, . . .

(b) Literale (Variable und negierte Variable):

FG KTuEA, TU Ilmenau AT – 06.07.2006 19

Definition

(a) Boolesche Variable (≈ Aussagevariable):

X0, X1, X2, X3, . . .

(b) Literale (Variable und negierte Variable):

X0, X0, X1, X1, X2, X2, . . .

FG KTuEA, TU Ilmenau AT – 06.07.2006 19

Definition

(a) Boolesche Variable (≈ Aussagevariable):

X0, X1, X2, X3, . . .

(b) Literale (Variable und negierte Variable):

X0, X0, X1, X1, X2, X2, . . .

(Xi ist synonym mit ¬Xi)

FG KTuEA, TU Ilmenau AT – 06.07.2006 19

Definition

(a) Boolesche Variable (≈ Aussagevariable):

X0, X1, X2, X3, . . .

(b) Literale (Variable und negierte Variable):

X0, X0, X1, X1, X2, X2, . . .

(Xi ist synonym mit ¬Xi)

(c) Klausel: (l1 ∨ · · · ∨ ls), wobei l1, . . . , ls Literale sind.

FG KTuEA, TU Ilmenau AT – 06.07.2006 19

Definition

(a) Boolesche Variable (≈ Aussagevariable):

X0, X1, X2, X3, . . .

(b) Literale (Variable und negierte Variable):

X0, X0, X1, X1, X2, X2, . . .

(Xi ist synonym mit ¬Xi)

(c) Klausel: (l1 ∨ · · · ∨ ls), wobei l1, . . . , ls Literale sind.

(d) Formel in KNF: C1 ∧ · · · ∧ Cr, wobei C1, . . . , Cr Klauseln

sind.

FG KTuEA, TU Ilmenau AT – 06.07.2006 19

Beispiele:

FG KTuEA, TU Ilmenau AT – 06.07.2006 20

Beispiele:

Variable: X1, X10, X2005

FG KTuEA, TU Ilmenau AT – 06.07.2006 20

Beispiele:

Variable: X1, X10, X2005

Literale: X1, X5 (bzw. ¬X5)

FG KTuEA, TU Ilmenau AT – 06.07.2006 20

Beispiele:

Variable: X1, X10, X2005

Literale: X1, X5 (bzw. ¬X5)

kein Literal: X1 (bzw. ¬¬X1)

FG KTuEA, TU Ilmenau AT – 06.07.2006 20

Beispiele:

Variable: X1, X10, X2005

Literale: X1, X5 (bzw. ¬X5)

kein Literal: X1 (bzw. ¬¬X1)

Klauseln: (X1 ∨X3 ∨X1 ∨X8) und (X2)

FG KTuEA, TU Ilmenau AT – 06.07.2006 20

Beispiele:

Variable: X1, X10, X2005

Literale: X1, X5 (bzw. ¬X5)

kein Literal: X1 (bzw. ¬¬X1)

Klauseln: (X1 ∨X3 ∨X1 ∨X8) und (X2)

keine Klausel: ((X1 ∧X3) ∨ (X4))

FG KTuEA, TU Ilmenau AT – 06.07.2006 20

Beispiele:

Variable: X1, X10, X2005

Literale: X1, X5 (bzw. ¬X5)

kein Literal: X1 (bzw. ¬¬X1)

Klauseln: (X1 ∨X3 ∨X1 ∨X8) und (X2)

keine Klausel: ((X1 ∧X3) ∨ (X4))

KNF-Formel: (X0) ∧ (X1 ∨X3) ∧ (X0 ∨X3)

FG KTuEA, TU Ilmenau AT – 06.07.2006 20

Definition

Eine Belegung

FG KTuEA, TU Ilmenau AT – 06.07.2006 21

Definition

Eine Belegung der Booleschen Variablen ist eine Abbildung

v : {X0, X1, X2, . . .} → {0, 1}.

FG KTuEA, TU Ilmenau AT – 06.07.2006 21

Fortsetzung von v auf Literale, Klauseln, KNF-Formeln:

FG KTuEA, TU Ilmenau AT – 06.07.2006 22

Fortsetzung von v auf Literale, Klauseln, KNF-Formeln:

v(Xi) = v(Xi)

FG KTuEA, TU Ilmenau AT – 06.07.2006 22

Fortsetzung von v auf Literale, Klauseln, KNF-Formeln:

v(Xi) = v(Xi)

v(Xi) = 1− v(Xi) = 1− v(Xi)

FG KTuEA, TU Ilmenau AT – 06.07.2006 22

Fortsetzung von v auf Literale, Klauseln, KNF-Formeln:

v(Xi) = v(Xi)

v(Xi) = 1− v(Xi) = 1− v(Xi)

v((l1 ∨ · · · ∨ ls)) = max{v(l1), . . . , v(ls)}

FG KTuEA, TU Ilmenau AT – 06.07.2006 22

Fortsetzung von v auf Literale, Klauseln, KNF-Formeln:

v(Xi) = v(Xi)

v(Xi) = 1− v(Xi) = 1− v(Xi)

v((l1 ∨ · · · ∨ ls)) = max{v(l1), . . . , v(ls)}v(C1 ∧ · · · ∧ Cr) = min{v(l1), . . . , v(ls)}

FG KTuEA, TU Ilmenau AT – 06.07.2006 22

Fortsetzung von v auf Literale, Klauseln, KNF-Formeln:

v(Xi) = v(Xi)

v(Xi) = 1− v(Xi) = 1− v(Xi)

v((l1 ∨ · · · ∨ ls)) = max{v(l1), . . . , v(ls)}v(C1 ∧ · · · ∧ Cr) = min{v(l1), . . . , v(ls)}

Modelliert NEG, ODER, UND.

FG KTuEA, TU Ilmenau AT – 06.07.2006 22

Fortsetzung von v auf Literale, Klauseln, KNF-Formeln:

v(Xi) = v(Xi)

v(Xi) = 1− v(Xi) = 1− v(Xi)

v((l1 ∨ · · · ∨ ls)) = max{v(l1), . . . , v(ls)}v(C1 ∧ · · · ∧ Cr) = min{v(l1), . . . , v(ls)}

Modelliert NEG, ODER, UND.

Anstelle von v schreiben wir wieder v.

FG KTuEA, TU Ilmenau AT – 06.07.2006 22

Fortsetzung von v auf Literale, Klauseln, KNF-Formeln:

v(Xi) = v(Xi)

v(Xi) = 1− v(Xi) = 1− v(Xi)

v((l1 ∨ · · · ∨ ls)) = max{v(l1), . . . , v(ls)}v(C1 ∧ · · · ∧ Cr) = min{v(l1), . . . , v(ls)}

Modelliert NEG, ODER, UND.

Anstelle von v schreiben wir wieder v.

Kurz:

v(C1 ∧ · · · ∧ Cr) = 1 (”wahr“)

⇔ jede Klausel Ci von ϕ = C1 ∧ · · · ∧Cr enthalt ein Literal,

das unter v wahr wird.

FG KTuEA, TU Ilmenau AT – 06.07.2006 22

Beispiel :

ϕ = (X0) ∧ (X1 ∨X3) ∧ (X1 ∨X2 ∨X5) ist KNF-Formel.

FG KTuEA, TU Ilmenau AT – 06.07.2006 23

Beispiel :

ϕ = (X0) ∧ (X1 ∨X3) ∧ (X1 ∨X2 ∨X5) ist KNF-Formel.

v(X0) = v(X1) = v(X2) = v(X5) = 0 und v(X3) = 1(andere Werte irrelevant):

v(ϕ) = 0.

FG KTuEA, TU Ilmenau AT – 06.07.2006 23

Beispiel :

ϕ = (X0) ∧ (X1 ∨X3) ∧ (X1 ∨X2 ∨X5) ist KNF-Formel.

v(X0) = v(X1) = v(X2) = v(X5) = 0 und v(X3) = 1(andere Werte irrelevant):

v(ϕ) = 0.

v′(X0) = v′(X1) = 1 (andere Werte irrelevant):

FG KTuEA, TU Ilmenau AT – 06.07.2006 23

Beispiel :

ϕ = (X0) ∧ (X1 ∨X3) ∧ (X1 ∨X2 ∨X5) ist KNF-Formel.

v(X0) = v(X1) = v(X2) = v(X5) = 0 und v(X3) = 1(andere Werte irrelevant):

v(ϕ) = 0.

v′(X0) = v′(X1) = 1 (andere Werte irrelevant):

v′(ϕ) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 23

Beispiel :

ϕ = (X0) ∧ (X1 ∨X3) ∧ (X1 ∨X2 ∨X5) ist KNF-Formel.

v(X0) = v(X1) = v(X2) = v(X5) = 0 und v(X3) = 1(andere Werte irrelevant):

v(ϕ) = 0.

v′(X0) = v′(X1) = 1 (andere Werte irrelevant):

v′(ϕ) = 1.

Fur den Wahrheitswert v(ϕ) sind die Belegungswerte v(Xi)nur fur die Xi wichtig, die in ϕ vorkommen.

FG KTuEA, TU Ilmenau AT – 06.07.2006 23

Definition

FG KTuEA, TU Ilmenau AT – 06.07.2006 24

Definition

Eine KNF-Formel ϕ = C1 ∧ · · · ∧ Cr heißt erfullbar,

FG KTuEA, TU Ilmenau AT – 06.07.2006 24

Definition

Eine KNF-Formel ϕ = C1 ∧ · · · ∧ Cr heißt erfullbar,

falls es eine Belegung v gibt, so dass v(ϕ) = 1 ist.

FG KTuEA, TU Ilmenau AT – 06.07.2006 24

Kodierung von Formeln uber dem Alphabet

Σ = {[, ], (, ),∧,∨,¬, 0, 1}

FG KTuEA, TU Ilmenau AT – 06.07.2006 25

Kodierung von Formeln uber dem Alphabet

Σ = {[, ], (, ),∧,∨,¬, 0, 1}

Kodiere Xi durch [bin(i)] und Xi durch ¬[bin(i)], fur i ∈ N.

FG KTuEA, TU Ilmenau AT – 06.07.2006 25

Kodierung von Formeln uber dem Alphabet

Σ = {[, ], (, ),∧,∨,¬, 0, 1}

Kodiere Xi durch [bin(i)] und Xi durch ¬[bin(i)], fur i ∈ N.

Formel ϕ = (X1 ∨X2) ∧ (X1 ∨X2005)

FG KTuEA, TU Ilmenau AT – 06.07.2006 25

Kodierung von Formeln uber dem Alphabet

Σ = {[, ], (, ),∧,∨,¬, 0, 1}

Kodiere Xi durch [bin(i)] und Xi durch ¬[bin(i)], fur i ∈ N.

Formel ϕ = (X1 ∨X2) ∧ (X1 ∨X2005)wird als

〈ϕ〉 = ([1] ∨ [10]) ∧ (¬[1] ∨ ¬[11111010101])

kodiert.

FG KTuEA, TU Ilmenau AT – 06.07.2006 25

Kodierung von Formeln uber dem Alphabet

Σ = {[, ], (, ),∧,∨,¬, 0, 1}

Kodiere Xi durch [bin(i)] und Xi durch ¬[bin(i)], fur i ∈ N.

Formel ϕ = (X1 ∨X2) ∧ (X1 ∨X2005)wird als

〈ϕ〉 = ([1] ∨ [10]) ∧ (¬[1] ∨ ¬[11111010101])

kodiert.

Die Sprache LKNF = {〈ϕ〉 | ϕ ist KNF-Formel} ist regular;

aus 〈ϕ〉 lasst sich ϕ leicht ablesen.

FG KTuEA, TU Ilmenau AT – 06.07.2006 25

Kodierung von Formeln uber dem Alphabet

Σ = {[, ], (, ),∧,∨,¬, 0, 1}

Kodiere Xi durch [bin(i)] und Xi durch ¬[bin(i)], fur i ∈ N.

Formel ϕ = (X1 ∨X2) ∧ (X1 ∨X2005)wird als

〈ϕ〉 = ([1] ∨ [10]) ∧ (¬[1] ∨ ¬[11111010101])

kodiert.

Die Sprache LKNF = {〈ϕ〉 | ϕ ist KNF-Formel} ist regular;

aus 〈ϕ〉 lasst sich ϕ leicht ablesen.

Wir schreiben ϕ, meinen aber strenggenommen 〈ϕ〉, z.B.:

FG KTuEA, TU Ilmenau AT – 06.07.2006 25

Kodierung von Formeln uber dem Alphabet

Σ = {[, ], (, ),∧,∨,¬, 0, 1}

Kodiere Xi durch [bin(i)] und Xi durch ¬[bin(i)], fur i ∈ N.

Formel ϕ = (X1 ∨X2) ∧ (X1 ∨X2005)wird als

〈ϕ〉 = ([1] ∨ [10]) ∧ (¬[1] ∨ ¬[11111010101])

kodiert.

Die Sprache LKNF = {〈ϕ〉 | ϕ ist KNF-Formel} ist regular;

aus 〈ϕ〉 lasst sich ϕ leicht ablesen.

Wir schreiben ϕ, meinen aber strenggenommen 〈ϕ〉, z.B.:

LKNF = {ϕ | ϕ ist KNF-Formel}.

FG KTuEA, TU Ilmenau AT – 06.07.2006 25

Definition

FG KTuEA, TU Ilmenau AT – 06.07.2006 26

Definition

LSAT = {ϕ | ϕ ist erfullbare KNF-Formel}.

FG KTuEA, TU Ilmenau AT – 06.07.2006 26

Definition

LSAT = {ϕ | ϕ ist erfullbare KNF-Formel}.

Satz (Satz von Cook/Levin, 1970)LSAT ist NP-vollstandig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 26

Definition

LSAT = {ϕ | ϕ ist erfullbare KNF-Formel}.

Satz (Satz von Cook/Levin, 1970)LSAT ist NP-vollstandig.

Konsequenz: Wenn P 6= NP,

FG KTuEA, TU Ilmenau AT – 06.07.2006 26

Definition

LSAT = {ϕ | ϕ ist erfullbare KNF-Formel}.

Satz (Satz von Cook/Levin, 1970)LSAT ist NP-vollstandig.

Konsequenz: Wenn P 6= NP, besitzt das Erfullbarkeitsproblem

fur KNF-Formeln keinen Polynomialzeitalgorithmus.

FG KTuEA, TU Ilmenau AT – 06.07.2006 26

Definition

LSAT = {ϕ | ϕ ist erfullbare KNF-Formel}.

Satz (Satz von Cook/Levin, 1970)LSAT ist NP-vollstandig.

Konsequenz: Wenn P 6= NP, besitzt das Erfullbarkeitsproblem

fur KNF-Formeln keinen Polynomialzeitalgorithmus.

• Dreh- und Angelpunkt der NP-Vollstandigkeits-Theorie

FG KTuEA, TU Ilmenau AT – 06.07.2006 26

Definition

LSAT = {ϕ | ϕ ist erfullbare KNF-Formel}.

Satz (Satz von Cook/Levin, 1970)LSAT ist NP-vollstandig.

Konsequenz: Wenn P 6= NP, besitzt das Erfullbarkeitsproblem

fur KNF-Formeln keinen Polynomialzeitalgorithmus.

• Dreh- und Angelpunkt der NP-Vollstandigkeits-Theorie

• Erfullbarkeit von Formeln/Schaltkreisen praktisch relevant

FG KTuEA, TU Ilmenau AT – 06.07.2006 26

Beispiel :

(X2∨X4∨X7)∧(X0∨X1∨X4)∧(X2∨X1∨X6)∧(X1∨X2∨X4).

FG KTuEA, TU Ilmenau AT – 06.07.2006 27

Beispiel :

(X2∨X4∨X7)∧(X0∨X1∨X4)∧(X2∨X1∨X6)∧(X1∨X2∨X4).

Def.: Eine KNF-Formel ϕ ist in 3-KNF-Form, wenn jede

Klausel genau drei Literale enthalt.

FG KTuEA, TU Ilmenau AT – 06.07.2006 27

Beispiel :

(X2∨X4∨X7)∧(X0∨X1∨X4)∧(X2∨X1∨X6)∧(X1∨X2∨X4).

Def.: Eine KNF-Formel ϕ ist in 3-KNF-Form, wenn jede

Klausel genau drei Literale enthalt.

Das Entscheidungsproblem 3-SAT:

FG KTuEA, TU Ilmenau AT – 06.07.2006 27

Beispiel :

(X2∨X4∨X7)∧(X0∨X1∨X4)∧(X2∨X1∨X6)∧(X1∨X2∨X4).

Def.: Eine KNF-Formel ϕ ist in 3-KNF-Form, wenn jede

Klausel genau drei Literale enthalt.

Das Entscheidungsproblem 3-SAT:

Eingabe: Formel ϕ in 3-KNF-Form

FG KTuEA, TU Ilmenau AT – 06.07.2006 27

Beispiel :

(X2∨X4∨X7)∧(X0∨X1∨X4)∧(X2∨X1∨X6)∧(X1∨X2∨X4).

Def.: Eine KNF-Formel ϕ ist in 3-KNF-Form, wenn jede

Klausel genau drei Literale enthalt.

Das Entscheidungsproblem 3-SAT:

Eingabe: Formel ϕ in 3-KNF-Form

Frage: Ist ϕ erfullbar?

FG KTuEA, TU Ilmenau AT – 06.07.2006 27

Beispiel :

(X2∨X4∨X7)∧(X0∨X1∨X4)∧(X2∨X1∨X6)∧(X1∨X2∨X4).

Def.: Eine KNF-Formel ϕ ist in 3-KNF-Form, wenn jede

Klausel genau drei Literale enthalt.

Das Entscheidungsproblem 3-SAT:

Eingabe: Formel ϕ in 3-KNF-Form

Frage: Ist ϕ erfullbar?

L3−SAT := {ϕ | ϕ Formel in 3-KNF, ϕ erfullbar}.

FG KTuEA, TU Ilmenau AT – 06.07.2006 27

Beispiel :

(X2∨X4∨X7)∧(X0∨X1∨X4)∧(X2∨X1∨X6)∧(X1∨X2∨X4).

Def.: Eine KNF-Formel ϕ ist in 3-KNF-Form, wenn jede

Klausel genau drei Literale enthalt.

Das Entscheidungsproblem 3-SAT:

Eingabe: Formel ϕ in 3-KNF-Form

Frage: Ist ϕ erfullbar?

L3−SAT := {ϕ | ϕ Formel in 3-KNF, ϕ erfullbar}.

Werden sehen: Auch L3−SAT ist NP-vollstandig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 27

1. Teil: LSAT ∈ NP.

FG KTuEA, TU Ilmenau AT – 06.07.2006 28

1. Teil: LSAT ∈ NP.

Beweis: Beschreibe NTM M .

FG KTuEA, TU Ilmenau AT – 06.07.2006 28

1. Teil: LSAT ∈ NP.

Beweis: Beschreibe NTM M . Auf Input x:

FG KTuEA, TU Ilmenau AT – 06.07.2006 28

1. Teil: LSAT ∈ NP.

Beweis: Beschreibe NTM M . Auf Input x:

(1) Syntaxcheck: Prufe, ob x = 〈ϕ〉 fur eine KNF-Formel ϕ.

FG KTuEA, TU Ilmenau AT – 06.07.2006 28

1. Teil: LSAT ∈ NP.

Beweis: Beschreibe NTM M . Auf Input x:

(1) Syntaxcheck: Prufe, ob x = 〈ϕ〉 fur eine KNF-Formel ϕ.

Falls nicht: halte und verwerfe.

FG KTuEA, TU Ilmenau AT – 06.07.2006 28

1. Teil: LSAT ∈ NP.

Beweis: Beschreibe NTM M . Auf Input x:

(1) Syntaxcheck: Prufe, ob x = 〈ϕ〉 fur eine KNF-Formel ϕ.

Falls nicht: halte und verwerfe.

(2) Schreibe auf Band 2:

#[bin(i1)]#[bin(i2)]# · · ·#[bin(im)], wobei [bin(i1)], . . . , [bin(im)]die verschiedenen in ϕ vorkommenden Variablen sind

FG KTuEA, TU Ilmenau AT – 06.07.2006 28

1. Teil: LSAT ∈ NP.

Beweis: Beschreibe NTM M . Auf Input x:

(1) Syntaxcheck: Prufe, ob x = 〈ϕ〉 fur eine KNF-Formel ϕ.

Falls nicht: halte und verwerfe.

(2) Schreibe auf Band 2:

#[bin(i1)]#[bin(i2)]# · · ·#[bin(im)], wobei [bin(i1)], . . . , [bin(im)]die verschiedenen in ϕ vorkommenden Variablen sind

(3) Schreibe 0m auf Band 3

FG KTuEA, TU Ilmenau AT – 06.07.2006 28

1. Teil: LSAT ∈ NP.

Beweis: Beschreibe NTM M . Auf Input x:

(1) Syntaxcheck: Prufe, ob x = 〈ϕ〉 fur eine KNF-Formel ϕ.

Falls nicht: halte und verwerfe.

(2) Schreibe auf Band 2:

#[bin(i1)]#[bin(i2)]# · · ·#[bin(im)], wobei [bin(i1)], . . . , [bin(im)]die verschiedenen in ϕ vorkommenden Variablen sind

(3) Schreibe 0m auf Band 3

(4) Erzeuge mit MRatewort auf Band 3 b1 · · · bm ∈ {0, 1}m.

(5) Andere Band 2 zu b1[bin(i1)]b2[bin(i2)] · · · bm[bin(im)].

FG KTuEA, TU Ilmenau AT – 06.07.2006 28

(5) Andere Band 2 zu b1[bin(i1)]b2[bin(i2)] · · · bm[bin(im)].

FG KTuEA, TU Ilmenau AT – 06.07.2006 29

(5) Andere Band 2 zu b1[bin(i1)]b2[bin(i2)] · · · bm[bin(im)].

(6) Ersetze in ϕ auf Band 1

[bin(ir)] durch br · · · br und ¬[bin(ir)] durch br · · · br.

FG KTuEA, TU Ilmenau AT – 06.07.2006 29

(5) Andere Band 2 zu b1[bin(i1)]b2[bin(i2)] · · · bm[bin(im)].

(6) Ersetze in ϕ auf Band 1

[bin(ir)] durch br · · · br und ¬[bin(ir)] durch br · · · br.

(7) Teste, ob auf Band 1 in jedem Paar von runden Klammern

mindestens eine 1 vorkommt.

FG KTuEA, TU Ilmenau AT – 06.07.2006 29

(5) Andere Band 2 zu b1[bin(i1)]b2[bin(i2)] · · · bm[bin(im)].

(6) Ersetze in ϕ auf Band 1

[bin(ir)] durch br · · · br und ¬[bin(ir)] durch br · · · br.

(7) Teste, ob auf Band 1 in jedem Paar von runden Klammern

mindestens eine 1 vorkommt.

Falls ja, akzeptiere, falls nein, verwerfe.

FG KTuEA, TU Ilmenau AT – 06.07.2006 29

(5) Andere Band 2 zu b1[bin(i1)]b2[bin(i2)] · · · bm[bin(im)].

(6) Ersetze in ϕ auf Band 1

[bin(ir)] durch br · · · br und ¬[bin(ir)] durch br · · · br.

(7) Teste, ob auf Band 1 in jedem Paar von runden Klammern

mindestens eine 1 vorkommt.

Falls ja, akzeptiere, falls nein, verwerfe.

Verhalten:

Wenn x keine KNF-Formel ist, verwirft M .

FG KTuEA, TU Ilmenau AT – 06.07.2006 29

(5) Andere Band 2 zu b1[bin(i1)]b2[bin(i2)] · · · bm[bin(im)].

(6) Ersetze in ϕ auf Band 1

[bin(ir)] durch br · · · br und ¬[bin(ir)] durch br · · · br.

(7) Teste, ob auf Band 1 in jedem Paar von runden Klammern

mindestens eine 1 vorkommt.

Falls ja, akzeptiere, falls nein, verwerfe.

Verhalten:

Wenn x keine KNF-Formel ist, verwirft M . Sonst:

FG KTuEA, TU Ilmenau AT – 06.07.2006 29

(5) Andere Band 2 zu b1[bin(i1)]b2[bin(i2)] · · · bm[bin(im)].

(6) Ersetze in ϕ auf Band 1

[bin(ir)] durch br · · · br und ¬[bin(ir)] durch br · · · br.

(7) Teste, ob auf Band 1 in jedem Paar von runden Klammern

mindestens eine 1 vorkommt.

Falls ja, akzeptiere, falls nein, verwerfe.

Verhalten:

Wenn x keine KNF-Formel ist, verwirft M . Sonst:

ϕ besitzt eine erfullende Belegung ⇔

FG KTuEA, TU Ilmenau AT – 06.07.2006 29

(5) Andere Band 2 zu b1[bin(i1)]b2[bin(i2)] · · · bm[bin(im)].

(6) Ersetze in ϕ auf Band 1

[bin(ir)] durch br · · · br und ¬[bin(ir)] durch br · · · br.

(7) Teste, ob auf Band 1 in jedem Paar von runden Klammern

mindestens eine 1 vorkommt.

Falls ja, akzeptiere, falls nein, verwerfe.

Verhalten:

Wenn x keine KNF-Formel ist, verwirft M . Sonst:

ϕ besitzt eine erfullende Belegung ⇔die TM M besitzt auf Eingabe x eine akzeptierende

Berechnung.

FG KTuEA, TU Ilmenau AT – 06.07.2006 29

2. Teil: LSAT ist NP-schwer.

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

2. Teil: LSAT ist NP-schwer. → Nachste Vorlesung.

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

2. Teil: LSAT ist NP-schwer. → Nachste Vorlesung.

Satz

L3−SAT ist NP-vollstandig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

2. Teil: LSAT ist NP-schwer. → Nachste Vorlesung.

Satz

L3−SAT ist NP-vollstandig.

Beweis: (i)

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

2. Teil: LSAT ist NP-schwer. → Nachste Vorlesung.

Satz

L3−SAT ist NP-vollstandig.

Beweis: (i) L3−SAT ∈ NP.

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

2. Teil: LSAT ist NP-schwer. → Nachste Vorlesung.

Satz

L3−SAT ist NP-vollstandig.

Beweis: (i) L3−SAT ∈ NP.

Beschreibe NTM M .

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

2. Teil: LSAT ist NP-schwer. → Nachste Vorlesung.

Satz

L3−SAT ist NP-vollstandig.

Beweis: (i) L3−SAT ∈ NP.

Beschreibe NTM M . Auf Input x:

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

2. Teil: LSAT ist NP-schwer. → Nachste Vorlesung.

Satz

L3−SAT ist NP-vollstandig.

Beweis: (i) L3−SAT ∈ NP.

Beschreibe NTM M . Auf Input x:

(1) Syntaxcheck: Prufe, ob x = 〈ϕ〉 fur eine 3-KNF-Formel ϕ.

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

2. Teil: LSAT ist NP-schwer. → Nachste Vorlesung.

Satz

L3−SAT ist NP-vollstandig.

Beweis: (i) L3−SAT ∈ NP.

Beschreibe NTM M . Auf Input x:

(1) Syntaxcheck: Prufe, ob x = 〈ϕ〉 fur eine 3-KNF-Formel ϕ.

Falls nicht: halte und verwerfe.

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

2. Teil: LSAT ist NP-schwer. → Nachste Vorlesung.

Satz

L3−SAT ist NP-vollstandig.

Beweis: (i) L3−SAT ∈ NP.

Beschreibe NTM M . Auf Input x:

(1) Syntaxcheck: Prufe, ob x = 〈ϕ〉 fur eine 3-KNF-Formel ϕ.

Falls nicht: halte und verwerfe.

(2) . . . (weiter wie bei LSAT)

FG KTuEA, TU Ilmenau AT – 06.07.2006 30

(ii)

FG KTuEA, TU Ilmenau AT – 06.07.2006 31

(ii) L3−SAT ist NP-schwer.

FG KTuEA, TU Ilmenau AT – 06.07.2006 31

(ii) L3−SAT ist NP-schwer.

heißt:

Fur jedes L′ ∈ NP gilt L′ ≤p L3−SAT.

FG KTuEA, TU Ilmenau AT – 06.07.2006 31

(ii) L3−SAT ist NP-schwer.

heißt:

Fur jedes L′ ∈ NP gilt L′ ≤p L3−SAT.

Konnte ziemlich muhsam sein

(siehe Beweis des Satzes von Cook/Levin).

FG KTuEA, TU Ilmenau AT – 06.07.2006 31

Reduktionsmethode

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′,

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

Beweis: Es gelte (i), (ii)∗.

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

Beweis: Es gelte (i), (ii)∗.

Zu zeigen: (ii) L′′ ≤p L fur alle L′′ ∈ NP.

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

Beweis: Es gelte (i), (ii)∗.

Zu zeigen: (ii) L′′ ≤p L fur alle L′′ ∈ NP.

Sei L′′ ∈ NP beliebig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

Beweis: Es gelte (i), (ii)∗.

Zu zeigen: (ii) L′′ ≤p L fur alle L′′ ∈ NP.

Sei L′′ ∈ NP beliebig.

Weil L′ NP-vollstandig, gilt L′′ ≤p L′.

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

Beweis: Es gelte (i), (ii)∗.

Zu zeigen: (ii) L′′ ≤p L fur alle L′′ ∈ NP.

Sei L′′ ∈ NP beliebig.

Weil L′ NP-vollstandig, gilt L′′ ≤p L′.

Weil ≤p transitiv, folgt mit (ii)∗: L′′ ≤p L.

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

Beweis: Es gelte (i), (ii)∗.

Zu zeigen: (ii) L′′ ≤p L fur alle L′′ ∈ NP.

Sei L′′ ∈ NP beliebig.

Weil L′ NP-vollstandig, gilt L′′ ≤p L′.

Weil ≤p transitiv, folgt mit (ii)∗: L′′ ≤p L. Fertig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

Beweis: Es gelte (i), (ii)∗.

Zu zeigen: (ii) L′′ ≤p L fur alle L′′ ∈ NP.

Sei L′′ ∈ NP beliebig.

Weil L′ NP-vollstandig, gilt L′′ ≤p L′.

Weil ≤p transitiv, folgt mit (ii)∗: L′′ ≤p L. Fertig.

Rezept: Zeige (i) und (ii)∗. Folgere: L ist NP-vollstandig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

Beweis: Es gelte (i), (ii)∗.

Zu zeigen: (ii) L′′ ≤p L fur alle L′′ ∈ NP.

Sei L′′ ∈ NP beliebig.

Weil L′ NP-vollstandig, gilt L′′ ≤p L′.

Weil ≤p transitiv, folgt mit (ii)∗: L′′ ≤p L. Fertig.

Rezept: Zeige (i) und (ii)∗. Folgere: L ist NP-vollstandig.

Hier: L′ = LSAT, L = L3−SAT.

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Reduktionsmethode

Lemma Wenn (i) L ∈ NP und (ii)∗ L′ ≤p L fur eine

NP-vollstandige Sprache L′, dann ist L NP-vollstandig.

Beweis: Es gelte (i), (ii)∗.

Zu zeigen: (ii) L′′ ≤p L fur alle L′′ ∈ NP.

Sei L′′ ∈ NP beliebig.

Weil L′ NP-vollstandig, gilt L′′ ≤p L′.

Weil ≤p transitiv, folgt mit (ii)∗: L′′ ≤p L. Fertig.

Rezept: Zeige (i) und (ii)∗. Folgere: L ist NP-vollstandig.

Hier: L′ = LSAT, L = L3−SAT.

Sonst haufig: L′ = L3−SAT

FG KTuEA, TU Ilmenau AT – 06.07.2006 32

Behauptung: LSAT ≤p L3−SAT.

FG KTuEA, TU Ilmenau AT – 06.07.2006 33

Behauptung: LSAT ≤p L3−SAT.

Mussen beliebige KNF-Formel ϕ transformieren

in 3-KNF-Formel f(ϕ) = ϕ∗

FG KTuEA, TU Ilmenau AT – 06.07.2006 33

Behauptung: LSAT ≤p L3−SAT.

Mussen beliebige KNF-Formel ϕ transformieren

in 3-KNF-Formel f(ϕ) = ϕ∗ mit:

ϕ erfullbar ⇔ ϕ∗ erfullbar.

Achtung! ϕ, ϕ∗ haben verschiedene Variablenmengen.

Sie sind nicht aquivalent

FG KTuEA, TU Ilmenau AT – 06.07.2006 33

Behauptung: LSAT ≤p L3−SAT.

Mussen beliebige KNF-Formel ϕ transformieren

in 3-KNF-Formel f(ϕ) = ϕ∗ mit:

ϕ erfullbar ⇔ ϕ∗ erfullbar.

Achtung! ϕ, ϕ∗ haben verschiedene Variablenmengen.

Sie sind nicht aquivalent (nur”erfullbarkeitsaquivalent“).

FG KTuEA, TU Ilmenau AT – 06.07.2006 33

Behauptung: LSAT ≤p L3−SAT.

Mussen beliebige KNF-Formel ϕ transformieren

in 3-KNF-Formel f(ϕ) = ϕ∗ mit:

ϕ erfullbar ⇔ ϕ∗ erfullbar.

Achtung! ϕ, ϕ∗ haben verschiedene Variablenmengen.

Sie sind nicht aquivalent (nur”erfullbarkeitsaquivalent“).

Randbemerkung: Syntaxcheck.

FG KTuEA, TU Ilmenau AT – 06.07.2006 33

Behauptung: LSAT ≤p L3−SAT.

Mussen beliebige KNF-Formel ϕ transformieren

in 3-KNF-Formel f(ϕ) = ϕ∗ mit:

ϕ erfullbar ⇔ ϕ∗ erfullbar.

Achtung! ϕ, ϕ∗ haben verschiedene Variablenmengen.

Sie sind nicht aquivalent (nur”erfullbarkeitsaquivalent“).

Randbemerkung: Syntaxcheck. Fur Inputs x fur f , die keine

KNF-Formel sind,

FG KTuEA, TU Ilmenau AT – 06.07.2006 33

Behauptung: LSAT ≤p L3−SAT.

Mussen beliebige KNF-Formel ϕ transformieren

in 3-KNF-Formel f(ϕ) = ϕ∗ mit:

ϕ erfullbar ⇔ ϕ∗ erfullbar.

Achtung! ϕ, ϕ∗ haben verschiedene Variablenmengen.

Sie sind nicht aquivalent (nur”erfullbarkeitsaquivalent“).

Randbemerkung: Syntaxcheck. Fur Inputs x fur f , die keine

KNF-Formel sind, setzen wir f(x) = 0 (keine 3-KNF-Formel).

FG KTuEA, TU Ilmenau AT – 06.07.2006 33

Gegeben: ϕ = C1 ∧ · · · ∧ Cr

FG KTuEA, TU Ilmenau AT – 06.07.2006 34

Gegeben: ϕ = C1 ∧ · · · ∧ Cr

Wir bilden: ϕ∗ = ϕ∗1 ∧ · · · ∧ ϕ∗

r

FG KTuEA, TU Ilmenau AT – 06.07.2006 34

Gegeben: ϕ = C1 ∧ · · · ∧ Cr

Wir bilden: ϕ∗ = ϕ∗1 ∧ · · · ∧ ϕ∗

r

Dabei entstehen die ϕ∗j aus den Cj, separat.

FG KTuEA, TU Ilmenau AT – 06.07.2006 34

Gegeben: ϕ = C1 ∧ · · · ∧ Cr

Wir bilden: ϕ∗ = ϕ∗1 ∧ · · · ∧ ϕ∗

r

Dabei entstehen die ϕ∗j aus den Cj, separat.

Beispiel : Aus

ϕ = (X2 ∨X4)︸ ︷︷ ︸C1

∧ (X1 ∨X2 ∨X4 ∨X5 ∨X7)︸ ︷︷ ︸C2

wird

FG KTuEA, TU Ilmenau AT – 06.07.2006 34

Gegeben: ϕ = C1 ∧ · · · ∧ Cr

Wir bilden: ϕ∗ = ϕ∗1 ∧ · · · ∧ ϕ∗

r

Dabei entstehen die ϕ∗j aus den Cj, separat.

Beispiel : Aus

ϕ = (X2 ∨X4)︸ ︷︷ ︸C1

∧ (X1 ∨X2 ∨X4 ∨X5 ∨X7)︸ ︷︷ ︸C2

wird

ϕ∗ = (X2 ∨X4 ∨X101) ∧ (X2 ∨X4 ∨X101)︸ ︷︷ ︸ϕ∗

1

FG KTuEA, TU Ilmenau AT – 06.07.2006 34

Gegeben: ϕ = C1 ∧ · · · ∧ Cr

Wir bilden: ϕ∗ = ϕ∗1 ∧ · · · ∧ ϕ∗

r

Dabei entstehen die ϕ∗j aus den Cj, separat.

Beispiel : Aus

ϕ = (X2 ∨X4)︸ ︷︷ ︸C1

∧ (X1 ∨X2 ∨X4 ∨X5 ∨X7)︸ ︷︷ ︸C2

wird

ϕ∗ = (X2 ∨X4 ∨X101) ∧ (X2 ∨X4 ∨X101)︸ ︷︷ ︸ϕ∗

1

∧ (X1 ∨X2 ∨X203) ∧ (X203 ∨X4 ∨X204) ∧ (X204 ∨X5 ∨X7)︸ ︷︷ ︸ϕ∗

2

FG KTuEA, TU Ilmenau AT – 06.07.2006 34

Gegeben: ϕ = C1 ∧ · · · ∧ Cr

Wir bilden: ϕ∗ = ϕ∗1 ∧ · · · ∧ ϕ∗

r

Dabei entstehen die ϕ∗j aus den Cj, separat.

Beispiel : Aus

ϕ = (X2 ∨X4)︸ ︷︷ ︸C1

∧ (X1 ∨X2 ∨X4 ∨X5 ∨X7)︸ ︷︷ ︸C2

wird

ϕ∗ = (X2 ∨X4 ∨X101) ∧ (X2 ∨X4 ∨X101)︸ ︷︷ ︸ϕ∗

1

∧ (X1 ∨X2 ∨X203) ∧ (X203 ∨X4 ∨X204) ∧ (X204 ∨X5 ∨X7)︸ ︷︷ ︸ϕ∗

2

Die Details folgen.

FG KTuEA, TU Ilmenau AT – 06.07.2006 34

Cj = (l1 ∨ · · · ∨ ls)

1. Fall:

FG KTuEA, TU Ilmenau AT – 06.07.2006 35

Cj = (l1 ∨ · · · ∨ ls)

1. Fall: s = 1, Cj = (l1).

FG KTuEA, TU Ilmenau AT – 06.07.2006 35

Cj = (l1 ∨ · · · ∨ ls)

1. Fall: s = 1, Cj = (l1).

ϕ∗j =

(l1 ∨ Z1 ∨ Z2)∧(l1 ∨ Z1 ∨ Z2)∧(l1 ∨ Z1 ∨ Z2)∧(l1 ∨ Z1 ∨ Z2)

FG KTuEA, TU Ilmenau AT – 06.07.2006 35

Cj = (l1 ∨ · · · ∨ ls)

1. Fall: s = 1, Cj = (l1).

ϕ∗j =

(l1 ∨ Z1 ∨ Z2)∧(l1 ∨ Z1 ∨ Z2)∧(l1 ∨ Z1 ∨ Z2)∧(l1 ∨ Z1 ∨ Z2)

Dabei: Z1, Z2 neue Variable.

FG KTuEA, TU Ilmenau AT – 06.07.2006 35

Cj = (l1 ∨ · · · ∨ ls)

2. Fall:

FG KTuEA, TU Ilmenau AT – 06.07.2006 36

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

FG KTuEA, TU Ilmenau AT – 06.07.2006 36

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

FG KTuEA, TU Ilmenau AT – 06.07.2006 36

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

Dabei: Z1 neue Variable.

FG KTuEA, TU Ilmenau AT – 06.07.2006 36

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

Dabei: Z1 neue Variable.

3. Fall:

FG KTuEA, TU Ilmenau AT – 06.07.2006 36

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

Dabei: Z1 neue Variable.

3. Fall: s = 3, Cj = (l1 ∨ l2 ∨ l3).

FG KTuEA, TU Ilmenau AT – 06.07.2006 36

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

Dabei: Z1 neue Variable.

3. Fall: s = 3, Cj = (l1 ∨ l2 ∨ l3).

ϕ∗j = Cj.

FG KTuEA, TU Ilmenau AT – 06.07.2006 36

Cj = (l1 ∨ · · · ∨ ls)

4. Fall:

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Cj = (l1 ∨ · · · ∨ ls)

4. Fall: s ≥ 4.

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Cj = (l1 ∨ · · · ∨ ls)

4. Fall: s ≥ 4.

ϕ∗j =

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Cj = (l1 ∨ · · · ∨ ls)

4. Fall: s ≥ 4.

ϕ∗j = (l1 ∨ l2 ∨ Z3)

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Cj = (l1 ∨ · · · ∨ ls)

4. Fall: s ≥ 4.

ϕ∗j = (l1 ∨ l2 ∨ Z3)

∧ (Z3 ∨ l3 ∨ Z4)

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Cj = (l1 ∨ · · · ∨ ls)

4. Fall: s ≥ 4.

ϕ∗j = (l1 ∨ l2 ∨ Z3)

∧ (Z3 ∨ l3 ∨ Z4)

∧ (Z4 ∨ l4 ∨ Z5)

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Cj = (l1 ∨ · · · ∨ ls)

4. Fall: s ≥ 4.

ϕ∗j = (l1 ∨ l2 ∨ Z3)

∧ (Z3 ∨ l3 ∨ Z4)

∧ (Z4 ∨ l4 ∨ Z5)...

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Cj = (l1 ∨ · · · ∨ ls)

4. Fall: s ≥ 4.

ϕ∗j = (l1 ∨ l2 ∨ Z3)

∧ (Z3 ∨ l3 ∨ Z4)

∧ (Z4 ∨ l4 ∨ Z5)...

∧ (Zs−2 ∨ ls−2 ∨ Zs−1)

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Cj = (l1 ∨ · · · ∨ ls)

4. Fall: s ≥ 4.

ϕ∗j = (l1 ∨ l2 ∨ Z3)

∧ (Z3 ∨ l3 ∨ Z4)

∧ (Z4 ∨ l4 ∨ Z5)...

∧ (Zs−2 ∨ ls−2 ∨ Zs−1)

∧ (Zs−1 ∨ ls−1 ∨ ls) .

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Cj = (l1 ∨ · · · ∨ ls)

4. Fall: s ≥ 4.

ϕ∗j = (l1 ∨ l2 ∨ Z3)

∧ (Z3 ∨ l3 ∨ Z4)

∧ (Z4 ∨ l4 ∨ Z5)...

∧ (Zs−2 ∨ ls−2 ∨ Zs−1)

∧ (Zs−1 ∨ ls−1 ∨ ls) .

Dabei: Z3, Z4, . . . , Zs−1 neue Variable.

FG KTuEA, TU Ilmenau AT – 06.07.2006 37

Zu zeigen: Fur jede KNF-Formel ϕ gilt:

ϕ erfullbar ⇔ ϕ∗ erfullbar.

FG KTuEA, TU Ilmenau AT – 06.07.2006 38

Zu zeigen: Fur jede KNF-Formel ϕ gilt:

ϕ erfullbar ⇔ ϕ∗ erfullbar.

Im Detail:

”⇒“:

Starte mit Belegung v fur die Variablen in ϕ mit v(ϕ) = 1.

Man kann v so zu einer Belegung v∗ auch der neuen

(Z...-)Variablen erweitern, dass v∗(ϕ∗) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 38

Zu zeigen: Fur jede KNF-Formel ϕ gilt:

ϕ erfullbar ⇔ ϕ∗ erfullbar.

Im Detail:

”⇒“:

Starte mit Belegung v fur die Variablen in ϕ mit v(ϕ) = 1.

Man kann v so zu einer Belegung v∗ auch der neuen

(Z...-)Variablen erweitern, dass v∗(ϕ∗) = 1.

”⇐“:

Starte mit Belegung v∗ fur die Variablen in ϕ∗ mit v∗(ϕ∗) = 1.

Man zeigt: v∗(ϕ) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 38

Cj = (l1 ∨ · · · ∨ ls)

2. Fall:

FG KTuEA, TU Ilmenau AT – 06.07.2006 39

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

FG KTuEA, TU Ilmenau AT – 06.07.2006 39

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

FG KTuEA, TU Ilmenau AT – 06.07.2006 39

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

”⇒“:

Sei v(Cj) = 1. Dann v(l1) = 1 oder v(l2) = 1.

Setze (z.B.) v∗(Z1) = 0. Dann v∗(ϕ∗j) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 39

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

”⇒“:

Sei v(Cj) = 1. Dann v(l1) = 1 oder v(l2) = 1.

Setze (z.B.) v∗(Z1) = 0. Dann v∗(ϕ∗j) = 1.

”⇐“:

Sei v∗(ϕ∗) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 39

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

”⇒“:

Sei v(Cj) = 1. Dann v(l1) = 1 oder v(l2) = 1.

Setze (z.B.) v∗(Z1) = 0. Dann v∗(ϕ∗j) = 1.

”⇐“:

Sei v∗(ϕ∗) = 1. Dann ist v∗(ϕ∗j) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 39

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

”⇒“:

Sei v(Cj) = 1. Dann v(l1) = 1 oder v(l2) = 1.

Setze (z.B.) v∗(Z1) = 0. Dann v∗(ϕ∗j) = 1.

”⇐“:

Sei v∗(ϕ∗) = 1. Dann ist v∗(ϕ∗j) = 1.

Es ist nicht moglich, dass v∗(l1) = v∗(l2) = 0(sonst hatte eine der beiden Klauseln in ϕ∗

j Wert 0).

FG KTuEA, TU Ilmenau AT – 06.07.2006 39

Cj = (l1 ∨ · · · ∨ ls)

2. Fall: s = 2, Cj = (l1 ∨ l2).

ϕ∗j = (l1 ∨ l2 ∨ Z1) ∧ (l1 ∨ l2 ∨ Z1)

”⇒“:

Sei v(Cj) = 1. Dann v(l1) = 1 oder v(l2) = 1.

Setze (z.B.) v∗(Z1) = 0. Dann v∗(ϕ∗j) = 1.

”⇐“:

Sei v∗(ϕ∗) = 1. Dann ist v∗(ϕ∗j) = 1.

Es ist nicht moglich, dass v∗(l1) = v∗(l2) = 0(sonst hatte eine der beiden Klauseln in ϕ∗

j Wert 0).

1. Fall analog, 3. Fall klar, 4. Fall: Skript, Ubung.

FG KTuEA, TU Ilmenau AT – 06.07.2006 39

Satz

LClique ist NP-vollstandig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 40

Satz

LClique ist NP-vollstandig.

Beweis: (i) LClique ∈ NP:

FG KTuEA, TU Ilmenau AT – 06.07.2006 40

Satz

LClique ist NP-vollstandig.

Beweis: (i) LClique ∈ NP: schon gesehen.

FG KTuEA, TU Ilmenau AT – 06.07.2006 40

Satz

LClique ist NP-vollstandig.

Beweis: (i) LClique ∈ NP: schon gesehen.

(ii) Mit Reduktionsmethode.

FG KTuEA, TU Ilmenau AT – 06.07.2006 40

Satz

LClique ist NP-vollstandig.

Beweis: (i) LClique ∈ NP: schon gesehen.

(ii) Mit Reduktionsmethode.

Behauptung: L3−SAT ≤p LClique.

FG KTuEA, TU Ilmenau AT – 06.07.2006 40

Mussen: Funktion f definieren

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

ϕ: 3-KNF-Formel

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

ϕ: 3-KNF-Formel

Gϕ Graph,

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

ϕ: 3-KNF-Formel

Gϕ Graph, kϕ ∈ N

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

ϕ: 3-KNF-Formel

Gϕ Graph, kϕ ∈ N mit

• f polynomialzeitberechenbar,

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

ϕ: 3-KNF-Formel

Gϕ Graph, kϕ ∈ N mit

• f polynomialzeitberechenbar, und

• Fur jede 3-KNF-Formel ϕ gilt:

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

ϕ: 3-KNF-Formel

Gϕ Graph, kϕ ∈ N mit

• f polynomialzeitberechenbar, und

• Fur jede 3-KNF-Formel ϕ gilt:

ϕ ∈ L3−SAT

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

ϕ: 3-KNF-Formel

Gϕ Graph, kϕ ∈ N mit

• f polynomialzeitberechenbar, und

• Fur jede 3-KNF-Formel ϕ gilt:

ϕ ∈ L3−SAT ⇔

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

ϕ: 3-KNF-Formel

Gϕ Graph, kϕ ∈ N mit

• f polynomialzeitberechenbar, und

• Fur jede 3-KNF-Formel ϕ gilt:

ϕ ∈ L3−SAT ⇔ f(ϕ) = (Gϕ, kϕ) ∈ LClique.

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Mussen: Funktion f definieren

f : ϕ 7→ (Gϕ, kϕ)

ϕ: 3-KNF-Formel

Gϕ Graph, kϕ ∈ N mit

• f polynomialzeitberechenbar, und

• Fur jede 3-KNF-Formel ϕ gilt:

ϕ ∈ L3−SAT ⇔ f(ϕ) = (Gϕ, kϕ) ∈ LClique.

(Syntaxcheck: f(x) = 0 falls x keine 3-KNF-Formel.)

FG KTuEA, TU Ilmenau AT – 06.07.2006 41

Beispiel :

FG KTuEA, TU Ilmenau AT – 06.07.2006 42

Beispiel :

ϕ = (X1 ∨X2 ∨X4) ∧ (X2 ∨X1 ∨X3) ∧ (X1 ∨X2 ∨X4).

FG KTuEA, TU Ilmenau AT – 06.07.2006 42

Beispiel :

ϕ = (X1 ∨X2 ∨X4) ∧ (X2 ∨X1 ∨X3) ∧ (X1 ∨X2 ∨X4).

Gϕ:

FG KTuEA, TU Ilmenau AT – 06.07.2006 42

Beispiel :

ϕ = (X1 ∨X2 ∨X4) ∧ (X2 ∨X1 ∨X3) ∧ (X1 ∨X2 ∨X4).

Gϕ:

u

11 21 31

3212

13

23

33

u uu

uu

u

u

u

22

FG KTuEA, TU Ilmenau AT – 06.07.2006 42

Beispiel :

ϕ = (X1 ∨X2 ∨X4) ∧ (X2 ∨X1 ∨X3) ∧ (X1 ∨X2 ∨X4).

Gϕ:

u

11 21 31

3212

13

23

33

u uu

uu

u

u

u

22

kϕ := 3 (Anzahl der Klauseln)

FG KTuEA, TU Ilmenau AT – 06.07.2006 42

Formal : Gegeben

ϕ = C1 ∧ · · · ∧ Cr

FG KTuEA, TU Ilmenau AT – 06.07.2006 43

Formal : Gegeben

ϕ = C1 ∧ · · · ∧ Cr

mit

Cj = (lj1 ∨ lj2 ∨ lj3), 1 ≤ j ≤ r.

FG KTuEA, TU Ilmenau AT – 06.07.2006 43

Formal : Gegeben

ϕ = C1 ∧ · · · ∧ Cr

mit

Cj = (lj1 ∨ lj2 ∨ lj3), 1 ≤ j ≤ r.

Graph Gϕ hat 3r Knoten

FG KTuEA, TU Ilmenau AT – 06.07.2006 43

Formal : Gegeben

ϕ = C1 ∧ · · · ∧ Cr

mit

Cj = (lj1 ∨ lj2 ∨ lj3), 1 ≤ j ≤ r.

Graph Gϕ hat 3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

FG KTuEA, TU Ilmenau AT – 06.07.2006 43

Formal : Gegeben

ϕ = C1 ∧ · · · ∧ Cr

mit

Cj = (lj1 ∨ lj2 ∨ lj3), 1 ≤ j ≤ r.

Graph Gϕ hat 3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Ein Knoten fur jede Literal-Position in ϕ.

FG KTuEA, TU Ilmenau AT – 06.07.2006 43

Formal : Gegeben

ϕ = C1 ∧ · · · ∧ Cr

mit

Cj = (lj1 ∨ lj2 ∨ lj3), 1 ≤ j ≤ r.

Graph Gϕ hat 3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Ein Knoten fur jede Literal-Position in ϕ.

kϕ = r.

FG KTuEA, TU Ilmenau AT – 06.07.2006 43

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln)

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln) mit je 3 Knoten.

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln) mit je 3 Knoten.

Kanten Eϕ:

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln) mit je 3 Knoten.

Kanten Eϕ:

Keine Kante innerhalb einer Spalte.

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln) mit je 3 Knoten.

Kanten Eϕ:

Keine Kante innerhalb einer Spalte.

j 6= j′:

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln) mit je 3 Knoten.

Kanten Eϕ:

Keine Kante innerhalb einer Spalte.

j 6= j′: Kante zwischen ujs und uj′s′

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln) mit je 3 Knoten.

Kanten Eϕ:

Keine Kante innerhalb einer Spalte.

j 6= j′: Kante zwischen ujs und uj′s′

existiert genau dann wenn

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln) mit je 3 Knoten.

Kanten Eϕ:

Keine Kante innerhalb einer Spalte.

j 6= j′: Kante zwischen ujs und uj′s′

existiert genau dann wenn

nicht ljs und lj′s′ entgegengesetzte Literale sind.

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln) mit je 3 Knoten.

Kanten Eϕ:

Keine Kante innerhalb einer Spalte.

j 6= j′: Kante zwischen ujs und uj′s′

existiert genau dann wenn

nicht ljs und lj′s′ entgegengesetzte Literale sind.

(Entgegengesetzt sind z.B. X3 und X3.)

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

3r Knoten

uj1, uj2, uj3, 1 ≤ j ≤ r.

Anordnung in r Spalten (= Klauseln) mit je 3 Knoten.

Kanten Eϕ:

Keine Kante innerhalb einer Spalte.

j 6= j′: Kante zwischen ujs und uj′s′

existiert genau dann wenn

nicht ljs und lj′s′ entgegengesetzte Literale sind.

(Entgegengesetzt sind z.B. X3 und X3.)

Die im Bild eingetragenen Literale sind nicht Teil des Graphen

Gϕ; sie dienen nur zur Orientierung.

FG KTuEA, TU Ilmenau AT – 06.07.2006 44

Beispiel :

ϕ = (X1 ∨X2 ∨X4) ∧ (X2 ∨X1 ∨X3) ∧ (X1 ∨X2 ∨X4).

Gϕ:u u

u

uu

u

u

u

X

u

1

X1

X1

X2

X2

X3X4

X4

X222

11 21 31

3212

13

23

33

kϕ = 3

FG KTuEA, TU Ilmenau AT – 06.07.2006 45

Beispiel :

ϕ = (X1 ∨X2 ∨X4) ∧ (X2 ∨X1 ∨X3) ∧ (X1 ∨X2 ∨X4).

Gϕ:

u

11 21 31

3212

13

23

33

u uu

uu

u

u

u

22

kϕ = 3

FG KTuEA, TU Ilmenau AT – 06.07.2006 46

Nicht schwer zu sehen:

Die Funktion f : ϕ 7→ (Gϕ, kϕ)ist in polynomieller Zeit berechenbar.

FG KTuEA, TU Ilmenau AT – 06.07.2006 47

Nicht schwer zu sehen:

Die Funktion f : ϕ 7→ (Gϕ, kϕ)ist in polynomieller Zeit berechenbar.

Behauptung:

FG KTuEA, TU Ilmenau AT – 06.07.2006 47

Nicht schwer zu sehen:

Die Funktion f : ϕ 7→ (Gϕ, kϕ)ist in polynomieller Zeit berechenbar.

Behauptung: Fur jede 3-KNF-Formel ϕ gilt:

FG KTuEA, TU Ilmenau AT – 06.07.2006 47

Nicht schwer zu sehen:

Die Funktion f : ϕ 7→ (Gϕ, kϕ)ist in polynomieller Zeit berechenbar.

Behauptung: Fur jede 3-KNF-Formel ϕ gilt:

ϕ ∈ L3−SAT ⇔ f(ϕ) ∈ LClique,

FG KTuEA, TU Ilmenau AT – 06.07.2006 47

Nicht schwer zu sehen:

Die Funktion f : ϕ 7→ (Gϕ, kϕ)ist in polynomieller Zeit berechenbar.

Behauptung: Fur jede 3-KNF-Formel ϕ gilt:

ϕ ∈ L3−SAT ⇔ f(ϕ) ∈ LClique,

das heißt:

FG KTuEA, TU Ilmenau AT – 06.07.2006 47

Nicht schwer zu sehen:

Die Funktion f : ϕ 7→ (Gϕ, kϕ)ist in polynomieller Zeit berechenbar.

Behauptung: Fur jede 3-KNF-Formel ϕ gilt:

ϕ ∈ L3−SAT ⇔ f(ϕ) ∈ LClique,

das heißt:

ϕ ist erfullbar ⇔ Gϕ hat Clique der Große kϕ.

FG KTuEA, TU Ilmenau AT – 06.07.2006 47

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

FG KTuEA, TU Ilmenau AT – 06.07.2006 48

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇒“:

FG KTuEA, TU Ilmenau AT – 06.07.2006 48

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇒“: Gegeben: Belegung v mit v(ϕ) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 48

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇒“: Gegeben: Belegung v mit v(ϕ) = 1.

Beispiel : v(X1) = v(X2) = v(X3) = v(X4) = 1.

u

X

u

1

X1

X1

X2

X2

X3X4

X4

X222

11 21 31

3212

13

23

33

u uu

uu

u

u

In jeder Spalte gibt es ein wahres Literal.

FG KTuEA, TU Ilmenau AT – 06.07.2006 48

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇒“: Gegeben: Belegung v mit v(ϕ) = 1.

Beispiel : v(X1) = v(X2) = v(X3) = v(X4) = 1.

u

X

u

1

X1

X1

X2

X2

X3X4

X4

X222

11 21 31

3212

13

23

33

u uu

uu

u

u

In jeder Spalte gibt es ein wahres Literal. Keine Clique!

FG KTuEA, TU Ilmenau AT – 06.07.2006 48

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇒“: Gegeben: Belegung v mit v(ϕ) = 1.

Beispiel : v(X1) = v(X2) = v(X3) = v(X4) = 1.

uu

u

u

X

u

1

X1

X1

X2

X3X4

X4

X222

X2

11 21 31

3212

13

23

33

u uu

u

Aus jeder Spalte ein wahres Literal wahlen! → Clique.

FG KTuEA, TU Ilmenau AT – 06.07.2006 49

Allgemein:

In jeder Klausel Cj

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sj

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

Dann ist

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

Dann ist

V ′

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

Dann ist

V ′ := {uj,sj|

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

Dann ist

V ′ := {uj,sj| 1 ≤ j ≤ r}

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

Dann ist

V ′ := {uj,sj| 1 ≤ j ≤ r}

eine Clique in Gϕ mit r Knoten.

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

Dann ist

V ′ := {uj,sj| 1 ≤ j ≤ r}

eine Clique in Gϕ mit r Knoten.

Denn:

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

Dann ist

V ′ := {uj,sj| 1 ≤ j ≤ r}

eine Clique in Gϕ mit r Knoten.

Denn: lj,sjund lj′,s

j′haben unter v den Wert 1

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

Dann ist

V ′ := {uj,sj| 1 ≤ j ≤ r}

eine Clique in Gϕ mit r Knoten.

Denn: lj,sjund lj′,s

j′haben unter v den Wert 1

⇒ konnen nicht entgegengesetzte Literale sein

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Allgemein:

In jeder Klausel Cj gibt es ein Literal lj,sjmit v(lj,sj

) = 1.

Dann ist

V ′ := {uj,sj| 1 ≤ j ≤ r}

eine Clique in Gϕ mit r Knoten.

Denn: lj,sjund lj′,s

j′haben unter v den Wert 1

⇒ konnen nicht entgegengesetzte Literale sein

⇒ (uj,sj, uj′,s

j′) ∈ Eϕ.

FG KTuEA, TU Ilmenau AT – 06.07.2006 50

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

FG KTuEA, TU Ilmenau AT – 06.07.2006 51

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“:

FG KTuEA, TU Ilmenau AT – 06.07.2006 51

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten.

FG KTuEA, TU Ilmenau AT – 06.07.2006 51

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten. Beispiel :

u

u

u

X

u

1

X1

X1

X2

X2

X3X4

X4

X222

11 21 31

3212

13

23

33

u uu

uu

FG KTuEA, TU Ilmenau AT – 06.07.2006 51

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten. Beispiel :

u

u

u

X

u

1

X1

X1

X2

X2

X3X4

X4

X222

11 21 31

3212

13

23

33

u uu

uu

Definiere Belegung: v(X3) = v(X4) = 1, die anderen auf 0.

FG KTuEA, TU Ilmenau AT – 06.07.2006 51

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten. Beispiel :

u

u

u

X

u

1

X1

X1

X2

X2

X3X4

X4

X222

11 21 31

3212

13

23

33

u uu

uu

Definiere Belegung: v(X3) = v(X4) = 1, die anderen auf 0.

Erfullend fur

ϕ = (X1 ∨X2 ∨X4) ∧ (X2 ∨X1 ∨X3) ∧ (X1 ∨X2 ∨X4).

FG KTuEA, TU Ilmenau AT – 06.07.2006 51

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“:

FG KTuEA, TU Ilmenau AT – 06.07.2006 52

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten.

⇒ r Knoten liegen in verschiedenen Spalten

FG KTuEA, TU Ilmenau AT – 06.07.2006 52

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten.

⇒ r Knoten liegen in verschiedenen Spalten

⇒ fur jedes j gibt es genau ein sj ∈ {1, 2, 3},

FG KTuEA, TU Ilmenau AT – 06.07.2006 52

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten.

⇒ r Knoten liegen in verschiedenen Spalten

⇒ fur jedes j gibt es genau ein sj ∈ {1, 2, 3}, so dass

V ′ = {uj,sj| 1 ≤ j ≤ r}.

FG KTuEA, TU Ilmenau AT – 06.07.2006 52

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten.

⇒ r Knoten liegen in verschiedenen Spalten

⇒ fur jedes j gibt es genau ein sj ∈ {1, 2, 3}, so dass

V ′ = {uj,sj| 1 ≤ j ≤ r}.

Definiere Belegung:

FG KTuEA, TU Ilmenau AT – 06.07.2006 52

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten.

⇒ r Knoten liegen in verschiedenen Spalten

⇒ fur jedes j gibt es genau ein sj ∈ {1, 2, 3}, so dass

V ′ = {uj,sj| 1 ≤ j ≤ r}.

Definiere Belegung:

v(Xi) :=

FG KTuEA, TU Ilmenau AT – 06.07.2006 52

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten.

⇒ r Knoten liegen in verschiedenen Spalten

⇒ fur jedes j gibt es genau ein sj ∈ {1, 2, 3}, so dass

V ′ = {uj,sj| 1 ≤ j ≤ r}.

Definiere Belegung:

v(Xi) :=

{1 falls Xi = lj,sj

FG KTuEA, TU Ilmenau AT – 06.07.2006 52

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten.

⇒ r Knoten liegen in verschiedenen Spalten

⇒ fur jedes j gibt es genau ein sj ∈ {1, 2, 3}, so dass

V ′ = {uj,sj| 1 ≤ j ≤ r}.

Definiere Belegung:

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

FG KTuEA, TU Ilmenau AT – 06.07.2006 52

Zu zeigen: ϕ ist erfullbar ⇔ (Gϕ, kϕ) ∈ LClique.

”⇐“: Gegeben: Clique V ′ in Gϕ mit r Knoten.

⇒ r Knoten liegen in verschiedenen Spalten

⇒ fur jedes j gibt es genau ein sj ∈ {1, 2, 3}, so dass

V ′ = {uj,sj| 1 ≤ j ≤ r}.

Definiere Belegung:

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

FG KTuEA, TU Ilmenau AT – 06.07.2006 52

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

Dann v(Xi) = 1,

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

Dann v(Xi) = 1, also v(Cj) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

Dann v(Xi) = 1, also v(Cj) = 1.

2. Fall: lj,sj= Xi.

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

Dann v(Xi) = 1, also v(Cj) = 1.

2. Fall: lj,sj= Xi.

Dann kann nicht v(Xi) = 1 sein.

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

Dann v(Xi) = 1, also v(Cj) = 1.

2. Fall: lj,sj= Xi.

Dann kann nicht v(Xi) = 1 sein.

Sonst ware lj′,sj′

= Xi fur einen Knoten uj′,sj′

in Clique V ′.

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

Dann v(Xi) = 1, also v(Cj) = 1.

2. Fall: lj,sj= Xi.

Dann kann nicht v(Xi) = 1 sein.

Sonst ware lj′,sj′

= Xi fur einen Knoten uj′,sj′

in Clique V ′.

Das ist unmoglich, weil

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

Dann v(Xi) = 1, also v(Cj) = 1.

2. Fall: lj,sj= Xi.

Dann kann nicht v(Xi) = 1 sein.

Sonst ware lj′,sj′

= Xi fur einen Knoten uj′,sj′

in Clique V ′.

Das ist unmoglich, weil (uj,sj, uj′,s

j′) keine Kante in Eϕ ist.

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

Dann v(Xi) = 1, also v(Cj) = 1.

2. Fall: lj,sj= Xi.

Dann kann nicht v(Xi) = 1 sein.

Sonst ware lj′,sj′

= Xi fur einen Knoten uj′,sj′

in Clique V ′.

Das ist unmoglich, weil (uj,sj, uj′,s

j′) keine Kante in Eϕ ist.

Also v(Xi) = 0 und v(lj,sj) = 1;

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

v(Xi) :=

{1 falls Xi = lj,sj

fur ein j,

0 sonst.

Sei nun j beliebig, 1 ≤ j ≤ r.

1. Fall: lj,sj= Xi.

Dann v(Xi) = 1, also v(Cj) = 1.

2. Fall: lj,sj= Xi.

Dann kann nicht v(Xi) = 1 sein.

Sonst ware lj′,sj′

= Xi fur einen Knoten uj′,sj′

in Clique V ′.

Das ist unmoglich, weil (uj,sj, uj′,s

j′) keine Kante in Eϕ ist.

Also v(Xi) = 0 und v(lj,sj) = 1; also v(Cj) = 1.

FG KTuEA, TU Ilmenau AT – 06.07.2006 53

Haben:

NP-vollstandige Sprachen

LSAT, L3−SAT, LClique ∈ NPC

Weil LClique ≤p LIS und LIS ∈ NP, folgt (Red.-methode):

LIS ∈ NPC.

Weil LIS ≤p LVC und LVC ∈ NP, folgt (Red.-methode):

LVC ∈ NPC.

Nachste Woche: Satz von Cook/Levin.

FG KTuEA, TU Ilmenau AT – 06.07.2006 54

Haben:

NP-vollstandige Sprachen

LSAT, L3−SAT, LClique ∈ NPC

Weil LClique ≤p LIS und LIS ∈ NP, folgt (Red.-methode):

LIS ∈ NPC.

Weil LIS ≤p LVC und LVC ∈ NP, folgt (Red.-methode):

LVC ∈ NPC.

Nachste Woche: Satz von Cook/Levin.

LRucksack∗, LRucksack sind NP-vollstandig.

FG KTuEA, TU Ilmenau AT – 06.07.2006 54

Haben:

NP-vollstandige Sprachen

LSAT, L3−SAT, LClique ∈ NPC

Weil LClique ≤p LIS und LIS ∈ NP, folgt (Red.-methode):

LIS ∈ NPC.

Weil LIS ≤p LVC und LVC ∈ NP, folgt (Red.-methode):

LVC ∈ NPC.

Nachste Woche: Satz von Cook/Levin.

LRucksack∗, LRucksack sind NP-vollstandig.

(Mit Ubung: LPartition, LBinpacking sind NP-vollstandig.)

FG KTuEA, TU Ilmenau AT – 06.07.2006 54

Haben:

NP-vollstandige Sprachen

LSAT, L3−SAT, LClique ∈ NPC

Weil LClique ≤p LIS und LIS ∈ NP, folgt (Red.-methode):

LIS ∈ NPC.

Weil LIS ≤p LVC und LVC ∈ NP, folgt (Red.-methode):

LVC ∈ NPC.

Nachste Woche: Satz von Cook/Levin.

LRucksack∗, LRucksack sind NP-vollstandig.

(Mit Ubung: LPartition, LBinpacking sind NP-vollstandig.)

Nur der Anfang von Tausenden von NP-vollstandigen

Problemen.

FG KTuEA, TU Ilmenau AT – 06.07.2006 54

Bis nachste Woche

• mindestens 5 Zeitstunden fur diese Vorlesung (jede Woche)

• Folien besorgen, nacharbeiten

• Skript Seite 159–165 und 172–178

• Fragen vorbereiten

• Ubungsaufgaben drucken und vorbereiten

FG KTuEA, TU Ilmenau AT – 06.07.2006 55

Bis nachste Woche

• mindestens 5 Zeitstunden fur diese Vorlesung (jede Woche)

• Folien besorgen, nacharbeiten

• Skript Seite 159–165 und 172–178

• Fragen vorbereiten

• Ubungsaufgaben drucken und vorbereiten

• Sprechstunde: nach der Vorlesung

FG KTuEA, TU Ilmenau AT – 06.07.2006 55