Formale Sprachen und Komplexit¨ at
Sommersemester 2019
Komplexit¨ atstheorie Teil II: Eine Auswahl N P -vollst¨ andiger Probleme
Prof. Dr. David Sabel
LFE Theoretische Informatik
Inhalt
Auswahl an N P -vollst¨ andigen Problemen
N P -Vollst¨ andigkeitsbeweise durch polynomielle Reduktionen
und zeigen, dass das Problem in N P ist
3-CNF-SAT
Konjunktive Normalform
Aussagenlog. Formel F ist in konjunktiver Normalform (CNF), wenn:
F =
m
^
i=1
(
ni
_
j=1
L
i,j)
Literal L
i,jist aussagenlogische Variable oder deren Negation (
ni
W
j=1
L
i,j) ist eine Klausel
Erf¨ ullende Belegung muss ≥ 1 Literal pro Klausel wahr machen.
Klauselmengenschreibweise: {{L
1,1, . . . , L
1,n1}, . . . , {L
m,1, . . . , L
m,nm}}
Annahme: Keine Klauseln, die x und ¬x enthalten
Diese Klauseln sind immer wahr und k¨ onnen gel¨ oscht werden.
Konjunktive Normalform
Jede aussagenlogische Formel kann in eine
¨aquivalentekonjunktive Normalform gebracht werden:
⇐⇒ , = ⇒ aufl¨ osen
Negationen nach innen schieben und anschließend
Ausmultiplizieren (Distributivit¨ at, Kommutativit¨ at anwenden, um konjunktive Normalform herzustellen)
Aber:
Algorithmus hat im worst case
exponentielle LaufzeitAlgorithmus kann daher
nichtf¨ ur eine
Polynomialzeitreduktion verwendet werden.
3-CNF-SAT
Definition (3-CNF-SAT)
Das 3-CNF-SAT-Problem l¨ asst sich in der gegeben/gefragt-Notation formulieren als:
gegeben: Eine aussagenlogische Formel F in konjunktiver Normal- form, sodass jede Klausel h¨ ochstens 3 Literale enth¨ alt.
gefragt: Ist F erf¨ ullbar? Genauer: Gibt es eine erf¨ ullende Belegung
der Variablen mit den Wahrheitswerten 0 und 1, sodass F
den Wert 1 erh¨ alt?
N P -Vollst¨ andigkeit von 3-CNF-SAT
Satz
3-CNF-SAT ist N P-vollst¨ andig.
Beweis, Teil 1: 3-CNF-SAT ist in
N PRate nicht-deterministisch eine Belegung der Variablen Pr¨ ufe deterministisch, ob die Belegung die 3-CNF wahr macht. Akzeptiere in diesem Fall. Dies geht in Polynomialzeit in der Gr¨ oße der 3-CNF.
Daher kann 3-CNF-SAT auf einer NTM in Polynomialzeit
entschieden werden.
N P -Vollst¨ andigkeit von 3-CNF-SAT (2)
Beweis, Teil 2: 3-CNF-SAT ist
N P-hartWir zeigen SAT ≤
p3-CNF-SAT.
Gesucht: Polynomiell berechenbare, totale Funktion f , sodass F erf¨ ullbar g.d.w. 3-CNF f (F ) erf¨ ullbar.
f muss
die Erf¨ullbarkeit erhalten, aber nicht die Aquivalenz¨Verfahren, um F in erf¨ ullbarkeits¨ aquivalente 3-CNF f(F) umzuformen, sodass f(F )
polynomielle Gr¨oßein |F | hat:
Tseitin-Transformation
N P -Vollst¨ andigkeit von 3-CNF-SAT (2)
Beweis, Teil 2: 3-CNF-SAT ist
N P-hartWir zeigen SAT ≤
p3-CNF-SAT.
Gesucht: Polynomiell berechenbare, totale Funktion f , sodass F erf¨ ullbar g.d.w. 3-CNF f (F ) erf¨ ullbar.
f muss
die Erf¨ullbarkeit erhalten, aber nicht die Aquivalenz¨Verfahren, um F in erf¨ ullbarkeits¨ aquivalente 3-CNF f (F) umzuformen, sodass f(F)
polynomielle Gr¨oßein |F | hat:
Tseitin-Transformation
N P -Vollst¨ andigkeit von 3-CNF-SAT (3)
Tseitin-Transformation:
Schiebe alle Negationen nach innen vor die Literale, dabei werden die Regeln ¬¬F → F , ¬(F ∧ G) → ¬F ∨ ¬G,
¬(F ∨ G) → ¬F ∧ ¬G, ¬(F ⇐⇒ G) → (¬F ) ⇐⇒ G und
¬(F = ⇒ G) → F ∧ ¬G angewendet.
Syntaxbaum der Formel (Bl¨ atter = Literale):
F¨ ur jeden Nichtblatt-Knoten: neue aussagenlogische Variable pro Gabelung:
⊗ X
L
1L
2erzeuge
(X ⇐⇒ (L
1⊗ L
2))
wobei ⊗ ∈ { ⇐⇒ , ∧, ∨, = ⇒ } und L
1, L
2entweder die neue Variable oder das Literal am Blatt.
Konjugiere diese Formeln zu F
0und schließlich erzeuge
W ∧ F
0, mit W Variable f¨ ur die Wurzel.
N P -Vollst¨ andigkeit von 3-CNF-SAT (3)
Tseitin-Transformation:
Schiebe alle Negationen nach innen vor die Literale, dabei werden die Regeln ¬¬F → F , ¬(F ∧ G) → ¬F ∨ ¬G,
¬(F ∨ G) → ¬F ∧ ¬G, ¬(F ⇐⇒ G) → (¬F ) ⇐⇒ G und
¬(F = ⇒ G) → F ∧ ¬G angewendet.
Syntaxbaum der Formel (Bl¨ atter = Literale):
F¨ ur jeden Nichtblatt-Knoten: neue aussagenlogische Variable
pro Gabelung:
⊗ X
L
1L
2erzeuge
(X ⇐⇒ (L
1⊗ L
2))
wobei ⊗ ∈ { ⇐⇒ , ∧, ∨, = ⇒ } und L
1, L
2entweder die neue Variable oder das Literal am Blatt.
Konjugiere diese Formeln zu F
0und schließlich erzeuge
W ∧ F
0, mit W Variable f¨ ur die Wurzel.
N P -Vollst¨ andigkeit von 3-CNF-SAT (3)
Tseitin-Transformation:
Schiebe alle Negationen nach innen vor die Literale, dabei werden die Regeln ¬¬F → F , ¬(F ∧ G) → ¬F ∨ ¬G,
¬(F ∨ G) → ¬F ∧ ¬G, ¬(F ⇐⇒ G) → (¬F ) ⇐⇒ G und
¬(F = ⇒ G) → F ∧ ¬G angewendet.
Syntaxbaum der Formel (Bl¨ atter = Literale):
F¨ ur jeden Nichtblatt-Knoten: neue aussagenlogische Variable pro Gabelung:
⊗ X
L
1L
2erzeuge
(X ⇐⇒ (L
1⊗ L
2))
wobei ⊗ ∈ { ⇐⇒ , ∧, ∨, = ⇒ } und L
1, L
2entweder die neue Variable oder das Literal am Blatt.
Konjugiere diese Formeln zu F
0und schließlich erzeuge
W ∧ F
0, mit W Variable f¨ ur die Wurzel.
N P -Vollst¨ andigkeit von 3-CNF-SAT (3)
Tseitin-Transformation:
Schiebe alle Negationen nach innen vor die Literale, dabei werden die Regeln ¬¬F → F , ¬(F ∧ G) → ¬F ∨ ¬G,
¬(F ∨ G) → ¬F ∧ ¬G, ¬(F ⇐⇒ G) → (¬F ) ⇐⇒ G und
¬(F = ⇒ G) → F ∧ ¬G angewendet.
Syntaxbaum der Formel (Bl¨ atter = Literale):
F¨ ur jeden Nichtblatt-Knoten: neue aussagenlogische Variable pro Gabelung:
⊗ X
L
1L
2erzeuge
(X ⇐⇒ (L
1⊗ L
2))
wobei ⊗ ∈ { ⇐⇒ , ∧, ∨, = ⇒ } und L
1, L
2entweder die neue Variable oder das Literal am Blatt.
Konjugiere diese Formeln zu F
0und schließlich erzeuge
W ∧ F
0, mit W Variable f¨ ur die Wurzel.
N P -Vollst¨ andigkeit von 3-CNF-SAT (3)
Tseitin-Transformation (Fortsetzung) Insgesamt: W ∧
Vi,j,k
(X
i⇐⇒ (X
j⊗
iX
k)), wobei X
rLiterale sind.
Berechne f¨ ur jede Subformel (X
i⇐⇒ (X
j⊗
iX
k)) die CNF mit dem ¨ ublichen Algorithmus.
L¨ osche doppelte Vorkommen von Literalen.
Ergibt 3-CNF, da pro Klausel nur 3 verschiedene Variablen
vorkommen k¨ onnen.
N P -Vollst¨ andigkeit von 3-CNF-SAT (4)
Komplexit¨ at:
Gr¨ oße der kleinen CNFs ist konstant.
Jede Klausel hat nur 3 Literale: Mehr Variablen gibt es in den kleinen Formeln nicht, doppelte Literale l¨ oschen
Gr¨ oße der 3-CNF ist polynomiell in der urspr¨ unglichen Formel
Berechnung in Polynomialzeit: klar!
N P -Vollst¨ andigkeit von 3-CNF-SAT (5)
F erf¨ ullbar g.d.w. f(F ) erf¨ ullbar:
” ⇒“: Sei I Belegung mit I (F ) = 1. Sei I
0Belegung mit
I0(X) =I(X)f¨ur alle Variablen, die inF vorkommen I0(W) = 1f¨ur die VariableW an der WurzelI0(X) =I0(L1⊗L2)f¨ur
⊗X
L1 L2
Dann gilt: I
0(f (F )) = 1
” ⇐“: Sei J Belegung von f (F ) mit J (f (F )) = 1 Dann: I = J
|Var(F)macht F wahr.
Damit: SAT ≤
p3-CNF-SAT.
Da SAT N P-hart, ist somit auch 3-CNF-SAT N P-hart.
N P -Vollst¨ andigkeit von 3-CNF-SAT (5)
F erf¨ ullbar g.d.w. f(F ) erf¨ ullbar:
” ⇒“: Sei I Belegung mit I (F ) = 1. Sei I
0Belegung mit
I0(X) =I(X)f¨ur alle Variablen, die inF vorkommen I0(W) = 1f¨ur die VariableW an der WurzelI0(X) =I0(L1⊗L2)f¨ur
⊗X
L1 L2
Dann gilt: I
0(f (F )) = 1
” ⇐“: Sei J Belegung von f (F ) mit J (f (F )) = 1 Dann: I = J
|Var(F)macht F wahr.
Damit: SAT ≤
p3-CNF-SAT.
Da SAT N P-hart, ist somit auch 3-CNF-SAT N P-hart.
N P -Vollst¨ andigkeit von 3-CNF-SAT (5)
F erf¨ ullbar g.d.w. f(F ) erf¨ ullbar:
” ⇒“: Sei I Belegung mit I (F ) = 1. Sei I
0Belegung mit
I0(X) =I(X)f¨ur alle Variablen, die inF vorkommen I0(W) = 1f¨ur die VariableW an der WurzelI0(X) =I0(L1⊗L2)f¨ur
⊗X
L1 L2
Dann gilt: I
0(f (F )) = 1
” ⇐“: Sei J Belegung von f (F ) mit J (f (F )) = 1 Dann: I = J
|Var(F)macht F wahr.
Damit: SAT ≤
p3-CNF-SAT.
Da SAT N P-hart, ist somit auch 3-CNF-SAT N P-hart.
Beispiel
F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2) Negationen nach innen schieben:
¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
→ (¬(¬(x
3= ⇒ ¬x
1)) ∧ ¬x
2)
→ (x
3= ⇒ ¬x
1) ∧ ¬x
2) Syntaxbaum dazu:
W X
∧
= ⇒ ¬x
2x
3¬x
1Formel: W ∧ (W ⇐⇒ (X ∧ ¬x
2)) ∧ (X ⇐⇒ (x
3= ⇒ ¬x
1))
Beispiel
F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2) Negationen nach innen schieben:
¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
→ (¬(¬(x
3= ⇒ ¬x
1)) ∧ ¬x
2)
→ (x
3= ⇒ ¬x
1) ∧ ¬x
2) Syntaxbaum dazu:
W X
∧
= ⇒ ¬x
2x
3¬x
1Formel: W ∧ (W ⇐⇒ (X ∧ ¬x
2)) ∧ (X ⇐⇒ (x
3= ⇒ ¬x
1))
Beispiel
F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2) Negationen nach innen schieben:
¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
→ (¬(¬(x
3= ⇒ ¬x
1)) ∧ ¬x
2)
→ (x
3= ⇒ ¬x
1) ∧ ¬x
2) Syntaxbaum dazu:
W X
∧
= ⇒ ¬x
2x
3¬x
1Formel: W ∧ (W ⇐⇒ (X ∧ ¬x
2)) ∧ (X ⇐⇒ (x
3= ⇒ ¬x
1))
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1 Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W ∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1 Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W ∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1 Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W ∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1 Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W ∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1 Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W ∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1 Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W ∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1 Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W ∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1 Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W ∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1
Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Beispiel (2)
Berechnung der CNFs der kleinen Subformeln:
W∧(W ⇐⇒ (X∧ ¬x2))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨ ¬(X∧ ¬x2))∧(¬W ∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧((W∨(¬X∨x2))∧(¬W∨(X∧ ¬x2)))∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)∧(X ⇐⇒ (x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨(x3 =⇒ ¬x1))∧(X∨ ¬(x3 =⇒ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨ ¬(¬x3∨ ¬x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨(x3∧x1))
→W∧(W∨ ¬X)∧(W∨x2)∧(¬W∨X)∧(¬W∨ ¬x2)
∧(¬X∨ ¬x3∨ ¬x1)∧(X∨x3)∧(X∨x1)
Erf¨ ullende Belegung J :
J(W ) = 1, J(X) = 1, J (x
1) = 0, J(x
2) = 0, J(x
3) = 1 Belegung I:
I(x
1) = 0, I (x
2) = 0, I(x
3) = 1 erf¨ ullt F = ¬(¬(x
3= ⇒ ¬x
1) ∨ x
2)
Cliquen in Graphen
Definition
F¨ ur einen ungerichteten Graph G = (V, E) ist eine
Clique der Gr¨oßekeine Menge V
0⊆ V , sodass |V
0| = k und f¨ ur alle u, v ∈ V
0mit u 6= v gilt: {u, v} ∈ E.
Beispiel:
1
2 3
4
1
2 3
4
5 6
7 8
9
Clique der Gr¨ oße 4
Cliquen in Graphen
Definition
F¨ ur einen ungerichteten Graph G = (V, E) ist eine
Clique der Gr¨oßekeine Menge V
0⊆ V , sodass |V
0| = k und f¨ ur alle u, v ∈ V
0mit u 6= v gilt: {u, v} ∈ E.
Beispiel:
1
2 3
4
1
2 3
4
5 6
7 8
9
Clique der Gr¨ oße 4
Cliquen in Graphen
Definition
F¨ ur einen ungerichteten Graph G = (V, E) ist eine
Clique der Gr¨oßekeine Menge V
0⊆ V , sodass |V
0| = k und f¨ ur alle u, v ∈ V
0mit u 6= v gilt: {u, v} ∈ E.
Beispiel:
1
2 3
4 1
2 3
4
5 6
7 8
9
Clique der Gr¨ oße 4
CLIQUE-Problem
Definition (CLIQUE-Problem)
Das CLIQUE-Problem l¨ asst sich in der gegeben/gefragt-Notation formulieren durch:
gegeben: Ein ungerichteter Graph G = (V, E) und eine Zahl k ∈
N.
gefragt: Besitzt G eine Clique der Gr¨ oße mindestens k?
N P -Vollst¨ andigkeit von CLIQUE (1)
Satz
CLIQUE ist N P -vollst¨ andig.
Beweis: CLIQUE
∈ N PRate nichtdeterministisch eine Menge V
0⊆ V von k Knoten Pr¨ ufe (deterministisch), ob f¨ ur alle u, v ∈ V
0:
u 6= v = ⇒ {u, v} ∈ E gilt. Falls ja, akzeptiere.
Daher kann eine NTM konstruiert werden, die CLIQUE in
Polynomialzeit entscheidet.
N P -Vollst¨ andigkeit von CLIQUE (1)
Satz
CLIQUE ist N P -vollst¨ andig.
Beweis: CLIQUE
∈ N PRate nichtdeterministisch eine Menge V
0⊆ V von k Knoten Pr¨ ufe (deterministisch), ob f¨ ur alle u, v ∈ V
0:
u 6= v = ⇒ {u, v} ∈ E gilt. Falls ja, akzeptiere.
Daher kann eine NTM konstruiert werden, die CLIQUE in
Polynomialzeit entscheidet.
N P -Vollst¨ andigkeit von CLIQUE (2)
Beweis: CLIQUE ist
N P-hart:Ziel: 3-CNF-SAT ≤
pCLIQUE
Sei F = K
1∧ . . . ∧ K
meine 3-CNF, wobei K
i= (L
i,1∨ L
i,2∨ L
i,3) f¨ ur i = 1, . . . , m (falls K
i< 3 Literale hat, verdopple Literale)
F¨ ur jedes L
i,jerzeuge: Knoten (i, j) im Graphen, d.h. V =
Smi=1
{(i, 1), (i, 2), (i, 3)}
Keine
Kante innerhalb der drei Knoten {(i, 1), (i, 2), (i, 3)}
Kanten zwischen
” verschiedenen Klauseln“:
E ⊆ {{(i, j), (i
0, j
0)} | i 6= i
0∧ i, i
0∈ {1, . . . , m} ∧ j, j
0∈ {1, 2, 3}}
E als maximale Menge, sodass sich
niemals zwei verbundene Literale Li,j und Li0,j0 widersprechen(d.h. L
i,j6= L
i0,j0mit L negiertes Literal zu L: x = ¬x und ¬x = x).
E := {{(i, j), (i
0, j
0)} | i 6= i
0∧i, i
0∈ {1, . . . , m}∧j, j
0∈ {1, 2, 3}, L
i,j6= L
i0,j0}
f(F) = ((V, E), m) ist in Polynomialzeit berechenbar.
N P -Vollst¨ andigkeit von CLIQUE (2)
Beweis: CLIQUE ist
N P-hart:Ziel: 3-CNF-SAT ≤
pCLIQUE
Sei F = K
1∧ . . . ∧ K
meine 3-CNF, wobei K
i= (L
i,1∨ L
i,2∨ L
i,3) f¨ ur i = 1, . . . , m (falls K
i< 3 Literale hat, verdopple Literale)
F¨ ur jedes L
i,jerzeuge: Knoten (i, j) im Graphen, d.h. V =
Smi=1
{(i, 1), (i, 2), (i, 3)}
Keine
Kante innerhalb der drei Knoten {(i, 1), (i, 2), (i, 3)}
Kanten zwischen
” verschiedenen Klauseln“:
E ⊆ {{(i, j), (i
0, j
0)} | i 6= i
0∧ i, i
0∈ {1, . . . , m} ∧ j, j
0∈ {1, 2, 3}}
E als maximale Menge, sodass sich
niemals zwei verbundene Literale Li,j und Li0,j0 widersprechen(d.h. L
i,j6= L
i0,j0mit L negiertes Literal zu L: x = ¬x und ¬x = x).
E := {{(i, j), (i
0, j
0)} | i 6= i
0∧i, i
0∈ {1, . . . , m}∧j, j
0∈ {1, 2, 3}, L
i,j6= L
i0,j0}
f (F) = ((V, E), m) ist in Polynomialzeit berechenbar.
N P -Vollst¨ andigkeit von CLIQUE (2)
Beweis: CLIQUE ist
N P-hart:Ziel: 3-CNF-SAT ≤
pCLIQUE
Sei F = K
1∧ . . . ∧ K
meine 3-CNF, wobei K
i= (L
i,1∨ L
i,2∨ L
i,3) f¨ ur i = 1, . . . , m (falls K
i< 3 Literale hat, verdopple Literale) F¨ ur jedes L
i,jerzeuge: Knoten (i, j) im Graphen, d.h.
V =
Smi=1
{(i, 1), (i, 2), (i, 3)}
Keine
Kante innerhalb der drei Knoten {(i, 1), (i, 2), (i, 3)}
Kanten zwischen
” verschiedenen Klauseln“:
E ⊆ {{(i, j), (i
0, j
0)} | i 6= i
0∧ i, i
0∈ {1, . . . , m} ∧ j, j
0∈ {1, 2, 3}}
E als maximale Menge, sodass sich
niemals zwei verbundene Literale Li,j und Li0,j0 widersprechen(d.h. L
i,j6= L
i0,j0mit L negiertes Literal zu L: x = ¬x und ¬x = x).
E := {{(i, j), (i
0, j
0)} | i 6= i
0∧i, i
0∈ {1, . . . , m}∧j, j
0∈ {1, 2, 3}, L
i,j6= L
i0,j0}
f (F) = ((V, E), m) ist in Polynomialzeit berechenbar.
N P -Vollst¨ andigkeit von CLIQUE (2)
Beweis: CLIQUE ist
N P-hart:Ziel: 3-CNF-SAT ≤
pCLIQUE
Sei F = K
1∧ . . . ∧ K
meine 3-CNF, wobei K
i= (L
i,1∨ L
i,2∨ L
i,3) f¨ ur i = 1, . . . , m (falls K
i< 3 Literale hat, verdopple Literale) F¨ ur jedes L
i,jerzeuge: Knoten (i, j) im Graphen, d.h.
V =
Smi=1
{(i, 1), (i, 2), (i, 3)}
Keine
Kante innerhalb der drei Knoten {(i, 1), (i, 2), (i, 3)}
Kanten zwischen
” verschiedenen Klauseln“:
E ⊆ {{(i, j), (i
0, j
0)} | i 6= i
0∧ i, i
0∈ {1, . . . , m} ∧ j, j
0∈ {1, 2, 3}}
E als maximale Menge, sodass sich
niemals zwei verbundene Literale Li,j und Li0,j0 widersprechen(d.h. L
i,j6= L
i0,j0mit L negiertes Literal zu L: x = ¬x und ¬x = x).
E := {{(i, j), (i
0, j
0)} | i 6= i
0∧i, i
0∈ {1, . . . , m}∧j, j
0∈ {1, 2, 3}, L
i,j6= L
i0,j0}
f (F) = ((V, E), m) ist in Polynomialzeit berechenbar.
N P -Vollst¨ andigkeit von CLIQUE (2)
Beweis: CLIQUE ist
N P-hart:Ziel: 3-CNF-SAT ≤
pCLIQUE
Sei F = K
1∧ . . . ∧ K
meine 3-CNF, wobei K
i= (L
i,1∨ L
i,2∨ L
i,3) f¨ ur i = 1, . . . , m (falls K
i< 3 Literale hat, verdopple Literale) F¨ ur jedes L
i,jerzeuge: Knoten (i, j) im Graphen, d.h.
V =
Smi=1
{(i, 1), (i, 2), (i, 3)}
Keine
Kante innerhalb der drei Knoten {(i, 1), (i, 2), (i, 3)}
Kanten zwischen
” verschiedenen Klauseln“:
E ⊆ {{(i, j), (i
0, j
0)} | i 6= i
0∧ i, i
0∈ {1, . . . , m} ∧ j, j
0∈ {1, 2, 3}}
E als maximale Menge, sodass sich
niemals zwei verbundene Literale Li,j und Li0,j0 widersprechen(d.h. L
i,j6= L
i0,j0mit L negiertes Literal zu L: x = ¬x und ¬x = x).
E := {{(i, j), (i
0, j
0)} | i 6= i
0∧i, i
0∈ {1, . . . , m}∧j, j
0∈ {1, 2, 3}, L
i,j6= L
i0,j0}
f (F ) = ((V, E), m) ist in Polynomialzeit berechenbar.
N P -Vollst¨ andigkeit von CLIQUE (2)
Beweis: CLIQUE ist
N P-hart:Ziel: 3-CNF-SAT ≤
pCLIQUE
Sei F = K
1∧ . . . ∧ K
meine 3-CNF, wobei K
i= (L
i,1∨ L
i,2∨ L
i,3) f¨ ur i = 1, . . . , m (falls K
i< 3 Literale hat, verdopple Literale) F¨ ur jedes L
i,jerzeuge: Knoten (i, j) im Graphen, d.h.
V =
Smi=1
{(i, 1), (i, 2), (i, 3)}
Keine
Kante innerhalb der drei Knoten {(i, 1), (i, 2), (i, 3)}
Kanten zwischen
” verschiedenen Klauseln“:
E ⊆ {{(i, j), (i
0, j
0)} | i 6= i
0∧ i, i
0∈ {1, . . . , m} ∧ j, j
0∈ {1, 2, 3}}
E als maximale Menge, sodass sich
niemals zwei verbundene Literale Li,j und Li0,j0 widersprechen(d.h. L
i,j6= L
i0,j0mit L negiertes Literal zu L: x = ¬x und ¬x = x).
E := {{(i, j), (i
0, j
0)} | i 6= i
0∧i, i
0∈ {1, . . . , m}∧j, j
0∈ {1, 2, 3}, L
i,j6= L
i0,j0}
f (F ) = ((V, E), m) ist in Polynomialzeit berechenbar.
N P -Vollst¨ andigkeit von CLIQUE (2)
Beweis: CLIQUE ist
N P-hart:Ziel: 3-CNF-SAT ≤
pCLIQUE
Sei F = K
1∧ . . . ∧ K
meine 3-CNF, wobei K
i= (L
i,1∨ L
i,2∨ L
i,3) f¨ ur i = 1, . . . , m (falls K
i< 3 Literale hat, verdopple Literale) F¨ ur jedes L
i,jerzeuge: Knoten (i, j) im Graphen, d.h.
V =
Smi=1
{(i, 1), (i, 2), (i, 3)}
Keine
Kante innerhalb der drei Knoten {(i, 1), (i, 2), (i, 3)}
Kanten zwischen
” verschiedenen Klauseln“:
E ⊆ {{(i, j), (i
0, j
0)} | i 6= i
0∧ i, i
0∈ {1, . . . , m} ∧ j, j
0∈ {1, 2, 3}}
E als maximale Menge, sodass sich
niemals zwei verbundene Literale Li,j und Li0,j0 widersprechen(d.h. L
i,j6= L
i0,j0mit L negiertes Literal zu L: x = ¬x und ¬x = x).
E := {{(i, j), (i
0, j
0)} | i 6= i
0∧i, i
0∈ {1, . . . , m}∧j, j
0∈ {1, 2, 3}, L
i,j6= L
i0,j0}
f (F ) = ((V, E), m) ist in Polynomialzeit berechenbar.
N P -Vollst¨ andigkeit von CLIQUE (2)
Beweis: CLIQUE ist
N P-hart:Ziel: 3-CNF-SAT ≤
pCLIQUE
Sei F = K
1∧ . . . ∧ K
meine 3-CNF, wobei K
i= (L
i,1∨ L
i,2∨ L
i,3) f¨ ur i = 1, . . . , m (falls K
i< 3 Literale hat, verdopple Literale) F¨ ur jedes L
i,jerzeuge: Knoten (i, j) im Graphen, d.h.
V =
Smi=1
{(i, 1), (i, 2), (i, 3)}
Keine
Kante innerhalb der drei Knoten {(i, 1), (i, 2), (i, 3)}
Kanten zwischen
” verschiedenen Klauseln“:
E ⊆ {{(i, j), (i
0, j
0)} | i 6= i
0∧ i, i
0∈ {1, . . . , m} ∧ j, j
0∈ {1, 2, 3}}
E als maximale Menge, sodass sich
niemals zwei verbundene Literale Li,j und Li0,j0 widersprechen(d.h. L
i,j6= L
i0,j0mit L negiertes Literal zu L: x = ¬x und ¬x = x).
E := {{(i, j), (i
0, j
0)} | i 6= i
0∧i, i
0∈ {1, . . . , m}∧j, j
0∈ {1, 2, 3}, L
i,j6= L
i0,j0}
f (F ) = ((V, E), m) ist in Polynomialzeit berechenbar.
N P -Vollst¨ andigkeit von CLIQUE (3)
Zu Zeigen: F erf¨ ullbar, g.d.w. (V, E) eine Clique der Gr¨ oße mindestens m hat.
” ⇒“
Wenn F erf¨ ullbar ist:
∃ I, sodass in jeder Klausel I (K
i) mind 1 Literal wahr. D.h.: L
1,j1, . . . , L
m,jmmit I (L
1,j1) = 1, . . . , I(L
m,jm) = 1. Diese k¨ onnen sich paarweise nicht widersprechen
= ⇒ sind im Graphen paarweise miteinander verbunden
Sie formen eine Clique der Gr¨ oße m.
N P -Vollst¨ andigkeit von CLIQUE (3)
Zu Zeigen: F erf¨ ullbar, g.d.w. (V, E) eine Clique der Gr¨ oße mindestens m hat.
” ⇒“
Wenn F erf¨ ullbar ist:
∃ I, sodass in jeder Klausel I (K
i) mind 1 Literal wahr.
D.h.: L
1,j1, . . . , L
m,jmmit I (L
1,j1) = 1, . . . , I(L
m,jm) = 1.
Diese k¨ onnen sich paarweise nicht widersprechen
= ⇒ sind im Graphen paarweise miteinander verbunden
Sie formen eine Clique der Gr¨ oße m.
N P -Vollst¨ andigkeit von CLIQUE (4)
Zu Zeigen: F erf¨ ullbar, g.d.w. (V, E) eine Clique der Gr¨ oße mindestens m hat.
” ⇐“
(V, E) hat Clique der Gr¨ oße mindestens m.
Dann gibt es Clique V
0= {(i
1, j
1), . . . (i
m, j
m)},
Da (i, x) und (i, y) nie miteinander verbunden sind, m¨ ussen alle i
1, . . . , i
mpaarweise verschieden sein, also
{i
1, . . . , i
m} = {1, . . . , m}.
Daher: Die Literale L
i1,j1, . . . Li
m, j
mwidersprechen sich paarweise nicht
Daher Belegung I mit I (x) = 1 wenn L
ik,jk= x und I (x) = 0
wenn L
i,k,jk= ¬x und I (y) = 1 f¨ ur alle anderen Variablen
I macht F wahr
Beispiel
Sei F = (x
1∨ x
1∨ x
1) ∧ (¬x
1∨ ¬x
1∨ ¬x
1)
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)
Es gibt keine Kanten, da sich (1, i) und (2, j) stets widersprechen.
Beispiel (2)
Sei F = (x
1∨ x
1∨ x
1) ∧ (¬x
1∨ ¬x
1∨ x
1)
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)
Jede der Cliquen der Gr¨ oße 2 f¨ uhrt zu erf¨ ullender Belegung, die x
1wahr macht.
Beispiel (2)
Sei F = (x
1∨ x
2∨ ¬x
3) ∧ (¬x
1∨ x
2∨ x
3) ∧ (x
1∨ ¬x
2∨ ¬x
3)
(1,1)
(2,2)
(3,3)
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)
(3,1) (3,2) (3,3)
Beispiel (2)
Sei F = (x
1∨ x
2∨ ¬x
3) ∧ (¬x
1∨ x
2∨ x
3) ∧ (x
1∨ ¬x
2∨ ¬x
3) (1,1)
(2,2)
(3,3)
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)
(3,1) (3,2) (3,3)
Unabh¨ angige Knotenmenge
Definition
F¨ ur einen Graphen G = (V, E) ist V
0⊆ V eine unabh¨ angige Knotenmenge (independent set), wenn keine zwei Knoten aus V
0¨
uber eine Kante verbunden sind, d.h. u, v ∈ V
0= ⇒ {u, v} 6∈ E.
Beispiel:
5 2
7 8
1
5 7
8
1
5 6
9
1
5 7
9
2
5 7
9
5 2
7 8
1 3 4 6
9
Unabh¨ angige Knotenmenge
Definition
F¨ ur einen Graphen G = (V, E) ist V
0⊆ V eine unabh¨ angige Knotenmenge (independent set), wenn keine zwei Knoten aus V
0¨
uber eine Kante verbunden sind, d.h. u, v ∈ V
0= ⇒ {u, v} 6∈ E.
Beispiel:
5 2
7 8
1
5 7
8
1
5 6
9
1
5 7
9
2
5 7
9
5 2
7 8
1 3 4 6
9
Unabh¨ angige Knotenmenge
Definition
F¨ ur einen Graphen G = (V, E) ist V
0⊆ V eine unabh¨ angige Knotenmenge (independent set), wenn keine zwei Knoten aus V
0¨
uber eine Kante verbunden sind, d.h. u, v ∈ V
0= ⇒ {u, v} 6∈ E.
Beispiel:
5 2
7 8
1
5 7
8
1
5 6
9
1
5 7
9
2
5 7
9
5 2
7 8
1 3 4 6
9
Unabh¨ angige Knotenmenge
Definition
F¨ ur einen Graphen G = (V, E) ist V
0⊆ V eine unabh¨ angige Knotenmenge (independent set), wenn keine zwei Knoten aus V
0¨
uber eine Kante verbunden sind, d.h. u, v ∈ V
0= ⇒ {u, v} 6∈ E.
Beispiel:
5 2
7 8
1
5 7
8
1
5 6
9
1
5 7
9
2
5 7
9
5 2
7 8
1 3 4 6
9
Unabh¨ angige Knotenmenge
Definition
F¨ ur einen Graphen G = (V, E) ist V
0⊆ V eine unabh¨ angige Knotenmenge (independent set), wenn keine zwei Knoten aus V
0¨
uber eine Kante verbunden sind, d.h. u, v ∈ V
0= ⇒ {u, v} 6∈ E.
Beispiel:
5 2
7 8
1
5 7
8
1
5 6
9
1
5 7
9
2
5 7
9
5 2
7 8
1 3 4 6
9
Unabh¨ angige Knotenmenge
Definition
F¨ ur einen Graphen G = (V, E) ist V
0⊆ V eine unabh¨ angige Knotenmenge (independent set), wenn keine zwei Knoten aus V
0¨
uber eine Kante verbunden sind, d.h. u, v ∈ V
0= ⇒ {u, v} 6∈ E.
Beispiel:
5 2
7 8
1
5 7
8
1
5 6
9
1
5 7
9
2
5 7
9
5 2
7 8
1 3 4 6
9
Unabh¨ angige Knotenmenge
Definition
F¨ ur einen Graphen G = (V, E) ist V
0⊆ V eine unabh¨ angige Knotenmenge (independent set), wenn keine zwei Knoten aus V
0¨
uber eine Kante verbunden sind, d.h. u, v ∈ V
0= ⇒ {u, v} 6∈ E.
Beispiel:
5 2
7 8
1
5 7
8
1
5 6
9
1
5 7
9
2
5 7
9
5 2
7 8
1 3 4 6
9
Komplementgraph
F¨ ur Graph G = (V, E) ist der Komplementgraph zu G, der Graph G = (V, E) mit E = {{u, v} | u, v ∈ V, u 6= v, {u, v} 6∈ E}
Lemma
F¨ ur jeden ungerichteten Graph G gilt: G hat eine unabh¨ angige Knotenmenge der Gr¨ oße k genau dann, wenn G eine Clique der Gr¨ oße k hat.
Beweis:
V
0ist unabh¨ angige Knotenmenge der Gr¨ oße k
g.d.w. V
0⊆ V mit u, v ∈ V
0= ⇒ {u, v} 6∈ E und |V
0| = k g.d.w. u, v ∈ V
0= ⇒ {u, v} ∈ E
g.d.w. V
0ist eine Clique der Gr¨ oße k in G
Komplementgraph
F¨ ur Graph G = (V, E) ist der Komplementgraph zu G, der Graph G = (V, E) mit E = {{u, v} | u, v ∈ V, u 6= v, {u, v} 6∈ E}
Lemma
F¨ ur jeden ungerichteten Graph G gilt: G hat eine unabh¨ angige Knotenmenge der Gr¨ oße k genau dann, wenn G eine Clique der Gr¨ oße k hat.
Beweis:
V
0ist unabh¨ angige Knotenmenge der Gr¨ oße k
g.d.w. V
0⊆ V mit u, v ∈ V
0= ⇒ {u, v} 6∈ E und |V
0| = k g.d.w. u, v ∈ V
0= ⇒ {u, v} ∈ E
g.d.w. V
0ist eine Clique der Gr¨ oße k in G
Komplementgraph
F¨ ur Graph G = (V, E) ist der Komplementgraph zu G, der Graph G = (V, E) mit E = {{u, v} | u, v ∈ V, u 6= v, {u, v} 6∈ E}
Lemma
F¨ ur jeden ungerichteten Graph G gilt: G hat eine unabh¨ angige Knotenmenge der Gr¨ oße k genau dann, wenn G eine Clique der Gr¨ oße k hat.
Beweis:
V
0ist unabh¨ angige Knotenmenge der Gr¨ oße k
g.d.w. V
0⊆ V mit u, v ∈ V
0= ⇒ {u, v} 6∈ E und |V
0| = k g.d.w. u, v ∈ V
0= ⇒ {u, v} ∈ E
g.d.w. V
0ist eine Clique der Gr¨ oße k in G
Komplementgraph
F¨ ur Graph G = (V, E) ist der Komplementgraph zu G, der Graph G = (V, E) mit E = {{u, v} | u, v ∈ V, u 6= v, {u, v} 6∈ E}
Lemma
F¨ ur jeden ungerichteten Graph G gilt: G hat eine unabh¨ angige Knotenmenge der Gr¨ oße k genau dann, wenn G eine Clique der Gr¨ oße k hat.
Beweis:
V
0ist unabh¨ angige Knotenmenge der Gr¨ oße k g.d.w. V
0⊆ V mit u, v ∈ V
0= ⇒ {u, v} 6∈ E und |V
0| = k
g.d.w. u, v ∈ V
0= ⇒ {u, v} ∈ E
g.d.w. V
0ist eine Clique der Gr¨ oße k in G
Komplementgraph
F¨ ur Graph G = (V, E) ist der Komplementgraph zu G, der Graph G = (V, E) mit E = {{u, v} | u, v ∈ V, u 6= v, {u, v} 6∈ E}
Lemma
F¨ ur jeden ungerichteten Graph G gilt: G hat eine unabh¨ angige Knotenmenge der Gr¨ oße k genau dann, wenn G eine Clique der Gr¨ oße k hat.
Beweis:
V
0ist unabh¨ angige Knotenmenge der Gr¨ oße k g.d.w. V
0⊆ V mit u, v ∈ V
0= ⇒ {u, v} 6∈ E und |V
0| = k g.d.w. u, v ∈ V
0= ⇒ {u, v} ∈ E
g.d.w. V
0ist eine Clique der Gr¨ oße k in G
Komplementgraph
F¨ ur Graph G = (V, E) ist der Komplementgraph zu G, der Graph G = (V, E) mit E = {{u, v} | u, v ∈ V, u 6= v, {u, v} 6∈ E}
Lemma
F¨ ur jeden ungerichteten Graph G gilt: G hat eine unabh¨ angige Knotenmenge der Gr¨ oße k genau dann, wenn G eine Clique der Gr¨ oße k hat.
Beweis:
V
0ist unabh¨ angige Knotenmenge der Gr¨ oße k g.d.w. V
0⊆ V mit u, v ∈ V
0= ⇒ {u, v} 6∈ E und |V
0| = k g.d.w. u, v ∈ V
0= ⇒ {u, v} ∈ E
g.d.w. V
0ist eine Clique der Gr¨ oße k in G
Beispiel
1
2 3
4
5 6
7 8
9
Komplementgraph dazu: 1
2 3
4
5 6
7 8
9
INDEPENDENT-SET Problem
Definition (INDEPENDENT-SET-Problem)
Das INDEPENDENT-SET-Problem l¨ asst sich in der gegeben/gefragt-Notation formulieren durch:
gegeben: Ein ungerichteter Graph G = (V, E) und eine Zahl k ∈
N. gefragt: Besitzt G eine unabh¨ angige Knotenmenge der Gr¨ oße min-
destens k?
N P -Vollst¨ andigkeit von INDEPENDENT-SET
Satz