VL-18: Jenseits von P und NP
(Berechenbarkeit und Komplexit¨ at, WS 2017) Gerhard Woeginger
WS 2017, RWTH
Organisatorisches
N¨achste (letzte) Vorlesung:
Mittwoch, Januar 24, 14:15–15:45 Uhr, Roter H¨orsaal
Webseite:
http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php Arbeitsheft zur NP-Vollst¨andigkeit:
Auf der BuK-Webseite, unter “Additional material”
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 inpseudo-polynomiellerZeit, falls die Laufzeit von Aauf InstanzenI von X
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 Polynom q:N→Ngibt, sodass die Restriktion von X 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)
Vorlesung VL-18 Jenseits von P und NP
P versus NP
Die Komplexit¨atsklasse coNP
Zwischen P und NPC: NP-intermediate
Die Komplexit¨atsklassen EXPTIME und PSPACE
P versus NP
P versus NP
P enth¨alt jene Probleme, die wir effizient l¨osen k¨onnen NP enth¨alt jene Probleme, deren (kurze) L¨osung wir effizient
¨
uberpr¨ufen k¨onnen (wenn wir sie gezeigt bekommen) NPC enth¨alt die allerschwierigsten Probleme in NP
FallsP6=NPgilt (Standardannahme) so istP∩NPC=∅
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.”
Aus dem Buch von Garey und Johnson (2)
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:
Ausnutzen der Eingabestruktur durch spezielle Algorithmen Parametrisierte Algorithmen
Approximationsalgorithmen
Heuristiken (ohne irgendwelche Garantien) Zerteilen in geeignete Unterprobleme
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:
Ausnutzen der Eingabestruktur durch spezielle Algorithmen Parametrisierte Algorithmen
Approximationsalgorithmen
Heuristiken (ohne irgendwelche Garantien) Zerteilen in geeignete Unterprobleme
Was tun mit NP-schweren Problemen? (2)
Beispiel: Ausnutzen der Eingabestruktur
Strassennetze lassen sich durch planareGraphen modellieren Es gibt effiziente Graphalgorithmen, die planare Strukturen ausn¨utzen
Beispiel: Approximationsalgorithmen
Instanzen des TSP erf¨ullen in der Praxis h¨aufig die Dreiecksungleichung (∆-TSP)
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.
Was tun mit NP-schweren Problemen? (2)
Beispiel: Ausnutzen der Eingabestruktur
Strassennetze lassen sich durch planareGraphen modellieren Es gibt effiziente Graphalgorithmen, die planare Strukturen ausn¨utzen
Beispiel: Approximationsalgorithmen
Instanzen des TSP erf¨ullen in der Praxis h¨aufig die Dreiecksungleichung (∆-TSP)
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.
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 andereEingabeparameterber¨ucksichtigt, kann zu besseren Resultaten f¨uhren.
Beispiel: Parametrisierte Algorithmen
Wir wollen eine Anfrage in einer DatenbankDauswerten. Es sei`die Gr¨osse der Anfrage und es seimdie Gr¨osse der DatenbankD. Die Eingabegr¨osse ist dannn=`+m.
H¨aufig istmsehr gross, w¨ahrend`relativ klein ist. Ein Algorithmus mit Laufzeit2`mkann deswegen durchaus gut sein, ein Algorithmus mit Laufzeiten wie m` oder gar2m`hingegen kaum.
Analysieren wir die Algorithmen nur nach der Eingabegr¨ossen, so wird dieser wichtige Unterschied nicht sichtbar.
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 andereEingabeparameterber¨ucksichtigt, kann zu besseren Resultaten f¨uhren.
Beispiel: Parametrisierte Algorithmen
Wir wollen eine Anfrage in einer DatenbankDauswerten.
Es sei`die Gr¨osse der Anfrage und es seimdie Gr¨osse der DatenbankD. Die Eingabegr¨osse ist dannn=`+m.
H¨aufig istmsehr gross, w¨ahrend`relativ klein ist. Ein Algorithmus mit Laufzeit2`mkann deswegen durchaus gut sein, ein Algorithmus mit Laufzeiten wie m` oder gar 2m`hingegen kaum.
Analysieren wir die Algorithmen nur nach der Eingabegr¨ossen, so wird dieser wichtige Unterschied nicht sichtbar.
SAT (1a): Selbst-Reduzierbarkeit
Es seiϕeine Boole’sche Formel in CNF
Wenn wir in ϕeine Variablex :=1setzen, so werden Klauseln mit Literal x 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].
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:
Wir fixieren der Reihe nach die Wahrheitswerte vonx1,x2, . . . ,xn. 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 (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:
Wir fixieren der Reihe nach die Wahrheitswerte vonx1,x2, . . . ,xn. 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 (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:
Wir fixieren der Reihe nach die Wahrheitswerte vonx1,x2, . . . ,xn. 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, . . .):
Simuliere je k Schritte der TMenM1,M2, . . . ,Mk auf Eingabeϕ Falls eine TM Mi terminiert und fallsMi eine Wahrheitsbelegung f¨ur die Formel ϕberechnet hat, ¨uberpr¨ufe ob diese Wahrheitsbelegung die Formel ϕtats¨achlich erf¨ullt
Terminiere, sobald eine erf¨ullende Wahrheitsbelegung gefunden ist
Dieser Algorithmus terminiertNICHTauf NEIN-Instanzen Dieser Algorithmus terminiert immer auf JA-Instanzen
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, . . .):
Simuliere je k Schritte der TMenM1,M2, . . . ,Mk auf Eingabeϕ Falls eine TM Mi terminiert und fallsMi eine Wahrheitsbelegung f¨ur die Formel ϕberechnet hat, ¨uberpr¨ufe ob diese Wahrheitsbelegung die Formel ϕtats¨achlich erf¨ullt
Terminiere, sobald eine erf¨ullende Wahrheitsbelegung gefunden ist
Dieser Algorithmus terminiertNICHTauf NEIN-Instanzen Dieser Algorithmus terminiert immer auf JA-Instanzen
SAT (2b): Ein vielleicht schneller Algorithmus
Satz
WennP=NPgilt,
dann terminiert der Algorithmus auf JA-Instanzen in polynomieller Zeit.
Beweis:
In derk-ten Runde simuliert der Algorithmus jek Schritte aufk TMen; das kostetO(k2)Zeit
Die erstenk Runden kostenO(k3)Gesamtzeit TMMr l¨ost SAT in polynomieller Zeitp(n)
Algorithmus entdeckt eine erf¨ullende Wahrheitsbelegung in derk-ten Runde, sobaldk ≥r undk ≥p(n)
Laufzeit istO(p3(n))
SAT (2b): Ein vielleicht schneller Algorithmus
Satz
WennP=NPgilt,
dann terminiert der Algorithmus auf JA-Instanzen in polynomieller Zeit.
Beweis:
In derk-ten Runde simuliert der Algorithmus jek Schritte aufk TMen; das kostetO(k2)Zeit
Die erstenk Runden kostenO(k3)Gesamtzeit TMMr l¨ost SAT in polynomieller Zeitp(n)
Algorithmus entdeckt eine erf¨ullende Wahrheitsbelegung in derk-ten Runde, sobaldk ≥r undk ≥p(n)
Laufzeit istO(p3(n))
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,
wenn X ∈NPund alleY ∈NP polynomiell 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 ∈coNP polynomiell aufX reduzierbar sind.
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,
wenn X ∈NPund alleY ∈NP polynomiell 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 auf X 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?
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ϕinDNF¨uber der Boole’schen VariablenmengeX ={x1, . . . ,xn}
Frage:Wirdϕvon allenWahrheitsbelegungen vonX erf¨ullt?
Frage: Wie sehen coNP-Zertifikate f¨ur UNSAT und TAUTOLOGY aus?
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 (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:
X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: K ≤pX f¨ur alleK∈coNP Ergo: Alle K∈coNPsind aufX ∈NP reduzierbar. Ergo: Alle K∈coNPliegen in NP.
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”
Klasse coNP (4b): coNP versus NP und P
Viele Informatiker denken, dassNP6=coNPgilt.
Satz
WenncoNPein NP-vollst¨andiges ProblemX enth¨alt, dannNP=coNP.
Beweis:
X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP
X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: K ≤pX f¨ur alleK∈coNP Ergo: Alle K∈coNPsind aufX ∈NP reduzierbar. Ergo: Alle K∈coNPliegen in NP.
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”
Klasse coNP (4b): coNP versus NP und P
Viele Informatiker denken, dassNP6=coNPgilt.
Satz
WenncoNPein NP-vollst¨andiges ProblemX enth¨alt, dannNP=coNP.
Beweis:
X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP
X ∈NPCimpliziert: K ≤pX f¨ur alleK∈coNP Ergo: Alle K∈coNPsind aufX ∈NP reduzierbar. Ergo: Alle K∈coNPliegen in NP.
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”
Klasse coNP (4b): coNP versus NP und P
Viele Informatiker denken, dassNP6=coNPgilt.
Satz
WenncoNPein NP-vollst¨andiges ProblemX enth¨alt, dannNP=coNP.
Beweis:
X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: K ≤pX f¨ur alleK∈coNP
Ergo: Alle K∈coNPsind aufX ∈NP reduzierbar. Ergo: Alle K∈coNPliegen in NP.
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”
Klasse coNP (4b): coNP versus NP und P
Viele Informatiker denken, dassNP6=coNPgilt.
Satz
WenncoNPein NP-vollst¨andiges ProblemX enth¨alt, dannNP=coNP.
Beweis:
X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: K ≤pX f¨ur alleK∈coNP Ergo: Alle K∈coNPsind aufX ∈NP reduzierbar.
Ergo: Alle K∈coNPliegen in NP.
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”
Klasse coNP (4b): coNP versus NP und P
Viele Informatiker denken, dassNP6=coNPgilt.
Satz
WenncoNPein NP-vollst¨andiges ProblemX enth¨alt, dannNP=coNP.
Beweis:
X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: K ≤pX f¨ur alleK∈coNP Ergo: Alle K∈coNPsind aufX ∈NP reduzierbar.
Ergo: Alle K∈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”
Klasse coNP (4b): coNP versus NP und P
Viele Informatiker denken, dassNP6=coNPgilt.
Satz
WenncoNPein NP-vollst¨andiges ProblemX enth¨alt, dannNP=coNP.
Beweis:
X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: L≤pX f¨ur alleL∈NP X ∈NPCimpliziert: K ≤pX f¨ur alleK∈coNP Ergo: Alle K∈coNPsind aufX ∈NP reduzierbar.
Ergo: Alle K∈coNPliegen inNP.
Daraus erhalten wir das folgende Werkzeug:
“X NP-vollst¨andig” ist Evidenz f¨ur “X ∈/coNP”
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.
P
NPC coNPC
NP coNP
Zwischen P und NPC:
NP-intermediate
Das Graphisomorphieproblem (1)
Definition
Zwei GraphenG1= (V1,E1)undG2= (V2,E2)sindisomorph, wenn es eine Bijektionf :V1→V2 gibt,
die Adjazenz und Nicht-Adjazenz erh¨alt.
Eine solche Bijektion heisstIsomorphismus.
Das Graphisomorphieproblem (2)
Problem: GRAPH-ISOMORPHUS
Eingabe:Zwei ungerichtete GraphenG1 undG2
Frage:Gibt es einen Isomorphismus vonG1 nachG2?
Satz
GRAPH-ISOMORPHUS liegt in NP.
Beweis: Verwende Isomorphismus als Zertifikat.
Das Graphisomorphieproblem (3)
Folgende Fragen sind derzeit noch ungel¨ost:
Liegt GRAPH-ISOMORPHUS in P?
Ist GRAPH-ISOMORPHUS NP-vollst¨andig?
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.
ETH wurde in den letzten 20 Jahren popul¨ar (ist aber unbewiesen!) ETH impliziertP 6=NP
Wenn GRAPH-ISOMORPHUS NP-vollst¨andig ist, dann ist ETH falsch
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.
ETH wurde in den letzten 20 Jahren popul¨ar (ist aber unbewiesen!) ETH impliziertP 6=NP
Wenn GRAPH-ISOMORPHUS NP-vollst¨andig ist, dann ist ETH falsch
NP-intermediate (1)
Definition
Ein EntscheidungsproblemX ⊆Σ∗heisstNP-intermediate, wenn L∈NP und wenn sowohlL∈/P als auch L∈/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.
NP-intermediate (1)
Definition
Ein EntscheidungsproblemX ⊆Σ∗heisstNP-intermediate, wenn L∈NP und wenn sowohlL∈/P als auch L∈/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.
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 ???
Die Komplexit¨ atsklassen
PSPACE und EXPTIME
Die Klasse PSPACE (1)
Definition: Komplexit¨atsklasse PSPACE
PSPACEist die Klasse aller Entscheidungsprobleme,
die durch eine DTM M entschieden werden, deren Worst Case Speicherplatzbedarf durchq(n)mit einem Polynom qbeschr¨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 Polynom qbeschr¨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
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
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.
Die Klasse EXPTIME (1)
Definition: Komplexit¨atsklasse EXPTIME
EXPTIMEist die Klasse aller Entscheidungsprobleme,
die durch eine DTM M 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?
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.
Die Probleme in PSPACE k¨onnen deshalb in Zeit 2p(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¨alt M dann nach h¨ochstensk Schritten an?
Die Zahlk ist bin¨ar (oder dezimal) kodiert.
Satz
Dask-Schritt-HALTEPROBLEM liegt in EXPTIME.
Anmerkung: Dask-Schritt-HALTEPROBLEM ist EXPTIME-vollst¨andig.
PSPACE und EXPTIME
Wir haben gezeigt:
P⊆NP⊆PSPACE⊆EXPTIME
Es ist nicht bekannt, welche dieser Inklusionen strikt sind.
M¨oglicherweise gilt P=PSPACE oder NP=EXPTIME.
Wir wissen allerdings, dass P6=EXPTIME gilt (Zeithierarchiesatz).
EXPTIME
PSPACE
NP
NPC
P