Die Klasse NP - inf.fu-berlin.de Klasse NP.pdf · Das Klasse NP - Einleitung 29.11.2011 5 • NP...
Transcript of Die Klasse NP - inf.fu-berlin.de Klasse NP.pdf · Das Klasse NP - Einleitung 29.11.2011 5 • NP...
Gliederung
29.11.2011 2
• 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
Die Klasse NP Gliederung
Das Problem des Handlungsreisenden
29.11.2011 3
• 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?
Die Klasse NP Das Problem des Handlungsreisenden
Liegt das Problem des Handlungsreisenden in P?
29.11.2011 4
• 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
Die Klasse NP Das Problem des Handlungsreisenden
Das Klasse NP - Einleitung
29.11.2011 5
• 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.
Die Klasse NP Das Klasse NP - Einleitung
Formale Sprachen
29.11.2011 6
• 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} 𝑤 ∈ Σ∗ 𝐴 = 𝑤 𝑤 > 5 𝐴 = {010101, 111100,… }
Die Klasse NP Das Klasse NP - Einleitung
Nichtdeterministische Turingmaschinen (NTM)
29.11.2011 7
• Ü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
Die Klasse NP Das Klasse NP - Einleitung
Beispiel: Zusammengesetzte Zahlen
29.11.2011 8
𝐶𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑒 = 𝑛 𝑛 = 𝑝𝑞 mit 𝑝, 𝑞 ∈ ℕ und 𝑝, 𝑞 > 1 Eine NTM 𝑁, die diese Sprache entscheidet, wird auf einer Zahl 𝑧 ausgeführt:
1. 𝑁 wählt nichtdeterministisch 𝑡 ∈ 2, 3,… ,𝑧
2
2. 𝑁 teilt die Eingabe 𝑧 durch 𝑡. Ist das Ergebnis
ganzzahlig, akzeptiert 𝑁 𝑧 ∈ 𝐶𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑒
Die Klasse NP Das Klasse NP - Einleitung
Hamiltonkreise
29.11.2011 10
• Definition: Kreis in einem gerichteten Graphen, der durch jeden Knoten genau einmal verläuft
Die Klasse NP Verifizierbarkeit
a
b
g
f d
e c
Hamiltonkreise
29.11.2011 11
• Darstellung als Sprache: 𝐻𝑎𝑚𝑘𝑟𝑒𝑖𝑠 = 𝐺 𝐺 enthält einen Hamiltonpfad
Die Klasse NP Verifizierbarkeit
Hamiltonkreise
29.11.2011 12
• Beispiel einer deterministischen Lösung: 1. Alle Knoten des Graphen 𝐺 hintereinander auflisten.
2. Dann prüfen, ob 𝐺 zwischen jedem Knoten und dem
jeweils darauffolgenden eine Kante besitzt.
3. Mit allen denkbaren Reihenfolgen wiederholen: 𝐺 !
Die Klasse NP Verifizierbarkeit
Hamiltonkreise
29.11.2011 13
• 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
𝐺 ∈ 𝐻𝑎𝑚𝑘𝑟𝑒𝑖𝑠
Die Klasse NP Verifizierbarkeit
Zusammengesetzte Zahlen
29.11.2011 14
𝐶𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑒 = 𝑥 𝑥 = 𝑝𝑞 mit 𝑝, 𝑞 ∈ ℕ und 𝑝, 𝑞 > 1 n – Bit Zahl x Laufzeit in Abhängigkeit von n
Die Klasse NP Verifizierbarkeit
Verifikator
29.11.2011 15
Die Klasse NP Verifizierbarkeit
• Ein Verifikator für eine Sprache 𝐴 ist ein Algorithmus 𝑉, sodass: 𝐴 = 𝑤 𝑉 akzeptiert < 𝑤, 𝑐 > für irgendeinen String 𝑐
• 𝑐 heißt dabei Zertifikat (auch Beweis, Zeuge)
• Laufzeit eines polynomiellen Verifikators: 𝑂 𝑝 |𝑤|
Verifikator
29.11.2011 16
Die Klasse NP Verifizierbarkeit
• Zertifikat für Wörter aus 𝐻𝑎𝑚𝑘𝑟𝑒𝑖𝑠:
• Der gefundene Hamiltonkreis selbst
• Zertifikat für Wörter aus 𝐶𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑒:
• Eine ganzzahlige Faktorisierung der zu überprüfenden Zahl
𝐻𝑎𝑚𝑘𝑟𝑒𝑖𝑠, 𝐶𝑜𝑚𝑝𝑜𝑠𝑖𝑡𝑒 ∈ 𝑁𝑃 • Zusammenhang zu NTMs?
Suchproblem-Definition
29.11.2011 17
NP ist die Klasse der Sprachen, die polynomielle Verifikatoren besitzen.
Die Klasse NP Suchproblem-Definition
• Äquivalenz der beiden Definitionen?
Sprachakzeptanz-Definition
29.11.2011 18
Eine Sprache liegt in NP, wenn sie von einer nichtdeterministischen Turingmaschine entschieden wird.
Die Klasse NP Suchproblem-Definition
Zu zeigen: 𝑁𝑇𝑀 entscheidet 𝐴
𝑉 verifiziert 𝑥 ∈ 𝐴 in 𝑝( 𝑥 )
Beweis der Äquivalenz der Definitionen
29.11.2011 19
Die Klasse NP Beweis der Äquivalenz der Definitionen
: Zu zeigen: 𝑁𝑇𝑀 entscheidet 𝐴
𝑉 verifiziert 𝑥 ∈ 𝐴 in 𝑝( 𝑥 )
𝑁𝑇𝑀 𝑁 entscheidet 𝐴
für jedes 𝑎 ∈ 𝐴 gibt es eine
akzeptierende Rechnung 𝑟 von 𝑁. Damit kann 𝑉 wie folgt simuliert werden:
29.11.2011 20
Die Klasse NP Beweis der Äquivalenz der Definitionen
𝑉 = Bei Eingabe von < 𝑎, 𝑟 > 1. Simuliere 𝑁 auf der Eingabe 𝑎 und behandle dabei
jedes Symbol von 𝑟 als Beschreibung der nichtdeterministischen Entscheidung, die bei jedem Schritt getroffen wird.
2. Wenn dieser durch 𝑟 beschriebene Zweig von 𝑁s Rechnung akzeptiert, akzeptiert auch 𝑉.
29.11.2011 21
Die Klasse NP Beweis der Äquivalenz der Definitionen
: Zu zeigen: 𝑁𝑇𝑀 entscheidet 𝐴
𝑉 verifiziert 𝑥 ∈ 𝐴 in 𝑝( 𝑥 )
Die 𝑁𝑇𝑀 kann wie folgt konstruiert werden:
29.11.2011 22
Die Klasse NP Beweis der Äquivalenz der Definitionen
𝑁𝑇𝑀 = Bei Eingabe von 𝑤 der Länge 𝑛: 1. Nichtdeterministische Wahl eines Strings 𝑐 mit 𝑐 ≤ 𝑛𝑘
2. Führe 𝑉 auf < 𝑤, 𝑐 > aus
3. Akzeptiert 𝑉, so akzeptiert die 𝑁𝑇𝑀.
29.11.2011 23
Die Klasse NP Beweis der Äquivalenz der Definitionen
→ 𝑁𝑃 = 𝑁𝑇𝐼𝑀𝐸 𝑛𝑘𝑘
NTIME
29.11.2011 24
𝑁𝑇𝐼𝑀𝐸 𝑡 𝑛
= 𝐿 𝐿 wird von einer NTM in 𝑂 𝑡 𝑛 entschieden
Die Klasse NP NTIME
𝑆𝑢𝑏𝑠𝑒𝑡𝑆𝑢𝑚
= < 𝑆, 𝑡 > 𝑆 = {𝑥1, … , 𝑥𝑛} und für 𝑦1, … , 𝑦𝑘 ⊆ 𝑆 gilt: 𝑦𝑖 = 𝑡
Bsp.: < 1,4,8,21 , 25 > ∈ 𝑆𝑢𝑏𝑠𝑒𝑡𝑆𝑢𝑚 denn 4 + 21 = 25
Beispielprobleme in NP
29.11.2011 25
Die Klasse NP Beispielprobleme in NP
Das Cliquenproblem Clique: Ein (Unter-)Graph, in dem jeder Knoten mit jedem anderen über eine Kante verbunden ist. 𝑘-Clique: Clique bestehend aus 𝑘 Knoten 𝐶𝑙𝑖𝑞𝑢𝑒 = < 𝐺, 𝑘 > 𝐺 enthält eine 𝑘 − Clique
29.11.2011 26
Die Klasse NP Beispielprobleme in NP
• Bis heute nicht beweisbar: 𝑃 = 𝑁𝑃
• Klasse der Entscheidungsprobleme, deren Komplemente in 𝑁𝑃 liegen: 𝐶𝑜𝑁𝑃
• 𝑁𝑃 und 𝐶𝑜𝑁𝑃 sind nicht disjunkt wegen: 𝑃 ⊆ 𝑁𝑃 ∩𝐶𝑜𝑁𝑃
• Aus 𝑃 = 𝑁𝑃 würde demnach 𝑁𝑃 = 𝐶𝑜𝑁𝑃 folgen
Beziehungen zu anderen Komplexitätsklassen
29.11.2011 27
Die Klasse NP Beziehungen zu anderen Komplexitätsklassen
• Insgesamt ist folgende Einordnung bekannt: 𝐿 ⊆ 𝑁𝐿 ⊆ 𝐿𝑂𝐺𝐶𝐹𝐿 ⊆ 𝑁𝐶 ⊆ 𝑃 ⊆ 𝑁𝑃 𝑁𝑃 ⊆ 𝑃𝑆𝑃𝐴𝐶𝐸 = 𝑁𝑆𝑃𝐴𝐶𝐸 ⊆ 𝐸𝑋𝑃𝑇𝐼𝑀𝐸 ⊆ 𝑁𝐸𝑋𝑃𝑇𝐼𝑀𝐸 • Dabei sind nur ganz wenige echte Inklusionen bekannt: 𝐿𝑂𝐺𝐶𝐹𝐿 ⊂ 𝑃 𝑃 ⊂ 𝐸𝑋𝑃𝑇𝐼𝑀𝐸
29.11.2011 28
Die Klasse NP Beweis der Äquivalenz der Definitionen
• Michael Sipser:
„Introduction to the Theory of Computation“ (2006)
• Webseite der Princeton University:
„NP and NP Completeness“
• Wikipedia.org:
NP (Komplexitätsklasse) Nichtdeterministische Turingmaschine
Quellen
29.11.2011 29
Die Klasse NP Quellen