VL-12: P und NP
(Berechenbarkeit und Komplexit¨ at, WS 2019) Gerhard Woeginger
WS 2019, RWTH
Organisatorisches
N¨achste Vorlesungen:
Freitag, Dezember 6:Keine Vorlesung (Tag der Informatik) Mittwoch, Dezember 11, 10:30–12:00, Aula
Freitag, Dezember 13, 12:30–14:00, Audimax Mittwoch, Dezember 18, 10:30–12:00, Aula
Webseite:
https://algo.rwth-aachen.de/Lehre/WS1920/BuK/BuK.py
Zusammenfassung: Berechenbarkeit
Zusammenfassung: Turing-M¨ achtigkeit
Wir haben die folgendenTuring-m¨achtigenRechenmodelle und Programmiersprachen kennengelernt:
Turingmaschine (TM) k-Band-TM
Registermaschine (RAM)
WHILE-Programme (und somit C, Java, Pascal, Postscript, etc.) µ-rekursive Funktionen (und somit LISP, Haskell, OCaml, etc)
Die folgenden Rechenmodelle sind hingegennicht Turing-m¨achtig:
LOOP-Programme
Primitiv rekursive Funktionen
Zusammenfassung: Church-Turing These
Church-Turing These
Die Klasse der TM-berechenbaren Funktionen stimmt mit der Klasse der “intuitiv berechenbaren” Funktionen ¨uberein.
In anderen Worten:
Ein Problem kann genau dann “algorithmisch gel¨ost werden”, wenn es eine TM f¨ur dieses Problem gibt.
An Stelle von “TM” k¨onnen wir auch jedes andere Turing-m¨achtige Rechenmodell in die obigen S¨atze einf¨ugen.
Zusammenfassung: Berechenbarkeitslandschaft
Rekursiv aufz¨ahlbare
Probleme
H
H D
Probleme mit rekursiv aufz¨ahlbarem Komplement
H H D entscheidbare
Probleme
Nicht rekursiv aufz¨ahlbare Probleme mit
nicht rekursiv aufz¨ahlbarem Komplement Htot PCP
Dioph
primitiv rekursive Probleme
Zusammenfassung: Unentscheidbarkeit (1)
Methoden zum Nachweis von Nicht-Berechenbarkeit:
Diagonalisierung Unterprogrammtechnik
Reduktionen (spezielle Variante der Unterprogrammtechnik) Satz von Rice: Aussagen ¨uber Eigenschaften von Funktionen, die durch eine gegebene TM berechnet werden, sind nicht entscheidbar Schlussfolgerung aus Rice: Die automatische Verifikation von
Programmen in T-m¨achtigen Programmiersprachen ist unm¨oglich
Zusammenfassung: Unentscheidbarkeit (2)
Wichtige nicht berechenbare Probleme:
Halteproblem, in verschiedenen Varianten Postsches Korrespondenzproblem
Verschiedene Entscheidungsprobleme f¨ur CFGs
Erkennung von Funktionen mit elementaren Stammfunktionen Hilberts zehntes Problem
Wiederholung
Wdh.: Kostenmodelle der RAM
Modelle f¨ur die Rechenzeit einer RAM Uniformes Kostenmaß:
Jeder Schritt der RAM z¨ahlt als eine Zeiteinheit.
Logarithmisches Kostenmaß:
Die Laufzeitkosten eines Schrittes der RAM sind proportional zur bin¨aren L¨ange der Zahlen in den angesprochenen Registern.
Wdh.: Simulationen zwischen RAM und TM
Satz
F¨ur jede im logarithmischen Kostenmass t(n)-zeitbeschr¨ankte RAMR gibt es ein Polynomqund eineq(n+t(n))-zeitbeschr¨ankte
TMM, dieR simuliert.
Satz
Jedet(n)-zeitbeschr¨ankte TM kann durch eine RAM simuliert werden, die im logarithmischen Kostenmass durch
O((t(n) +n)·log(t(n) +n)) zeitbeschr¨ankt ist.
Also: TM und RAM im logarithmischen Kostenmodell k¨onnen einander gegenseitig mit polynomiellem Zeitverlust simulieren
Vorlesung VL-12 P und NP
Polynomielle Algorithmen Die Komplexit¨atsklasse P
Non-deterministische Turingmaschinen Die Komplexit¨atsklasse NP
Katalog von Problemen in NP P versus NP
Komplexit¨ atstheorie
DieKomplexit¨atstheorieversucht,
(entscheidbare!) algorithmische Probleme
nach ihrem Bedarf an Berechnungsressourcen zu klassifieren und sie inKomplexit¨atsklasseneinzuteilen.
Berechnungsressourcen:
Rechenzeit und Speicherplatz (als Funktion der Eingabel¨ange)
Polynomielle Algorithmen
Worst Case Laufzeit
Definition
DieWorst Case LaufzeittA(n)eines AlgorithmusAmisst die maximalen Laufzeitkosten auf Eingaben der L¨angen bez¨uglich des logarithmischen Kostenmaßes der RAM.
Polynomielle Zeit
Definition
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 auch als Polynomialzeitalgorithmus.
Polynomiell beschr¨ankt: O(n); O(nlogn); O(n3); O(n100) Nicht polynomiell beschr¨ankt: O(2n); O(3n); O(n!); O(22n)
Beispiel: Sortieren
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:
Wir l¨osen das Problem mit MergeSort oder HeapSort Laufzeit im uniformen Kostenmaß: O(nlogn) Laufzeit im logarithmischen Kostenmaß:
O(`nlogn), wobei`=max1≤i≤nlogai
F¨ur die Gesamtl¨angeLder Eingabe giltL≥`und L≥n Somit ist die Laufzeit durch`nlogn≤L3 beschr¨ankt
Weitere Beispiele
Die folgenden Probleme k¨onnen in polynomieller Zeit gel¨ost werden:
Eulerkreis K¨urzester Weg Minimaler Spannbaum Maximaler Fluss Maximum Matching
Gr¨osster gemeinsamer Teiler Konvexe H¨ulle in 2D Primzahltest
Die Klasse P
Definition: Komplexit¨atsklasse P
Pist die Klasse aller Entscheidungsprobleme, f¨ur die es einen polynomiellen Algorithmus gibt.
Anmerkungen:
Psteht f¨urPolynomiell
Penth¨alt ausschliesslichEntscheidungsprobleme
Statt der RAM k¨onnte man in der Definition der polynomiellen Laufzeit und der polynomiellen Algorithmen genauso gut die TM verwenden: RAM (im logarithmischem Kostenmaß) und TM simulieren einander ja mit polynomiellem Zeitverlust
Polynomielle Algorithmen werden oft alseffiziente Algorithmen bezeichnet, und Pals die Klasse dereffizient l¨osbarenProbleme.
Beispiel: Graphzusammenhang (1)
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 gegeben ist.
1 2
3 4
0 1 0 1
1 0 1 0
0 1 0 0
1 0 0 0
0101101001001000
Beispiel: Graphzusammenhang (2)
Satz
Graphzusammenhang∈P.
Beweis
Wir l¨osen das Problem mit Tiefensuche (DFS).
Laufzeit im uniformen Kostenmaß: O(|V|+|E|) ⊆ O(|V|2) Laufzeit im logarithmischen Kostenmaß:O(|V|2·log|V|) Die Gesamtl¨ange der Eingabe istL∈Θ(|V|2).
Die Gesamtlaufzeit liegt somit in
O(|V|2log|V|) ⊆ O(LlogL) ⊆ O(L2)
Die non-deterministische
Turingmaschine (NTM)
Illustration
0 1 1 0 1 1 0 1 1 0 1 0
1
0 · · ·
· · ·
NFA
Arbeitsband (beidseitig unbeschr¨ankt)
Lese/Schreibkopf
NTM: Definition
Definition: Non-deterministische Turingmaschine (NTM) Eine non-deterministische Turingmaschine (NTM) verf¨ugt ¨uber
ein beidseitig unbeschr¨anktes Arbeitsband, einen Lese/Schreibkopf, und
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 eineFunktionsondern durch eine Relationgesteuert werden:
δ ⊆ ((Q\ {¯q})×Γ) × (Q×Γ× {L,R,N})
Berechnungen auf einer NTM sindnicht deterministisch, da es zu einer
Berechnungsbaum (1)
δ 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 f¨ur Eingabew =0011den folgenden Berechnungsbaum:
q00011
q0011
q1011 reject q111
q011 reject
q11
q21 reject q1
q2 accept reject
Berechnungsbaum (2)
Rechenweg einer NTM= Konfigurationsfolge, die mit Startkonfiguration beginnt und mit Nachfolgekonfigurationen fortgesetzt wird, bis Endkonfiguration im Zustandq¯ erreicht wird Die m¨oglichen Rechenwege einer NTMM auf einer Eingabe k¨onnen in einemBerechnungsbaumzusammengefasst werden:
Die Knoten des Baumes entsprechen Konfigurationen Die Wurzel des Baumes entspricht der Startkonfiguration Die Kinder einer Konfiguration entsprechen den m¨oglichen Nachfolgekonfigurationen
Dermaximale Verzweigungsgraddes Berechnungsbaumes ist
∆ := max
|δ(q,a)|
q∈Q\ {¯q}, a∈Γ .
Akzeptanzverhalten (1)
Definition: Akzeptanzverhalten der NTM Eine NTMM akzeptiert die Eingabex∈Σ∗,
falls esmindestenseinen Rechenweg vonM gibt,
der in eine Konfiguration mit akzeptierendem Zustand f¨uhrt.
Die von der NTMM erkannte SpracheL(M) besteht aus allen vonM akzeptierten W¨ortern.
Akzeptanzverhalten (2)
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}
Frage:Welche Sprache wird von dieser NTM erkannt?
Antwort: L(M) ={0i1j |i,j≥1}
Laufzeit einer NTM
Definition: Laufzeit der NTM
DieLaufzeiteiner NTMM auf einer Eingabex ist wie folgt definiert.
Fallsx∈L(M), so ist die LaufzeitTM(x)die L¨ange des k¨urzesten akzeptierenden Rechenweges vonM aufx.
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
Die Klasse NP: Definition
Definition: Komplexit¨atsklasse NP
NPist die Klasse aller Entscheidungsprobleme, die durch eine NTMM erkannt werden,
deren Worst Case LaufzeittM(n)polynomiell beschr¨ankt ist.
NPsteht f¨urNon-deterministischPolynomiell
Beispiel
Problem: CLIQUE
Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahl k Frage:Enth¨altG eine Clique mit≥k Knoten?
Clique = MengeS⊆V von paarweise benachbarten Knoten Satz
CLIQUE∈NP
Beweis: Wir beschreiben eine NTMM mitL(M) =CLIQUE.
Syntaktisch inkorrekte Eingaben werden verworfen
M r¨at non-deterministisch einen 0-1-Stringy der L¨ange|V| M akzeptiert, falls der Stringy mindestensk Einsen enth¨alt und falls die KnotenmengeC ={i ∈V |yi =1} eine Clique bildet
∃ ⇐⇒
Alternative Charakterisierung von NP
Satz (Zertifikat Charakterisierung von NP) Eine SpracheL⊆Σ∗liegt genau dann in NP,
wenn es einen polynomiellendeterministischen AlgorithmusV und ein Polynomp mit der folgenden Eigenschaft gibt:
x ∈L ⇐⇒ ∃y ∈ {0,1}∗, |y| ≤p(|x|) : V akzeptierty#x
Anmerkungen:
Der polynomielle AlgorithmusV wird auch Verifizierergenannt Das Worty∈ {0,1}∗wird auchZertifikat genannt
Beweis: NTM ⇒ Zertifikat
x ∈L ⇐⇒ ∃y ∈ {0,1}∗, |y| ≤p(|x|) : V akzeptierty#x
Es seiM eine NTM, dieLin polynomieller Zeit erkennt Die Laufzeit vonM sei beschr¨ankt durch ein Polynomq
Der maximale Verzweigungsgrad eines Berechnungsbaumes sei∆ Konstruktion von Zertifikat und Verifizierer:
F¨ur die Eingabex ∈Lbetrachten wir den k¨urzesten akzeptierenden Rechenweg im Berechnungsbaum
Das Zertifikat y kodiert den akzeptierenden Rechenweg Schritt f¨ur Schritt, mit≤log2∆Bits pro Verzweigung
Das Zertifikat hat polynomielle L¨ange|y| ≤log2∆·q(|x|) Der VerifiziererV erh¨alty#x und simuliert den Rechenweg der
Beweis: Zertifikat ⇒ NTM
x ∈L ⇐⇒ ∃y ∈ {0,1}∗, |y| ≤p(|x|) : V akzeptierty#x
Es seiV ein Verifizierer mit polynomieller Laufzeitschranke Das Polynomp beschr¨ankt die L¨ange des Zertifikats Konstruktion von NTM:
F¨ur eine Eingabex r¨atM zun¨achst non-deterministisch das Zertifikaty ∈ {0,1}∗mit|y| ≤p(|x|)
Das Zertifikat wird in polynomieller Zeitp(|x|)geraten.
Dann simuliertM den VerifiziererV auf dem Worty#x, und akzeptiert wenn der Verifizierer akzeptiert
Die Zeit f¨ur die Simulation ist polynomiell beschr¨ankt in der polynomiellen Laufzeit des Verifizierers.
Katalog von Problemen in NP
Probleme in NP (1): Satisfiability
Problem: Satisfiability (SAT)
Eingabe:Eine Boole’sche Formelϕin CNF ¨uber einer Boole’schen VariablenmengeX ={x1, . . . ,xn}
Frage:Existiert eine Wahrheitsbelegung vonX, dieϕerf¨ullt?
Literal = positive oder negierte Variable
Klausel = 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 Zahl k Frage:Enth¨altG eine Clique mit≥k Knoten?
Problem: Independent Set (INDEP-SET)
Frage:Enth¨altG eine unabh¨angige Menge mit ≥k Knoten?
Problem: Vertex Cover (VC)
Frage:Enth¨altG ein Vertex Cover mit≤k Knoten?
Unabh¨angige Menge (independent set)S⊆V spannt keine Kanten Vertex CoverS⊆V ber¨uhrt alle Kanten
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?
Probleme in NP (4): Exact Cover
Problem: Exact Cover (EX-COVER)
Eingabe:Eine endliche MengeX; TeilmengenS1, . . . ,Sm von X Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,m},
sodass die MengenSi mit i ∈I eine Partition vonX bilden?
Frage: Wie sieht ein NP-Zertifikat f¨ur Exact Cover aus?
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; mit Pn
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?
P versus NP
P versus NP
Ubung¨
Beweisen Sie, dassP⊆NP gilt
Argument 1: ¨Uber TM und NTM
Argument 2: Wie sieht das NP-Zertifikat f¨ur ein Problem inP aus?
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¨osungexistiert,
und deren kurze L¨osung wir effizient ¨uberpr¨ufen k¨onnen (wenn wir diese L¨osung erst einmal gezeigt bekommen)
Intuitiv: NP enth¨alt alle nat¨urlichen Probleme, die nach einem konkreten
Die grosse offene Frage der Informatik
P=NP ?
Falls die L¨osung eines Problems einfach zu¨uberpr¨ufenist,
ist es dann auch immer einfach, die L¨osung selbst zuentdecken?
Konsequenzen einer m¨ oglichen Antwort (1)
Falls P=NP gilt:
Viele schwierige Probleme aus Wirtschaft und Industrie k¨onnen schnell gel¨ost werden
Perfekte Fahrpl¨ane, perfekte Produktionspl¨ane, perfekte Transportpl¨ane, etc
Die Mathematik erreicht eine v¨ollig neue Stufe: Wenn es f¨ur ein Theorem einen kurzen Beweis gibt, so k¨onnen wir diesen Beweis auch schnell finden
Die moderne Kryptographie bricht zusammen
Konsequenzen einer m¨ oglichen Antwort (2)
Falls P6=NP gilt:
Schwierige Probleme aus Wirtschaft und Industrie k¨onnen nur durch viel Rechenzeit und Expertenwissen attackiert werden
Perfekte L¨osungen f¨ur schwierige Optimierungsprobleme mit grossen Datenmengen sind nicht zu erwarten
Die Mathematik arbeitet genauso weiter wie bisher Die Kryptographie arbeitet genauso weiter wie bisher (Default scenario, in dem die Informatik momentan arbeitet)
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 ausgelobt:
P versus NP Problem Hodge Vermutung
Poincar´e Vermutung (erledigt 2002–2006; Grigori Perelman) Riemann’sche Vermutung
Quantenversion der Yang-Mills Gleichungen Navier-Stokes Gleichungen
Birch und Swinnerton-Dyer Vermutung