algorithmentheorie 13. vorlesung - startseite tu ilmenau · fg ktuea, tu ilmenau at – 06.07.2006...
TRANSCRIPT
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.
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:
(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)
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, 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)
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,
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
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,
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:
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 , (¬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):
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:
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 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:
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
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
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).
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.
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. → 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) 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
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.
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
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: 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: 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: 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: 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.
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
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 :
ϕ = (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
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.
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.
”⇒“: 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 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.
”⇐“: 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.
”⇐“: 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