NP-Vollständigkeit des Erfüllbarkeitsproblems

Ähnliche Dokumente
Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin

Kochrezept für NP-Vollständigkeitsbeweise

NP-Vollständigkeit und der Satz von Cook und Levin

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Die Klasse NP und die polynomielle Reduktion

NP-Vollständigkeit einiger Zahlprobleme

Probleme aus NP und die polynomielle Reduktion

Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

NP-vollständige Probleme

Willkommen zur Vorlesung Komplexitätstheorie

Logik für Informatiker

Die Komplexitätsklassen P und NP

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

13. Woche: NP-Vollständigkeit Satz von Cook-Levin Anwendungen in der Kryptographie

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Logik für Informatiker

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.

Berechenbarkeits- und Komplexitätstheorie

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Konjunktive Normalform

VL-18: Jenseits von P und NP. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder

Vorname Name Matrikelnummer 1. a) Benennen Sie die übrigen 6 Komponenten einer nicht-deterministischen Turingmaschine (TM): (3 Punkte)

Organisatorisches. VL-18: Jenseits von P und NP. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Rucksackproblem und Verifizierbarkeit

Wie man das Poissonsche Problem löst

Übung Theoretische Grundlagen

VL-13: Polynomielle Reduktionen. (Berechenbarkeit und Komplexität, WS 2018) Gerhard Woeginger

Einige Grundlagen der Komplexitätstheorie

Wissenschaftliche Arbeitstechniken und Präsentation. NP-Vollständigkeit

Die Komplexitätsklassen P und NP

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1

Theoretische Grundlagen der Informatik

Präsenzübung Berechenbarkeit und Komplexität

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Übungsblatt 4. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Einführung in die Informatik 2

Vorlesung VL-13. P versus NP. Wdh.: LOOP versus WHILE. Korrektur: Primitiv rekursive Funktionen (2) Wdh.: Kostenmodelle der RAM

Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine

Theoretische Grundlagen der Informatik

14. Die polynomiell beschränkten Komplexitätsklassen. Die Grenzen der tatsächlichen Berechenbarkeit

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

VL-17: Jenseits von P und NP. (Berechenbarkeit und Komplexität, WS 2018) Gerhard Woeginger

Theoretische Informatik 1

Theoretische Grundlagen der Informatik

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Mehrband-Turingmaschinen und die universelle Turingmaschine

6.3 NP-Vollständigkeit. alle anderen Probleme in NP darauf polynomiell reduzierbar. 1 Polynomielle Reduzierbarkeit p

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP

Kapitel L:II. II. Aussagenlogik

Theoretische Informatik Mitschrift

Informatik III - WS07/08

Grundlagen der Theoretischen Informatik

THEORETISCHE INFORMATIK UND LOGIK

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Das Rucksackproblem: schwache NP-Härte und Approximation

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

Polynomielle Verifizierer und NP

NP-vollst. u. NP-äquiv. Probleme

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Rekursive Aufzählbarkeit Die Reduktion

Formale Systeme. Das Erfu llbarkeitsproblem. Prof. Dr. Bernhard Beckert, WS 2017/2018

Übungsblatt 5. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Reelle Komplexität - Grundlagen II

Algorithmen und Komplexität

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 13

Zusammenfassung. Warum polynomielle Reduktionen? Definition NP-vollständig [K5.1.1] NP-Vollständigkeitstheorie [K5]

Übungsblatt 4. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Einführung in die Informatik 2

Willkommen zur Vorlesung Komplexitätstheorie

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

Kurt Mehlhorn und Adrian Neumann Max Planck Institute for Informatics and Saarland University 1. Dezember 2013

Theoretische Informatik II

Das P=NP-Problem. Besitzen (Entscheidungs-)Probleme mit einer Nichtdeterministischen. deterministische Polynomielle Lösung?

Weitere NP-vollständige Probleme

Abbildung 1: Reduktion: CLIQUE zu VERTEX-COVER. links: Clique V = {u, v, x, y}. rechts:der Graph Ḡ mit VC V \ V = {w, z}

Einführung in Algorithmen und Komplexität

Theoretische Grundlagen der Informatik. Vorlesung am 27. November INSTITUT FÜR THEORETISCHE INFORMATIK

Grundbegriffe für dreiwertige Logik

Theoretische Grundlagen der Informatik

Die Reduktion Hilberts 10. Problem

Wie komme ich von hier zum Hauptbahnhof?

Resolutionskalkül. wird t als eine Menge K t von Klauseln geschrieben, welche die einzelnen Maxterme repräsentieren:

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0

Theoretische Grundlagen der Informatik

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Formale Grundlagen der Informatik 1 Kapitel 16 Normalformen und Hornformeln

Komplexitätstheorie P versus NP

Komplexitätstheorie 2

Transkript:

NP-Vollständigkeit des Erfüllbarkeitsproblems Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 25

Def: NP-Härte Definition (NP-Härte) Ein Problem L heißt NP-hart, wenn L NP : L p L. Satz L NP-hart, L P P = NP Beweis: Polyzeitalgo für L liefert Polyzeitalgo für alle L NP. Fazit: NP-harte Probleme haben keine Polyzeitalgo, es sei denn P= NP. 2 / 25

Def: NP-Vollständigkeit Definition (NP-Vollständigkeit) Ein Problem L heißt NP-vollständig, falls gilt 1 L NP, und 2 L ist NP-hart. Die Klasse der NP-vollständigen Probleme wird mit NPC bezeichnet. Wir werden zeigen, dass SAT, CLIQUE, KP-E, BPP-E, TSP-E und viele weitere Probleme NP-vollständig sind. Keines dieser Probleme hat somit einen Polynomialzeitalgorithmus; es sei denn P= NP. 3 / 25

NP-Vollständigkeit des Erfüllbarkeitsproblems Der Ausgangspunkt für unsere NP-Vollständigkeitsbeweise ist das Erfüllbarkeitsproblem. Satz (Cook und Levin) SAT ist NP-vollständig. SAT hat somit keinen Polynomialzeitalgorithmus; es sei denn P = NP. 4 / 25

Beweis des Satzes von Cook und Levin Offensichtlich gilt SAT NP, denn die erfüllende Belegung kann als Zertifikat verwendet werden. Wir müssen also nur noch zeigen, dass SAT NP-hart ist. Sei L Σ ein Problem aus NP. Wir müssen zeigen L p SAT. Dazu konstruieren wir eine polynomiell berechenbare Funktion f, die jedes x Σ auf eine Formel φ abbildet, so dass gilt x L φ SAT. 5 / 25

Beweis des Satzes von Cook und Levin M sei eine NTM, die L in polynomieller Zeit erkennt. Wir zeigen M akzeptiert x φ SAT. Eigenschaften von M O.B.d.A. besuche M keine Bandpositionen links von der Startposition. Eine akzeptierende Rechnung von M gehe in den Zustand q accept über und bleibt dort in einer Endlosschleife. Sei p( ) ein Polynom, so dass M eine Eingabe x genau dann akzeptiert, wenn es einen Rechenweg gibt, der nach p(n) Schritten im Zustand q accept ist, wobei n die Länge von x bezeichne. 6 / 25

Beweis des Satzes von Cook und Levin Beobachtung: Sei K 0 = q 0 x die Startkonfiguration von M. M akzeptiert genau dann, wenn es einen Rechenweg, d.h. eine mögliche Konfigurationsfolge K 0 K 1 K p(n) gibt, bei der K p(n) im Zustand q accept ist. Weiteres Vorgehen: Wir konstruieren die Formel φ derart, dass φ genau dann erfüllbar ist, wenn es eine solche akzeptierende Konfigurationsfolge gibt. 7 / 25

Beweis des Satzes von Cook und Levin Variablen in φ Q(t, k) für t {0,..., p(n)} und k Q H(t, j) für t, j {0,..., p(n)} S(t, j, a) für t, j {0,..., p(n)} und a Γ Interpretation der Variablen: Die Belegung Q(t, k) = 1 soll besagen, dass sich die Rechnung zum Zeitpunkt t im Zustand k befindet. Die Belegung H(t, j) = 1 steht dafür, dass sich der Kopf zum Zeitpunkt t an Bandposition j befindet. die Belegung S(t, j, a) = 1 bedeutet, dass zum Zeitpunkt t an Bandposition j das Zeichen a geschrieben steht. 8 / 25

Beweis des Satzes von Cook und Levin Kodierung einzelner Konfigurationen in der Teilformel φ t : Für jedes t {0,..., p(n)}, benötigen wir eine Formel φ t, die nur dann erfüllt ist, wenn es 1 genau einen Zustand k Q mit Q(t, k) = 1 gibt, 2 genau eine Bandposition j {0,..., p(n)} mit H(t, j) = 1 gibt, und 3 für jedes j {0,..., p(n)} jeweils genau ein Zeichen a Γ mit S(t, j, a) = 1 gibt. 9 / 25

Beweis des Satzes von Cook und Levin Erläuterung zur Formel φ t : Für eine beliebige Variablenmenge {y 1,..., y m } besagt das folgende Prädikat in KNF, dass genau eine der Variablen y i den Wert 1 annimmt: (y 1... y m ) i j(ȳ i ȳ j ) Die Anzahl der Literale in dieser Formel ist quadratisch in der Anzahl der Variablen. Die drei Anforderungen können also jeweils durch eine Formel in polynomiell beschränkter Länge kodiert werden. Wir betrachten nun nur noch Belegungen, die die Teilformeln φ 0,..., φ p(n) erfüllen und somit Konfigurationen K 0,..., K p(n) beschreiben. 10 / 25

Beweis des Satzes von Cook und Levin Als nächstes konstruieren wir eine Formel φ t für 1 t p(n), die nur für solche Belegungen erfüllt ist, bei denen K t eine direkte Nachfolgekonfiguration von K t 1 ist. Die Formel φ t kodiert zwei Eigenschaften: 1 Die Bandinschrift von K t stimmt an allen Positionen außer der Kopfposition (zum Zeitpunkt t 1) mit der Inschrift von K t 1 überein. 2 Zustand, Kopfposition und Bandinschrift an der Kopfposition verändern sich gemäß der Übergangsrelation δ. 11 / 25

Beweis des Satzes von Cook und Levin Die Eigenschaft, dass die Bandinschrift von K t an allen Positionen außer der Kopfposition (zum Zeitpunkt t 1) mit der Inschrift von K t 1 übereinstimmt, kann wie folgt kodiert werden: p(n) i=0 z Γ ((S(t 1, i, z) H(t 1, i)) S(t, i, z)) Dabei steht A B für A B. D.h. die Formel lautet eigentlich p(n) i=0 z Γ ( (S(t 1, i, z) H(t 1, i)) S(t, i, z)) Das De Morgansche Gesetz besagt, dass (A B) äquivalent ist zu A B. Dadurch ergibt sich folgende Teilformel in KNF p(n) i=0 z Γ ( S(t 1, i, z) H(t 1, i) S(t, i, z)) 12 / 25

Beweis des Satzes von Cook und Levin Für die Eigenschaft, dass Zustand, Kopfposition und Bandinschrift an der Kopfposition sich gemäß der Ubergangsrelation δ verändern, ergänzen wir für alle k Q, j {0,..., p(n) 1} und a Γ die folgende Teilformel (Q(t 1, k) H(t 1, j) S(t 1, j, a)) (Q(t, k ) H(t, j + κ) S(t, j, a )), (k,a,k,a,κ) δ wobei κ die Werte L = 1, N = 0 und R = 1 annehmen kann. Wie lässt sich diese Teilformel in die KNF transformieren? 13 / 25

Beweis des Satzes von Cook und Levin Ersetzen von A B durch A B und Anwenden des De Morganschen Gesetzes ergibt die Teilformel Q(t 1, k) H(t 1, j) S(t 1, j, a)) (Q(t, k ) H(t, j + κ) S(t, j, a )), (k,a,k,a,κ) δ wobei κ die Werte L = 1, N = 0 und R = 1 annehmen kann. Jetzt müssen noch die inneren -Verknüpfungen ausmultipliziert werden, d.h. wir ersetzten wiederholt eine Formel der Form X (A B C) durch eine äquivalente Formel (X A) (X B) (X C) bis wir eine Formel in KNF erhalten. Damit ist die Beschreibung von φ t abgeschlossen. 14 / 25

Beweis des Satzes von Cook und Levin Die Gesamtformel φ ergibt sich nun wie folgt: Q(0, q 0 ) H(0, 0) p(n) i=0 φ i n S(0, i, x i ) i=0 p(n) i=1 p(n) i=n+1 S(0, i, B) φ i Q(p(n), q accept ) Die Länge von φ ist polynomiell beschränkt in n, und φ ist effizient aus x berechenbar. Gemäß unserer Konstruktion ist φ genau dann erfüllbar, wenn es eine akzeptierende Konfigurationsfolge für M auf x der Länge p(n) gibt. 15 / 25

Kochrezept für NP-Vollständigkeitsbeweise Um Nachzuweisen, dass SAT NP-hart ist, haben wir in einer Master-Reduktion alle Probleme aus NP auf SAT reduziert. Die NP-Vollständigkeit von SAT können wir jetzt verwenden, um nachzuweisen, dass weitere Probleme NP-hart sind. Lemma L NP-hart, L p L L NP-hart. Beweis: Gemäß Voraussetzung gilt L NP : L p L und L p L. Aufgrund der Transitivität der polynomiellen Reduktion folgt somit L NP : L p L. 16 / 25

NP-Vollständigkeit von 3SAT Eine Formel in k-knf besteht nur aus Klauseln mit jeweils k Literalen, sogenannten k-klauseln. Problem (3SAT) Eingabe: Aussagenlogische Formel φ in 3-KNF Frage: Gibt es eine erfüllende Belegung für φ? 3SAT ist ein Spezialfall von SAT und deshalb wie SAT in NP. Um zu zeigen, dass 3SAT ebenfalls NP-vollständig ist, müssen wir also nur noch die NP-Härte von 3SAT nachweisen. Dazu zeigen wir SAT p 3SAT. 17 / 25

SAT p 3SAT Lemma SAT p 3SAT. Beweis: Gegeben sei eine Formel φ in KNF. Wir transformieren φ in eine erfüllbarkeitsäquivalente Formel φ in 3KNF, d.h. φ ist erfüllbar φ ist erfüllbar. Aus einer 1- bzw 2-Klausel können wir leicht eine äquivalente 3-Klausel machen, indem wir ein Literal wiederholen. Was machen wir aber mit k-klauseln für k > 3? 18 / 25

SAT p 3SAT Sei k 4 und C eine k-klausel der Form C = l 1 l 2 l 3 l k. In einer Klauseltransformation ersetzen wir C durch die Teilformel C = (l 1 l k 2 h) ( h l k 1 l k ), wobei h eine zusätzlich eingeführte Hilfsvariable bezeichnet. 19 / 25

SAT p 3SAT Beispiel für die Klauseltransformation: Aus der 5 Klausel x 1 x 2 x 3 x 4 x 5 wird in einem ersten Transformationsschritt die Teilformel (x 1 x 2 x 3 h 1 ) ( h 1 x 4 x 5 ), also eine 4- und eine 3-Klausel. Auf die 4-Klausel wird die Transformation erneut angewandt. Wir erhalten die Teilformel (x 1 x 2 h 2 ) ( h 2 x 3 h 1 ) ( h 1 x 4 x 5 ), die nur noch 3-Klauseln enthält. 20 / 25

SAT p 3SAT Nachweis der Erfüllbarkeitsäquivalenz: φ sei aus φ entstanden durch Ersetzen von C durch C. zz: φ erfüllbar φ erfüllbar Sei B eine erfüllende Belegung für φ. B weist mindestens einem Literal aus C hat den Wert 1 zu. Wir unterscheiden zwei Fälle: 1) Falls l 1 l k 2 erfüllt ist, so ist φ erfüllt, wenn wir h = 0 setzen. 2) Falls l k 1 l k erfüllt ist, so ist φ erfüllt, wenn wir h = 1 setzen. Also ist φ in beiden Fällen erfüllbar. 21 / 25

SAT p 3SAT zz: φ erfüllbar φ erfüllbar Sei B nun eine erfüllende Belegung für φ. Wir unterscheiden wiederum zwei Fälle: Falls B der Variable h den Wert 0 zuweist, so muss B einem der Literale l 1,..., l k 2 den Wert 1 zugewiesen haben. Falls B der Variable h den Wert 0 zuweist, so muss B einem der beiden Literale l 3 oder l 4 den Wert 1 zugewiesen haben. In beiden Fällen erfüllt B somit auch φ. 22 / 25

SAT p 3SAT Durch Anwendung der Klauseltransformation entstehen aus einer k-klausel eine (k 1)-Klausel und eine 3-Klausel. Nach k 3 Iterationen sind aus einer k Klausel somit k 2 viele 3-Klauseln entstanden. Diese Transformation wird solange auf die eingegebene Formel φ angewandt, bis die Formel nur noch 3-Klauseln enthält. Wenn n die Anzahl der Literale in φ ist, so werden insgesamt höchstens n 3 Klauseltransformationen benötigt. Die Laufzeit ist somit polynomiell beschränkt. Korollar 3SAT ist NP-vollständig. 23 / 25

Karps Liste mit 21 NP-vollständigen Problemen SAT CLIQUE SET PACKING VERTEX COVER SET COVERING FEEDBACK ARC SET FEEDBACK NODE SET DIRECTED HAMILTONIAN CIRCUIT UNDIRECTED HAMILTONIAN CIRCUIT Die Schachtelungstiefe beschreibt den Weg der Reduktionen, wie Karp sie in seinem Artikel geführt hat. 24 / 25

Karps Liste mit 21 NP-vollständigen Problemen SAT 0-1 INTEGER PROGRAMMING 3SAT CHROMATIC NUMBER (COLORING) CLIQUE COVER EXACT COVER 3-dimensional MATCHING STEINER TREE HITTING SET KNAPSACK JOB SEQUENCING PARTITION MAX-CUT Es gibt noch tausende weitere bekannte NP-vollständige Probleme. 25 / 25