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

Ähnliche Dokumente
abgeschlossen unter,,,, R,

Nichtdeterministische Platzklassen

Theoretische Informatik 1

Die Komplexitätsklassen P und NP

11.1 Kontextsensitive und allgemeine Grammatiken

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Komplexität und Komplexitätsklassen

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Das P versus N P - Problem

Speicherplatz-Komplexität 1 / 30

2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik

Komplexita tstheorie eine erste Ubersicht. KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung.

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Berechenbarkeit und Komplexität

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

Theoretische Informatik 1

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

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

Einführung in Algorithmen und Komplexität

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

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet.

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

LogSpace. Isomorphie von Bäumen (gerichtet und ungerichtet) Entscheiden, ob ein Graph zusammenhängend ist (gerichtet und ungerichtet)

8 Komplexitätstheorie und Kryptologie

Rekursiv aufzählbare Sprachen

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Theoretische Informatik

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

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

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

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

8. Turingmaschinen und kontextsensitive Sprachen

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Lösungsvorschläge Blatt Z1

Logik für Informatiker

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

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Vorlesung Berechenbarkeit und Komplexität. Motivation, Übersicht und Organisatorisches

Kapitel 3: Berechnungstheorie Gliederung

Theorie der Informatik

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Theoretische Informatik Kap 2: Berechnungstheorie

Einführung in die Weihnachtliche Informatik

Theoretische Informatik 1

Abschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften

Theoretische Informatik 1

Grundlagen der Theoretischen Informatik

Theoretische Informatik 2

1 Varianten von Turingmaschinen

IP=PSPACE. t Joachim Kneis t IP = PSPACE t 16. Dezember 2003 t

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Deterministischer Kellerautomat (DPDA)

Beuth Hochschule Ist P gleich NP? Vermutlich nicht! WS15/16, S. 1

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Berechenbarkeits- und Komplexitätstheorie

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Ausgewählte unentscheidbare Sprachen

Reguläre Sprachen und endliche Automaten

Algorithmische Graphentheorie

Herzlich willkommen!!!

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Formale Sprachen. Script, Kapitel 4. Grammatiken

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Theorie der Informatik

Universität des Saarlandes

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Algorithmen II Vorlesung am

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Primzahlzertifikat von Pratt

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

Vorlesung Logik Wintersemester 2012/13 Universität Duisburg-Essen

Vorsemesterkurs Informatik

2.4 Kontextsensitive und Typ 0-Sprachen

Formale Sprachen und Automaten

WS 2009/10. Diskrete Strukturen

Übung zur Vorlesung Berechenbarkeit und Komplexität

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Wie viel Mathematik kann ein Computer?

Lösungen zur Vorrundenprüfung 2004

Theoretische Informatik

Theoretische Grundlagen der Informatik

Theoretische Informatik 1

Einführung in die Theoretische Informatik

Resolutionsalgorithmus

WS 2009/10. Diskrete Strukturen

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Graphentheorie 1. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Graph-Äquivalenz SetlX

THEORETISCHE INFORMATIK

Spiele in der Informatik

Primzahlen, Faktorisierung und Komplexitätstheorie

Theoretische Informatik

I.2. Endliche Automaten (ohne Ausgabe)

Transkript:

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

Rückblick Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 2 von 32

Kompexitätsklassen Komplexitätsklassen sind Mengen von Sprachen, die man (grob) einteilt entsprechend der Ressourcen, die eine TM zur Entscheidung ihres Wortproblems benötigt. deterministisch nichtdeterministisch P = PTime polynomielle Zeit NP = NPTime Exp = ExpTime exponentielle Zeit NExp = NExpTime L = LogSpace logarithmischer Speicher NL = NLogSpace PSpace polynomieller Speicher NPSpace Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 3 von 32

Deterministisch vs. nichtdeterministisch Welche Beziehungen haben diese Klassen zu anderen? Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 4 von 32

Deterministisch vs. nichtdeterministisch Welche Beziehungen haben diese Klassen zu anderen? Die Beziehungen zwischen nichtdeterministischen Klassen sind analog zu denen im deterministischen Fall: NL NP NPSpace NExp Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 4 von 32

Deterministisch vs. nichtdeterministisch Welche Beziehungen haben diese Klassen zu anderen? Die Beziehungen zwischen nichtdeterministischen Klassen sind analog zu denen im deterministischen Fall: NL NP NPSpace NExp Eine DTM kann als NTM aufgefasst werden, d.h. die nichtdeterministischen Klassen sind immer stärker: L NL P NP PSpace NPSpace Exp NExp Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 4 von 32

Deterministisch vs. nichtdeterministisch Welche Beziehungen haben diese Klassen zu anderen? Die Beziehungen zwischen nichtdeterministischen Klassen sind analog zu denen im deterministischen Fall: NL NP NPSpace NExp Eine DTM kann als NTM aufgefasst werden, d.h. die nichtdeterministischen Klassen sind immer stärker: L NL P NP PSpace NPSpace Exp NExp Man kann NTMs mit DTMs simulieren, aber das ist oft mit exponentiellen Mehrkosten verbunden (Vorlesung 19). Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 4 von 32

Deterministisch vs. nichtdeterministisch Welche Beziehungen haben diese Klassen zu anderen? Die Beziehungen zwischen nichtdeterministischen Klassen sind analog zu denen im deterministischen Fall: NL NP NPSpace NExp Eine DTM kann als NTM aufgefasst werden, d.h. die nichtdeterministischen Klassen sind immer stärker: L NL P NP PSpace NPSpace Exp NExp Man kann NTMs mit DTMs simulieren, aber das ist oft mit exponentiellen Mehrkosten verbunden (Vorlesung 19). Der berühmte Satz von Savitch besagt, dass speicherbeschränkte NTMs durch DTMs mit nur quadratischen Mehrkosten simuliert werden können. Insbesondere gilt damit PSpace = NPSpace. Zusammenfassung der wichtigsten bekannten Beziehungen: L NL P NP PSpace = NPSpace Exp NExp Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 4 von 32

Die Grenzen unseres Wissens Wir wissen: L NL P NP PSpace = NPSpace Exp NExp Wir wissen nicht, ob irgendeines dieser sogar ist. Insbesondere wissen wir nicht, ob P NP oder P = NP. Wir wissen nicht einmal, ob L NP oder L = NP. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 5 von 32

Die Grenzen unseres Wissens Wir wissen: L NL P NP PSpace = NPSpace Exp NExp Wir wissen nicht, ob irgendeines dieser sogar ist. Insbesondere wissen wir nicht, ob P NP oder P = NP. Wir wissen nicht einmal, ob L NP oder L = NP. Es wird aber vermutet, dass alle eigentlich sind. Bekannt ist das aber nur bei exponentiell großen Ressourcenunterschieden: Es gilt: NL PSpace P Exp NP NExp Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 5 von 32

NP Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 6 von 32

NP-Probleme effizient lösen? Wir haben gesehen: SAT NP PSpace ExpTime Dennoch haben alle unsere Algorithmen für SAT bisher exponentielle Laufzeit. SAT NP führt nicht direkt zu einer besseren Lösung, da real existierende Computer nicht wie NTMs arbeiten. Andererseits spricht auch nichts dagegen, dass es einen schnelleren Algorithmus gibt. Kann man SAT auch effizienter lösen? Dazu sollten wir erst einmal NP etwas besser verstehen Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 7 von 32

Lösungen prüfen Eine Interessante Eigenschaft von SAT: Es scheint schwer, die Erfüllbarkeit einer Formel zu ermitteln (z.b. können wir exponentiell viele Wertzuweisungen durchsuchen). Es ist einfach, Erfüllbarkeit einer Formel zu überprüfen, wenn ein Modell gegeben ist (dazu muss nur der Wahrheitswert der Formel berechnet werden). Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 8 von 32

Lösungen prüfen Eine Interessante Eigenschaft von SAT: Es scheint schwer, die Erfüllbarkeit einer Formel zu ermitteln (z.b. können wir exponentiell viele Wertzuweisungen durchsuchen). Es ist einfach, Erfüllbarkeit einer Formel zu überprüfen, wenn ein Modell gegeben ist (dazu muss nur der Wahrheitswert der Formel berechnet werden). Ähnlich ist es bei Sudoku: Es ist schwer, ein Sudoku korrekt auszufüllen. Es ist einfach, zu prüfen, ob ein Sudoku korrekt ausgefüllt wurde. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 8 von 32

Lösungen prüfen Eine Interessante Eigenschaft von SAT: Es scheint schwer, die Erfüllbarkeit einer Formel zu ermitteln (z.b. können wir exponentiell viele Wertzuweisungen durchsuchen). Es ist einfach, Erfüllbarkeit einer Formel zu überprüfen, wenn ein Modell gegeben ist (dazu muss nur der Wahrheitswert der Formel berechnet werden). Ähnlich ist es bei Sudoku: Es ist schwer, ein Sudoku korrekt auszufüllen. Es ist einfach, zu prüfen, ob ein Sudoku korrekt ausgefüllt wurde. Gibt es noch mehr Probleme, die sich so verhalten? Es ist schwer, eine Lösung zu finden. Es ist einfach, eine gegebene Lösung zu prüfen. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 8 von 32

TMs die Lösungen überprüfen Wir wollen diese Idee formalisieren: Ein polynomieller Verifikator für eine Sprache L Σ ist eine polynomiell-zeitbeschränkte, deterministische TM M, für die gilt: M akzeptiert nur Wörter der Form w#z mit: w L z Σ ist ein Zertifikat polynomieller Länge (d.h. für M gibt es ein Polynom p mit z p( w )) Für jedes Wort w L gibt es ein solches Wort w#z L(M). Intuition: Das Zertifikat z kodiert die Lösung des Problems w, die der Verifikator lediglich nachprüft. Zertifikate sollten kurz sein, damit die Prüfung selbst nicht länger dauert als die Lösung des Problems. Zertifikate werden auch Nachweis, Beweis oder Zeuge genannt Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 9 von 32

Nachweis-polynomielle Sprachen Eine Sprache L ist nachweis-polynomiell wenn es für sie einen polynomiellen Verifikator gibt. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 10 von 32

Nachweis-polynomielle Sprachen Eine Sprache L ist nachweis-polynomiell wenn es für sie einen polynomiellen Verifikator gibt. Beispiel: SAT ist nachweis-polynomiell. Ein möglicher polynomiellen Verifikator für SAT akzeptiert Wörter F#w, wobei F die Kodierung einer erfüllbaren Formel ist und w eine Kodierung einer Wertzuweisung, die F erfüllt. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 10 von 32

Nachweis-polynomielle Sprachen Eine Sprache L ist nachweis-polynomiell wenn es für sie einen polynomiellen Verifikator gibt. Beispiel: SAT ist nachweis-polynomiell. Ein möglicher polynomiellen Verifikator für SAT akzeptiert Wörter F#w, wobei F die Kodierung einer erfüllbaren Formel ist und w eine Kodierung einer Wertzuweisung, die F erfüllt. Beispiel: Jede Sprache L P ist nachweis-polynomiell. Als Verifikator verwenden wir einfach einen polynomiell-zeitbeschränkten Entscheider für L. Das Zertifikat kann leer sein. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 10 von 32

Beispiel: Drei-Farben-Problem Das Drei-Farben-Problem besteht darin, die Knoten eines ungerichteten Graphen so mit den drei Farben rot, grün und blau zu färben, dass keine zwei benachbarten Knoten die gleiche Farbe haben. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 11 von 32

Beispiel: Drei-Farben-Problem Das Drei-Farben-Problem besteht darin, die Knoten eines ungerichteten Graphen so mit den drei Farben rot, grün und blau zu färben, dass keine zwei benachbarten Knoten die gleiche Farbe haben. Das Problem kann als Wortproblem aufgefasst werden, wenn man Graphen als Wörter kodiert (z.b. als Adjazenzliste oder als zeilenweise kodierte Adjazenzmatrix). Das Drei-Farben-Problem ist nachweis-polynomiell (Zertifikat: Farbzuweisung). Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 11 von 32

Beispiel: Faktorisierung Die Faktorisierung einer natürlichen Zahl n ist die Darstellung der Zahl als Produkt von natürlichen Zahlen f 1 f 2 = n. Folgende Sprache ist nachweis-polynomiell: COMPOSITE = {bin(n) es gibt f 1, f 2 > 1 mit n = f 1 f 2 } (Zertifikat: Kodierung von f 1 und f 2 ) Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 12 von 32

Beispiel: Faktorisierung Die Faktorisierung einer natürlichen Zahl n ist die Darstellung der Zahl als Produkt von natürlichen Zahlen f 1 f 2 = n. Folgende Sprache ist nachweis-polynomiell: COMPOSITE = {bin(n) es gibt f 1, f 2 > 1 mit n = f 1 f 2 } (Zertifikat: Kodierung von f 1 und f 2 ) Überraschender Weise ist auch folgende Sprache nachweis-polynomiell: PRIMES = {bin(n) es gibt keine f 1, f 2 > 1 mit n = f 1 f 2 } (Zertifikat: Primality certificate, bekannt seit 1975) Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 12 von 32

Beispiel: Faktorisierung Die Faktorisierung einer natürlichen Zahl n ist die Darstellung der Zahl als Produkt von natürlichen Zahlen f 1 f 2 = n. Folgende Sprache ist nachweis-polynomiell: COMPOSITE = {bin(n) es gibt f 1, f 2 > 1 mit n = f 1 f 2 } (Zertifikat: Kodierung von f 1 und f 2 ) Überraschender Weise ist auch folgende Sprache nachweis-polynomiell: PRIMES = {bin(n) es gibt keine f 1, f 2 > 1 mit n = f 1 f 2 } (Zertifikat: Primality certificate, bekannt seit 1975) (Seit 2002 wissen wir: PRIMES P Primzahlentest nach Agrawal, Kayal und Saxena) Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 12 von 32

NP steht für nachweis-polynomiell (1) Satz: Eine Sprache L ist genau dann nachweis-polynomiell wenn L NP. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 13 von 32

NP steht für nachweis-polynomiell (1) Satz: Eine Sprache L ist genau dann nachweis-polynomiell wenn L NP. Beweis: ( ) Sei L nachweis-polynomiell mit Verifikator V. Wir erhalten eine polynomiell-zeitbeschränkte NTM M für L wie folgt: Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 13 von 32

NP steht für nachweis-polynomiell (1) Satz: Eine Sprache L ist genau dann nachweis-polynomiell wenn L NP. Beweis: ( ) Sei L nachweis-polynomiell mit Verifikator V. Wir erhalten eine polynomiell-zeitbeschränkte NTM M für L wie folgt: für eine Eingabe w rät M nichtdeterministisch ein polynomielles Zertifikat z (dabei muss M die Länge von z selbst beschränken) anschließend führt M die Berechnungen wie V aus um das geratene Zertifikat in polynomieller Zeit zu prüfen Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 13 von 32

NP steht für nachweis-polynomiell (2) Satz: Eine Sprache L ist genau dann nachweis-polynomiell wenn L NP. Beweis: ( ) Sei M eine polynomiell-zeitbeschränkte NTM für L. Wir erhalten einen polynomiellen Verifikator V für L wie folgt. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 14 von 32

NP steht für nachweis-polynomiell (2) Satz: Eine Sprache L ist genau dann nachweis-polynomiell wenn L NP. Beweis: ( ) Sei M eine polynomiell-zeitbeschränkte NTM für L. Wir erhalten einen polynomiellen Verifikator V für L wie folgt. Für jedes Wort w L gibt es einen akzeptierenden Lauf von M. In jedem Schritt dieses Laufs wählt M nichtdeterministisch einen Übergang aus. Der Lauf ist von polynomieller Länge, da M polynomiell-zeitbeschränkt ist. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 14 von 32

NP steht für nachweis-polynomiell (2) Satz: Eine Sprache L ist genau dann nachweis-polynomiell wenn L NP. Beweis: ( ) Sei M eine polynomiell-zeitbeschränkte NTM für L. Wir erhalten einen polynomiellen Verifikator V für L wie folgt. Für jedes Wort w L gibt es einen akzeptierenden Lauf von M. In jedem Schritt dieses Laufs wählt M nichtdeterministisch einen Übergang aus. Der Lauf ist von polynomieller Länge, da M polynomiell-zeitbeschränkt ist. Die Liste der Übergänge kann als Zertifikat dienen V prüft, ob die durch z gegebenen Entscheidungen für die Eingabe w zu einem akzeptierenden Lauf von M führen. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 14 von 32

NP ist nicht symmetrisch Es ist leicht zu sehen: Satz: Die Klasse P ist unter Komplement abgeschlossen. Beweis: Wenn es für L eine polynomiell-zeitbeschränkte TM M gibt, dann erhält man eine TM für L indem man akzeptierende und nicht-akzeptierende Zustände von M vertauscht. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 15 von 32

NP ist nicht symmetrisch Es ist leicht zu sehen: Satz: Die Klasse P ist unter Komplement abgeschlossen. Beweis: Wenn es für L eine polynomiell-zeitbeschränkte TM M gibt, dann erhält man eine TM für L indem man akzeptierende und nicht-akzeptierende Zustände von M vertauscht. Für NP ist das nicht so einfach möglich. Wir haben das schon für NFAs beobachtet (eine spezielle Art von NTMs). Beispiele: Es scheint kein einfaches Zertifikat dafür zu geben, dass eine Formel nicht erfüllbar ist oder dass ein Graph keine Dreifärbung zulässt. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 15 von 32

NP ist nicht symmetrisch Es ist leicht zu sehen: Satz: Die Klasse P ist unter Komplement abgeschlossen. Beweis: Wenn es für L eine polynomiell-zeitbeschränkte TM M gibt, dann erhält man eine TM für L indem man akzeptierende und nicht-akzeptierende Zustände von M vertauscht. Für NP ist das nicht so einfach möglich. Wir haben das schon für NFAs beobachtet (eine spezielle Art von NTMs). Beispiele: Es scheint kein einfaches Zertifikat dafür zu geben, dass eine Formel nicht erfüllbar ist oder dass ein Graph keine Dreifärbung zulässt. Die Klasse aller Sprachen L, für die L NP gilt, heißt conp. Grund: für ein akzeptiertes Wort kann es bei einer NTM akzeptierende und verwerfende Läufe geben. Nach dem Austausch der Endzustände gäbe es dann aber immer noch akzeptierende Läufe. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 15 von 32

NP-Vollständigkeit Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 16 von 32

Reduktionen Manche Probleme lassen sich auf andere zurückführen Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 17 von 32

Reduktionen Manche Probleme lassen sich auf andere zurückführen Beispiel: Drei-Farben-Problem ist auf SAT reduzierbar. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 17 von 32

Reduktionen Manche Probleme lassen sich auf andere zurückführen Beispiel: Drei-Farben-Problem ist auf SAT reduzierbar. Darstellung von Farben mit Atomen: r i bedeutet Knoten i ist rot g i bedeutet Knoten i ist grün b i bedeutet Knoten i ist blau Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 17 von 32

Reduktionen Manche Probleme lassen sich auf andere zurückführen Beispiel: Drei-Farben-Problem ist auf SAT reduzierbar. Darstellung von Farben mit Atomen: r i bedeutet Knoten i ist rot g i bedeutet Knoten i ist grün b i bedeutet Knoten i ist blau Färbe-Bedingungen für Knoten: (r 1 g 1 b 1 ) ( r 1 g 1 b 1 ) ( r 1 g 1 b 1 ) (usw. für alle Knoten) Färbe-Bedingungen für Kanten: (r 1 r 2 ) (g 1 g 2 ) (b 1 b 2 ) (usw. für alle Kanten) Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 17 von 32

Reduktionen Manche Probleme lassen sich auf andere zurückführen Beispiel: Drei-Farben-Problem ist auf SAT reduzierbar. Darstellung von Farben mit Atomen: r i bedeutet Knoten i ist rot g i bedeutet Knoten i ist grün b i bedeutet Knoten i ist blau Färbe-Bedingungen für Knoten: (r 1 g 1 b 1 ) ( r 1 g 1 b 1 ) ( r 1 g 1 b 1 ) (usw. für alle Knoten) Färbe-Bedingungen für Kanten: (r 1 r 2 ) (g 1 g 2 ) (b 1 b 2 ) (usw. für alle Kanten) Erfüllende Wertzuweisung zulässige Färbung Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 17 von 32

Reduktionen Manche Probleme lassen sich auf andere zurückführen Beispiel: Drei-Farben-Problem ist auf SAT reduzierbar. Darstellung von Farben mit Atomen: r i bedeutet Knoten i ist rot g i bedeutet Knoten i ist grün b i bedeutet Knoten i ist blau Färbe-Bedingungen für Knoten: (r 1 g 1 b 1 ) ( r 1 g 1 b 1 ) ( r 1 g 1 b 1 ) (usw. für alle Knoten) Färbe-Bedingungen für Kanten: (r 1 r 2 ) (g 1 g 2 ) (b 1 b 2 ) (usw. für alle Kanten) Erfüllende Wertzuweisung zulässige Färbung Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 17 von 32

Polynomielle Reduktionen Eine Funktion f : Σ Σ ist polynomiell berechenbar wenn es eine polynomiell-zeitbeschränkte TM gibt, die bei einer Eingabe w die Ausgabe f (w) auf das Band schreibt und anschließend anhält. Eine polynomiell berechenbare Funktion f : Σ Σ ist eine polynomielle Reduktion von einer Sprache L auf eine Sprache G, wenn für alle Wörter w L gilt: w L genau dann wenn f (w) G Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 18 von 32

Polynomielle Reduktionen Eine Funktion f : Σ Σ ist polynomiell berechenbar wenn es eine polynomiell-zeitbeschränkte TM gibt, die bei einer Eingabe w die Ausgabe f (w) auf das Band schreibt und anschließend anhält. Eine polynomiell berechenbare Funktion f : Σ Σ ist eine polynomielle Reduktion von einer Sprache L auf eine Sprache G, wenn für alle Wörter w L gilt: w L genau dann wenn f (w) G Beispiel: Die soeben skizzierte Funktion von Graphen auf logische Formeln ist eine polynomielle Reduktion des Drei-Farben- Problems auf SAT. Beispiel: Wir haben das Äquivalenzproblem endlicher Automaten in Vorlesung 10 polynomiell auf das Inklusionsproblem reduziert. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 18 von 32

Die Struktur von NP Idee: polynomielle Reduzierbarikeit definiert eine Art Ordnung auf Problemen Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 19 von 32

Die Struktur von NP Idee: polynomielle Reduzierbarikeit definiert eine Art Ordnung auf Problemen Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 19 von 32

Die Struktur von NP Idee: polynomielle Reduzierbarikeit definiert eine Art Ordnung auf Problemen Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 19 von 32

Die Struktur von NP Idee: polynomielle Reduzierbarikeit definiert eine Art Ordnung auf Problemen Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 19 von 32

Die Struktur von NP Idee: polynomielle Reduzierbarikeit definiert eine Art Ordnung auf Problemen Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 19 von 32

Das schwerste Problem in NP? Stephen Cook Leonid Levin Richard Karp Satz von Cook [1971] & Levin [1973]: Alle Probleme in NP können polynomiell auf SAT reduziert werden. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 20 von 32

Das schwerste Problem in NP? Stephen Cook Leonid Levin Richard Karp Satz von Cook [1971] & Levin [1973]: Alle Probleme in NP können polynomiell auf SAT reduziert werden. Wer SAT polynomiell löst, der hat alle Probleme in NP polynomiell gelöst Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 20 von 32

Das schwerste Problem in NP? Stephen Cook Leonid Levin Richard Karp Satz von Cook [1971] & Levin [1973]: Alle Probleme in NP können polynomiell auf SAT reduziert werden. Wer SAT polynomiell löst, der hat alle Probleme in NP polynomiell gelöst Es gibt in NP eine maximale Klasse, die ein praktisch interessantes Problem enthält Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 20 von 32

Das schwerste Problem in NP? Stephen Cook Leonid Levin Richard Karp Satz von Cook [1971] & Levin [1973]: Alle Probleme in NP können polynomiell auf SAT reduziert werden. Wer SAT polynomiell löst, der hat alle Probleme in NP polynomiell gelöst Es gibt in NP eine maximale Klasse, die ein praktisch interessantes Problem enthält Karp findet kurz darauf 21 weitere solcher Probleme (1972) Seitdem wurden tausende weitere entdeckt... Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 20 von 32

NP-Härte und NP-Vollständigkeit Eine Sprache ist NP-hart, wenn jede Sprache in NP polynomiell darauf reduzierbar ist NP-vollständig, wenn sie NP-hart ist und in NP liegt Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 21 von 32

NP-Härte und NP-Vollständigkeit Eine Sprache ist NP-hart, wenn jede Sprache in NP polynomiell darauf reduzierbar ist NP-vollständig, wenn sie NP-hart ist und in NP liegt Beispiel: SAT ist NP-vollständig (Cook & Levin). Beispiel: PRIMES ist in NP, aber vermutlich nicht NP-hart. Gleiches gilt für viele Probleme in P (bei einigen ist dagegen sicher, dass sie nicht NP-hart sind). Beispiel: Das Halteproblem ist NP-hart aber sicher nicht in NP. Gleiches gilt für jedes unentscheidbare Problem. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 21 von 32

Beispiele Beispiel: Das Drei-Farben-Problem ist NP-vollständig. Beispiel: Verallgemeinertes Sudoku (n Zahlen in einem n 2 n 2 - Feld mit n n-unterfeldern) ist NP-vollständig. Das Entscheidungsproblem dabei ist, ob das gegebene, teilweise gefüllte Feld eine Lösung zulässt. Gleiches gilt für Verallgemeinerungen vieler anderer Solitärspiele (z.b. Minesweeper). Beispiel: Das Wortproblem für Typ-1-Sprachen (gegeben als Grammatik) ist NP-hart aber vermutlich nicht in NP. Gleiches gilt für das Halteproblem von LBAs. Beispiel: Das Problem des Handelsreisenden ist NP-vollständig. Es besteht darin, in einem Graph mit bewerteten Kanten einen Pfad durch alle Knoten zu finden, so dass die Summe der Kantenwerte unter einem gegebenen Maximum liegt. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 22 von 32

Wie findet man NP-harte Probleme? Schwer ist, worauf sich schwere Dinge leicht zurückführen lassen: Satz: Wenn L NP-hart ist und polynomiell auf G reduziert werden kann, dann ist G auch NP-hart. Beweis: Folgt direkt aus der Definition, da die Komposition von zwei polynomiellen Reduktionen ebenfalls eine polynomielle Reduktion ist. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 23 von 32

Wie findet man NP-harte Probleme? Schwer ist, worauf sich schwere Dinge leicht zurückführen lassen: Satz: Wenn L NP-hart ist und polynomiell auf G reduziert werden kann, dann ist G auch NP-hart. Beweis: Folgt direkt aus der Definition, da die Komposition von zwei polynomiellen Reduktionen ebenfalls eine polynomielle Reduktion ist. Technik zum Beweis von NP-Härte: Suche ein bekanntes NP-hartes Problem, welches dem untersuchten Problem möglichst ähnlich ist. Gib eine polynomielle Reduktion an und zeige, dass sie korrekt ist. Oft nicht schwer, wenn man bereits viele NP-harte Probleme kennt aber wo fängt man an? Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 23 von 32

Das erste NP-vollständige Problem Ein Problem ist per Definition NP-vollständig: Das Wortpoblem für polynomiell-zeitbeschränkte nichtdeterministische Turingmaschinen besteht darin zu entscheiden, ob ein gegebenes Wort w von einer gegebenen polynomiell-zeitbeschränkten NTM akzeptiert wird. Offenbar kann jedes Problem in NP darauf reduziert werden. Für den Satz von Cook & Levin zeigt man die NP-Vollständigkeit von SAT durch Reduktion auf dieses Urproblem. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 24 von 32

Cook/Levin: Beweisskizze (1) Wie stellen wir TM-Berechnungen in aussagenlogisch dar? Idee: Eine Instanz des Wortproblems ist eine polynomiell-zeitbeschränkte NTM M und ein Eingabewort Die Zeitbeschränkung für M kann durch ein konkretes Polynom p angegeben werden Wir kennen also die maximale Zahl an Schritten p( w ) für diese Berechnung Ein Lauf ist eine Folge von maximal p( w ) Konfigurationen, die jeweils maximal p( w ) Speicherstellen verwenden Ansatz: Kodiere M und w so in Logik, dass die möglichen Läufe genau den erfüllenden Wertzuweisungen entsprechen Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 25 von 32

Cook/Levin: Beweisskizze (2) p( w ) Berechnungsschritte p( w ) Speicherstellen a a a b b c d c c d q 0 A a a b b c d c c d q 1... A A B a a C b C C b A B q f Wir können diesen Lauf mit aussagenlogischen Atomen kodieren: Q q,s : TM ist in Schritt s in Zustand q P i,s : TM-Kopf ist in Schritt s an Position i S a,i,s : Das Band enthält in Schritt s Zeichen a an Position i Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 26 von 32

Cook/Levin: Beweisskizze (3) Wir können diesen Lauf mit aussagenlogischen Atomen kodieren: Q q,s : TM ist in Schritt s in Zustand q P i,s : TM-Kopf ist in Schritt s an Position i S a,i,s : Das Band enthält in Schritt s Zeichen a an Position i Nur polynomiell viele Atome nötig Mithilfe von Formeln kann man alle Bedingungen ausdrücken, die für einen korrekten Lauf der NTM gelten müssen. Die Übergangsrelation wird z.b. mit Formel der folgenden Form kodiert: (Q q,s P i,s S a,i,s ) (S b,i,s+1 Q q,s+1 P i,s+1) q,b,d δ(q,a) i =D(i) (für alle s {1,..., p( w )} und Positionen i {1,..., p( w )}). Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 27 von 32

Deterministisch vs. Nichtdeterministisch Wir haben bereits bemerkt, dass P NP gilt, da DTMs spezielle NTMs sind. Bis heute ist nicht bekannt, ob die Umkehrung dieser Inklusion gilt oder nicht. Intuitiv gefragt: Wenn es einfach ist, eine mögliche Lösung für ein Problem zu prüfen, ist es dann auch einfach, eine zu finden? Übertrieben: Can creativity be automated? (Wigderson, 2006) Seit über 40 Jahren ungelöst Eines der größten offenen Probleme der Informatik und Mathematik unserer Zeit 1.000.000 USD Preisgeld für die Lösung ( Millenium Problem ) Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 28 von 32

Status von P vs. NP Viele Menschen glauben P NP Hauptargument: Wenn NP = P wäre, dann müsste jemand inzwischen einen polynomiellen Algorithmus für ein NP-vollständiges Problem gefunden haben. This is, in my opinion, a very weak argument. The space of algorithms is very large and we are only at the beginning of its exploration. (Moshe Vardi, 2002) Ein weiterer Grund für die verbreitete Meinung: Menschen finden es schwer, NP-Probleme zu lösen und können sich schwer vorstellen, wie man sie vereinfachen sollte eventuell human chauvinistic bravado (Zeilenberger, 2006) Es gibt noch bessere Argumente, aber keines mehr als eine Intuition Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 29 von 32

Status von P vs. NP (2) Verschiedene Ergebnisse sind denkbar: Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 30 von 32

Status von P vs. NP (2) Verschiedene Ergebnisse sind denkbar: P = NP könnte durch einen nicht-konstruktiven Beweis gezeigt werden Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 30 von 32

Status von P vs. NP (2) Verschiedene Ergebnisse sind denkbar: P = NP könnte durch einen nicht-konstruktiven Beweis gezeigt werden Die Antwort könnte unabhängig von den Standardaxiomen der Mathematik (ZFC) sein Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 30 von 32

Status von P vs. NP (2) Verschiedene Ergebnisse sind denkbar: P = NP könnte durch einen nicht-konstruktiven Beweis gezeigt werden Die Antwort könnte unabhängig von den Standardaxiomen der Mathematik (ZFC) sein Selbst wenn P NP gilt, ist weiterhin unklar, ob NP-harte Problem wirklich exponentielle Zeit benötigen es gibt viele andere super-polynomielle Funktionen... Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 30 von 32

Status von P vs. NP (2) Verschiedene Ergebnisse sind denkbar: P = NP könnte durch einen nicht-konstruktiven Beweis gezeigt werden Die Antwort könnte unabhängig von den Standardaxiomen der Mathematik (ZFC) sein Selbst wenn P NP gilt, ist weiterhin unklar, ob NP-harte Problem wirklich exponentielle Zeit benötigen es gibt viele andere super-polynomielle Funktionen... Das Problem könnte für immer ungelöst bleiben Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 30 von 32

Status von P vs. NP (2) Verschiedene Ergebnisse sind denkbar: P = NP könnte durch einen nicht-konstruktiven Beweis gezeigt werden Die Antwort könnte unabhängig von den Standardaxiomen der Mathematik (ZFC) sein Selbst wenn P NP gilt, ist weiterhin unklar, ob NP-harte Problem wirklich exponentielle Zeit benötigen es gibt viele andere super-polynomielle Funktionen... Das Problem könnte für immer ungelöst bleiben Über 100 Beweise zeigen, dass P = NP wahr/falsch/beides/keines der beiden ist: https://www.win.tue.nl/~gwoegi/p-versus-np.htm Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 30 von 32

P-Härte Man kann Härte und Vollständigkeit auch für andere Klassen definieren. Bei schwächeren Klassen muss man allerdings sicherstellen, dass die Reduktion selbst nicht schon so viele Ressourcen benötigt wie die Lösung des Problems! Eine Sprache ist P-hart wenn jede Sprache in P mit logarithmischem Speicherbedarf darauf reduzierbar ist. Sie ist P-vollständig, wenn sie zudem in P liegt. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 31 von 32

P-Härte Man kann Härte und Vollständigkeit auch für andere Klassen definieren. Bei schwächeren Klassen muss man allerdings sicherstellen, dass die Reduktion selbst nicht schon so viele Ressourcen benötigt wie die Lösung des Problems! Eine Sprache ist P-hart wenn jede Sprache in P mit logarithmischem Speicherbedarf darauf reduzierbar ist. Sie ist P-vollständig, wenn sie zudem in P liegt. P-vollständige Probleme sind die schwersten polynomiell lösbaren Probleme. Sie gelten als inhärent seriell, d.h. als nicht gut parallelisierbar (bisher nicht bewiesen). Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 31 von 32

P-Härte Man kann Härte und Vollständigkeit auch für andere Klassen definieren. Bei schwächeren Klassen muss man allerdings sicherstellen, dass die Reduktion selbst nicht schon so viele Ressourcen benötigt wie die Lösung des Problems! Eine Sprache ist P-hart wenn jede Sprache in P mit logarithmischem Speicherbedarf darauf reduzierbar ist. Sie ist P-vollständig, wenn sie zudem in P liegt. P-vollständige Probleme sind die schwersten polynomiell lösbaren Probleme. Sie gelten als inhärent seriell, d.h. als nicht gut parallelisierbar (bisher nicht bewiesen). Beispiel: Die Erfüllbarkeit von aussagenlogischen Horn-Formeln (HornSAT) ist ein P-vollständiges Problem. Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 31 von 32

Zusammenfassung und Ausblick NP ist die Klasse der nachweis-polynomiellen Probleme. NP-vollständige Probleme sind die schwersten Probleme in NP: Wenn man eines davon effizient löst, dann kann alle Probleme in NP effizient lösen. SAT ist NP-vollständig und HornSAT ist P-vollständig. Offene Fragen: Wie genau stehen die Komplexitätsklassen in Beziehung? Insbesondere: P NP? Haben Sie noch inhaltliche Fragen? ( Mailingliste!) Haben Sie sich ausreichend auf die Prüfung vorbereitet? Markus Krötzsch, 23. Januar 2017 Formale Systeme Folie 32 von 32