Inhalt Schwere Probleme in NP

Werbung
Inhalt
1
Einführung
2
Automatentheorie und Formale Sprachen
3
Berechenbarkeitstheorie
4
Komplexitätstheorie
Einführung
Die Komplexitätsklassen P und NP
NP-Vollständigkeit
Weitere NP-vollständige Probleme
Platzkomplexität
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
254
Schwere Probleme in NP
Ziel: Charakterisierung/Identifizierung von schweren“ Problemen in NP
”
Idee: Sprache L 0 ist schwerer als L, wenn sich L in poly. Zeit auf L 0 reduzieren lässt
Definition 176.
Seien L ⊆ Σ∗ und L 0 ⊆ Γ ∗ Sprachen.
Eine Reduktion f von L auf L 0 heißt P-Reduktion (oder polynomielle Reduktion,
falls f in Polynomialzeit berechenbar ist und
w ∈L
⇔
f (w) ∈ L 0 .
Falls es eine P-Reduktion von L auf L 0 gibt, heißt L auf L 0 P-reduzierbar (oder
polynomiell reduzierbar).
Notation: L ≤P L 0
Beobachtung.
1
Falls L ≤P L 0 und L 0 ∈ P, gilt L ∈ P.
2
Falls L ≤P L 0 und L 0 ∈ NP, gilt L ∈ NP.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
255
Das Erfüllbarkeitsproblem – SAT
boolesche Variablen: können Werte in {0, 1} annehmen
boolesche Operationen: UND (∧), ODER (∨), NICHT (¬), wobei
0∧0=0
0∨0=0
0∧1=0
0∨1=1
1∧0=0
1∨0=1
1∧1=1
1∨1=1
¬0 = 0 = 1
¬1 = 1 = 0
Literal: boolesche Variable x oder ihre Negation ¬x (x )
boolesche Formel (aussagenlogische Formel): syntaktisch korrekter Ausdruck, der aus Literalen und ∨,
∧ und ¬ besteht, z.B.
φ = (x ∨ y ) ∧ (x ∨ z )
Eine boolesche Formel ist erfüllbar, falls es eine Belegung der Variablen gibt, so dass die Formel 1 ergibt
(wahr wird) (z.B. x = 0, y = 1 und z = 0 im Beispiel oben).
LSAT = {hφi | φ ist erfüllbare boolesche Formel}
Klausel: Literale, die durch ∨ verknüpft sind, z.B. x ∨ y ∨ z
Eine boolesche Formel liegt in konjunktiver Normalform (cnf) vor, falls sie aus Klauseln besteht, die durch
∧ verknüpft sind. Eine boolesche Formel liegt in k -konjunktiver Normalform vor, falls sie in konjunktiver
Normalform vorliegt und jede Klausel aus genau k Literalen besteht (Beispiel ist eine 2-cnf Formel).
Lk-SAT = {hφi | φ ist erfüllbare k -cnf Formel}
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
256
Beispiel: L3-SAT ≤P LCLIQUE
Satz 177 (CLIQUE ist schwerer als 3-SAT).
L3-SAT ist auf LCLIQUE P-reduzierbar.
Beweis: Sei φ eine 3-cnf Formel mit k Klauseln:
φ = (a1 ∨ b1 ∨ c1 ) ∧ (a2 ∨ b2 ∨ c2 ) ∧ · · · ∧ (ak ∨ bk ∨ ck ) .
Die Reduktion f konstruiert eine Zeichenkette hG, k i, wobei G ein ungerichteter Graph ist.
Die Knoten V von G bestehen aus k Klassen von jeweils 3 Knoten V = V1 ∪ . . . ∪Vk und die Klasse Vi
entspricht der Klausel ai ∨ bi ∨ ci , wobei die Knoten von Vi mit den Literalen der entsprechenden Klausel
markiert werden.
Paare innerhalb von einer Klasse Vi sind nicht benachbart. Knoten mit negierter Marke (x` und x` ) sind
nicht benachbart. Alle anderen Kanten sind in G vorhanden.
Offensichtlich ist f in Polynomialzeit berechenbar. Bleibt zu zeigen, dass φ erfüllbar ist genau dann, wenn G
eine k -Clique hat.
Sei also φ erfüllbar. In einer erfüllbaren Variablenbelegung ist mindestens ein Literal jeder Klausel wahr“
”
(hat Wert 1). D.h. für alle i = 1, . . . , k gibt es mindestens einen Knoten, u i , der mit einem wahren“
”
Literal markiert ist. Wir behaupten {u1 , . . . , uk } ist eine k -Clique in G. Dies folgt, da für i 6= j
die Knoten ui und uj in unterschiedlichen Klassen liegen;
da ui und uj mit einem wahren“ Literal markiert sind, können die Markierungen nicht der selben
”
Variable in negierter und nicht negierter Form entsprechen.
Sei also nun {u1 , . . . , uk } eine k -Clique in G. Dann liegt jeder der Knoten in einer anderen Knotenklasse
Vi . Wir definieren nun eine erfüllende Belegung von φ, in dem wir die Variablen so belegen, dass die
Literale, die u1 , . . . , uk markieren wahr“ sind. Eine solche Belegung existiert tatsächlich, da {ui , uj } eine
”
Kante der Clique ist und somit die Markierungen dieser beiden Knoten nicht von derselben Variablen in
negierter und nicht negierter Form sein können.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
257
NP-Vollständigkeit
Definition 178.
Sei L ⊆ Σ∗ eine Sprache.
1
L heißt NP-schwer, falls L 0 ≤P L für alle L 0 ∈ NP.
2
L heißt NP-vollständig, falls L NP-schwer ist und L ∈ NP.
Lemma 179.
Falls es eine NP-schwere Sprache L mit L ∈ P gibt, dann gilt P = NP.
Beweis: Sei L ∈ P eine NP-schwere Sprache. Dann gilt für alle Sprachen L 0 ∈ NP
L 0 ≤P L ,
und somit L 0 ∈ P.
Frage
Gibt es überhaupt NP-vollständige Probleme?
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
258
Satz von Cook und Levin
Satz 180 (Cook’71 & Levin’73).
LSAT ist NP-vollständig.
Beweis:
1
LSAT ist in NP:
Die folgende Maschine erkennt in polynomieller Zeit, ob eine gegebene Formel φ erfüllbar ist oder nicht.
1
2
3
4
5
INPUT(φ)
Scanne Eingabe und ermittle die Anzahl der Variablen in φ
Rate nichtdeterministisch eine erfüllende Belegung
Teste, ob die geratene Belegung tatsächlich eine Lösung ist
IF ja“ THEN OUTPUT(1) ELSE OUTPUT(0)
”
Offensichtlich gibt es einen akzeptierenden Berechnungspfad, wenn φ berechenbar ist. Alle
Berechnungspfade nach dem Raten sind deterministisch und benötigen O(|hφi|) Rechenschritte.
Im Hauptteil des Beweises, müssen wir nun zeigen, dass LSAT NP-schwer ist. Sei also L eine beliebige Sprache
in NP über einem Alphabet Σ und M = (Z , Σ, Γ, δ, z0 , , E ) eine akzeptierende polynomielle (möglicherweise
nichtdeterministische) 1-Band Turingmaschine, die L erkennt, d.h. T (M) = L. O.B.d.A. sei die Laufzeit von L
durch nk beschränkt.
Ziel: Für jedes w = (w1 , . . . , wn ) ∈ Σ∗ soll eine Formel φw konstruiert werden, so dass
hφw i ∈ LSAT
⇔
w ∈ L,
(14)
wobei die Konstruktion in Polynomialzeit möglich sein muss .
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
259
Hilfslemma
Lemma 181.
Für jedes m ∈ N und boolesche Variablen x1 , . . . , xm , gibt es eine boolesche Formel
ψ = ψ(x1 , . . . , xm ), so dass ψ genau dann den Wahrheitswert 1 erhält, wenn genau
eine der Variablen mit 1 belegt wird. Die Formel hat die Größe O(m2 ).
Beweis: Man wähle
ψ=
m
_
i=1
xi
!
0
∧@
m−1
^
m
^
i=1 j=i+1
1
x i ∨ x j A .
Die erste Teilformel wird genau dann wahr, wenn mindestens eine Variable wahr ist.
Die zweite Teilformel wird wahr, wenn es kein Paar von Variablen gibt, in dem beide
Variablen wahr sind. Die Größe ist offensichtlich quadratisch in m – der Anzahl der
Variablen.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
260
Variablen von φw
2
Konstruktion von φw :
Die boolesche Formel φw besteht aus folgenden Variablen:
Variable
zt,z
pt,i
bt,i,γ
Indizes
Bedeutung
k
t = 0, 1, . . . , n
z∈Z
t = 0, 1, . . . , nk
i = −nk , . . . , nk
t = 0, 1, . . . , nk
i = −nk , . . . , nk
γ∈Γ
zt,z = 1 gdw. nach t Schritten ist M in Zustand z
pt,i = 1 gdw. nach t Schritten ist M’s
Schreib-Lesekopf an i-ter Position
bt,i,γ = 1 gdw. nach t Schritten ist γ auf Bandposition i
Die Formel φw ist eine Konjugation von Teilformeln R, A, E, U1 und U2 , d.h.
φw = R ∧ A ∧ E ∧ U 1 ∧ U 2 .
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
261
Teilformel: Randbedingung
Randbedingung
Bedeutung: zu jedem Zeitpunkt t gilt:
es gibt genau einen Zustand z ∈ Z = {z0 , . . . , z` }, so dass zt,z wahr ist;
es gibt genau eine Bandposition i, so dass pt,i wahr ist;
für jede Bandposition i gibt es genau ein γ ∈ Γ = {γ1 , . . . , γm }, so dass
bt,i,γ wahr ist.
k
k
«
n
n „
^
^
`
`
´
`
´
´
ψ bt,i,γ1 , . . . , bt,i,γm
ψ zt,z0 , . . . , zt,z` ∧ ψ pt,−nk , . . . , pt,nk ∧
,
R=
t=0
i=−nk
wobei ψ(. . . ) durch das Hilfslemma gegeben ist.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
262
Teilformeln: Anfangs- und Endbedingung
Anfangsbedingung
Bedeutung: Startkonfiguration (ε, z0 , w1 . . . wn )
A = z0,z0 ∧ p0,1 ∧
n
^
b0,j,wj ∧
j=1
0
^
j=−nk
k
b0,j, ∧
n
^
b0,j,
j=n+1
Endbedingung
Bedeutung: Endzustand z ∈ E wird erreicht
k
E=
n _
_
zi,z
t=1 z∈E
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
263
Teilformeln: Übergangsbedingungen
Übergang U1
Bedeutung: Falls zt,z ∧ pt,i ∧ bt,i,γ den aktuellen Zustand beschreibt (wahr ist), dann
muss einer der Übergänge gemäß δ wahr sein:
k
U1 =
n
^
^
k
n
^
^
t=1 z∈Z i=−nk γ∈Γ
“
”
_
¬ zt,z ∧ pt,i ∧ bt,i,γ ∨
wobei
y∗
(z 0 ,γ 0 ,y)∈δ(z,γ)
“
zt+1,z 0 ∧ pt+1,i+y∗ ∧ bt+1,i,γ 0
”
!
,


−1, falls y = L,
= 0,
falls y = N,

1,
falls y = R.
Übergang U2
Bedeutung: Bandfelder auf denen der Lese-Schreibkopf nicht steht, dürfen nicht
verändert werden.
«
nk
nk
^
^
^„ `
´
U2 =
¬ ¬ pt,i ∧ bt,i,γ ∨ bt+1,i,γ
t=1 i=−nk γ∈Γ
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
264
Beweis von Satz 180 – Finale
3
Beweis von (14):
⇒“
”
Sei hφw i ∈ LSAT . Fixiere eine erfüllende Belegung von φw .
⇒ R ist erfüllt ⇒ und für jedes t = 0, 1, . . . , n k und alle z ∈ Z , i = −nk , . . . , nk und γ ∈ Γ beschreiben
die Variablenwerte zt,z , pt,i und bt,iγ eine Konfiguration Kt von M
⇒ A ist erfüllt ⇒ K0 = (ε, z0 , w )
⇒ U1 und U2 sind erfüllt ⇒ Kt `M Kt+1 für alle t = 0, . . . , nk − 1
⇒ E ist erfüllt ⇒ es existiert s (0 ≤ s ≤ nk ), so dass zs,z = 1 für z ∈ E ⇒ w ∈ T (M) = L.
⇐“
”
Sei w ∈ L.
⇒ es existiert s (0 ≤ s ≤ nk ) und es existieren Konfigurationen K0 , . . . , Ks , so dass
(ε, z0 , w ) = K0 `M K1 `M · · · `M Ks ,
(15)
wobei Ks eine Endkonfiguration ist.
⇒ Wenn wir die Variablen von φw entsprechend ihrer Bedeutung belegen, dann gilt:
A ist erfüllt wegen K0 ;
R, U1 und U2 sind erfüllt, da (15) eine Berechnung von M darstellt;
E ist erfüllt, da Ks eine Endkonfiguration ist.
⇒ φw ist erfüllbar⇒ hφw i ∈ LSAT .
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
265
Beweis von Satz 180 – Finale, Teil 2
Die Formel φw kann in polynomieller Zeit gewonnen werden , da:
φw direkt aus der Beschreibung von M und w gewonnen werden kann,
M eine feste TM ist und konstante Größe unabhängig von |w| = n hat, d.h.
|Z | = O(1) und |Γ | = O(1),
die Rechenzeit zur Berechnung von φw linear in der Länge von φw plus |w | ist und
es gilt:
|φw | = |R| + |A| + |E| + |U1 | + |U2 |
= O(n3k ) + O(nk ) + O(nk ) + O(n2k ) + O(n2k )
= O(n3k ) .
Bemerkung.
Um die NP-Vollständigkeit von anderen Sprachen L ∈ NP zu zeigen, reicht es von nun
an aus, LSAT auf L zu reduzieren.
Beobachtung 182.
Falls L NP-vollständig , L 0 ∈ NP und L ≤P L 0 ist, dann ist auch L 0 NP-vollständig.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
266
L3-SAT ist NP-vollständig
Satz 183 (3-SAT ist NP-vollständig).
L3-SAT ist NP-vollständig.
Beweis:
Offensichtlich ist L3-SAT ∈ NP, da sich eine geratene“ Lösung für ein 3-cnf Formel
”
in polynomieller Zeit überprüfen/verifiziern lässt.
Zu zeigen: LSAT ≤P L3-SAT
Sei φ eine boolesche Formel.
Plan:
1
Zunächst konstruieren wir (in Polynomialzeit) eine cnf-Formel ζ0 , so dass
φ ist erfüllbar
2
⇔
ζ0 ist erfüllbar.
Danach wandeln wir ζ0 in eine 3-cnf Formel um, d.h. wir konstruieren (in
Polynomialzeit) eine 3-cnf Formel ζ, so dass
ζ0 ist erfüllbar
Theoretische Informatik 2 (WS 2006/07)
⇔
ζ ist erfüllbar.
Komplexitätstheorie / NP-Vollständigkeit
267
Beweis: LSAT ≤P L3-SAT – Konstruktion von ζ0
1
Umwandlungsschritt: Benutze Regeln von De Morgan:
¬(X ∧ Y ) = ¬X ∨ ¬Y ,
2
¬(X ∨ Y ) = ¬X ∧ ¬Y und ¬¬X = X ,
um eine Formel zu erhalten, in der alle Negationen ausschließlich auf Variablen angewandt
werden.
⇒ Sei φ0 das Resultat.
rekursiver Umwandlungsschritt:
Falls φ0 ein Literal ist, dann ist ζ0 := φ0 .
Falls φ0 = φ1 ∧ φ2 , dann wandle φ1 und φ2 rekursiv so um, dass φ1 = C1 ∧ · · · ∧ Ck
und φ2 = D1 ∧ · · · ∧ D` , wobei Ci und Dj Klauseln sind, und setze
ζ0 = C 1 ∧ · · · ∧ C k ∧ D 1 ∧ · · · ∧ D ` .
Falls φ0 = φ1 ∨ φ2 , dann wandle φ1 und φ2 rekursiv so um, dass φ1 = C1 ∧ · · · ∧ Ck
und φ2 = D1 ∧ · · · ∧ D` , wobei Ci und Dj Klauseln sind, und setze
ζ0 = (y ∨ C1 ) ∧ · · · ∧ (y ∨ Ck ) ∧ (y ∨ D1 ) ∧ · · · ∧ (y ∨ D` ) ,
mit einer neuen Variable y .
In jedem Umwandlungsschritt gilt: φ0 ist erfüllbar gdw. ζ0 erfüllbar ist.
In ¬“- und ∧“-Schritten bleibt die Länge der Formel gleich. In einem ∨“-Schritt
”
”
”
verlängert sich jede Klausel um bis zu ein Literal. Insgesamt gibt es höchstens
|φ0 | = |φ| solche Schritte, d.h. |ζ0 | ≤ m|φ| = O(|φ|2 ).
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / NP-Vollständigkeit
268
Beweis: LSAT ≤P L3-SAT – Konstruktion von ζ
Sei ζ0 = C1 ∧ · · · ∧ Cm die cnf-Formel aus dem ersten Umwandlungsschritt, so dass Ci Klauseln sind und
φ ist erfüllbar
⇔
ζ0 ist erfüllbar.
Falls Ci = xi,1 ∨ · · · ∨ xi,` mit ` > 3 führen wir neue Variablen yi,1 , . . . yi,`−3 ein und definieren
Ci0 = (xi,1 ∨ xi,2 ∨ yi,1 ) ∧ (xi,3 ∨ yi,1 ∨ yi,2 )
∧ (xi,4 ∨ yi,2 ∨ yi,3 )
.
.
.
∧ (xi,`−2 ∨ yi,`−4 ∨ yi,`−3 ) ∧ (xi,`−1 ∨ xi,` ∨ yi,`−3 )
0
Beachte: Für jede Belegung von xi,1 , . . . , xi,` für die Ci nicht wahr ist, ist auch Ci nicht wahr,
unabhängig von der Belegung von yi,1 , . . . , yi,`−3 .
Falls Ci = xi,1 ∨ xi,2 ∨ xi,3 , dann setze Ci0 = Ci .
Falls Ci = xi,1 ∨ xi,2 , dann führe eine neue Variable yi ein und setze
Ci 0 = (Ci ∨ yi ) ∧ (Ci ∨ yi ).
Falls Ci = xi,1 , dann führe eine neue Variable yi ein und setze
Ci0 = (xi,1 ∨ yi ∨ yi ) ∧ (xi,1 ∨ yi ∨ yi ).
Letztendlich setzen wir
ζ = C10 ∧ C20 ∧ · · · ∧ Cm0 .
Es gilt: ζ ist eine 3-cnf Formel mit |ζ| ≤ 6|ζ0 | und
ζ0 ist erfüllbar
Theoretische Informatik 2 (WS 2006/07)
⇔
ζ ist erfüllbar.
Komplexitätstheorie / NP-Vollständigkeit
269
Inhalt
1
Einführung
2
Automatentheorie und Formale Sprachen
3
Berechenbarkeitstheorie
4
Komplexitätstheorie
Einführung
Die Komplexitätsklassen P und NP
NP-Vollständigkeit
Weitere NP-vollständige Probleme
Platzkomplexität
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
270
NP-vollständige Probleme
Erinnerung:
LSAT ist NP-vollständig
Satz von Cook & Levin
L3-SAT ist NP-vollständig
Satz 183
Ziel: NP-Vollständigkeit anderer Sprachen/Probleme zeigen
Plan: P-Reduktionen von L3-SAT auf andere“ Sprachen z.B. da L3-SAT ≤P LCLIQUE
”
Korollar 184 (Konsequenz von Satz 177).
LCLIQUE ist NP-vollständig.
Vereinfachung: Identifiziere Sprachen mit Entscheidungsproblemen:
Sprache – LSAT
Problem – SAT
LSAT = {hφi | φ ist erfüllbare,
boolesche Formel}
Theoretische Informatik 2 (WS 2006/07)
Gegeben:
Gefragt:
boolesche Formel φ
Ist φ erfüllbar?
Komplexitätstheorie / Weitere NP-vollständige Probleme
271
SET-COVER
Problem: SET-COVER
Gegeben:
Gefragt:
endliche Menge M, Teilmengen T1 , . . . , TkS⊆ M und eine Zahl n ≤ k
Gibt es I ⊆ {1, . . . , k } mit |I| = n, so dass i∈I Ti = M?
Satz 185.
SET-COVER ist NP-vollständig.
Beweis: SET-COVER∈ NP ist klar. Wir zeigen 3-SAT≤P SET-COVER. Sei φ = C1 ∧ · · · ∧ Cm
eine 3-cnf Formel mit n Variablen.
Ziel: Konstruiere SET-COVER-Instanz M, T1 , . . . , Tk , n, so dass
φ erfüllbar ⇔ M, T1 , . . . , Tk , n ist ja“-Instanz von SET-COVER.
”
Setze M = {1, 2, . . . , m, m + 1, . . . , m + n} und für i ∈ {1, . . . , n} sei
Ti = {j | xi kommt in Cj vor} ∪ {m + i}
Tn+i = {j | xi kommt in Cj vor} ∪ {m + i}
SET-COVER-Instanz:
M, T1 , . . . , T2n , n
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
272
φ erfüllbar ⇔ M, T1 , . . . , T2n , n ist ja“-Instanz
”
⇒“: Angenommen x1∗ , . . . , xn∗ ist eine erfüllende Belegung von φ. Setze
”
I = {i | xi∗ = 1} ∪ {n + i | xi∗ = 0}.
Dann gilt |I| = n und
SET-COVER.
S
i∈I
Ti = M. Also ist M, T1 , . . . , T2n , n eine ja“-Instanz von
”
⇐“: Nehme umgekehrt an, dass M, T1 , . . . , T2n , n eine ja“-Instanz ist. Sei
S
”
”
I ⊆ {1, . . . , 2n} so, dass i∈I Ti = M.
Dann gibt es zu jedem j = 1, . . . , n ein i ∈ I mit m + j ∈ Ti . Da m + j nur in Tj und
Tn+j enthalten ist, gilt i ∈ {j, n + j} ∩ I. Da |Ti ∩ {m + 1, . . . , m + n}| = 1 für alle
i ∈ {1, . . . , 2n} gilt, und |I| = n ist, muss gelten |{j, n + j} ∩ I| = 1. Somit existiert für
jedes j = 1, . . . , n genau ein i ∈ I mit m + j ∈ Ti und folgende Definition ist
wohldefiniert:
1, falls i ≤ n
xi∗ =
0, falls i > n .
Dann ist x1∗ , . . . , xn∗ eine erfüllende Belegung von φ.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
273
SUBSET-SUM/RUCKSACK
Problem: SUBSET-SUM
Gegeben:
Gefragt:
Satz 186.
Multimenge von natürliche Zahlen S und t ∈ N
P
Gibt es Untermultimenge Y ⊆ S, so dass y ∈Y y = t?
SUBSET-SUM ist NP-vollständig.
Beweis: Wir zeigten bereits SUBSET-SUM (genauer LSUBSET-SUM ) ist in NP.
Wir reduzieren 3-SAT auf SUBSET-SUM. Sei φ = C1 ∧ · · · ∧ Ck eine 3-cnf Formel mit
Variablen x1 , . . . , x` . Wir konstruieren eine passende“ SUBSET-SUM-Instanz.
”
Die Multimenge S wird aus genau 2` + 2k Elementen
y1 , z 1 , y 2 , z 2 , . . . , y ` , z `
und g1 , h1 , g2 , h2 , . . . , gk , hk
bestehen. Im Dezimalsystem geschrieben hat jedes Element von S genau ` + k
Stellen (inklusive möglicher führender Nullen). Jede der ` + k Stellen wird entweder 0
oder 1 sein, d.h.:
yi = yi,1 . . . yi,` yi,`+1 . . . yi,`+k
Theoretische Informatik 2 (WS 2006/07)
wobei yi,j ∈ {0, 1} .
Komplexitätstheorie / Weitere NP-vollständige Probleme
274
Beweis: SUBSET-SUM ist NP-vollständig – Teil 2
Definition von yi und zi : Für i = 1, . . . , ` und j = 1, . . . , `, ` + 1, . . . , ` + k setze
1, falls j = i oder falls j = ` + m und xi kommt in Cm vor
yi,j =
0, sonst ,
1, falls j = i oder falls j = ` + m und x i kommt in Cm vor
zi,j =
0, sonst .
Definition von gi und hi : Für i = 1, . . . , k setze
. . 0} .
gi = hi = 10k −i = 0
. . 0} 1 0
| .{z
| .{z
`+i−1
Definition von t: Setze
k −i
t=1
. . 1} 3
. . 3} .
| .{z
| .{z
`-mal
k -mal
Dies definiert die SUBSET-SUM-Instanz S, t in Abhängigkeit von φ mit
S = {y1 , z1 , y2 , z2 , . . . , y` , z` , g1 , h1 , g2 , h2 , . . . , gk , hk }
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
275
Beweis: SUBSET-SUM ist NP-vollständig – Teil 3
Es bleibt zu überprüfen, dass
φ ist erfüllbar
⇔
S, t ist eine ja“ Instanz von SUBSET-SUM
”
⇒“: Angenommen x1∗ , . . . , x`∗ erfüllt φ. Dann setzen wir
”
Y 0 := {yi | xi∗ = 1} ∪ {zi | xi∗ = 0} .
Dadurch erhalten wir:
X
y = 1 . . . 1 γ1 . . . γ k ,
| {z }
y∈Y 0
`-mal
γj = Anzahl wahrer Literale in Cj unter der Belegung x1∗ , . . . , x`∗ . Also hat
Y := Y 0 ∪ gj | γj ∈ {1, 2} ∪ hj | γj = 1
die gesuchten Eigenschaften.
⇐“: Sei Y ⊆ S eine Multimenge, die zu t summiert.
”
P
P
Beobachtung: Für alle j = 1, . . . , k + ` gilt: `i=1 (yi,j + zi,j ) + ki=1 (gi,j + hi,j ) ≤ 5 und wir müssen
somit keine Überträge betrachten und können jede der ` + k Stellen einzeln analysieren.
wobei
Um genau eine 1 in den ersten ` Stellen zu erhalten, muss für i = 1, . . . , ` gelten: entweder y i ∈ Y oder
zi ∈ Y aber nicht beides. Dementsprechend setzen wir für i = 1, . . . , `
1, falls yi ∈ Y ,
∗
xi =
0, sonst, d.h. hier zi ∈ Y .
Tatsächlich ist dies eine erfüllende Belegung von φ, da in jeder der letzten k Stellen (welche den Klauseln
entsprechen) der Beitrag“ von gi und hi höchstens 2 sein kann und somit ein Beitrag“ von mindestens 1
”
”
von einem yi oder zi aus Y stammen muss. Sollte dies von yi ∈ Y stammen, dann kommt xi in der der
∗
Stelle entsprechenden Klausel Cj vor und die Klausel ist wahr, da wir xi = 1 gesetzt haben. Die analoge
Betrachtung für zi und xi liefert die Behauptung.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
276
Färben von Graphen
ungerichteter Graph G = (V , E)
f : V → N ist Färbung von G, wenn für alle {v , w } ∈ E gilt: f (v ) 6= f (w ).
chromatische Zahl: χ(G) := min |f (V )| | f ist eine Färbung von G
3-COL/3-Färbbarkeit
Gegeben:
Gefragt:
Graph G = (V , E)
Ist χ(G) ≤ 3?
Satz 187.
3-COL ist NP-vollständig.
Beweis: Da eine geratene 3-Färbung in polynomieller Zeit überprüft werden kann, ist 3-COL
in NP.
Es ist zu zeigen, dass 3-COL NP-schwer ist. Wir zeigen 3-SAT≤P 3-COL. Sei φ = C1 ∧ · · · ∧ Ck
eine 3-cnf Formel mit Klauseln Cj = aj ∨ bj ∨ cj , wobei aj , bj und cj Literale der Variablen
x1 , . . . , xn sind.
Wir definieren einen Graphen G = Gφ der genau dann 3-färbbar ist, wenn φ erfüllbar ist.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
277
Beweis: 3-COL ist NP-vollständig – Literalengraph GL
x1
1
x2
x3
xn
···
GL :
x1
0
x2
x3
xn
Für jede 3-Färbung f von GL gilt:
f (xj ) 6= f (x j );
f (xj ) ∈ {f (0), f (1)} und f (x j ) ∈ {f (0), f (1)};
⇒ f kann als Belegung interpretiert werden
Umgekehrt kann auch jede Belegung der Variablen x1 , . . . , xn als 2-Färbung der
Knoten x1 , . . . , xn , x 1 , . . . , x n interpretiert werden, welche sich zu einer 3-Färbung
von GL erweitern lässt.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
278
Beweis: 3-COL ist NP-vollständig – Klauselgraphen Gj
Klauselgraph Gj für Cj = aj ∨ bj ∨ cj
∨-Hilfsgraph/OR-Gadget
1
x
y
cj
aj ∨ b j
z
Für alle 3-Färbungen f mit f (y) = f (z) gilt:
aj
bj
f (x) = f (y) = f (z).
die Knoten aj , bj , cj und 1 in Gj sind dieselben, wie im Literalengraphen GL
3-Färbung f von GL lässt sich genau dann auf GL ∪ Gj erweitern, wenn f (1) = f (aj )
oder f (1) = f (bj ) oder f (1) = f (cj ), d.h. mit der Interpretation f (1) = wahr“
”
entspricht jede 3-Färbung von GL ∪ Gj einer erfüllenden Belegung von Cj .
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
279
Beweis: 3-COL ist NP-vollständig – Finale
Wir definieren Gφ = GL ∪ G1 ∪ · · · ∪ Gk , wobei
V (Gφ ) = V (GL ) ∪ V (G1 ) ∪ · · · ∪ V (Gk )
und E(Gφ ) = E(GL ) ∪ E(G1 ) ∪ · · · ∪ E(Gk ) .
⇒ |V (Gφ )| = 3 + 2n + 5k und |E(Gφ )| = 3 + 3n + 10k
polynomielle Konstruktion
Es gilt:
φ ist erfüllbar ⇔ Gφ ist 3-färbbar
⇒“ Sei x1∗ , . . . , xn∗ eine erfüllende Belegung, dann lässt sich f : V (Gφ ) → {0, 1, black}
”
mit
f (1) = 1, f (0) = 0 und f (xi ) = xi∗ für i = 1, . . . , n
zu einer 3-Färbung von Gφ erweitern, da für jedes j = 1, . . . , k Cj wahr“ belegt
”
wurde und somit entweder f (aj ) = 1 oder f (bj ) = 1 oder f (cj ) = 1 gelten muss.
⇐“ Sei f eine 3-Färbung, dann ist
”
1, falls f (xi ) = f (1)
∗
xi =
0, sonst.
eine erfüllende Belegung.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
280
Hamiltonsche Pfade und verwandte Probleme
Problem – HAMPATH
Gegeben:
Gefragt:
gerichteter Graph G = (V , A) mit A ⊆ V × V und zwei Knoten s, t ∈ V
Gibt es in G einen s-t-Pfad der jeden Knoten aus V genau einmal enth ält?
Problem – HAMCYCLE
Gegeben:
Gefragt:
gerichteter Graph G = (V , A) mit A ⊆ V × V
Gibt es in G einen gerichteten Kreis der jeden Knoten aus V genau einmal enth ält?
Problem – UHAMCYCLE
Gegeben:
Gefragt:
` ´
ungerichteter Graph G = (V , E ) mit E ⊆ V2
Gibt es in G einen Kreis der jeden Knoten aus V genau einmal enth ält?
Problem – TSP/Traveling-Salesman-Prolem/Problem des Handlungsreisenden
Gegeben:
Gefragt:
Interpretation:
n × n Matrix M = (mi,j ) ∈ Rn×n
und Zahl k
≥0
P
Existiert Permutation π : [n] → [n] mit Sπ := mπ(n),π(1) + n−1
i=1 mπ(i),π(i+1) ≤ k ?
n Städte, mij – Abstand“ zwischen i und j, π – Rundreise, Sπ – Länge der Rundreise
”
Satz 188.
3-SAT ≤P HAMPATH ≤P HAMCYCLE ≤P UHAMCYCLE ≤P TSP.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
281
Beweis: HAMPATH ≤P HAMCYCLE ≤P UHAMCYCLE ≤P TSP
HAMPATH ≤P HAMCYCLE
Für gegebenen Graphen G = (V , A), s, t, definiere G 0 = (V 0 , A 0 ) mit
V 0 := V ∪ {uneu }
A 0 := A ∪ {(t, uneu ), (uneu , s)}.
und
Es gilt: G hat s-t-Hamiltonpfad gdw. G 0 einen Hamiltonkreis enthält
HAMCYCLE ≤P UHAMCYCLE
∀u ∈ V
u
uin
uout
u0
=⇒
UHAMCYCLE ≤P TSP
Für gegebenen Graphen G = (V , E) sei o.B.d.A. V = {1, . . . , n}. Betrachte die TSP Instanz:
1, falls {i, j} ∈ E
mit k = n.
mi,j :=
2, sonst.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
282
Beweis: 3-SAT ≤P HAMPATH
Beweis: In Satz 171 zeigten wir bereits, dass HAMPATH (bzw. LHAMPATH ) in NP ist.
Es bleibt zu zeigen, dass HAMPATH NP-schwer ist. Wir zeigen 3-SAT≤P HAMPATH. Sei φ = C1 ∧ · · · ∧ Ck
eine 3-cnf Formel mit Klauseln Cj = aj ∨ bj ∨ cj , wobei aj , bj und cj Literale der Variablen x1 , . . . , xn sind.
Wir definieren einen Graphen G = Gφ mit zwei ausgezeichneten Knoten s und t der genau dann einen
hamiltonschen s-t-Pfad besitzt, wenn φ erfüllbar ist.
Jede Klausel repräsentieren wir durch einen Knoten Cj (j = 1, . . . , k ) und jede Variable xi (i = 1, . . . , n)
repräsentieren wir durch einen Graphen Xi :
si
xi
bi,1
li,1
ri,1
bi,2
ri,2
li,2
...
bi,k
li,k
ri,k
bi,k+1
xi
si+1
⇒ V (Gφ ) =
k
[
{Cj } ∪
j=1
Theoretische Informatik 2 (WS 2006/07)
n+1
[
i=1
{si } ∪
n
[
{xi , xi , bi,k+1 } ∪
i=1
n [
k
[
{bi,j , li,j , ri,j }
i=1 j=1
Komplexitätstheorie / Weitere NP-vollständige Probleme
283
Beweis: 3-SAT ≤P HAMPATH – Klauselgraphen
Beachte: Der Knoten si (2 ≤ i ≤ n − 1) kommt sowohl im Graphen Xi−1 , als auch in Xi
S
vor. D.h. ni=1 Xi ist zusammenhängend. Nun schließen wir die Klauselknoten an“.
”
x ist in Cj “: Füge die Kanten (li,j , Cj ) und (Cj , ri,j ) hinzu:
” i
bi,j
...
li,j
ri,j
Cj
...
x ist in Cj “: Füge die Kanten (ri,j , Cj ) und (Cj , li,j ) hinzu:
” i
bi,j
...
li,j
ri,j
Cj
...
Das definiert den Graphen Gφ . Da |V (Gφ )| = O(nk), ist die Größe von Gφ polynomiell
in der Größe von φ. Darüberhinaus lässt sich Gφ in polynomieller Zeit konstruieren.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
284
Beweis: 3-SAT ≤P HAMPATH – Finale
Abschließend zeigen wir:
φ ist erfüllbar
⇔
∃s-t-Hamiltonpfad in Gφ , wobei s = s1 und t = sn+1
⇒“ Sei x1∗ , . . . , xn∗ eine erfüllende Belegung. Sei s1 = v1 , v2 , . . . , vn+1+3(k +1) = sn+1
S
”
der eindeutige Hamiltonpfad in ni=1 Xi für den gilt:
αi < β i
⇔
xi∗ = 1 ,
wobei vαi = xi und vβi = x i seien.
S
Wir erweitern diesen Hamiltonpfad in ni=1 Xi zu einen Hamiltonpfad in Gφ , indem
wir für jede Klausel Cj ein wahres“ Literal aj festhalten und für j = 1, . . . , k den
”
Pfad um die Kanten
(li,j , Cj ), (Cj , ri,j ), falls aj = xi
(ri,j , Cj ), (Cj , li,j ),
falls aj = x i
erweitern.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
285
Beweis: 3-SAT ≤P HAMPATH – Finale, Teil 2
⇐“ Angenommen es gibt einen s1 -sn+1 -Hamiltonpfad in Gφ . Wir sagen der Pfad ist normal, falls
”
für alle 1 ≤ i < j ≤ n gilt, dass die Knoten aus Xi vor den Knoten aus Xj auf dem
Hamiltonpfad besucht werden.
D.h. in einem normalen Pfad werden alle Knoten von Xi fast hintereinander besucht, nur die
Klauselknoten können sich dazwischenschieben“. Von einem normalen Pfad können wir
”
leicht eine erfüllende Belegung von φ ablesen, wir setzen
1, falls xi vor xi auf dem Pfad liegt,
xi∗ =
0, sonst.
Von der Konstruktion von Xi folgt dann, dass Cj auf dem Pfad zwischen Knoten aus Xi liegt,
dann gilt entweder
xi , . . . , li,j , Cj , ri,j , . . . , xi ist ein Teilpfad ⇒ xi kommt in Cj vor und xi∗ = 1 ⇒ Cj ist wahr
oder umgekehrt
xi , . . . , ri,j , Cj , li,j , . . . , xi ist ein Teilpfad ⇒ xi kommt in Cj vor und xi∗ = 0 ⇒ Cj ist wahr.
Schließlich bleibt zu zeigen, dass es nur normale s1 -sn+1 -Hamiltonpfade in Gφ gibt. Die
einzige Möglichkeit gegen die Normalität zu verstoßen besteht darin, dass wir einen
Klauselknoten Cj von y ∈ V (Xi ) aus besuchen und von dort in den Teilgraphen Xi 0 mit i 0 6= i
springen“.
”
Sei y 0 der Knoten der unmittelbar vor y auf dem Hamiltonpfad liegt und seien z1 und z2 die
nächsten“ beiden Knoten hinter“ y zwischen xi und xi auf der von y 0 verschieden Seite. Wir
”
”
unterscheiden zwei Fälle.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
286
Beweis: 3-SAT ≤P HAMPATH – Finale, Teil 3
Fall 1 (z1 ∈ {bi,j , bi,j+1 }): D.h. z1 ist ein Pufferknoten. In diesem Fall ist z1
ausschließlich von y und z2 aus erreichbar. Da in einem Hamiltonpfad jeder Knoten
genau einmal vorkommt und von x der Knoten Cj besucht wird, kann z1 nur noch von
z2 aus besucht, aber dann nicht mehr verlassen werden. Dies widerspricht der
Tatsache, dass der Hamiltonpfad in sn+1 6= z1 endet.
Fall 2 (z2 ∈ {bi,j , bi,j+1 }): In diesem Fall gilt
{y, z1 } = {li,j , ri,j }
und z1 ist ausschließlich von y, Cj und z2 aus erreichbar. D.h. nachdem y und Cj auf
dem Hamiltonpfad besucht wurden, muss z1 und danach z2 besucht werden, sonst
lässt sich wie oben der Pfad nicht mehr zu einem Hamiltonpfad vollenden.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
287
Ganzzahlige lineare Programmierung
Problem – IP/Ganzzahlige Programmierung
Gegeben:
Gefragt:
ganzzahlige m × n Matrix A = (ai,j ) ∈ Zm×n und ganzzahliger Vektor b ∈ Zm
Existiert ganzzahliger Vektor x ∈ Zn , so dass
Ax ≥ b ,
Interpretation:
wobei ≥ komponentenweise zu verstehen ist.
Hat ein System linearer Ungleichungen eine ganzzahlige L ösung?
Satz 189.
3-SAT≤P IP.
Beweis: Seien φ = C1 ∧ · · · ∧ Ck eine 3-cnf Formel und x1 , . . . , xn die Variablen.
Die Matrix A hat eine Spalte für jedes Literal xi und xi und wir können Ax ≥ b als eine Menge linearer
Ungleichungen in den Literalen ansehen. Für jedes i = 1, . . . , n haben wir die 4 Ungleichungen
xi + x i ≥ 1
xi ≥ 0
−xi − xi ≥ −1
xi ≥ 0
Diese 4 Ungleichungen sind genau dann für ganzzahlige xi und xi erfüllt, wenn einer der beiden den Wert 0 und
das andere den Wert 1 hat. Für jede Klausel Cj = aj ∨ bj ∨ cj fügen wir dann noch die Ungleichung
aj + b j + cj ≥ 1
hinzu. Dann entspricht die Lösung des IP einer erfüllenden Belegung von φ.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
288
Bemerkungen zu IP
Bemerkung (IP ist NP-vollständig).
Es ist nicht ganz offensichtlich, dass IP in NP ist. Wir können zwar eine Lösung
raten, aber a priori ist nicht klar, ob eine solche Lösung polynomiell in der Länge
der Eingabe von A und b ist.
Mit elementaren Methoden aus der linearen Algebra lässt sich zeigen, dass, wenn
eine IP-Instanz eine Lösung hat, dann hat es auch eine deren Codierung
polynomiell in der Länge von hA, bi ist und mit dem letzten Satz folgt,
IP ist NP-vollständig.
Bemerkung (LP ist in P).
Beachte: Wenn nicht verlangt wird, dass die Lösung x der IP-Instanz ganzzahlig ist,
dann spricht man von einem sogenannten LP/linearen Programm. Für solche
Probleme sind polynomielle Algorithmen bekannt.
Theoretische Informatik 2 (WS 2006/07)
Komplexitätstheorie / Weitere NP-vollständige Probleme
289
Herunterladen