Proseminar Theoretische Informatik Die Klasse NP von Marlina Spanel 29.11.2011 1
Gliederung Gliederung Problem des Handlungsreisenden Die Klasse NP Einleitung und Wiederholung Sprachen Nichtdeterministische Turingmaschinen Verifizierbarkeit Suchproblem-Definition Sprachakzeptanz-Definition Beweis der Äquivalenz der Definitionen NTIME Beispielprobleme aus NP Beziehungen zu anderen Komplexitätsklassen 29.11.2011 2
Das Problem des Handlungsreisenden Das Problem des Handlungsreisenden Ein Händler soll durch die großen Städte eines Landes reisen, um seine Waren anzubieten. Danach soll er wieder zu seinem Startpunkt reisen. Problem: Welches ist der kürzeste Weg? 29.11.2011 3
Das Problem des Handlungsreisenden Liegt das Problem des Handlungsreisenden in P? Bisher wurde kein deterministischer Lösungsalgorithmus in Polynomialzeit entdeckt. Trotzdem ist es nicht auszuschließen, dass das Problem dennoch in P liegt. P-NP-Problem 29.11.2011 4
Das Klasse NP - Einleitung Das Klasse NP - Einleitung NP steht für nichtdeterministisch polynomielle Zeit Komplexitätsklasse, für die bekannt ist: P NP Viele Probleme in NP lassen sich deterministisch vermutlich nicht effizient lösen, das heißt mit polynomiellen statt exponentiellen Algorithmen. 29.11.2011 5
Das Klasse NP - Einleitung Formale Sprachen Formale Sprache: Menge von Zeichenketten (genannt Wörter), die sich aus einem bestimmten Zeichenvorrat (genannt Alphabet) zusammensetzen und bestimmte Eigenschaften erfüllen. Bsp.: Σ = {0,1} w Σ A = w w > 5 A = {010101, 111100, } 29.11.2011 6
Das Klasse NP - Einleitung Nichtdeterministische Turingmaschinen (NTM) Übergangsrelation statt Übergangsfunktion (DTM) Kein eindeutiger Lauf, sondern verschiedene mögliche Akzeptiert, sofern ein akzeptierender Lauf Umwandlung polynomielle NTM exponentielle DTM Können entscheiden, ob Wörter in einer Sprache A sind man sagt dann, die NTM entscheidet A 29.11.2011 7
Das Klasse NP - Einleitung Beispiel: Zusammengesetzte Zahlen Composite = n n = pq mit p, q N und p, q > 1 Eine NTM N, die diese Sprache entscheidet, wird auf einer Zahl z ausgeführt: 1. N wählt nichtdeterministisch t 2, 3,, z 2 2. N teilt die Eingabe z durch t. Ist das Ergebnis ganzzahlig, akzeptiert N z Composite 29.11.2011 8
Verifizierbarkeit Verifizierbarkeit 29.11.2011 9
Verifizierbarkeit Hamiltonkreise Definition: Kreis in einem gerichteten Graphen, der durch jeden Knoten genau einmal verläuft a c e g b d f 29.11.2011 10
Verifizierbarkeit Hamiltonkreise Darstellung als Sprache: Hamkreis = G G enthält einen Hamiltonpfad 29.11.2011 11
Verifizierbarkeit Hamiltonkreise Beispiel einer deterministischen Lösung: 1. Alle Knoten des Graphen G hintereinander auflisten. 2. Dann prüfen, ob G zwischen jedem Knoten und dem jeweils darauffolgenden eine Kante besitzt. 3. Mit allen denkbaren Reihenfolgen wiederholen: G! 29.11.2011 12
Verifizierbarkeit Hamiltonkreise Ein gefundener Pfad kann in polynomieller Zeit auf seine Richtigkeit überprüft bzw. verifiziert werden: 1. Die Knoten des gefundenen Pfades werden aufgelistet und auf Vollständigkeit und Wiederholungen geprüft. 2. Sind alle jeweils genau einmal vorhanden, wird geprüft ob zwischen jeweils zwei aufeinanderfolgenden Knoten eine Kante liegt. Wenn ja G Hamkreis 29.11.2011 13
Verifizierbarkeit Zusammengesetzte Zahlen Composite = x x = pq mit p, q N und p, q > 1 n Bit Zahl x Laufzeit in Abhängigkeit von n 29.11.2011 14
Verifizierbarkeit Verifikator Ein Verifikator für eine Sprache A ist ein Algorithmus V, sodass: A = w V akzeptiert < w, c > für irgendeinen String c c heißt dabei Zertifikat (auch Beweis, Zeuge) Laufzeit eines polynomiellen Verifikators: O p w 29.11.2011 15
Verifizierbarkeit Verifikator Zertifikat für Wörter aus Hamkreis: Der gefundene Hamiltonkreis selbst Zertifikat für Wörter aus Composite: Eine ganzzahlige Faktorisierung der zu überprüfenden Zahl 29.11.2011 16
Suchproblem-Definition Suchproblem-Definition NP ist die Klasse der Sprachen, die polynomielle Verifikatoren besitzen. Hamkreis, Composite NP Zusammenhang zu NTMs? 29.11.2011 17
Suchproblem-Definition Sprachakzeptanz-Definition Eine Sprache liegt in NP, wenn sie von einer nichtdeterministischen Turingmaschine entschieden wird. Äquivalenz der beiden Definitionen? 29.11.2011 18
Beweis der Äquivalenz der Definitionen Beweis der Äquivalenz der Definitionen Zu zeigen: NTM entscheidet A V verifiziert x A in p( x ) 29.11.2011 19
Beweis der Äquivalenz der Definitionen : Zu zeigen: NTM entscheidet A V verifiziert x A in p( x ) NTM N entscheidet A für jedes a A gibt es eine akzeptierende Rechnung r von N. Damit kann V wie folgt simuliert werden: 29.11.2011 20
Beweis der Äquivalenz der Definitionen V = Bei Eingabe von < a, r > 1. Simuliere N auf der Eingabe a und behandle dabei jedes Symbol von r als Beschreibung der nichtdeterministischen Entscheidung, die bei jedem Schritt getroffen wird. 2. Wenn dieser durch r beschriebene Zweig von Ns Rechnung akzeptiert, akzeptiert auch V. 29.11.2011 21
Beweis der Äquivalenz der Definitionen : Zu zeigen: NTM entscheidet A V verifiziert x A in p( x ) Die NTM kann wie folgt konstruiert werden: 29.11.2011 22
Beweis der Äquivalenz der Definitionen NTM = Bei Eingabe von w der Länge n: 1. Nichtdeterministische Wahl eines Strings c mit c n k 2. Führe V auf < w, c > aus 3. Akzeptiert V, so akzeptiert die NTM. 29.11.2011 23
NTIME NTIME NTIME t n = L L wird von einer NTM in O t n entschieden NP = NTIME n k k 29.11.2011 24
Beispielprobleme in NP Beispielprobleme in NP SubsetSum = < S, t > S = {x 1,, x n } und für y 1,, y k S gilt: y i = t Bsp.: < 1,4,8,21, 25 > SubsetSum denn 4 + 21 = 25 29.11.2011 25
Beispielprobleme in NP Das Cliquenproblem Clique: Ein (Unter-)Graph, in dem jeder Knoten mit jedem anderen über eine Kante verbunden ist. k-clique: Clique bestehend aus k Knoten Clique = < G, k > G enthält eine k Clique 29.11.2011 26
Beziehungen zu anderen Komplexitätsklassen Beziehungen zu anderen Komplexitätsklassen Bis heute nicht beweisbar: P = NP Klasse der Entscheidungsprobleme, deren Komplemente in NP liegen: CoNP NP und CoNP sind nicht disjunkt wegen: P NP CoNP Aus P = NP würde demnach NP = CoNP folgen 29.11.2011 27
Beweis der Äquivalenz der Definitionen Insgesamt ist folgende Einordnung bekannt: L NL LOGCFL NC P NP NP PSPACE = NSPACE EXPTIME NEXPTIME Dabei sind nur ganz wenige echte Inklusionen bekannt: LOGCFL P P EXPTIME 29.11.2011 28
Quellen Quellen Michael Sipser: Introduction to the Theory of Computation (2006) Webseite der Princeton University: NP and NP Completeness Wikipedia.org: NP (Komplexitätsklasse) Nichtdeterministische Turingmaschine 29.11.2011 29
Vielen Dank 29.11.2011 30