VL-18: Jenseits von P und NP
(Berechenbarkeit und Komplexit¨ at, WS 2017) Gerhard Woeginger
WS 2017, RWTH
BuK/WS 2017 VL-18: Jenseits von P und NP 1/43
Organisatorisches
I N¨achste (letzte) Vorlesung:
Mittwoch, Januar 24, 14:15–15:45 Uhr, Roter H¨orsaal
I Webseite:
http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php
I Arbeitsheft zur NP-Vollst¨andigkeit:
Auf der BuK-Webseite, unter “Additional material”
BuK/WS 2017 VL-18: Jenseits von P und NP 2/43
Wdh.: Landkarte mit Karp’s 20 Reduktionen
SAT INTEGER
PROG 3-SAT
COLORING
CLIQUE COVER
EXACT COVER 3-DIM
MATCHING
STEINER TREE
HITTING SET
SUBSET-SUM
JOB SEQUENCING PARTITION
MAX-CUT SET COVER FEEDBACK
ARC SET
FEEDBACK VERTEX
SET DIRECTED
HAM-CYCLE
HAM CYCLE
VERTEX COVER INDEP
SET
CLIQUE
Wdh.: Pseudo-polynomiell versus Stark NP-schwer (1)
Definition: Pseudo-polynomielle Zeit
Ein AlgorithmusAl¨ost ein ProblemX in pseudo-polynomiellerZeit, falls die Laufzeit vonAauf InstanzenI vonX
polynomiell in|I|undNumber(I)beschr¨ankt ist.
Satz
Die Probleme SUBSET-SUM, PARTITION und Rucksack sind pseudo-polynomiell l¨osbar.
Wdh.: Pseudo-polynomiell versus Stark NP-schwer (2)
Definition: Stark NP-schwer (engl.: NP-hard in the strong sense)
Ein EntscheidungsproblemX iststark NP-schwer,
wenn es ein Polynomq:N→Ngibt, sodass die Restriktion vonX auf InstanzenI mitNumber(I)≤q(|I|)NP-schwer ist.
Also: Das ProblemX ist sogar dann NP-schwer, wenn alle Zahlenwerte in der InstanzI nur polynomiell gross (in|I|) sind.
Satz
Es seiX ein stark NP-schweres Entscheidungsproblem.
FallsX pseudo-polynomiell l¨osbar ist, so gilt P=NP.
Also: Pseudo-polynomiell und stark NP-schwer schliessen einander aus (unter unserer Standardannahme P6=NP)
BuK/WS 2017 VL-18: Jenseits von P und NP 5/43
Vorlesung VL-18 Jenseits von P und NP
I P versus NP
I Die Komplexit¨atsklasse coNP I Zwischen P und NPC: NP-intermediate I Die Komplexit¨atsklassen EXPTIME und PSPACE
BuK/WS 2017 VL-18: Jenseits von P und NP 6/43
P versus NP
P versus NP
I P enth¨alt jene Probleme, die wir effizient l¨osen k¨onnen
I NP enth¨alt jene Probleme, deren (kurze) L¨osung wir effizient
¨
uberpr¨ufen k¨onnen (wenn wir sie gezeigt bekommen)
I NPC enth¨alt die allerschwierigsten Probleme in NP
FallsP6=NPgilt (Standardannahme)
I so istP∩NPC=∅
I so ist keines der Probleme SAT, CLIQUE, Ham-Cycle, TSP, SUBSET-SUM, Rucksack, Bin Packing effizient l¨osbar
Aus dem Buch von Garey und Johnson (1)
“I can’t find an efficient algorithm, I guess I’m just too dumb.”
BuK/WS 2017 VL-18: Jenseits von P und NP 9/43
Aus dem Buch von Garey und Johnson (2)
“I can’t find an efficient algorithm, because no such algorithm is possible!”
BuK/WS 2017 VL-18: Jenseits von P und NP 10/43
Aus dem Buch von Garey und Johnson (3)
“I can’t find an efficient algorithm, but neither can all these famous people.”
Was tun mit NP-schweren Problemen? (1)
Viele Optimierungsprobleme aus der Praxis sind NP-schwer.
Zum Beispiel:Bin Packing (BPP), Set Cover,Rucksack, Traveling Salesman Problem (TSP).
In der Praxis m¨ussen diese Probleme dennoch behandelt werden.
Wichtige Strategien sind:
I Ausnutzen der Eingabestruktur durch spezielle Algorithmen
I Parametrisierte Algorithmen
I Approximationsalgorithmen
I Heuristiken (ohne irgendwelche Garantien)
I Zerteilen in geeignete Unterprobleme
Was tun mit NP-schweren Problemen? (2)
Beispiel: Ausnutzen der Eingabestruktur
I Strassennetze lassen sich durchplanareGraphen modellieren
I Es gibt effiziente Graphalgorithmen, die planare Strukturen ausn¨utzen
Beispiel: Approximationsalgorithmen
I Instanzen des TSP erf¨ullen in der Praxis h¨aufig die Dreiecksungleichung (∆-TSP)
I F¨ur das∆-TSP gibt es gute Approximationsalgorithmen:
In polynomieller Zeit kann man eine Rundreise berechnen, deren L¨ange h¨ochstens3/2-mal die optimale L¨ange betr¨agt.
BuK/WS 2017 VL-18: Jenseits von P und NP 13/43
Was tun mit NP-schweren Problemen? (3)
In der Praxis h¨angt die Effizienz eines Algorithmus oft nicht allein von der Eingabegr¨osse ab.
Eine verfeinerte Analyse, die andereEingabeparameter ber¨ucksichtigt, kann zu besseren Resultaten f¨uhren.
Beispiel: Parametrisierte Algorithmen
Wir wollen eine Anfrage in einer DatenbankDauswerten.
I Es sei` die Gr¨osse der Anfrage und es seim die Gr¨osse der DatenbankD. Die Eingabegr¨osse ist dannn=`+m.
I H¨aufig istmsehr gross, w¨ahrend` relativ klein ist. Ein Algorithmus mit Laufzeit 2`mkann deswegen durchaus gut sein, ein Algorithmus mit Laufzeiten wiem`oder gar2m`hingegen kaum.
I Analysieren wir die Algorithmen nur nach der Eingabegr¨ossen, so wird dieser wichtige Unterschied nicht sichtbar.
BuK/WS 2017 VL-18: Jenseits von P und NP 14/43
SAT (1a): Selbst-Reduzierbarkeit
I Es seiϕeine Boole’sche Formel in CNF
I Wenn wir inϕeine Variable x:=1setzen, so werden Klauseln mit Literalx dadurch erf¨ullt und in Klauseln mit Literal¯x f¨allt dieses Literal einfach weg.
Wir erhalten wir eine k¨urzere CNF-Formelϕ[x=1].
I Analog erhalten wir mitx :=0die CNF-Formelϕ[x =0].
Beispiel
F¨ur ϕ = (x∨y∨z)∧(¬x∨ ¬y∨ ¬z)∧(¬y∨z) gilt ϕ[y =1] = (¬x∨ ¬z)∧(z)
und ϕ[z=0] = (x∨y)∧(¬y)
SAT (1b): Selbst-Reduzierbarkeit
Wir betrachten SAT Instanzen mitnVariablen undm Klauseln.
Satz
Angenommen, AlgorithmusAentscheidet SAT Instanzen inT(n,m)Zeit.
Dann gibt es einen AlgorithmusB, der f¨ur erf¨ullbare SAT Instanzen inn·T(n,m)Zeit eine erf¨ullende Wahrheitsbelegung konstruiert.
Beweis:
I Wir fixieren der Reihe nach die Wahrheitswerte von x1,x2, . . . ,xn.
I FOR i =1,2, . . . ,n DO
Wennϕ[xi=1] erf¨ullbar, so setzexi:=1und ϕ:=ϕ[xi=1]
Wennϕ[xi=1] nicht erf¨ullbar, setzexi :=0undϕ:=ϕ[xi=0]
Folgerung
FallsSAT∈P, so kann man auch die erf¨ullenden Wahrheitsbelegungen von JA-Instanzen in polynomieller Zeit konstruieren.
SAT (2a): Ein vielleicht schneller Algorithmus
(Mi ist diei-te TM in der kanonischen Reihenfolge.)
Algorithmus f¨ ur SAT
Eingabe: Eine Boole’sche Formelϕin CNF In derk-ten Runde (mitk =1,2,3, . . .):
I Simuliere jek Schritte der TMenM1,M2, . . . ,Mk auf Eingabeϕ
I Falls eine TMMi terminiert und fallsMi eine Wahrheitsbelegung f¨ur die Formelϕberechnet hat, ¨uberpr¨ufe ob diese Wahrheitsbelegung die Formelϕtats¨achlich erf¨ullt
I Terminiere, sobald eine erf¨ullende Wahrheitsbelegung gefunden ist
I Dieser Algorithmus terminiertNICHTauf NEIN-Instanzen
I Dieser Algorithmus terminiert immer auf JA-Instanzen
BuK/WS 2017 VL-18: Jenseits von P und NP 17/43
SAT (2b): Ein vielleicht schneller Algorithmus
Satz
WennP=NPgilt,
dann terminiert der Algorithmus auf JA-Instanzen in polynomieller Zeit.
Beweis:
I In derk-ten Runde simuliert der Algorithmus jek Schritte aufk TMen; das kostetO(k2)Zeit
I Die erstenk Runden kostenO(k3)Gesamtzeit
I TM Mr l¨ost SAT in polynomieller Zeitp(n)
I Algorithmus entdeckt eine erf¨ullende Wahrheitsbelegung in der k-ten Runde, sobald k ≥r und k ≥p(n)
I Laufzeit istO(p3(n))
BuK/WS 2017 VL-18: Jenseits von P und NP 18/43
Die Komplexit¨ atsklasse coNP
Klasse coNP (1): Definition
Definition: NP und NP-vollst¨ andig
Ein EntscheidungsproblemX ⊆Σ∗liegt inNP,
wenn f¨ur jedes Wortx∈X ein polynomiell langes Zertifikaty existiert, das (zusammen mitx) in polynomieller Zeit verifiziert werden kann.
Ein EntscheidungsproblemX istNP-vollst¨andig,
wennX ∈NPund alleY ∈NPpolynomiell aufX reduzierbar sind.
Definition: coNP und coNP-vollst¨ andig
Ein EntscheidungsproblemX ⊆Σ∗liegt incoNP,
wenn f¨ur jedes Wortx∈/X ein polynomiell langes Zertifikaty existiert, das (zusammen mitx) in polynomieller Zeit verifiziert werden kann.
Ein EntscheidungsproblemX istcoNP-vollst¨andig,
wennX ∈coNPund alleY ∈coNPpolynomiell aufX reduzierbar sind.
Klasse coNP (2a): Einige Beispiele
Problem: Non-Hamiltonkreis (Non-Ham-Cycle)
Eingabe:Ein ungerichteter GraphG = (V,E) Frage:BesitztG keinenHamiltonkreis?
Frage: Wie sieht das coNP-Zertifikat f¨ur Non-Ham-Cycle aus?
BuK/WS 2017 VL-18: Jenseits von P und NP 21/43
Klasse coNP (2b): Beispiele
Problem: Unsatisfiability (UNSAT)
Eingabe:Eine Boole’sche Formelϕin CNF ¨uber der Boole’schen VariablenmengeX ={x1, . . . ,xn}
Frage: ExistiertkeineWahrheitsbelegung vonX, dieϕerf¨ullt?
Problem: TAUTOLOGY
Eingabe:Eine Boole’sche Formelϕin DNF¨uber der Boole’schen VariablenmengeX ={x1, . . . ,xn}
Frage: WirdϕvonallenWahrheitsbelegungen vonX erf¨ullt?
Frage: Wie sehen coNP-Zertifikate f¨ur UNSAT und TAUTOLOGY aus?
BuK/WS 2017 VL-18: Jenseits von P und NP 22/43
Klasse coNP (3): coNP-Vollst¨ andigkeit
Satz
Non-Ham-Cycle, UNSAT und TAUTOLOGY sind coNP-vollst¨andig.
Satz
Wenn das EntscheidungsproblemX NP-vollst¨andig ist, so ist das komplement¨are Problem X coNP-vollst¨andig.
Komplement¨ares Problem:
Ja-Instanzen werden zu Nein-Instanzen, und umgekehrt
Klasse coNP (4a): coNP versus NP und P
Satz
P⊆NP∩coNP Beweis:P=coP
Klasse coNP (4b): coNP versus NP und P
Viele Informatiker denken, dassNP6=coNPgilt.
Satz
WenncoNPein NP-vollst¨andiges ProblemX enth¨alt, dannNP=coNP.
Beweis:
I X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP
I X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP
I X ∈NPCimpliziert: K ≤pX f¨ur alleK ∈coNP
I Ergo: AlleK∈coNPsind aufX ∈NPreduzierbar.
I Ergo: AlleK∈coNPliegen inNP.
Daraus erhalten wir das folgende Werkzeug:
“X NP-vollst¨andig” ist Evidenz f¨ur “X ∈/coNP”
“X coNP-vollst¨andig” ist Evidenz f¨ur “X ∈/NP”
BuK/WS 2017 VL-18: Jenseits von P und NP 25/43
Klasse coNP (4c): coNP versus NP und P
Wir erhalten das folgende Werkzeug:
“X NP-vollst¨andig” ist Evidenz f¨ur “X ∈/coNP”
“X coNP-vollst¨andig” ist Evidenz f¨ur “X ∈/NP”
Ham-Cycle ist NP-vollst¨andig.
Ham-Cycle hat gute Zertifikate f¨ur Ja-Instanzen.
Ergo: Ham-Cycle hat (wahrscheinlich) keine guten Zertifikate f¨ur Nein-Instanzen.
SAT ist NP-vollst¨andig.
SAT hat gute Zertifikate f¨ur Ja-Instanzen.
Ergo: SAT hat (wahrscheinlich) keine guten Zertifikate f¨ur Nein-Instanzen.
BuK/WS 2017 VL-18: Jenseits von P und NP 26/43
P
NPC coNPC
NP coNP
Zwischen P und NPC:
NP-intermediate
Das Graphisomorphieproblem (1)
Definition
Zwei GraphenG1= (V1,E1)und G2= (V2,E2)sindisomorph, wenn es eine Bijektion f :V1→V2 gibt,
die Adjazenz und Nicht-Adjazenz erh¨alt.
Eine solche Bijektion heisstIsomorphismus.
BuK/WS 2017 VL-18: Jenseits von P und NP 29/43
Das Graphisomorphieproblem (2)
Problem: GRAPH-ISOMORPHUS
Eingabe:Zwei ungerichtete Graphen G1 undG2
Frage: Gibt es einen Isomorphismus vonG1nach G2?
Satz
GRAPH-ISOMORPHUS liegt in NP.
Beweis: Verwende Isomorphismus als Zertifikat.
BuK/WS 2017 VL-18: Jenseits von P und NP 30/43
Das Graphisomorphieproblem (3)
Folgende Fragen sind derzeit noch ungel¨ost:
I Liegt GRAPH-ISOMORPHUS in P?
I Ist GRAPH-ISOMORPHUS NP-vollst¨andig?
I Liegt GRAPH-ISOMORPHUS in coNP?
Das Graphisomorphieproblem (4)
Satz (Babai, 2016)
GRAPH-ISOMORPHUS auf Graphen mitnKnoten
kann in2p(logn) Zeit gel¨ost werden (wobeipein Polynom ist).
Algorithmus verwendet algorithmische und strukturelle Theorie der Permutationsgruppen.
Exponential Time Hypothesis (ETH)
Es existiert eine reelle Zahlδ >0,
sodass kein Algorithmus 3-SAT in ZeitO(2δn)l¨ost.
I ETH wurde in den letzten 20 Jahren popul¨ar (ist aber unbewiesen!) I ETH impliziertP6=NP
I Wenn GRAPH-ISOMORPHUS NP-vollst¨andig ist, dann ist ETH falsch
NP-intermediate (1)
Definition
Ein EntscheidungsproblemX ⊆Σ∗ heisstNP-intermediate, wennL∈NP und wenn sowohlL∈/P als auchL∈/NPC gilt.
Satz von Ladner (ohne Beweis)
WennP6=NP gilt,
dann gibt es Probleme, die NP-intermediate sind.
Viele Informatiker denken,
dass das GRAPH-ISOMORPHUS Problem NP-intermediate ist.
BuK/WS 2017 VL-18: Jenseits von P und NP 33/43
NP-intermediate (2)
NP
P
Graph- zusammenhang Primes
SAT
Clique Ind-Set VC
Ham-Cycle
TSP Partition Subset-Sum
Rucksack
BPP Coloring 3-SAT
??? Graph ???
??? Isomorphismus ???
Warnung: Dieser Abbildung liegt die AnnahmeP6=NPzu Grunde.
BuK/WS 2017 VL-18: Jenseits von P und NP 34/43
Die Komplexit¨ atsklassen PSPACE und EXPTIME
Die Klasse PSPACE (1)
Definition: Komplexit¨ atsklasse PSPACE
PSPACEist die Klasse aller Entscheidungsprobleme,
die durch eine DTMM entschieden werden, deren Worst Case Speicherplatzbedarf durchq(n)mit einem Polynomqbeschr¨ankt ist.
Definition: Komplexit¨ atsklasse NPSPACE
NPSPACEist die Klasse aller Entscheidungsprobleme,
die durch eine NTMM entschieden werden, deren Worst Case Speicherplatzbedarf durchq(n)mit einem Polynomqbeschr¨ankt ist.
Die Klasse PSPACE (2)
Satz von Savitch (ohne Beweis)
PSPACE=NPSPACE
Wie verh¨alt sich PSPACE zu NP?
Da sich der Kopf einer Turingmaschine in einem Schritt nur um eine Position bewegen kann gilt: NP⊆NPSPACE=PSPACE
BuK/WS 2017 VL-18: Jenseits von P und NP 37/43
Die Klasse PSPACE (3)
Problem: QUANTIFIED-SAT (Q-SAT)
Eingabe:Eine Boole’sche Formelϕin CNF ¨uber der Boole’schen Variablenmenge{x1, . . . ,xn,y1, . . . ,yn} Frage: ∃x1∀y1∃x2∀y2∃x3∀y3 · · · ∃xn∀yn ϕ
Satz
Q-SAT liegt in PSPACE.
Anmerkung: Q-SAT ist PSPACE-vollst¨andig.
BuK/WS 2017 VL-18: Jenseits von P und NP 38/43
Die Klasse EXPTIME (1)
Definition: Komplexit¨ atsklasse EXPTIME
EXPTIMEist die Klasse aller Entscheidungsprobleme,
die durch eine DTMM entschieden werden, deren Worst Case Laufzeit durch 2q(n) mit einem Polynomq beschr¨ankt ist.
Laufzeit-Beispiele:2√n, 2n, 3n, n!, nn. Aber nicht:22n
Die Klasse EXPTIME (2)
Wie verh¨alt sich EXPTIME zu PSPACE?
I Bei einer Speicherplatzbeschr¨ankungs(n)gibt es nur2O(s(n))viele verschiedenen Konfigurationen f¨ur eine Turingmaschine.
Daher ist die Rechenzeit durch2O(s(n))beschr¨ankt.
I Die Probleme in PSPACE k¨onnen deshalb in Zeit2p(n) gel¨ost werden: PSPACE⊆EXPTIME
Die Klasse EXPTIME (3)
Problem: k -Schritt-HALTEPROBLEM
Eingabe:Eine deterministische TuringmachineM; eine ganze Zahlk Frage:WennM mit leerem Band gestartet wird, h¨altM dann nach h¨ochstensk Schritten an?
Die Zahlk ist bin¨ar (oder dezimal) kodiert.
Satz
Dask-Schritt-HALTEPROBLEM liegt in EXPTIME.
Anmerkung: Das k-Schritt-HALTEPROBLEM ist EXPTIME-vollst¨andig.
BuK/WS 2017 VL-18: Jenseits von P und NP 41/43
PSPACE und EXPTIME
Wir haben gezeigt:
P⊆NP⊆PSPACE⊆EXPTIME
I Es ist nicht bekannt, welche dieser Inklusionen strikt sind.
I M¨oglicherweise gilt P=PSPACE oder NP=EXPTIME.
I Wir wissen allerdings, dass P6=EXPTIME gilt (Zeithierarchiesatz).
BuK/WS 2017 VL-18: Jenseits von P und NP 42/43
EXPTIME
PSPACE
NP
NPC
P