Kochrezept f¨ ur NP-Vollst¨ andigkeitsbeweise
Prof. Dr. Berthold V¨ocking Lehrstuhl Informatik 1 Algorithmen und Komplexit¨at
RWTH Aachen
14. Januar 2011
Kochrezept f¨ ur NP-Vollst¨ andigkeitsbeweise
Um Nachzuweisen, dass SAT NP-hart ist, haben wir in einer
”Master-Reduktion“ alle Probleme aus NP auf SAT reduziert.
Die NP-Vollst¨andigkeit von SAT k¨onnen wir jetzt verwenden, um nachzuweisen, dass weitere Probleme NP-hart sind.
Lemma
L∗ NP-hart, L∗≤pL ⇒ LNP-hart.
Beweis:Gem¨aß Voraussetzung gilt∀L0∈NP :L0 ≤pL∗ und L∗ ≤pL. Aufgrund der Transitivit¨at der polynomiellen Reduktion
folgt somit∀L0 ∈NP :L0≤pL.
NP-Vollst¨ andigkeit von 3SAT
Eine Formel ink-KNF besteht nur aus Klauseln mit jeweilsk Literalen, sogenanntenk-Klauseln.
Problem (3SAT)
Eingabe: Aussagenlogische Formelφin 3-KNF Frage: Gibt es eine erf¨ullende Belegung f¨ur φ?
3SAT ist ein Spezialfall von SAT und deshalb wie SAT in NP.
Um zu zeigen, dass 3SAT ebenfalls NP-vollst¨andig ist, m¨ussen wir also nur noch die NP-H¨arte von 3SAT nachweisen.
Dazu zeigen wir SAT ≤p 3SAT.
SAT ≤
p3SAT
Lemma
SAT≤p 3SAT.
Beweis:
Gegeben sei eine Formel φin KNF.
Wir transformieren φin eineerf¨ullbarkeits¨aquivalente Formel φ0 in 3KNF, d.h.
φ ist erf¨ullbar ⇔ φ0 ist erf¨ullbar.
Aus einer 1- bzw 2-Klausel k¨onnen wir leicht eine ¨aquivalente 3-Klausel machen, indem wir ein Literal wiederholen.
Was machen wir aber mit k-Klauseln f¨urk >3?
SAT ≤
p3SAT
Sei k ≥4 und C eine k-Klausel der Form C = `1∨`2∨`3· · · ∨`k .
In einer Klauseltransformationersetzen wir C durch die Teilformel
C0 = (`1∨ · · · ∨`k−2∨h)∧(¯h∨`k−1∨`k) , wobei h eine zus¨atzlich eingef¨uhrte Hilfsvariable bezeichnet.
Nachweis der Erf¨ ullbarkeits¨ aquivalenz
Nachweis der Erf¨ullbarkeits¨aquivalenz:
φ0 sei aus φentstanden durch Ersetzen vonC durch C0. zz:φerf¨ullbar⇒ φ0 erf¨ullbar
Sei B eine erf¨ullende Belegung f¨ur φ.
B weist mindestens einem Literal ausC hat den Wert 1 zu.
Wir unterscheiden zwei F¨alle:
1) Falls`1∨ · · · ∨`k−2erf¨ullt ist, so istφ0 erf¨ullt, wenn wirh= 0 setzen.
2) Falls`k−1∨`k erf¨ullt ist, so istφ0 erf¨ullt, wenn wirh= 1 setzen.
Also ist φ0 in beiden F¨allen erf¨ullbar.
Nachweis der Erf¨ ullbarkeits¨ aquivalenz
zz:φ0 erf¨ullbar⇒ φerf¨ullbar
Sei B nun eine erf¨ullende Belegung f¨ur φ0. Wir unterscheiden wiederum zwei F¨alle:
FallsB der Variablehden Wert 0 zuweist, so mussB einem der Literale`1, . . . , `k−2den Wert 1 zugewiesen haben.
FallsB der Variablehden Wert 0 zuweist, so mussB einem der beiden Literale`3 oder`4den Wert 1 zugewiesen haben.
In beiden F¨allen erf¨ullt B somit auchφ.
SAT ≤
p3SAT
Durch Anwendung der Klauseltransformation entstehen aus einer k-Klausel eine (k−1)-Klausel und eine 3-Klausel.
Nach k−3 Iterationen sind aus einerk Klausel somitk−2 viele 3-Klauseln entstanden.
Diese Transformation wird solange auf die eingegebene Formel φangewandt, bis die Formel nur noch 3-Klauseln enth¨alt.
Wenn n die Anzahl der Literale in φist, so werden insgesamt h¨ochstensn−3 Klauseltransformationen ben¨otigt.
Die Laufzeit ist somit polynomiell beschr¨ankt.
Korollar
3SAT istNP-vollst¨andig.
SAT ≤
p3SAT
Beispiel f¨ur die Klauseltransformation:
Aus der 5 Klausel
x1∨¯x2∨x3∨x4∨x¯5
wird in einem ersten Transformationsschritt die Teilformel (x1∨¯x2∨x3∨h1) ∧ (¯h1∨x4∨¯x5) , also eine 4- und eine 3-Klausel. Auf die 4-Klausel wird die Transformation erneut angewandt. Wir erhalten die Teilformel
(x1∨¯x2∨h2) ∧ (¯h2∨x3∨h1) ∧ ( ¯h1∨x4∨x¯5) , die nur noch 3-Klauseln enth¨alt.
NP-Vollst¨ andigkeit von CLIQUE
Wie erinnern uns an das Cliquenproblem.
Problem (CLIQUE)
Eingabe:Graph G = (V,E), k ∈ {1, . . . ,|V|}
Frage:Gibt es eine k-Clique?
Satz
CLIQUE istNP-vollst¨andig.
Beweis der NP-Vollst¨ andigkeit von CLIQUE
Da wir schon wissen, dass das Cliquenproblem in NP ist, m¨ussen wir zum Nachweis der NP-Vollst¨andigkeit nur noch die NP-H¨arte nachweisen.
Dazu zeigen wir 3SAT≤p CLIQUE.
Wir beschreiben eine polynomiell berechenbare Funktionf, die eine 3-KNF-Formelφin einen GraphenG = (V,E) und eine Zahl k∈Ntransformiert, so dass gilt:
φist erf¨ullbar ⇔ G hat einek-Clique .
Beweis der NP-Vollst¨ andigkeit von CLIQUE
Beschreibung der Funktionf:
Seien C1, . . . ,Cm die Klauseln vonφ.
Seien `i,1, . . . , `i,3 die Literale in KlauselCi. Identifiziere Literale und Knoten, d.h. setze
V = {`i,j |1≤i ≤m,1≤j ≤3} . Jedes Knotenpaar wird durch eine Kante verbunden, mit folgenden Ausnahmen:
1) die assoziierten Literale geh¨oren zur selben Klausel oder 2) eines der beiden Literale ist die Negierung des anderen Literals.
Setzek =m.
Beweis der NP-Vollst¨ andigkeit von CLIQUE
Beispiel:φ = (x1∨¯x2∨¯x3)∧(x2∨x¯3∨x4)∧(x3∨x2∨x¯1)
Beweis der NP-Vollst¨ andigkeit von CLIQUE
Korrektheit der Transformation:
zz:φerf¨ullbar⇒ G hat m-Clique
Jede erf¨ullende Belegung erf¨ullt in jeder Klausel mindestens ein Lite- ral. Pro Klausel w¨ahle eines dieser erf¨ullten Literale beliebig aus. Sei U die Menge dieser Literale. Wir behaupten,U ist eine m-Clique.
Begr¨undung:
Per Definition ist|U|=m.
Seien `und `0 zwei unterschiedliche Literale ausU. Ausnahme 1 trifft auf `und `0 nicht zu, da sie aus verschiedenen Klauseln sind.
Ausnahme 2 trifft auf `und `0 nicht zu, da sie gleichzeitig erf¨ullt sind.
Also gibt es eine Kante zwischen `und `0.
Beweis der NP-Vollst¨ andigkeit von CLIQUE
zz:G hat m-Clique⇒ φerf¨ullbar Sei U einem-Clique inG.
Aufgrund von Ausnahmeregel 1 geh¨oren die Literale in U zu verschiedenen Klauseln.
U enth¨alt somit genau ein Literal pro Klausel in φ.
Diese Literale k¨onnen alle gleichzeitig erf¨ullt werden, da sie sich wegen Ausnahmeregel 2 nicht widesprechen.
Also ist φerf¨ullbar.
Die Laufzeit vonf ist offensichtlich polynomiell beschr¨ankt.