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

Ähnliche Dokumente
Probleme aus NP und die polynomielle Reduktion

Die Klasse NP und die polynomielle Reduktion

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

Kochrezept für NP-Vollständigkeitsbeweise

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Die Komplexitätsklassen P und NP

NP-vollständige Probleme

Die Komplexitätsklassen P und NP

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

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

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

Präsenzübung Berechenbarkeit und Komplexität

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

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

Konjunktive Normalform

Polynomielle Verifizierer und NP

Welche Probleme können Rechner (effizient) lösen? Die P = NP Frage. Ideen der Informatik Kurt Mehlhorn

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

Komplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben

Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

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

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

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

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

Theoretische Grundlagen der Informatik

Rekursive Aufzählbarkeit Die Reduktion

Einführung in Algorithmen und Komplexität

Approximationsalgorithmen für NP-harte Optimierungsprobleme

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Sudoku ist NP-vollständig

Kapitel L:II. II. Aussagenlogik

Mehrband-Turingmaschinen und die universelle Turingmaschine

Weitere NP-vollständige Probleme

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Theoretische Grundlagen der Informatik

Einführung in die Informatik 2

Wie komme ich von hier zum Hauptbahnhof?

Reelle Komplexität - Grundlagen II

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

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

Logik für Informatiker

Teil III. Komplexitätstheorie

Einführung in die Theoretische Informatik

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

abgeschlossen unter,,,, R,

Komplexitätstheorie Einführung und Überblick (Wiederholung)

WS 2009/10. Diskrete Strukturen

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

TU Berlin Nachklausur TheGI 2 Automaten und Komplexität (Niedermeier/Hartung/Nichterlein, Sommersemester 2012)

FORMALE SYSTEME. 25. Vorlesung: NP-Vollständigkeit. TU Dresden, 23. Januar Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Logik für Informatiker

Lösungsvorschläge Blatt Z1

Das Rucksackproblem. Definition Sprache Rucksack. Satz

Logik für Informatiker

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

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Vorlesung Kombinatorische Optimierung (Wintersemester 2007/08)

P, NP und NP -Vollständigkeit

Übungsblatt Nr. 6. Lösungsvorschlag

8 Der Kompaktheitssatz und der Satz von Löwenheim und Skolem

Laufzeit einer DTM, Klasse DTIME

Das große O. Aufwandsklasse O(g) für g : N R + enthält alle Funktionen f : N R + mit. f(n) c g(n) für alle n n 0

Teil III: Komplexitätstheorie

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil VI. Komplexitätstheorie.

Musterlösung Informatik-III-Klausur

Informatik-Grundlagen

Registermaschine (RAM), Church-Turing-These

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Skript: Exakte Exponentialzeit-Algorithmen

Grundlagen der Theoretischen Informatik

Theoretische Informatik. Probabilistische Turingmaschinen PTM PTM. Rainer Schrader. 10. Juni 2009

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Registermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Theoretische Grundlagen der Informatik

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Berechenbarkeit und Komplexität: Simulationen zwischen TM und RAM und die Church-Turing-These

Theoretische Informatik 1

Berechenbarkeitstheorie 24. Vorlesung

Grundlagen der Theoretischen Informatik

Kapitel 1.4. Exkurs: Entscheidbarkeit und Komplexität. Mathematische Logik (WS 2012/3) K. 1.4: Entscheidbarkeit und Komplexität 1/10

Einführung in die mathematische Logik

Komplexitätstheorie. Kapitel 3: P vs NP

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Nachklausur Grundlagen der Algorithmik (Niedermeier/Froese/Chen/Fluschnik, Wintersemester 2015/16)

Übungsblatt Nr. 5. Lösungsvorschlag

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13

Informatik III 4.2 NP. Christian Schindelhauer

Logik für Informatiker

Übung zur Vorlesung Berechenbarkeit und Komplexität

Künstliche Intelligenz Logische Agenten & Resolution

Transkript:

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 11. Januar 2008

Wiederholung Beispiele für Probleme in NP: CLIQUE KP-E BPP-E TSP-E Graphzusammenhang Bekannt: P NP EXPTIME Hypothese: P NP

Polynomielle Reduktion Definition (Polynomielle Reduktion) L 1 und L 2 seien zwei Sprachen über Σ 1 bzw. Σ 2. L 1 ist polynomiell reduzierbar auf L 2, wenn es eine Reduktion von L 1 nach L 2 gibt, die in polynomieller Zeit berechenbar ist. Wir schreiben L 1 p L 2. D.h. L 1 p L 2, genau dann, wenn es eine Funktion f : Σ 1 Σ 2 mit folgenden Eigenschaften gibt: f ist in polynomieller Zeit berechenbar x Σ 1 : x L 1 f (x) L 2

Polynomielle Reduktion Lemma L 1 p L 2, L 2 P L 1 P. Beweis: Die Reduktion f habe die polyn. Laufzeitschranke p( ). Sei B ein Algorithmus für L 2 mit polyn. Laufzeitschranke q( ). Algorithmus A für L 1 : 1 Berechne f (x). 2 Starte Algorithmus B für L 2 auf f (x). Schritt 1 hat Laufzeit höchstens p( x ). Schritt 2 hat Laufzeit höchstens q( f (x) ) q(p( x ) + x ).

Beispiel einer polyn. Reduktion: COLORING p SAT Die eigentliche Stärke des Reduktionsprinzips ist es, dass man Probleme unterschiedlichster Art aufeinander reduzieren kann. Problem (Knotenfärbung COLORING) Eingabe: Graph G = (V,E), Zahl k {1,..., V } Frage: Gibt es eine Färbung c : V {1,...,k} der Knoten von G mit k Farben, so dass benachbarte Knoten verschiedene Farben haben, d.h. {u,v} E : c(u) c(v). Problem (Erfüllbarkeitsproblem / Satisfiability SAT) Eingabe: Aussagenlogische Formel φ in KNF Frage: Gibt es eine erfüllende Belegung für φ?

Beispiel einer polyn. Reduktion: COLORING p SAT Satz COLORING p SAT. Beweis: Wir beschreiben eine polynomiell berechenbare Funktion f, die eine Eingabe (G,k) für das COLORING-Problem auf eine Formel φ für das SAT-Problem abbildet, mit der Eigenschaft G hat eine k-färbung φ ist erfüllbar.

Beispiel einer polyn. Reduktion: COLORING p SAT Beschreibung der Funktion f : Die Formel φ hat für jede Knoten-Farb-Kombination (v, i), v V, i {1,...,k}, eine Variable xv i. Die Formel für (G,k) lautet φ = (xv 1 xv 2... xv k ). v V } {{ } Knotenbedingung ( x i u x i v) }{{} {u,v} E i {1,...,k} Kantenbedingung Anzahl der Literale = O(k V + k E ) = O( V 3 ). Die Länge der Formel ist somit polynomiell beschränkt und die Formel kann in polynomieller Zeit konstruiert werden. Aber ist die Konstruktion auch korrekt?

Beispiel einer polyn. Reduktion: COLORING p SAT Korrektheit: zz: G hat eine k Färbung φ ist erfüllbar Sei c eine k-färbung für G. Für jeden Knoten v mit c(v) = i setzen wir x i v = 1 und alle anderen Variablen auf 0. Knotenbedingung: Offensichtlich erfüllt. Kantenbedingung: Für jede Farbe i und jede Kante {u,v} gilt x u i xi v, denn sonst hätten u und v beide die Farbe i. Damit erfüllt diese Belegung die Formel φ.

Beispiel einer polyn. Reduktion: COLORING p SAT zz: φ ist erfüllbar G hat eine k Färbung Fixiere eine beliebige erfüllende Belegung für φ. Wegen der Knotenbedingung gibt es für jeden Knoten v mindestens eine Farbe mit x i v = 1. Für jeden Knoten wähle eine beliebige derartige Farbe aus. Sei {u,v} E. Wir behaupten c(u) c(v). Zum Widerspruch nehmen wir an, c(u) = c(v) = i. Dann wäre x i u = xi v = 1 und die Kantenbedingung xi u xi v wäre verletzt.

Beispiel einer polyn. Reduktion: COLORING p SAT COLORING p SAT impliziert die folgenden beiden Aussagen. Korollar Wenn SAT einen Polynomialzeitalgorithmus hat, so hat auch COLORING einen Polynomialzeitalgorithmus. Korollar Wenn COLORING keinen Polynomialzeitalgorithmus hat, so hat auch SAT keinen Polynomialzeitalgorithmus.

NP-harte Probleme 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.

NP-vollständige Probleme Definition (NP-Vollständigkeit) Ein Problem L heißt NP-vollständig, falls gilt 1 L NP, und 2 L ist NP-hart. 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.

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.

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.

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(x) ein Polynom, so dass M eine Eingabe x genau dann akzeptiert, wenn es einen Rechenweg gibt, der nach p( x ) Schritten im Zustand q accept ist.

Beweis des Satzes von Cook und Levin Beobachtung: Sei K 0 = q 0 x die Startkonfiguration von M. M akzeptiert genau dann, wenn es 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.

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.

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.

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, dass genau eine der Variablen y i den Wert 1 annimmt: (y 1... y m ) i j (y i y j ) Wie kann diese Formel in KNF gebracht werden? 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 KNF in polynomiell beschränkter Länge kodiert werden.

Beweis des Satzes von Cook und Levin Wir betrachten nun nur noch Belegungen, die die Teilformeln φ 0,...,φ p(n) erfüllen und somit Konfigurationen K 0,...,K p(n) beschreiben. 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 besteht aus zwei Arten von Teilformeln...

Beweis des Satzes von Cook und Levin Zunächst beschreiben wir eine Teilformel, welche festlegt, 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. Kodierung von Konfigurationsübergängen an Nicht-Kopfpositionen: p(n) i=0 z Γ ((S(t 1,i,z) H(t 1,i)) S(t,i,z)) Wie kann diese Formel in KNF gebracht werden?...

Beweis des Satzes von Cook und Levin Für den Konfiguationsübergang müssen wir außerdem beschreiben, dass an der Kopfposition der richtige δ-übergang realisiert wird. Kodierung von Konfigurationsübergängen an der Kopfposition: Die folgende Teilformel wird für alle k Q, j {0,...,p( x ) 1} und a Γ benötigt: (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 kann diese Formel in KNF gebracht werden?... Damit ist die Beschreibung von φ t abgeschlossen.

Beweis des Satzes von Cook und Levin Die vollständige Formel φ lautet nun Q(0,q 0 ) H(0,0) p(n) i=0 n S(0,i,x i ) i=0 φ i p(n) i=1 p(n) i=n+1 S(0,i,B) φ i Q(p(n),q accept ). Gemäß unserer Konstruktion ist φ genau dann erfüllbar, wenn es eine akzeptierende Konfigurationsfolge für M auf x der Länge p( x ) gibt.

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.

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.

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.