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

Ähnliche Dokumente
Erfüllbarkeitsprobleme. Begriffe. Varianten von SAT

Rechenzeit für A. Sei t B die Rechenzeit eines Algo für B. Seien p,q,r monotone Polynome ( +).

Dank. Theoretische Informatik II. Teil VI. Vorlesung

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

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

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

NP-Vollständigkeit einiger Zahlprobleme

Kochrezept für NP-Vollständigkeitsbeweise

Willkommen zur Vorlesung Komplexitätstheorie

Probleme aus NP und die polynomielle Reduktion

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

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

Die Klasse NP und die polynomielle Reduktion

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

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

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

Theoretische Grundlagen der Informatik

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

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

Theoretische Grundlagen der Informatik

NP-Vollständigkeit des Erfüllbarkeitsproblems

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

Informatik III - WS07/08

NP Vollständigkeit. Patryk Mazur

Algorithmen und Komplexität

Weitere NP-vollständige Probleme

Das Rucksackproblem. Definition Sprache Rucksack. Satz

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

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

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Arbeitsheft zur NP-Vollständigkeit

Berechenbarkeitstheorie 24. Vorlesung

Übung Theoretische Grundlagen

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

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

Das Rucksackproblem: schwache NP-Härte und Approximation

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

Grundlagen der Theoretischen Informatik

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

Einführung in Algorithmen und Komplexität

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

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

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

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

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

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

Wie komme ich von hier zum Hauptbahnhof?

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Wie man das Poissonsche Problem löst

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

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

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

Komplexitätstheorie P versus NP

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP

Einführung Erfüllbarkeitsproblem NP-Vollständigkeit Definition von NP Was wäre, wenn Was tun? Ideen und Konzepte der Informatik.

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Knoten-Partitionierung in feste Eigenschaften ist NP-schwer

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

durch Einfügen von Knoten konstruiert werden kann.

Konjunktive Normalform

Grundlagen der Theoretischen Informatik

Einführung in die Informatik 2

Theoretische Informatik II

3-Färbbarkeit. Korollar: Zu Entscheiden, ob ein Graph k-färbbar ist mit k 3, ist NP-vollständig.

Einführung in die Informatik 2

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

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

THEORETISCHE INFORMATIK UND LOGIK

Vorlesung Theoretische Informatik (Info III)

Rucksackproblem und Verifizierbarkeit

Willkommen zur Vorlesung Komplexitätstheorie

Algorithmen II Vorlesung am

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Gliederung. 1. Einführung. 2. Polynominal Reduktion und NP-Vollständigkeit. 3. Geschichte. 4. Reale Probleme und Lösungsansetze 5.

Einige Grundlagen der Komplexitätstheorie

Theoretische Informatik SS 03 Übung 11

Lösungen zur Ergänzung 12

Kapitel L:II. II. Aussagenlogik

Randomisierte Algorithmen Algorithmen, die Zufallsbits benutzen können. Fehlerfreie Algorithmen (Las-Vegas-Alg)

Willkommen zur Vorlesung Komplexitätstheorie

Komplexitätsklasse P. Manchmal wird mit P auch nur die Menge der Entscheidungsprobleme mit Polynomialzeitalgorithmen bezeichnet.

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

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Algorithmische Spieltheorie

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

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

Sudoku ist NP-vollständig

Registermaschine. c(1) c(2) c(3) c(4) Speicher. Programm

Willkommen zur Vorlesung Komplexitätstheorie

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

Übung zur Vorlesung Diskrete Strukturen I

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

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

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Komplexitätstheorie. Kapitel 3: P vs NP

Transkript:

NP-vollst. u. NP-äquiv. Probleme Literatur: Kapitel K6. Ziel: Weitere Probleme kennen lernen (und damit weitere Basisprobleme für eigene Reduktionen) Weitere Beispiele für NP-Vollständigkeitsbeweise kennen lernen. 235

Bisher bewiesen (vgl. Folie 189) Partition p BP SAT = p 3-SAT p p IS = p Clique = p VC DHC = p HC = p TSP 2,,sym NP-vollständig 2-SAT P (Übungen) 236

Folgerung Die Optimierungsvarianten von IS, Clique, VC und TSP sind NP-äquivalent. 237

Rucksackprobleme [K6.3] Subset Sum Problem (SSS) Eingabe: Zahlen a 1,...,a n, G. Frage: Gibt es eine Menge I {1,...,n}, so dass i I a i = G? Satz K6.3.1: SSS ist NP-vollständig. Beweis: 1. SSS NP. 2. Reduktion von 3-SAT. Reduktion mit verbundenen Komponenten 238

3. Angabe der Funktion f. Eingabe für 3-SAT: Variablen x 1,...,x n, Klauseln C 1,...,C m. Zahlen der SSS-Eingabe: - n+m Ziffern in Dezimaldarstellung. - Für jede Variable x i zwei Zahlen a i und b i : C 1 C 2... C j... C m... x i... a i 1 0 0 0 1 0 0 b i 1 0 0 0 1 0 0 x 1 x 2 falls C j x i enthält falls C j x i enthält x n 239

Für jede Variable x i : C 1 C 2... C j... C m... x i... a i 1 0 0 0 1 0 0 b i 1 0 0 0 1 0 0 Für jede Klausel C j : d j C 1 C 2... C j... C m 0 0 0 1 0 0 0 0 0 0 0 0 e j 0 0 0 1 0 0 0 0 0 0 0 0 Summe G: G C 1 3 x 1 x 1 x 1 x 2 x 2 x 2... x i... x n x n C 2... C j... C m... x i... 3 3 3 3 3 1 1 1 1 1 1 x n 240

C 1 x 4 b 1 1 1 1 a 2 1 1 a 3 1 1 1 1 a 4 1 1 1 1 1 1 1 2 3 2 1 1 1 d 1 e 1 1 e 2 d 4 1 3 C 2 3 C 3 3 C 4 3 x 1 1 x 2 1 x 3 1 1 C 1 = x 1 x 2 x 3, C 2 = x 1 x 2 x 4, C 3 = x 1 x 3 x 4, C 4 = x 2 x 3 x 4. 241

Korrektheit : Sei z=(z 1,...,z n ) erfüllende Belegung. Wähle die Zahl a i, falls z i =1, b i, falls z i =0. Summe für Variablenstellen stimmt. Da z erfüllend, sind in jedem C j 1, 2 oder 3 Literale erfüllt. 1 erfülltes Literal: Wähle d j und e j. 2 erfüllte Literale: Wähle d j. Summe für die Klauselstellen stimmt. 242

Korrektheit : Sei Auswahl der Zahlen mit Summe G gegeben. Falls a i gewählt: z i =1. Falls b i gewählt: z i =0. Behauptung: Dies ist erfüllende Belegung. a i und b i können nicht beide gewählt sein. Für jede Klausel C j muss mindestens eine 1 von einem a i oder b i kommen Zugehöriges Literal erfüllt. 243

Spezialfälle/Restriktionen Allgemein gilt: Sei A NP, sei B NP-vollständig und ein Spezialfall von A. Dann ist auch A NPvollständig. Beweis: Es ist B p A: Spezialfall bedeutet: Eine Eingabe für A entsteht aus einer Eingabe für B durch Konstantsetzen einiger Teile. Diese Abbildung ist als Funktion f der Reduktion geeignet. 244

Rucksackproblem Knapsack (KP) Eingabe: n Objekte mit Nutzenwerten a 1,...,a n und Gewichten g 1,...,g n, Gesamtgewicht G, Nutzenschranke B. Frage: Gibt es eine Auswahl der Objekte mit Nutzen mindestens B und Gesamtgewicht höchstens G? KP*: Spezialfall mit G=B und a i =g i. 245

Folgerung K6.3.2: KP und KP* sind NP-vollständig. Beweis: KP* und SSS sind äquivalent. KP ist Verallgemeinerung von KP*. Restriktion 246

Partition Zur Erinnerung: Eingabe: Natürliche Zahlen a 1,...,a n. Frage: Gibt es I {1,...,n} mit Folgerung K6.3.2: Partition ist NP-vollständig. Problem: Partition ist ein Spezialfall von SSS. Verkehrte Richtung für Restriktion. 247

Beweis Reduktion SSS p Partition: Sei X=(a 1,...,a n,g) Eingabe für SSS. Sei S*=a 1 +... + a n. Konstruiere Partition-Eingabe: Y=(a 1,..., a n, a n+1 =2S* G, a n+2 =S*+G) erzwingende Komponenten Beob: a 1 +... + a n + a n+1 + a n+2 = 4S*. 248

X=(a 1,...,a n,g) Korrektheit: Y=(a 1,..., a n, a n+1 =2S* G, a n+2 =S*+G) : Sei I Lösung von X, also i I a i =G: Dann ist I {n+1} Lösung von Y. : Sei J Lösung für Y. Falls n+1 J, vertausche J und J={1,...,n+2} J. Dann ist J {n+1} eine Lösung für X. 249

Aufteilung u. Lastverteilung [K6.4] Wir haben bereits gezeigt: Partition p BP. Folgerung K6.4.1: BP ist NP-vollständig. BP Eingabe: n Objekte mit Größen a 1,...,a n, Kistengröße b, Zahl k. Aufgabe: Genügen k Kisten der Größe b, um alle Objekte zu verpacken? 250

Sequencing with Intervals (SWI) Eingabe: A={a 1,...,a n } Menge v. Aufgaben mit l(a): Bearbeitungsdauer von Aufgabe a, length r(a): frühester Bearbeitungszeitpunkt von a, d(a): Deadline für a release time Frage: Können die Aufgaben von einem Prozessor so bearbeitet werden, dass keine Aufgabe unterbrochen wird und alle Bedingungen eingehalten werden? 251

Satz K6.4.2: SWI ist NP-vollständig. Beweis: 1. SWI NP klar. 2. Reduktion Partition p SWI 3. Eingabe f. Partition: X=(s 1,...,s n ). Sei S = s 1 +... +s n, ist o.b.d.a. gerade Zahl. Erzeuge n+1 Aufgaben a 1,...,a n+1. Für 1 i n: l(a i )=s i, r(a i )=0, d(a i )=S+1, l(a n+1 )=1, r(a n+1 )=S/2, d(a n+1 )=S/2+1. a n+1 0 S/2 S/2+1 S+1 252

Cliquenprobleme [K6.5] Graphisomorphie (GI) Eingabe: Graphen G 1 =(V 1,E 1 ), G 2 =(V 2,E 2 ). Frage: Sind G 1 und G 2 isomorph, d.h., gibt es eine Funktion f : V 1 V 2 mit {v 1,v 2 } E 1 {f(v 1 ),f(v 2 )} E 2? GI NP klar. Für GI kennt man weder einen polyn. Algo., noch einen NP-Vollst.beweis. 253

Teilgraphisomorphie Subgraph Isomorphism (SI) Eingabe: Graphen G 1 =(V 1,E 1 ), G 2 =(V 2,E 2 ). Frage: Gibt es einen Teilgraphen von G 1, der zu G 2 isomorph ist? Teilgraph von G 1 : Knotenmenge V V 1. Kantenmenge: Alle Kanten aus E 1, die zwischen Knoten aus V verlaufen. 254

Satz K6.5.1: SI ist NP-vollständig. Beweis: 1. SI NP klar. 2. Reduktion Clique p SI. 3. Eingabe für Cliquenproblem: (G,k). Sei G 1 =G, G 2 =vollständiger Graph auf k Knoten. 4. G enthält k-clique Restriktion G 1 enthält zu G 2 isomorphen Subgraphen. 255

Graphfärbbarkeit Graph Colorability (GC) Eingabe: Unger. Graph G=(V,E), Zahl k. Frage: Können die Knoten von G mit k Farben gefärbt werden, so dass benachbarte Knoten verschieden gefärbt werden? 256

Bsp: Färben von Landkarten 257

Satz K6.5.2: GC ist NP-vollständig. Beweis: 1. GC NP klar. 2. Reduktion von 3-SAT. 3. Sei 3-SAT-Eingabe mit Variablen x 1,...,x n und Klauseln C 1,...,C m gegeben. Wähle k=3 (3 Farben) 258

Komponenten für Klauseln: v 1 v 2 w v 3 Beob. (für legale 3-Färbungen): 1.Wenn v 1, v 2 und v 3 dieselbe Farbe haben, dann hat auch w diese Farbe. 2.Wenn einer der v-knoten die Farbe 1 hat, kann auch w die Farbe 1 bekommen. 259

x 1 C 1 =x 1 x 2 x n 3 u x 2 x 1 x 2 C 2 w 1 x n x n 2 260

Korrektheit Sei erfüllende Belegung gegeben. x i =0: x i -Knoten bekommt Farbe 2, x i -Knoten bekommt Farbe 1. x i =1: x i -Knoten bekommt Farbe 1, x i -Knoten bekommt Farbe 2. Da die Belegung erfüllend ist, kann jede Klauselkomponente so gefärbt werden, dass w die Farbe 1 bekommt. 261

Korrektheit Sei legale Färbung gegeben. O.B.d.A.: w hat Farbe 1, u hat Farbe 3. Variablenknoten haben Farben 1 und 2. x i -Knoten hat Farbe 1: Belegung x i =1, x i -Knoten hat Farbe 2: Belegung x i =0. Annahme: C j dadurch nicht erfüllt. Alle v-knoten von C j haben Farbe 2 w hat Farbe 2. Widerspruch. 262

Spezialfall: festes k k-gc Eingabe: Graph G Frage: Ist G mit k Farben färbbar? Folgerung K6.5.3: 3-GC ist NP-vollständig. Übungsaufgaben: Zeige, dass 2-GC P. Zeige, dass k-gc für alle k 3 NP-vollständig ist. 263

Zusammenfassung Kompl.theorie Betrachtete Rechnermodelle: Turingmaschinen, Registermaschinen Varianten: deterministisch, randomisiert, nichtdeterministisch Komplexitätstheorie für randomisierte Algorithmen Komplexitätsklassen ZPP, RP, BPP, PP Probability Amplification Nichtdeterminismus als Spezialfall von Randomisierung 264

Zusammenfassung Kompl.theorie Zentrale Begriffe der NP- Vollständigkeitstheorie Turing-Reduktionen und polynomielle Reduktionen NP-vollständige und NP-schwere Probleme Satz von Cook, Vereinfachung von Beweisen der NP-Vollständigkeit Zahlreiche Reduktionen zwischen verschiedenen Problemen 265

Fazit NP-Vollständigkeit Ein Beweis der NP-Vollständigkeit liefert eine starken Hinweis darauf, dass ein Problem keinen polyn. Algo hat. Nutzen Keine Zeit dafür ver(sch)wenden, einen Algo zu suchen, den es wohl nicht gibt. Beweis liefert Hinweise darauf, was an dem Problem schwer ist Überlegen, ob wir das richtige Problem lösen. Fehlgeschlagene Versuche liefern Hinweise auf polynomielle Algos. 266

Fazit NP-Vollständigkeit (Forts.) Reduktionen mit verbundenen Komponenten erlauben es, Beziehungen zwischen nicht verwandten Problemen herzustellen. 3-SAT ist häufig ein Ausgangsproblem für Reduktionen. 267