VL-13: P versus NP
(Berechenbarkeit und Komplexit¨ at, WS 2017) Gerhard Woeginger
WS 2017, RWTH
BuK/WS 2017 VL-13: P versus NP 1/41
Organisatorisches
I N¨achste Vorlesung:
Mittwoch, Dezember 13, 14:15–15:45 Uhr, Roter H¨orsaal
I Webseite:
http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php
BuK/WS 2017 VL-13: P versus NP 2/41
Wiederholung
Wdh.: Die Berechenbarkeitslandschaft
Rekursiv aufz¨ahlbare
Probleme
H
H D
Probleme mit rekursiv aufz¨ahlbarem
Komplement H H D Rekursive
Probleme
Unentscheidbare Probleme mit unentscheidbarem Komplement Htot
MPCP PCP
Dioph A(·,·)
primitiv rekursive Probleme
Wdh.: LOOP versus WHILE
Lemma
F¨ur jedes LOOP-ProgrammP gibt es eine nat¨urliche ZahlmP, so dass f¨ur alle n∈Ngilt: FP(n)<A(mP,n).
Satz
Die Ackermann Funktion ist nicht LOOP-berechenbar.
Da die Ackermann Funktion (durch eine TM) berechenbar ist, folgt:
Satz
Die Menge der LOOP-berechenbaren Funktionen
bildet eineechte Teilmengeder berechenbaren Funktionen.
Satz (ohne Beweis)
Die Menge der LOOP-berechenbaren Funktionen
f¨allt mit der Menge derprimitiv rekursiven Funktionenzusammen.
BuK/WS 2017 VL-13: P versus NP 5/41
Korrektur: Primitiv rekursive Funktionen (2)
Definition
Des weiteren sind die folgenden Funktionen primitiv rekursiv:
I Die Komposition von primitiv rekursiven Funktionen ist primitiv rekursiv.
I Jede Funktion, die durch primitive Rekursion aus primitiv rekursiven Funktionen entsteht ist primitiv rekursiv.
Wenn die beiden Funktioneng:Nk →Nundh:Nk+2→Nprimitiv rekursiv sind, so ist auch die wie folgt definierte Funktion
f :Nk+1→Nprimitiv rekursiv:
f(0,x1, . . . ,xk) = g(x1, . . . ,xk)
f(n,x1, . . . ,xk) = h(n,f(n−1,x1, . . . ,xk), x1, . . . ,xk)
BuK/WS 2017 VL-13: P versus NP 6/41
Wdh.: Kostenmodelle der RAM
Modelle f¨ur die Rechenzeit einer RAM
I Uniformes Kostenmaß:
Jeder Schritt z¨ahlt als eine Zeiteinheit.
I Logarithmisches Kostenmaß:
Die Laufzeitkosten eines Schrittes sind proportional zur bin¨aren L¨ange der Zahlen in den angesprochenen Registern.
Vorlesung VL-13 P versus NP
I Polynomielle Algorithmen I Die Komplexit¨atsklasse P
I Non-deterministische Turingmaschinen I Die Komplexit¨atsklasse NP
I P versus NP
Polynomielle Algorithmen
BuK/WS 2017 VL-13: P versus NP 9/41
Polynomielle Zeit (1)
Definition: Worst Case Laufzeit eines Algorithmus
DieWorst Case LaufzeittA(n)eines AlgorithmusA entspricht den maximalen Laufzeitkosten auf Eingaben der L¨angen bez¨uglich des logarithmischen Kostenmaßes der RAM.
Definition: Polynomielle Algorithmen
Die Worst Case LaufzeittA(n)eines AlgorithmusA istpolynomiell beschr¨ankt, falls gilt
∃α∈N: tA(n)∈O(nα)
Einen Algorithmus mit polynomiell beschr¨ankter Worst Case Laufzeit bezeichnen wir alspolynomiellen Algorithmusoder als
Polynomialzeitalgorithmus.
BuK/WS 2017 VL-13: P versus NP 10/41
Polynomielle Zeit (2): Beispiel
Problem: SORTIEREN
Eingabe: Zahlena1, . . . ,an∈Nin Bin¨ardarstellung
Ausgabe: Die aufsteigend sortierte Folge der Eingabezahlen
Satz
SORTIEREN kann in polynomieller Zeit gel¨ost werden.
Beweis:
I Wir l¨osen das Problem mit MergeSort oder HeapSort
I Laufzeit im uniformen Kostenmaß:O(nlogn)
I Laufzeit im logarithmischen Kostenmaß:
O(`nlogn), wobei`=max1≤i≤nlogai
I F¨ur die Gesamtl¨angeLder Eingabe gilt L≥`und L≥n
I Somit ist die Laufzeit durch`nlogn≤L3 beschr¨ankt
Polynomielle Zeit (3): Weitere Beispiele
Die folgenden Probleme k¨onnen in polynomieller Zeit gel¨ost werden:
I Eulerkreis
I K¨urzester Weg
I Minimaler Spannbaum
I Maximaler Fluss
I Maximum Matching
I Gr¨osster gemeinsamer Teiler
I Huffman Code
I Konvexe H¨ulle in 2D
I Primzahltest
Polynomielle Zeit (4): Die Klasse P
Definition: Komplexit¨ atsklasse P
P ist die Klasse aller Entscheidungsprobleme, f¨ur die es einen polynomiellen Algorithmus gibt.
Anmerkungen:
I Psteht f¨urPolynomiell
I Statt der RAM kann man in der Definition von polynomieller Laufzeit und von polynomiellen Algorithmen genauso gut die TM verwenden:
RAM und TM simulieren einander ja mit polynomiellem Zeitverlust
I Polynomielle Algorithmen werden h¨aufig auch alseffiziente Algorithmenbezeichnet
I P ist in diesem Sinne die Klasse derjenigen Probleme, dieeffizient gel¨ostwerden k¨onnen
BuK/WS 2017 VL-13: P versus NP 13/41
Polynomielle Zeit (5a): Graphzusammenhang
Problem: Graphzusammenhang
Eingabe: Ein ungerichteter GraphG = (V,E) Frage: IstG zusammenh¨angend?
Anmerkung:Bei Graphproblemen gehen wir grunds¨atzlich davon aus, dass der Graph in Form einer Adjazenzmatrix eingegeben wird.
1 2
3 4
0 1 0 1
1 0 1 0
0 1 0 0
1 0 0 0
0101101001001000
BuK/WS 2017 VL-13: P versus NP 14/41
Polynomielle Zeit (5b): Graphzusammenhang
Satz
Graphzusammenhang∈P.
Beweis
I Wir l¨osen das Problem mit Tiefensuche (DFS).
I Laufzeit im uniformen Kostenmaß:O(|V|+|E|) =O(|V|2)
I Laufzeit im logarithmischen Kostenmaß:O(|V|2·log|V|)
I Die Gesamtl¨ange der Eingabe istL=|V|2
I Die Gesamtlaufzeit ist somit
O(|V|2log|V|) ⊆ O(LlogL) ⊆ O(L2)
Die non-deterministische
Turingmaschine (NTM)
NTM (1): Illustration
0 1 1 0 1 1 0 1 1 0 1 0
1
0 · · ·
· · ·
NFA
Arbeitsband (beidseitig unbeschr¨ankt)
Lese/Schreibkopf
BuK/WS 2017 VL-13: P versus NP 17/41
NTM (2): Definition
Definition: Non-deterministische Turingmaschine (NTM)
Eine non-deterministische Turingmaschine (NTM) verf¨ugt ¨uber
I ein beidseitig unbeschr¨anktes Arbeitsband,
I einen Lese/Schreibkopf, und
I einen Mechanismus, der die Zustands¨uberf¨uhrungen steuert.
Der einzige Unterschied zur deterministischen Turingmaschine TM besteht darin, dass die Zustands¨uberf¨uhrungen bei der NTM nicht durch eineFunktion sondern durch eineRelationgesteuert werden:
δ ⊆ ((Q\ {¯q})×Γ) × (Q×Γ× {L,R,N})
Berechnungen auf einer NTM sindnicht deterministisch, da es zu einer Konfiguration mehrere direkte Nachfolgekonfigurationen geben kann.
BuK/WS 2017 VL-13: P versus NP 18/41
NTM (3a): Berechnungsbaum
δ 0 1 B
q0 {(q0,B,R),(q1,B,R)} {reject} {reject}
q1 {reject} {(q1,B,R),(q2,B,R)} {reject}
q2 {reject} {reject} {accept}
Diese NTM hat auf der Eingabew =0011folgenden Berechnungsbaum:
q00011
q0011
q1011 reject q111
q011 reject
q11
q21 reject q1
q2 accept reject
NTM (3b): Berechnungsbaum
Rechenweg einer NTM= Konfigurationsfolge, die mit Startkonfiguration beginnt und mit Nachfolgekonfigurationen fortgesetzt wird, bis eine Endkonfiguration im Zustandq¯erreicht wird
Die m¨oglichen Rechenwege einer NTM M auf einer Eingabe k¨onnen in einemBerechnungsbaumzusammengefasst werden:
I Die Knoten des Baumes entsprechen Konfigurationen
I Die Wurzel des Baumes entspricht der Startkonfiguration
I Die Kinder einer Konfiguration entsprechen den m¨oglichen Nachfolgekonfigurationen
Dermaximale Verzweigungsgraddes Berechnungsbaumes ist
∆ := max
|δ(q,a)|
q∈Q\ {¯q}, a∈Γ .
Anmerkung:∆h¨angt nur vonM und nicht von der Eingabe ab
NTM (4a): Akzeptanzverhalten
Definition: Akzeptanzverhalten der NTM
Eine NTMM akzeptiertdie Eingabe x∈Σ∗, falls es mindestens einen Rechenweg vonM gibt,
der in eine Konfiguration mit akzeptierendem Zustand f¨uhrt.
Die von der NTMM erkannte SpracheL(M) besteht aus allen von M akzeptierten W¨ortern.
BuK/WS 2017 VL-13: P versus NP 21/41
NTM (4b): Akzeptanzverhalten
0 1 1 0 1 1 0 0 1 1 0 1 0 · · ·
· · ·
δ 0 1 B
q0 {(q0,B,R),(q1,B,R)} {reject} {reject}
q1 {reject} {(q1,B,R),(q2,B,R)} {reject}
q2 {reject} {reject} {accept}
Welche Sprache wird von dieser NTM erkannt?
L(M) ={0i1j |i ≥1,j≥1}
BuK/WS 2017 VL-13: P versus NP 22/41
NTM (5): Laufzeit
Definition: Laufzeit der NTM
Die Laufzeit einer NTMM auf einer Eingabe x ist wie folgt definiert.
I Fallsx∈L(M), so ist die LaufzeitTM(x)die L¨ange des k¨urzesten akzeptierenden Rechenweges vonM aufx
I Fallsx∈/L(M), so ist die LaufzeitTM(x) =0.
DieWorst Case LaufzeittM(n)der NTMM auf Eingaben
der L¨angen∈Nist definiert als tM(n) :=max{TM(x)|x ∈Σn}
Die Komplexit¨ atsklasse NP
NP (1): Definition
Definition: Komplexit¨ atsklasse NP
NPist die Klasse aller Entscheidungsprobleme, die durch eine NTM M erkannt werden,
deren Worst Case Laufzeit tM(n)polynomiell beschr¨ankt ist.
NPsteht dabei f¨urNon-deterministischPolynomiell
BuK/WS 2017 VL-13: P versus NP 25/41
NP (2): Beispiel
Problem: CLIQUE
Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahlk Frage: Enth¨altG eine k-Clique?
Satz
CLIQUE∈NP
Beweis:Wir beschreiben eine NTMM mitL(M) =CLIQUE.
I Syntaktisch inkorrekte Eingaben werden verworfen
I M r¨at non-deterministisch einen 0-1-Stringy der L¨ange|V|
I M akzeptiert, falls der Stringy genauk Einsen enth¨alt und falls die KnotenmengeC ={i ∈V |yi =1}eine Clique bildet
Korrektheit:∃ akzeptierender Rechenweg ⇐⇒ G enth¨altk-Clique Laufzeit:Jede Phase kostet polynomielle Zeit
BuK/WS 2017 VL-13: P versus NP 26/41
NP (3): Alternative Charakterisierung
Satz (Zertifikat Charakterisierung von NP)
Eine SpracheL⊆Σ∗liegt genau dann in NP,
wenn es einen polynomiellen (deterministischen) Algorithmus V und ein Polynom pmit der folgenden Eigenschaft gibt:
x∈L ⇐⇒ ∃y ∈ {0,1}∗, |y| ≤p(|x|) : V akzeptierty#x
Anmerkungen:
IDer polynomielle AlgorithmusVheisst auchVerifizierer IDas Worty∈ {0,1}∗heisst auchZertifikat
NP (4a): Beweis / NTM ⇒ Zertifikat
Zur Erinnerung:
x ∈L ⇐⇒ ∃y ∈ {0,1}∗, |y| ≤p(|x|) : V akzeptierty#x
I Es seiMeine NTM, dieLin polynomieller Zeit erkennt I Die Laufzeit vonMsei beschr¨ankt durch ein Polynomq
I Der maximale Verzweigungsgrad eines Berechnungsbaumes sei∆≤2d
Konstruktion von Zertifikat und Verifizierer:
I F¨ur die Eingabex∈Lbetrachten wir den k¨urzesten akzeptierenden Rechenweg im Berechnungsbaum
I Das Zertifikatykodiert den akzeptierenden Rechenweg Schritt f¨ur Schritt, mitdBits pro Verzweigung
I Das Zertifikat hat polynomielle L¨ange|y| ≤d·q(|x|)
I Der VerifiziererVerh¨alty#xund simuliert den Rechenweg der NTMMf¨ur die Eingabex
NP (4b): Beweis / NTM ⇐ Zertifikat
Zur Erinnerung:
x∈L ⇐⇒ ∃y ∈ {0,1}∗, |y| ≤p(|x|) : V akzeptierty#x
IEs seiV ein Verifizierer mit polynomieller Laufzeitschranke IDas Polynompbeschr¨ankt die L¨ange des Zertifikats
Konstruktion von NTM:
I F¨ur eine Eingabexr¨atMzun¨achst non-deterministisch das Zertifikaty∈ {0,1}∗mit
|y| ≤p(|x|)
I Dann simuliertMden VerifiziererVauf dem Worty#x, und akzeptiert wenn der Verifizierer akzeptiert
I Das Zertifikat wird in polynomieller Zeitp(|x|)geraten.
Die Zeit f¨ur die Simulation ist polynomiell beschr¨ankt in der polynomiellen Laufzeit des Verifizierers.
BuK/WS 2017 VL-13: P versus NP 29/41
Katalog von Problemen in NP
BuK/WS 2017 VL-13: P versus NP 30/41
Probleme in NP (1): Satisfiability
Problem: Satisfiability (SAT)
Eingabe:Eine Boole’sche Formelϕin CNF ¨uber der Boole’schen VariablenmengeX ={x1, . . . ,xn}
Frage:Existiert eine Wahrheitsbelegung vonX, dieϕ erf¨ullt?
ILiteral: positive oder negierte Variable
IKlausel: ODER-Verkn¨upfung von einigen Literalen
Beispiele
ϕ1 = (x∨y∨z)∧(¬x∨ ¬y∨ ¬z) ϕ1 = (x+y+z) (x+y+z)
ϕ2 = (x∨y)∧(¬x∨y)∧(x∨ ¬y)∧(¬x∨ ¬y) ϕ2 = (x+y) (x+y) (x+y) (x+y)
Frage: Wie sieht ein NP-Zertifikat f¨ur SAT aus?
Probleme in NP (2): Clique / Independent Set / VC
Problem: CLIQUE
Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahlk Frage: Enth¨altG eine k-Clique?
Problem: Independent Set (INDEP-SET)
Frage: Enth¨altG eine unabh¨angige Menge mitk Knoten?
Problem: Vertex Cover (VC)
Frage: Enth¨altG ein Vertex Cover mitk Knoten?
I Unabh¨angige Menge (independent set)S⊆V: spannt keine Kanten I Vertex CoverS⊆V: ber¨uhrt alle Kanten
Frage: Wie sieht NP-Zertifikat f¨ur CLIQUE / INDEP-SET / VC aus?
Probleme in NP (3): Hamiltonkreis / TSP
Problem: Hamiltonkreis (HAM-CYCLE)
Eingabe:Ein ungerichteter GraphG = (V,E) Frage:BesitztG einen Hamiltonkreis?
Problem: Travelling Salesman Problem (TSP)
Eingabe:St¨adte1, . . . ,n; Distanzend(i,j); eine Zahlγ
Frage:Gibt es eine Rundreise (TSP-Tour) mit L¨ange h¨ochstensγ?
Fragen:
Wie sieht ein NP-Zertifikat f¨ur HAM-CYCLE aus?
Wie sieht ein NP-Zertifikat f¨ur TSP aus?
BuK/WS 2017 VL-13: P versus NP 33/41
Probleme in NP (4): Exact Cover
Problem: Exact Cover (EX-COVER)
Eingabe:Eine endliche MengeX; TeilmengenS1, . . . ,Sm vonX Frage: Existiert eine IndexmengeI ⊆ {1, . . . ,m},
sodass die MengenSi miti ∈I eine Partition vonX bilden?
Frage: Wie sieht ein NP-Zertifikat f¨ur Exact Cover aus?
BuK/WS 2017 VL-13: P versus NP 34/41
Probleme in NP (5): SUBSET-SUM / PARTITION
Problem: SUBSET-SUM
Eingabe:Positive ganze Zahlena1, . . . ,an; eine ganze Zahlb Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n}mitP
i∈Iai=b?
Problem: PARTITION
Eingabe:Positive ganze Zahlena1, . . . ,an; mitPn
i=1ai =2A Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n}mitP
i∈Iai=A?
Fragen:
Wie sieht ein NP-Zertifikat f¨ur SUBSET-SUM aus?
Wie sieht ein NP-Zertifikat f¨ur PARTITION aus?
Probleme in NP (6)
Ubung ¨
Beweisen Sie, dassP⊆NP gilt
Argument 1: ¨Uber TM und NTM
Argument 2: Wie sieht das NP-Zertifikat f¨ur ein Problem in P aus?
P versus NP
BuK/WS 2017 VL-13: P versus NP 37/41
Was haben wir bis jetzt gesehen?
Die Komplexit¨ atsklasse P
Die KlasseP enth¨alt alle Entscheidungsprobleme, die effizient auf dem Computer gel¨ost werden k¨onnen
Intuitiv: P enth¨alt die Probleme, die wir gut verstehen k¨onnen und die wir in vern¨unftiger Rechenzeit erledigen k¨onnen
Die Komplexit¨ atsklasse NP
Die KlasseNP enth¨alt alle Entscheidungsprobleme, f¨ur die eine kurze L¨osung existiert,
und deren kurze L¨osung wir effizient ¨uberpr¨ufen k¨onnen (wenn wir diese L¨osung erst einmal gezeigt bekommen)
Intuitiv: NP enth¨alt so ziemlich alle Probleme, die nach einem konkreten L¨osungsobjekt fragen
BuK/WS 2017 VL-13: P versus NP 38/41
Die grosse offene Frage der Informatik
P=NP ?
Falls die L¨osung eines Problems einfach zu ¨uberpr¨ufen ist, ist es dann auch immer einfach, die L¨osung zu entdecken?
Konsequenzen
Falls P=NP ist:
I Viele schwierige Probleme aus Wirtschaft und Industrie k¨onnen schnell gel¨ost werden
I Perfekte Fahrpl¨ane, Produktionspl¨ane, Transportpl¨ane, etc
I Die Mathematik erreicht eine neue Stufe: Wenn es f¨ur ein Theorem einen kurzen Beweis gibt, so k¨onnen wir diesen Beweis auch finden
I Die moderne Kryptographie bricht zusammen
Falls P6=NP ist:
I Schwierige Probleme aus Wirtschaft und Industrie k¨onnen nur durch viel Rechenzeit und Expertenwissen attackiert werden
I Perfekte L¨osungen f¨ur schwierige Probleme mit grossen
Eine Million Dollar Preisgeld
Im Jahr 2000 hat dasClay Mathematics Institute (CMI)je eine Million Dollar Preisgeld f¨ur die L¨osung der folgenden sieben Probleme angeboten:
I P versus NP Problem
I Hodge Vermutung
I Poincar´e Vermutung X (Perelman, 2006)
I Riemann’sche Vermutung
I Quantenversion der Yang-Mills Gleichungen
I Navier-Stokes Gleichungen
I Birch und Swinnerton-Dyer Vermutung
BuK/WS 2017 VL-13: P versus NP 41/41