Das P versus N P - Problem Dr. Michael Huber Habilitationsvortrag eines der sieben Milleniumsprobleme des Clay Mathematics Institute A gift to Mathematics from Computer Science (Steve Smale)
Überblick Effiziente Berechenbarkeit - die Komplexitätsklasse P Effiziente Verifizierbarkeit - die Komplexitätsklasse N P einige typische Beispiele
Überblick Effiziente Berechenbarkeit - die Komplexitätsklasse P Effiziente Verifizierbarkeit - die Komplexitätsklasse N P einige typische Beispiele Die P versus N P - Frage: Bedeutung und Folgerungen Reduzierbarkeit und N P-Vollständigkeit
Überblick Effiziente Berechenbarkeit - die Komplexitätsklasse P Effiziente Verifizierbarkeit - die Komplexitätsklasse N P einige typische Beispiele Die P versus N P - Frage: Bedeutung und Folgerungen Reduzierbarkeit und N P-Vollständigkeit Durchbruch für Jedermann : PRIMES ist in P bisherige Lösungsansätze zum P versus N P - Problem
Effiziente Berechenbarkeit - die Komplexitätsklasse P I : Menge aller endlichen Binärfolgen. I n : Menge aller Binärfolgen in I der Länge n.
Effiziente Berechenbarkeit - die Komplexitätsklasse P I : Menge aller endlichen Binärfolgen. I n : Menge aller Binärfolgen in I der Länge n. Definition (Komplexitätsklasse P).
Effiziente Berechenbarkeit - die Komplexitätsklasse P I : Menge aller endlichen Binärfolgen. I n : Menge aller Binärfolgen in I der Länge n. Definition (Komplexitätsklasse P). Eine Funktion f : I! I gehört zur Klasse P, falls es einen Algorithmus gibt, der f berechnet, und positive Konstanten A, c, sodass für jedes n und jedes x 2 I n der Algorithmus f (x) in höchstens An c Schritten berechnet.
Effiziente Berechenbarkeit - die Komplexitätsklasse P I : Menge aller endlichen Binärfolgen. I n : Menge aller Binärfolgen in I der Länge n. Definition (Komplexitätsklasse P). Eine Funktion f : I! I gehört zur Klasse P, falls es einen Algorithmus gibt, der f berechnet, und positive Konstanten A, c, sodass für jedes n und jedes x 2 I n der Algorithmus f (x) in höchstens An c Schritten berechnet. Polynomiale Laufzeit: O(n c )
Effiziente Berechenbarkeit - die Komplexitätsklasse P I : Menge aller endlichen Binärfolgen. I n : Menge aller Binärfolgen in I der Länge n. Definition (Komplexitätsklasse P). Eine Funktion f : I! I gehört zur Klasse P, falls es einen Algorithmus gibt, der f berechnet, und positive Konstanten A, c, sodass für jedes n und jedes x 2 I n der Algorithmus f (x) in höchstens An c Schritten berechnet. Polynomiale Laufzeit: O(n c ) A. Cobham, J. Edmonds (Mitte 1960er)
Effiziente Berechenbarkeit - die Komplexitätsklasse P
Effiziente Verifizierbarkeit - die Komplexitätsklasse N P Einführendes Beispiel.
Effiziente Verifizierbarkeit - die Komplexitätsklasse N P Einführendes Beispiel. F. N. Cole (1903): 2 67 1 = 147573952589676412927
Effiziente Verifizierbarkeit - die Komplexitätsklasse N P Einführendes Beispiel. F. N. Cole (1903): 2 67 1 = 147573952589676412927 = 193707721 761838257287
Effiziente Verifizierbarkeit - die Komplexitätsklasse N P Definition (Komplexitätsklasse N P).
Effiziente Verifizierbarkeit - die Komplexitätsklasse N P Definition (Komplexitätsklasse N P). Eine Menge C I gehört zur Klasse N P, falls es eine Funktion V C 2 P und eine positive Konstante k gibt, sodass gilt:
Effiziente Verifizierbarkeit - die Komplexitätsklasse N P Definition (Komplexitätsklasse N P). Eine Menge C I gehört zur Klasse N P, falls es eine Funktion V C 2 P und eine positive Konstante k gibt, sodass gilt: Falls x 2 C, dann 9y mit jyj jxj k und V C (x; y) = 1 Falls x =2 C, dann 8y: V C (x; y) = 0.
Effiziente Verifizierbarkeit - die Komplexitätsklasse N P Definition (Komplexitätsklasse N P). Eine Menge C I gehört zur Klasse N P, falls es eine Funktion V C 2 P und eine positive Konstante k gibt, sodass gilt: Falls x 2 C, dann 9y mit jyj jxj k und V C (x; y) = 1 Falls x =2 C, dann 8y: V C (x; y) = 0. Bemerkungen. a) y heißt Zeuge od. Zertifikat für die Zugehörigkeit x 2 C
Effiziente Verifizierbarkeit - die Komplexitätsklasse N P Definition (Komplexitätsklasse N P). Eine Menge C I gehört zur Klasse N P, falls es eine Funktion V C 2 P und eine positive Konstante k gibt, sodass gilt: Falls x 2 C, dann 9y mit jyj jxj k und V C (x; y) = 1 Falls x =2 C, dann 8y: V C (x; y) = 0. Bemerkungen. a) y heißt Zeuge od. Zertifikat für die Zugehörigkeit x 2 C b) N P: Nicht-deterministisch polynomial S. Cook, L. Levin (Anfang 1970er)
Effiziente Verifizierbarkeit - die Komplexitätsklasse N P Definition (Komplexitätsklasse N P). Eine Menge C I gehört zur Klasse N P, falls es eine Funktion V C 2 P und eine positive Konstante k gibt, sodass gilt: Falls x 2 C, dann 9y mit jyj jxj k und V C (x; y) = 1 Falls x =2 C, dann 8y: V C (x; y) = 0. Bemerkungen. a) y heißt Zeuge od. Zertifikat für die Zugehörigkeit x 2 C b) N P: Nicht-deterministisch polynomial S. Cook, L. Levin (Anfang 1970er) c) Klar: P N P
Einige typische Beispiele (A) Eulerzug-Problem (EULER TOUR) (B) Hamiltonkreisproblem (HAMILTON CYCLE)
Einige typische Beispiele (A) Eulerzug-Problem (EULER TOUR) (B) Hamiltonkreisproblem (HAMILTON CYCLE) (C) Primzahltest(PRIMES) (D) Faktorisierungsproblem (FACTORING) (E) Erfüllbarkeitsproblem der Aussagenlogik (SAT)
(A) EULER TOUR Königsberger Brückenproblem
(A) EULER TOUR Königsberger Brückenproblem Eulerzug-Problem (EULER TOUR) Gegeben: Graph G = (E; K) Frage: Besitzt G einen Eulerschen Kantenzug?
(B) HAMILTON CYCLE Hamilton s Dodekaeder-Graph
(B) HAMILTON CYCLE Hamilton s Dodekaeder-Graph
(B) HAMILTON CYCLE Hamilton s Dodekaeder-Graph Hamiltonkreisproblem (HAMILTON CYCLE) Gegeben: Graph G = (E; K) Frage: Besitzt G einen Hamiltonischen Kreis?
(C) PRIMES Primzahltest (PRIMES) Gegeben: n 2 N, n > 1 Frage: Ist n eine Primzahl?
(D) FACTORING Faktorisierungsproblem (FACTORING) Gegeben: n 2 N, k 2 N Frage: Besitzt n einen nicht-trivialen Faktor kleiner als k?
(E) SAT Erfüllbarkeitsproblem der Aussagenlogik (SAT) (von engl. satisfiability ) Gegeben: Aussagenlogische Formel F (in konjunktiver NF) Frage: Ist F erfüllbar? (D.h. gibt es eine Belegung der in F verwendeten Variablen, sodass F zu wahr ausgewertet wird?)
Die P versus N P - Frage: Bedeutung und Folgerungen I can t find an efficient algorithm, I guess I m just too dumb. [Garey/Johnson 1979]
Die P versus N P - Frage: Bedeutung und Folgerungen I can t find an efficient algorithm, I guess I m just too dumb. [Garey/Johnson 1979] I can t find an efficient algorithm, because no such algorithm is possible.
Die P versus N P - Frage: Bedeutung und Folgerungen I can t find an efficient algorithm, but neither can all these famous people.
Die P versus N P - Frage: Bedeutung und Folgerungen I can t find an efficient algorithm, but neither can all these famous people. Offenes Problem. Gilt P = N P?
Die P versus N P - Frage: Bedeutung und Folgerungen
Die P versus N P - Frage: Bedeutung und Folgerungen
Die P versus N P - Frage: Bedeutung und Folgerungen Vermutung. P 6= N P
Die P versus N P - Frage: Bedeutung und Folgerungen Definition (Komplexitätsklasse co-n P). Eine Menge C I gehört genau dann zur Klasse co-n P, falls ihr Komplement C = I n C zu N P gehört.
Die P versus N P - Frage: Bedeutung und Folgerungen Definition (Komplexitätsklasse co-n P). Eine Menge C I gehört genau dann zur Klasse co-n P, falls ihr Komplement C = I n C zu N P gehört. Vermutung. N P 6= co-n P (da P symmetrisch, impliziert dies P 6= N P.)
Reduzierbarkeit und N P-Vollständigkeit Definition (Effiziente Reduzierbarkeit).
Reduzierbarkeit und N P-Vollständigkeit Definition (Effiziente Reduzierbarkeit). Seien C; D I zwei Klassifizierungsprobleme. Dann heißt f : I! I eine effiziente Reduktion von C nach D, falls f 2 P und für jedes x 2 I gilt: Notation: C D. x 2 C () f (x) 2 D:
Reduzierbarkeit und N P-Vollständigkeit Definition (Effiziente Reduzierbarkeit). Seien C; D I zwei Klassifizierungsprobleme. Dann heißt f : I! I eine effiziente Reduktion von C nach D, falls f 2 P und für jedes x 2 I gilt: Notation: C D. x 2 C () f (x) 2 D: Definition (N P-Vollständigkeit). Ein Problem D 2 N P heißt N P-vollständig (N P-complete), falls C D für jedes C 2 N P.
Reduzierbarkeit und N P-Vollständigkeit Theorem (S. Cook (1971), L. Levin (1973)). SAT ist N P-vollständig.
Reduzierbarkeit und N P-Vollständigkeit Theorem (S. Cook (1971), L. Levin (1973)). SAT ist N P-vollständig. Korollar. P = N P () SAT 2 P.
Reduzierbarkeit und N P-Vollständigkeit 21 N P-vollständige Probleme (R. Karp (1972)).
Durchbruch für Jedermann : PRIMES ist in P PRIMES 2 N P (V. Pratt (1975))
Durchbruch für Jedermann : PRIMES ist in P PRIMES 2 N P (V. Pratt (1975)) PRIMES 2 co-n P
Durchbruch für Jedermann : PRIMES ist in P PRIMES 2 N P (V. Pratt (1975)) PRIMES 2 co-n P PRIMES 2 P (M. Agrawal, N. Kayal, N. Saxena (2002))
Primzahltest nach Agrawal, Kayal, Saxena (2002) Eingabe: n 2 N, n > 1 1. Wenn n = b c für b; c 2 N, c > 1, so Ausgabe n ist zusammengesetzt 2. Finde das kleinste r 2 N mit ggt(n; r) = 1 und ord r (n) > 4(log n) 2 3. Wenn 1 <ggt(a; n) < n für ein a < r, so Ausgabe n ist zusammengesetzt 4. Wenn r n, so Ausgabe n ist Primzahl 5. Für a = 1; : : : ; b2 (r) log nc: Wenn (X + a) n 6 X n + a (mod (X r 1; n)), so Ausgabe n ist zusammengesetzt 6. Ausgabe n ist Primzahl
bisherige Lösungsansätze zum P versus N P - Problem Diagonalisierung Untere Schranken für (monotone) Schaltkreise Natural Proofs