Komplexitätstheorie 2

Werbung
N P - Was ist das?
Beispiele
N P und coN P
Komplexitätstheorie 2 - Die Klasse NP
Arne Müller
Proseminar Theoretische Informatik, 27.11.2007
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Gliederung
1
N P - Was ist das?
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
2
Beispiele
SAT
Graphisomorphie
Primzahltest
3
N P und coN P
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Gliederung
1
N P - Was ist das?
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
2
Beispiele
SAT
Graphisomorphie
Primzahltest
3
N P und coN P
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Noch keine Lösung in P gefunden?
Probleme, die irgendwie nicht so effizient lösbar sind
Es gibt Probleme bei denen wurde bis heute kein
deterministischer Algorithmus gefunden, der das Problem in
polynomieller Zeit löst.
Mögliche Ursachen:
Es gibt einen Algorithmus, wir haben ihn noch nicht
gefunden.
Es gibt keinen Algorithmus, der das Problem effizient löst.
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Der Hamiltonpfad
Ein Problem, das irgendwie nicht so effizient lösbar ist
Ein Pfad p in einem gerichteten Graphen G heißt Hamiltonpfad
genau dann, wenn p durch alle Knoten des Graphen verläuft.
H AMPATH = {< G, s, t > |G ist ein gerichteter Graph mit
einem Hamiltonpfad von s zu t}
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Laufzeitkomplexität des Hamiltonpfadproblems
Schon einen Algorithmus in P gefunden?
Lösung des Problems in exponentieller Laufzeit:
durchprobieren aller Pfade von s nach t.
findet man einen Pfad, der durch alle Knoten verläuft →
akzeptieren
sonst → nicht akzeptieren
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Wenigstens etwas geht “schnell”
Es geht schon noch besser als exponentiell
Hamiltonpfad von s nach t in Graph G schon gefunden?
⇒ Beweis für andere geht schnell.
Eine Lösung von H AMPATH ist also in polynomieller Zeit
verifizierbar.
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Gliederung
1
N P - Was ist das?
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
2
Beispiele
SAT
Graphisomorphie
Primzahltest
3
N P und coN P
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Polynomiell Verifizierbar
nachprüfen in polynomieller Zeit
Definition:
Ein Prüfer für eine Sprache A ist ein Algorithmus V , mit
A = {w|V akzeptiert < w, c > mit einer Zeichenkette c}.
Messung der Laufzeit des Prüfers nur abhängig von der
Länge von w
Laufzeit eines polynomiellen Prüfers = O(p(|w|)). (p ist
Polynom)
Eine Sprache A heißt polynomiell verifizierbar, wenn ein solcher
polynomieller Verifizieralgorithmus existiert.
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Gliederung
1
N P - Was ist das?
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
2
Beispiele
SAT
Graphisomorphie
Primzahltest
3
N P und coN P
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Die Klasse N P
Achtung: N P 6= nicht polynomiell berechenbar
Definition:
N P ist die Klasse der Sprachen, die polynomiell verifizierbar
sind.
Satz:
Eine Sprache A ist genau dann in N P, wenn eine
nichtdeterministische Turing-Maschiene existiert, die in
polynomieller Zeit A akzeptiert.
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
Die Klasse N P
Achtung: N P 6= nicht polynomiell berechenbar
Definition:
N P ist die Klasse der Sprachen, die polynomiell verifizierbar
sind.
Satz:
Eine Sprache A ist genau dann in N P, wenn eine
nichtdeterministische Turing-Maschiene existiert, die in
polynomieller Zeit A akzeptiert.
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
NTIME
Eine Definition analog zu TIME bzw. DTIME
N T IME (t(n))
= {L|L ist eine Sprache, die von einer nichtdeterministischen Turingmaschiene in
O(t(n)) entschieden wird}
Bemerkung:
Analog zu P folgt
NP =
[
N T IME (n
k
).
k
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
NTIME
Eine Definition analog zu TIME bzw. DTIME
N T IME (t(n))
= {L|L ist eine Sprache, die von einer nichtdeterministischen Turingmaschiene in
O(t(n)) entschieden wird}
Bemerkung:
Analog zu P folgt
NP =
[
N T IME (n
k
).
k
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
SAT
Graphisomorphie
Primzahltest
Gliederung
1
N P - Was ist das?
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
2
Beispiele
SAT
Graphisomorphie
Primzahltest
3
N P und coN P
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
SAT
Graphisomorphie
Primzahltest
SAT - Das Erfüllbarkeitsproblem
Gegeben: Ein boolscher Ausdruck
z.B. (x1 ∨ x2 ∨ x 3 ) ∧ (x 1 ∨ x 2 ) ∧ (x 2 ∨ x3 ) ∧ (x 1 ∨ x3 )
Gibt es eine Belegung von x1 , x2 , x3 , sodass der Ausdruck wahr
wird?
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
SAT
Graphisomorphie
Primzahltest
Gliederung
1
N P - Was ist das?
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
2
Beispiele
SAT
Graphisomorphie
Primzahltest
3
N P und coN P
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
SAT
Graphisomorphie
Primzahltest
Graphisomorphie
Gegeben: Zwei Graphen
Kann durch Umbenennen der Knoten der eine Graph in den
jeweils anderen überführt werden?
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
SAT
Graphisomorphie
Primzahltest
Gliederung
1
N P - Was ist das?
Der Hamiltonpfad
Polynomiell verifizierbar
Die Klasse N P
2
Beispiele
SAT
Graphisomorphie
Primzahltest
3
N P und coN P
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
SAT
Graphisomorphie
Primzahltest
auch der Primzahltest liegt in N P!
P RIMES: Ist eine Zahl p ∈ N Primzahl?
Satz von Kraitchik und Lehmer:
p ist genau dann Primzahl, wenn ein a existiert mit
ap−1 ≡ 1(mod p)
∧ a
p−1
q
6≡ 1(mod p) ∀ Primzahlen q|(p − 1)
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
SAT
Graphisomorphie
Primzahltest
auch der Primzahltest liegt in N P!
P RIMES: Ist eine Zahl p ∈ N Primzahl?
Satz von Kraitchik und Lehmer:
p ist genau dann Primzahl, wenn ein a existiert mit
ap−1 ≡ 1(mod p)
∧ a
p−1
q
6≡ 1(mod p) ∀ Primzahlen q|(p − 1)
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
N P und coN P
Was ist mit den Komplementen von Problemen in N P
H AMPATH ∈ N P? ungewiss.
SAT ∈ N P? ungewiss.
P RIMES ∈ N P Ja.
Aber: P RIMES ∈ P!
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
N P und coN P
Was ist mit den Komplementen von Problemen in N P
H AMPATH ∈ N P? ungewiss.
SAT ∈ N P? ungewiss.
P RIMES ∈ N P Ja.
Aber: P RIMES ∈ P!
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
N P und coN P
Was ist mit den Komplementen von Problemen in N P
H AMPATH ∈ N P? ungewiss.
SAT ∈ N P? ungewiss.
P RIMES ∈ N P Ja.
Aber: P RIMES ∈ P!
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
N P und coN P
Was ist mit den Komplementen von Problemen in N P
H AMPATH ∈ N P? ungewiss.
SAT ∈ N P? ungewiss.
P RIMES ∈ N P Ja.
Aber: P RIMES ∈ P!
Arne Müller
Die Klasse NP
N P - Was ist das?
Beispiele
N P und coN P
für alle, die mal berühmt werden wollen
Gilt also N P ∧ coN P = P ?
oder gar N P = P ?
Arne Müller
Die Klasse NP
Herunterladen