Mitgeshrieben von Bernhard Weiÿ, Sebastian Goebl und anderen
Mitshrift aus dem WiSe 2008/09
Inhaltsverzeihnis
1 Turingmashinen, Berehenbarkeit, Komplexitätsklassen 1
1.1 Turingmashinen . . . 1
1.2 Zeitkomplexität,Speedup und Hierarhiesatz . . . 3
1.3 Nihtdeterminismus, wihtige Komplexitätsklassen und deren Bezie- hungen . . . 5
2 Die Klassen P und NP 8 2.1 NP-Vollständigkeit . . . 8
2.2 Satz von Ladner. . . 10
2.3 Orakelmashinen . . . 13
2.4 RelativierungenvonP und NP. . . 14
2.5 Die PolynomielleHierarhie . . . 16
3 Platzkomplexität 20 3.1 Grundlegende Denitionen . . . 20
3.2 Platzkomplexitätund Nihtdeterminismus . . . 21
3.3 Ausdrukskraft eines Staks . . . 24
3.4 LOGSPACE-ReduktionenundvollständigeProblemefürPundNLOGSPACE 26 4 Programmiersprahen und Komplexität 31 4.1 Beshränkte Notationsrekursion, Satz vonCobham (1965) . . . 31
4.2 Sihere Rekursion nah Bellantoni-Cook . . . 33
Inhaltsverzeihnis
1 Turingmashinen, Berehenbarkeit, Komplexitäts-
klassen
1.1 Turingmashinen
Denition 1
(k-BandTuringmashine)Einek-BandTuringmashineisteinQuintupel
T = hQ, Σ, I, q 0 , F i
wobei
•
Qist endlihe Menge von Zuständen• Σ
ist eine endlihe Menge von Symbolen•
I ist eine Menge von Quintupeln der Form(q, s, s ′ , d, q ′ )
wobeiq, q ′ ∈ Q, s, s ′ ∈ Σ k , d ∈ {L, R, s} k. Für alle q, s
existiert höhstens ein Quintupel der Form
(q, s, −, −, −)
in der Menge I
• q 0 ∈ Q
Anfangszustand• F ⊆ Q
EndzuständeBeispiel 1
Σ = {0, 1, , #}, k = 2, Q = {q 0 , q 1 , q 2 , q 3 , q 4 }
1.
q 0 , ( , ), (#, #), (S, S), q 1
2.
q 0 , (1, ), (1, #), (S, S), q 2
3.
q 0 , (0, ), (0, 0)(R, R), q 3
4.
q 3 , (0, ), (0, 1)(R, R), q 3
5.
q 3 , ( , ), (#, #), (S, S), q 2
6.
q 3 , (1, ), (1, ), (R, L), q 4
7.
q 4 , (1, 1), (1, 1)(R, L), q 4
8.
q 4 , ( , 0), ( , 0), (S, S), q 1
9.
q 4 , (1, 0), (1, 0), (S, S), q 2
10.
q 4 , ( , 1), ( , 1), (S, S), q 2
Denition 2 (Denition (Globaler Zustand, Konguration))
Sei
T = (Q, Σ, I, q 0 , F )
einek-BandTuringmashine.EinGlobalerZustand(synonym Konguration)vonTisteinTripelS = (q, w, w ′ )
wobeiq ∈ Q, w ∈ (Σ ∗ ) k , w ′ ∈ (Σ + ) k
(qistderaktuelleZustand,wdasWortvordemShreib/Lesekopfundw'dasWortauf
undnahdemShreib/Lesekopf).Seien
S, S ′ Kongurationen.ManshreibtS −→ S T ′
gesprohen
S ′ ist dieFolgekongurationvonS
wenn gilt:S = (q, w, w ′ ), q / ∈ F
•
Seiw = (w 1 , . . . w k ), w ′ = (w 1 ′ , . . . w k ′ ), a i =
erstes Symbolvonw ′ i
Sei
(q, (a 1 , . . . , a k ), (b 1 , . . . b k )(d 1 , . . . d k ), q ′ ) ∈ I
DannS ′ = (q ′ , v, v ′ ) v = (v 1 , . . . , v k ), v ′ =
(v 1 ′ , . . . , v k ′ )
wobeiv i =
w i d i = S
u d i = L, w i = uc ǫ d i = L, w i = ǫ w i b i d i = R
w ′ i = a i u, a i ∈ Σ, u ∈ Σ ∗
v i ′ =
b i u d i = S
cb i u d i = L, c =
Letztes Symbolvonw i bzw fallsw i = ǫ u d i = R
Denition 3 (Start-Konguration)
Sei
X ∈ Σ ∗ und kommt niht in x vor.Die Startkonguratin für T auf eingabe x
istdeniert deniert als(q 0 , (ǫ, . . . , ǫ), (x, , . . . )
Denition 4 (Berehnung)
Berehnung von T auf Eingabe x ist eine endlihe oder unendlihe Folge von Kon-
gurationen,
S 0 , . . . S n bzw S 0 , S 1 , . . .
,sodass
• S 0 istdieStartkonguration von Tfür x
• S i
−→ S T i+1
•
FallsdieFolge endlih istmitletztemElementS n so existiertkeine Folgekon-
guration
S ′ mitS n
−→ S T ′
Denition 5 (Akzeptormashine)
Eine Akzeptormashine ist eine TM Tmit
F = {q A , q R }
(akzeptierender und verwer- vender Zustand) eine Eingabe x wird von solhe einer Mashine akzeptiert, falls dieBerehnung von x aus endlih istund im Zustand
q A endet
Bemerkung 1
Die Beispielmashine vonoben akzeptiert alleEingaben der Form
0 n 1 n.
Denition 6 (Erkannte Sprahe)
Sei T eine Turingmashine
L(T ) := {x| T (x)
| {z }
BerehnungvonTmitStartkonguarationx
hält in Zu-
stand
g A }
.L heiÿt akzeptierbar, wenn
L = L(T )
für eine Mashine TBemerkung 2
akzeptierbar =semi-entsheidbar= rekursiv entsheidbar
Denition 7
LwirdvonTMTentshieden,wenn gilt:
x ∈ L ⇒ T (x)
hälltinZustandg A x / ∈ L ⇒ T (x)
hält in Zustandg R
L heiÿt entsheidbar, wenn
∃T
,sodass Lwird von TentshiedenBemerkung 3
Wenn keine Verwehslungsgefahr besteht,verwendenwir dieNotation
L(T )
auhfürdievon
T
entshiedene Sprahe.Bemerkung 4
Es gibt Sprahen L, dieakzeptierbar, aber niht entsheidbar sind.
Bemerkung 5
Meist betrahtet man eine Teilmenge
Σ in ⊆ Σ
als Alphabet und erweitert Akzep-tierbarkeit und Entsheidbarkeit auf Sprahen
L ⊆ Σ ∗ in. Manhe Autoren denieren
Turingmashinen alsTupel
(Σ, Σ in , Q, I, q 0 , F )
1.2 Zeitkomplexität, Speedup und Hierarhiesatz
Denition 8 (Zeitkomplexität)
Sei Teine Turingmashine
x ∈ Σ ∗ TIME T (x) =
Länge der BerehnungT (x)
, unde-niert falls
T (x)
niht hält.Bemerkung 6
TIME T : Σ ∗ → N
ist partielleFunktion|x| :=
Länge von xSatz 1 (Speeduptheorem)
Sei T ein TM, die L entsheidet und
d ∈ N
Dann existiert TMT ′ die auh L ent-
sheidet und auÿerdem erfüllt:
TIME T ′ (x) = 1 d TIME T (x) + |x| + 1
Beweis (Idee)
T ′ verwendet als Alphabet Σ ′ := Σ d Berehne alle Übergänge von
einemBlokzumnähstenimvorausundspeiheresieinder(riesigen!)Zustandstafel
I' vonT' ab.
Ziel: Denition von
TIME(f)
wobei f eine FunktionN → N
,z.B.f (n) = n e
Denition 9 (Zeitkonstruierbar)
Eine Funktion
f : N → N
heiÿt zeitkonstruierbar, wenn eine TM Texistiert, diebei Eingabe x hält nah≤ c · f (|x|)
Shritten für ein festesc ∈ N
und auf einem BanddieAusgabe
1 f (|x|) liefert( 11 . . . 11
| {z }
f(|x|)
Stük )Satz 2
f (n) = n, f (n) = n log n
sind zeitkonstruierbar. Falls f,g zeitkonstruierbar,k ∈ N
dann auh:
k · f, f + k, f + g, f · g, f g , f!, f ◦ g
. Zu jeder berehenbaren Funktionf
existiert eine zeitkonstruierbare Funktion
r
, sodassf(n) ≤ r(n)
.Denition 10
Sei f zeitkonstruierbar.
TIME(f )
istdeniert als dieMenge aller Sprahen L für dieeine TM Texistiert mit
TIME T (n) ≤ x · f (|x|)
für einc ∈ N
Manshreibt
TIME(f(n))
stattTIME(f )
undauhTIME(n 2 )
stattTIME(sq)
wobeisq(n) = n 2
Beispiel 2
{0 n 1 n |n ≥ 0} ∈ TIME(n)
'Kürzeste Wege'∈ TIME(n 2 )
'Sudoku lösen'∈ TIME(2 n ) {0 n 1 n |n ≥ 0} ∈ TIME(2 n )
ADDITION∈ TIME(n)
MULTIPLIKATION∈ TIME(n 2 )
Denition 11
P := S
k≥1 TIME(n k ) EXP := S
k≥1 TIME(2 n k ) E := S
k≥1 TIME(2 kn )
ACHTUNG:
2 5n ∈ / O(2 n )
d.h. fürkeine Konstante gilt:2 5n < c2 n
Satz 3 (Zeithierarhiesatz)
Sei f zeitkonstruierbare Fkt. Dann gilt:
TIME(f(n)) ( TIME(n 2 f(n) 2 )
Beweis Betrahte folgendenAlgorithmus:
Eingabe: TMT /*odiert als 01Folge /*
1 Berehne
N := f(|T |) + |T | + 1
2 SimuliereT(M) für NShritte.
3 Ausgabe:Fallsdiese Berehnung akzeptiert: REJECT sonst: ACCEPT
Setze
L f = {T | T (T )
akzeptiert niht nahf (|T |) + |T | + 1
Shritten}
Klar: Der angegebene Algorithmusist einEntsheidungsverfahren für
L f.
Sei
T f eine Turingmashine, die diesenAlgorithmusimplementiert und insbeson-
dere L f entsheidet. Wirzeigen zunähst, dass L f ∈ / TIME(f(n))
.
L f ∈ / TIME(f(n))
.Fallsdoh,sosei
T 0eineTuringmashinedieL f entsheidetundauÿerdemTIME T 0 (x) ≤ cf (|x|)
. Nah Speedup Theorem können wir oBdA annehmen dass TIME T 0 (x) ≤ f (|x|) + |x| + 1
. Es gibt zwei Fälle: entweder T 0 ∈ L f oder T 0 ∈ / L f. Falls T 0 ∈ L f
TIME T 0 (x) ≤ cf (|x|)
. Nah Speedup Theorem können wir oBdA annehmen dassTIME T 0 (x) ≤ f (|x|) + |x| + 1
. Es gibt zwei Fälle: entwederT 0 ∈ L f oder T 0 ∈ / L f. Falls T 0 ∈ L f
T 0 ∈ L f
dann müsste
T 0 (T 0 )
nah≤ f (|T 0 |) + |T | + 1
Shritten verwerfen (also insbesondere überhaupt verwerfen). Dannaber wäreT 0 ∈ / L f , weil T 0 die Sprahe L f entsheidet
L f entsheidet
Falls
T 0 ∈ / L f dann müsste T 0 dieEingabeverwerfen, und aufgrundder Annahmean
TIME T 0 müsste diesnahspätestens f (|T 0 |) + |T 0 | + 1
Shritten geshehen, alsowäre
T 0 ∈ L f.
Komplexitätsabshätzung des Algoritmus von oben: 1:
cf (|T |)
Shritte (weil fzeitkonstruierbar) 2: Man muss die k Bänder der eingegeben Mashine T auf einem
Band speihern (durh Hintereinandershreiben), da man niht inputabhängig neue
Bänder anfordern kann. Auÿerdem muss das Alphabet der Mashine T mit festem
Alphabetodiertwerden,damannihtinputabhängigneueArbeitssymboleanfordern
kann. Ein Arbeitsband von T enthält hoehstens
f (|T |) + |T | + 1
Symbole. Daf
zeitkonstruierbar ist,gilt
f (n) ≥ n
, alsof (|T |) + |T | + 1 = O(f (|T |)
.Die Kodierungeiner globalen Konguration erfordert somit
O(|T | 2 · f(|T |))
Symbole, wenn manbeahtet, dass sowohl dieZahl der Bänder von T, alsauh dieAlphabetgröÿevon
T
durh
|T |
beshränkt sind.Um einen Shritt zu simulieren,muss man auf dieser langen Codierunghin- und
her navigieren, sodass sih einAufwand von
O(|T | 2 · f (|T |))
ergibt.Da nunf(|T |) +
|T | + 1
Shritte zu simulierensind, kann der Gesamtaufwand durhO(|T | 2 · f (|T |) 2 )
beshränkt werden.
Korollar 4
P ( EXP
Beweis
P ⊆ TIME(2 n )
weil2 n shnellerwähst als jedes Polynom.
TIME(2 n ) ( TIME(n 2 · (2 n ) 2 )
wegen Zeithierarhiesatz.TIME(n 2 · (2 n ) 2 ) ⊆ EXP
Satz 5 (GAP-Theorem)
EsexistierteineberehenbareFunktion
f : N → N
T',sodassTIME(f (n)) = TIME(2 f (n) )
.Allerdings ist f niht zeitkonstruierbar.
1.3 Nihtdeterminismus, wihtige Komplexitätsklassen undde-
ren Beziehungen
Denition 12 (Nihtdeterministishe Turingmashine)
WiedeterministisheTuringmashineaber
I
beliebig(I ⊆ Q × Σ× Σ × Q × {S, L, R})
Zu gegebenem
q
,a
kann es mehrere Quintupel inI
der Form(q, a, −, −, −)
geben.Zueiner Eingabe
x ∈ Σ ∗ deniert man den Berehnungsbaum wie folgt:
•
Der Binärbaumist endlih verzweigt aber mögliherweise unendlih.•
Die Wurzel ist mitder StartkongurationvonT
aufx
beshriftet.•
Ist einKnoten mitKongurationS
beshriftet und sindS 1 , ..., S n dieNahfol-
gekongurationen von
S
,sohat der Knotenn
Kinderdiemitdiesenbeshriftetwerden.
Denition 13
Eine nihtdeterministishe Turingmashine
T
akzeptierteinWortx ∈ Σ ∗ wenn es im
Berehnungsbaum von
T
aufx
einenAstgibt, der miteinerakzeptierenden Endkon- guration endet und auÿerdem alle Äste endlih sind. Ein Wortx
wird verworfen,wennesnihtakzeptiertwird,d.h.esgibteinenunendlihenAstoderalleÄsteenden
in einerverwerfenden Konguration.
Bemerkung 7
AlleNihtdeterministishenTuringmashinendiewirbetrahten, habenendl.Bereh-
Denition 14 (
NTIME
)Sei
T
Nihtdeterministishe Turingmashinex ∈ Σ ∗ NTIME T (x) =
(
Länge des kürzesten akzeptierenden Astes, fallsexistent
Länge des kürzesten Astes überhaupt, sonst
Bemerkung 8
Meist sind Nihtdeterministishe Turingmashinen so gebaut, dass alle Äste gleih
lang sind.
Denition 15 (
NTIME( f ( n ))
)Sei
f
zeitkonstruierbar.NTIME(f (n)) = {L |
es existiert Nihtdeterministishe Tu- ringmashineT
,c > 0 : ∀x
.x ∈ L ⇔ T
akzeptiertx
undNTIME T (x) ≤ c · f(|x|)}
Denition 16 (
P
,NP
,E
,EXP
,NEXP
,NE
)P = S
k≥0 TIME(n k ) /* polynomielleLaufzeit */
NP = S
k≥0 NTIME(n k ) /*nihtdeterministish, polynomielleLaufzeit */
E = S
k≥0 TIME(2 kn ) NE = S
k≥0 NTIME(2 kn ) EXP = S
k≥0 TIME(2 n k ) NEXP = S
k≥0 NTIME(2 n k )
Bemerkung 9
P =
'praktishberehenbar'?LässtsiheinGraphG
knotenfreiimR 3zeihnen?Dieses
Problemist in
P
aber kein Algorithmuskonntebisher konkret angegeben werden.Satz 6 (Bekannte Beziehungen)
P ⊆ † NP
( ∗ ( ∗
E ⊆ † NE
( ∗ ( ∗
EXP ⊆ † NEXP
*folgt aus Zeithierarhiesätzen
†
Die Ehtheit dieser Inklusionsbeziehungen wird vermutet, konnte aber niht gezeigt werden.Satz 7
NP ⊆ EXP
Beweis Durh systematishe Explorationaller Pfadeim Berehnungsbaum.
Satz 8
P = NP ⇒ E = NE
(alsoE 6= NE ⇒ P 6= NP)
Beweis (durh padding) Sei
P = NP
undL ∈ NE
Deniere
L ∗ überΣ ⊎ {#}
L ∗ = {w #...#
| {z }
2 | w | −|w|
| w ∈ L}
Wir behaupten:
L ∗ istin NP:
Eingabe:
w ′
Prüfe ob
w ′ = w #...#
| {z }
2 | w | −|w|
Prüfeob
w ∈ L
/*w
aus Zerlegungvonw ′ */mitgegebenemnihtdeterministishem Algorithmus.
Zeitbedarfdieses Algorithmus:
O(|w ′ |)
fürZerlegungNB:
|w| = O(log |w ′ |)
Zeitbedarffür Test ob
w ∈ L
O(2 k·|w| ) = O(2 k·O(log(w ′ )) ) = O(|w ′ | k·O(1) )
/* polynomiell */alsoGesamtlaufzeitdes(nihtdeterministishen!)Algorithmus:
O(|w ′ | O(1) )
alsoinNP
.Nah Annahmegibt es einpolynomiellesdeterministishes Verfahren für
L ∗.Wir
konstruieren darausein Verfahren in
E
wie folgt:EINGABE
w ∈ Σ ∗
Konstruiere
w ′ = w#...#
Prüfe mitdeterministishpolynomiellemVerfahren ob
w ′ ∈ L ∗
Fallsja: Akzeptiere
sonst: Verwirf
Laufzeit dieses Verfahrens:
•
Konstruktion vonw ′:O(2 O(|w|) )
•
Test obw ′ ∈ L ∗:
O(|w ′ | k ) k
fest
= O((2 |w| ) k ) = O((2 k·|w| ))
;
Algorithmusläuftin ZeitO(2 O(|w|) )
alsoL ∈ E
wzbw.Korollar 9
E 6= NE ⇒ P 6= NP
Slogan Gleihheit von Komplexitätsklassen vererbt sih nah oben; Ungleihheit
vererbt sih nah unten.
2 Die Klassen P und NP
2.1 NP-Vollständigkeit
Satz 10 (NP als Verikation in polynomieller Zeit)
Wenn
L ∈ NP
dann gibt esR L ∈ P
undk ∈ N
so dassx ∈ L ⇔
es existiertw
mit(x, w) ∈ R L und |w| ≤ |x| k
Beweis Deute
w
als 'Beweis' fürx ∈ L
. Aussage des Satzes ist, dass für Sprahenin
NP
immer ein Beweisbegri existiert, sodass Korrektheit eines Beweises in poly- nomiellerZeit geprüft werden kann.Sei
L ∈ NP
undNTIME T (x) ≤ |x| k wobei T
eine Nihtdeterministishe Turingma-
shine für L
ist.
ObdA habeder Berehnungsbaum von
T
aufx
Verzweigungsgrad 2.R L = {(x, w) | w ∈ {0, 1} ∗, der durh w
ausgewiesene Zweig im Berehnungsbaum
vonT
auf x
akzeptiert }
Klar ist
R L ∈ P
(nihtdet. Entsheidung werden ja gemäÿw
vorgenommen) Fallsx ∈ L
so wähle einen akzeptierenden Pfad der Länge≤ |x| k. Setze für w
das
entsprehende Wortaus
0, 1 ∗. Esgilt (x, w) ∈ R L und |w| ≤ |x| k.
|w| ≤ |x| k.
Falls
(x, w) ∈ R L und |w| ≤ |x| k so giltx ∈ L
nah Denition von R L
x ∈ L
nah Denition vonR L
Denition 17 (NP-shwer)
Eine Sprahe
L ⊆ Σ ∗ istNP-shwer, fallsfürjedeSprahe L ′ ∈ NP
eine inpolynomi-
eller Zeit berehenbare Funktion
f : Σ ∗ → Σ ∗ existiert,sodass x ∈ L ′ ⇔ f(x) ∈ L
.
Denition 18 (Transduer)
Ein Transduer (Übersetzer) ist eine deterministishe TM mit zwei ausgezeihneten
Bändern (ein Eingabe- und einAusgabeband). EinTransduer berehnet eine Funk-
tion
f : Σ ∗ → Σ ∗, wenn die Mashine T für alle Eingaben x ∈ Σ ∗ hält und dann
auf dem Ausgabeband das Wort
f(x)
steht. Man sagt Tberehnet f. DTIME wirdanalog auh für Transduer deniert.
Denition 19 (FP formal)
f ∈ FP
gdw.es einen Transduer T, der f berehnet, und esexistiert einPolynomp
,so dass
TIME(T (x)) ≤ p(|x|)
.Beispiel 3
f (x) = x 2 (x eine Zahl inBinärnotation)
f (x) =
Tabelle der kürzesten Wege von einem Startknoten s in einem gerihteten Graphen G, wobei Gund s durh x odiertsind.f (x) = 2 x ist niht inFP
N.B. Falls
f ∈ FP
dann gilt|f (x)| ≤ p(|x|)
fürein festes Polynom p.Denition 20 (SAT Problem)
Gegeben: aussagenlogishe Formel q
Gefragt: Ist q erfüllbar (gibt esBelegung der Variablen,dieq wahrmaht)
Denition 21 (3-COL)
Die Sprahe 3-COL besteht aus allen ungerihtetenGraphen
G = (V, E)
diemtidreiFarben gefärbt werden können, d.h. esexistiert
c : V → {r, g, b}
sodass:{v, v ′ } ∈ E ⇒ c(v) 6= c(v ′ )
Satz 11
Es gibt eine Funktion
f ∈ F P
sodassx ∈
3-COL⇔
f(x)∈
SATBeweis Sei
x ∈ (V, E)
Graphf (x)
ist wie folgtdeniert:Für jeden Knoten
v ∈ V
, für jede Farbec ∈ {r, g, b}
eine Variablex v,c Das maht
insgesamt
3 · |v |
VariablenFür jeden Knoten v dieFormel
x v,r vx v,b vx v,g /*|v| Formeln
FürjedenKnotenvdieFormel
¬(x v,r ∧x v,b )∧¬(x v,r x v,g )∧¬(x v,b ∧x v,g )
/*|V|Formeln/*
Für
{v, v ′ } ∈ E : ¬(x v,r ∧ x v ′ ,r ) ∧ ¬(x v,g ∧ x v ′ ,g ) ∧ ¬(x v,b ∧ x v ′ ,b )
f(x) besteht aus konjunktionall dieser Formeln(
2 · |V | + |E|
Stük )f (x)
erfülbar⇔x ∈
3-ColMan shreibt3-Col
≤ P SAT
Satz 12 (Satz von Cook-Levin)
SATist NP-vollständig D.h. für jede Sprahe
L ∈ NP
gibt es eine Übersetzungsfunk- tionf ∈ F P
welhe Instanzen von L auf aussagenlogishe Formeln abbildet, sodassx ∈ L ⇔ f(x)
erfüllbarBeweis (Skizze)
Sei
L ∈
NP und T eine NTM mitL = L(T) undNTIME(T (x)) ≤ p(|x|)
für einPolynom p
Wirmüssen eine Funktion f konstruieren, sodass
x ∈ L ⇔ f (x)erf llbar
. Erinnerung:x ∈ L ⇔
inBerehnungsbaumvonTaufxeinakzeptierenderPfadexistier,bzw,wenn ausgehendvonder StartkongurationS 0 vonTaufx eineFolge vonKongurationen
S 0 → S 1 . . . → S n existiert, sodass S n akzeptierend ist und
′ → ′
Übergangsrelation vonT istObdA :
n = p(|x|)
und That nurein Bandf(x) ist jetztwie folgt deniert:
Variablen:
Für alle
t ≤ p(|x|), q ∈ Q
eine Variablezust q,t /* T ist zur Zeit t im Zustand q,
O(p(|x|)) Stük */
Für alle
i ≤ p(|x|), t ≤ p(|x|), a ∈ Σ
eine Variablesym a,i,t /* zur Zeit t steht an
Position i das Symbola,
O(p(|x|) 2 )
Stük */Für alle
z, t ≤ p(|x|)
eine Variablekopf i,t /* Zur Zeit t istder Kopfan Position i */
Formeln welhe ausdrüken, dass die Belegung dieser Variablen einer legalen akzep-
Z.B.
V
i≤p(|x|) sym x i ,i,0
Wobeix = x 0 . . . x m−1
V
i≥|x| sym ,i,0
V
i≥p(|x|,a6=a ′ ,t≤p(|x|) ¬(sym a,i,t
V sym a ′ ,i,t )
Für jeden Zustand q und Symbol aZeitpunkt t,Position idieFormel
zust q,t ∧ kopf i,t ∧ symbol a,i,t ⇒ ∨ (q,a,q ′ ,a ′ ,d)∈I zust q ′ ,t+1 ∧ kopf i+d,t+1 ∧ sym a ′ ,i,t+1
. . .
Idee: DieVariablenvon
f (x)
beshreiben FolgenvonglobalenKongurationen vonT der Länge und Gröÿep(|x|)
Die Formeln von
f(x)
beshreiben, dass solh eine Folge akzeptierend ist. Die Kon- junktion dieser Formelnistdann erfüllbar,genau dann,wenn eineakzeptierende Be-rehnung existiert.
Weite NP-vollständige Probleme:
3-COL, TSP, Hamiltonshe Kreise,
. . .
Denition 22 (NP-Shwer)
EinProblem/Sprahe List NP-shwer wenn
L ′ ≤ P L
für alleL ′ ∈ NP
Denition 23 (NP-vollständig)
Eine Sprahe L istNP-vollständig,wenn
L ∈ NP
und L NP shwerBemerkung 10
KönntemaneinNP-vollständiges ProbleminpolynomiellerZeitlösen,sowäre NP=
P
Levin hat einen Algorithmus angegeben, der zu gegebener erfüllbarer Formel in po-
lynomiellerZeiteine erfüllendeBelegungndet,vorausgesetzt, dass
P = NP
(Levin-searh).
2.2 Satz von Ladner
Satz 13 (Satz von Ladner)
Es gibt eine Sprahe
L ∈ NP
die niht NP-vollständig ist und trotzdem niht in P liegt.Das natürlih unter der Voraussetzung
P 6= NP
.Beweis Beginne mitNP-vollständiger Sprahe
L 0 z.B L 0 =
Sat wähle w 0 ∈ / L 0
Ansatz:
L = {x ∈ L 0 | |x| ∈ G}
für noh zu bestimmendesG
.f (x) =
( x
falls|x| ∈ g w 0 falls |x| ∈ / G
Es gilt
x ∈ L ↔ f(x) ∈ L 0
Ziel:
1. Wähle
G
so, dassf ∈ FP
, dazu muss|x| ∈ G
? in polynomieller Zeit ent- sheidbar sein. Dann ist zumindestensL ∈ NP
, daL ≤ P L 0 vermöge f und L 0
2. Wähle G so dass
L 6=
i-te Sprahe in¶
und auÿerdemL 6=
i-te Sprahe dieNP-vollständigist.Dies für alle
i ≥ 0
Sei
T 1 , T 2 , T 3 . . .
eine Aufzählung von Turingmashinen,so, dassP = {L(T i ) | i ≥ 0}
Auÿerdem soll
i 7→ T i berehenbar sein.
Idee:
Gegeben:
Deodiere i alsTupel
(T, p)
wobei Teine TM istund pPolynombei falshem Format setze
T i = 0
/* Default Mashine */ SetzeT i :=
Die Mashine,die auf Eingabe
x
die Berehnung vonT (x)
fürp(|x|)
Shritte simuliert und akzep-tiert gdw. dieSimulationakzeptiert hat.'
Sei
T 1 ′ , T 2 ′ , . . .
eine Aufzählung von Turingmashinen, so dassNPC = {L|∃i : T i ′ ent-
sheidet
L
}Idee: gegeben i:
Deodiere i alsTupel (T,f)
T nihtdet. TMpolynomiellerLaufzeit
f ist FP-Transduer
Konstruiere aus
T, f
folgendedeterministishe TMT i ′
BeiEingabe
x
prüfe zunähst, oby ∈
SAT⇐⇒ f(y) ∈ L(T )
für alley
mit|y| ≤ |x|
.(durh Brute-Fore Simulation aller Berehnungspfade). Falls Ja: Akzeptiere, gdw.
x ∈ L(T )
FallsNein: Akzeptiere,gdw.
x ∈
SATIst
i = (T, f )
undL(T )
NP-vollständig vermöge der Reduktionf
, so giltL(T i ′ ) = L(T )
. Anderenfalls untersheidet sihL(T i ′ )
nur an endlih vielen Punkten von SATund ist somitimmerhinNP-vollständig.
Sei nunmehr
L i = L(T i )
undL ′ i = L(T i ′ )
. Es istP = {L i | i ≥ 0}
undNPC = {L ′ i | i ≥ 0}
.Hier istNPC
dieMenge der NP-vollständigen Sprahen.Ziel: Konstruiere
G ⊆ N
so,dass∀iL ∗ 6= L i und L ∗ 6= L ′ i
NB A,B Mengen:
A 6= B
fallsA∆B 6= ∅
wobeiA∆B = A \ B ∪ B \ A
Für jedes
n, i ∈ N
gibt eseinWort x mit|x| ≥ n
sodassx ∈ L∆L i
NB
x
bezeugt, dassL 6= L i
Nah Voraussetzung
P 6= NP
mussL∆L i 6= ∅
seinMehr noh: für jedes
n
gibt esy ∈ L∆L i mit |y| ≥ n
, denn sonst würde sih L
nur anendlihvielen Punkten von
L i untersheiden und wäre damit selbst inP
.
Für jedes
i, n ∈ N
gibt esauÿerdemy
mit|y| ≥ n
undy ∈ L ′ i
Sonst wäre nämlih
L ′ i endlihund deshalb inP
. Wegen der Voraussetzung P 6= NP
kann eine NP-vollständige Sprahe wie
L ′ i niht inP
sein
Sei nun
r
zeitkonstruierbare funktionr : N → N
, sodass für allen ∈ N
sodass fürjedes
i ≤ n
ein Wörterx ∈ L∆L i und y ∈ L ′ i mitmit n ≤ |x|, |y| ≤ r(n)
existieren.
n ≤ |x|, |y| ≤ r(n)
existieren.Idee:
Gegeben n:
Simuliere alle
T i , T i ′ mit i ≤ n
auf allen Eingaben der Längen , n, n + 1, n + 2, . . .
solangebispassendeWörter
x
undy
gefundensind.NahvorhergehenderDiskussion gibt es solhe.Ausgabe:Rehenzeit dieses ganzenProzesses.
Dahinter stekt dieallgemeine Beobahtung:
Zu jeder berehenbaren Funktion f gibt es eine zeitkonstruierbare Funktion g mit
g(n) ≥ f (n)
Setze nun:
r 0 = 0
r 1 = r(0) + 1 r 2 = r(r 1 ) + 1
.
.
.
r n+ = r(r n ) + 1
G = {n|r i ≥ n < r i + 1
wobeii gerade}
Erinnerung
L ∗ = {x ∈ L||x| ∈ G}
Behauptung:
L ∗ ∈ / NPC
Wäre
L ∗ = L ′ i für eini,dann wähle nungerade, sodass r n ≥ i
Im Bereih
r n . . . r(r n )
ndet sih einy ∈ L ′ i Nah Denition von G ist aber y / ∈ L ∗
weil
|y| ∈ / G
Behauptung:
L ∗ ∈ /
P:Wäre
L ∗ = L i füreinidannwählengerade,sodassr n ≥ i
.ImBereihr n , . . . , r(r n ) = r n+1 − 1
ndet sih ein x ∈ L i ∆L
. Auf diesem Bereih stimmen L
und L ∗ überein.
Also ist
x ∈ L i ∆L ∗
Es folgt
L i 6= L ∗
Es bleibt zu zeigen,dass:
{x|x ∈ G} ∈ P
Gegeben: x
Berehne sukzessive
r 0 , r 1 , r 2 , . . .
bisn gefunden istmit
r n ≥ |x| < r n+1
akzeptiere
⇔
n geradeDie Berehnung eines
r i verbrauht Zeit O(r i )
alsonahdem alle
r i ≤ |x|
sind:O(|x|)
Auÿerdem kann n(sehr grob) durh|x| abgeshätzt werden
⇒
GesamtlaufzeitO(|x| 2 )
Bis heute wurden keine konkreten Sprahen eht zwishen
P
undNPC
gefunden.Immerhin:
Deniert man
co − NP := {L|L ∈ NP}
Dann ist
NP = co − NP
einoenes Problem und auh ob:P = NP ∩co − NP
Falls
NP 6= co − NP
,so istkeinProblem inco − NP
auh NP-vollständig.2.3 Orakelmashinen
Denition 24 (Orakelmashine)
Eine (niht)deterministishe Orakelturingmashine ist eine (niht)deterministishe
TM Tmitdrei ausgezeihneten Zuständen
q Q , q Y , q N
Falls
C ⊆ Σ ∗,sodeniert mandieBerehnungvonTaufEingabex ∈ Σ ∗ (T C (x)
)wie
T C (x)
)wiefolgt:
T C (x)
erfolgtwie 'normal'mit der folgendenAusnahme:gelangtdieBerehnungindenZustand
q Q(query)sowirddieBerehnung imZustand
q Y fortgesetzt falls 'Bandinhalt'(des ersten Bandes)∈ C
und in
q N fortgesetzt, falls'Bandinhalt'∈ / C L(T C ) = {x|T C (x)
akzeptiert }
bzw.
L(T C ) = {x
| es gibt eine akzeptierendeBerehnungsfolge im BaumT C (x)
}Denition 25
Sei
C ⊆ Σ ∗ Wirdenieren:
P C = {L |
es existiertdet. Orakel TMT
,L = L C (T )
und Polynomp
:dieLänge der Berehnung
T C (x)
istdurhp(|x|)
beshränkt.}
Bemerkung 11
Falls
L ∈ P
, z.B. L= Addition,Mathing,. . .
so ist
P L = P
Begründung:
SimuliereBerehnung
T L (x)
durh eigenständigeBeantwortungder Orakelanfragen.Bemerkung 12
Lautzeitvon Tbeshränkt durh pund
L ∈ TIME(q)
für Polynom q⇒
Laufzeit der Simulationbeshränkt durhp(n) · q( p(n)
|{z}
ShrankeandieLängederAnfrage
)
Bemerkung 13
NP ⊆ P SAT istklar. Die Frage,ob NP ⊇ P SAT ist einoenes Problem.
Setzt man
T AUT = {φ | φ
allgemeingültig}
,so folgtTAUT∈ P SAT mitfolgender
Eingabe:q /*q aussagenlogishe Formel */
Frage ob
¬q ∈ SAT
/* Shreibe¬q
aufs erste Bandgege inq Q */
Fallsja: REJECT
Fallsnein: ACCEPT
Aber
T AUT ∈ NP
isteinbekanntes oenes Problem.Denition 26
Sei
C ⊆ Σ ∗ Wirdenieren:
NP C = {L |
esexistiert nihtdet. Orakel TMT
,L = L C (T )
und Polynomp
:dieLaufzeit der Berehnung
T C (x)
ist durhp(|x|)
beshränkt.}
Bemerkung 14
P C ⊆ NP C
Bemerkung 15
Die Sprahe
{(ϕ, U ) | ϕ
auss.log. Formel,U
Teilmenge der Variablen, es existiertBelegung
η
der Variablen inU
, sodassϕ[η]
allgemeingültigist}
ist inNP SAT. (Rate
Belegung der Variablen in
U
, entsheide mit SAT-Orakel, ob entstehende Formel allgemeingültigist.)2.4 Relativierungen von P und NP
Es isteinoenes Problem,obdiese Sprahe in
P SAT ist.
Satz 14
Es gibt eine Sprahe
C ⊆ Σ ∗, sodass P C = NP C
Bemerkung 16
Es istunbekannt ob
P SAT = NP SAT
Beweis
C = {(T, x, 0 k ) | T
istdet. TM undT (x)
akzeptiertund verbrauht höhs-tens
k
Bandpositionen(zusätzlihzur Eingabe)}NB: Cistentsheidbar. Esgibt nämlihnur
2 poly(k,|x|)
vielemögliheglobaleKongu-
rationen. Hat die Berehnung nah dieser Zeit niht gehalten, so hält sieüberhaupt
niht mehr und kann abgebrohen werden.
NB: Es istoen ob
C ∈ P P C ⊆ NP C istklar.
Es bleibt zu zeigen
NP C ⊆ P C
Sei
T
nihtdet. Orakel TM zeitbeshränkt durh Polynomp
. Wir konstruieren eine deterministishe polynomialzeitbeshränkteOrakel TMT ′ mit L(T C ) = L(T ′C )
und
T ′ tätigtnureine einzige Orakelanfrageganz am Ende.
T ′ wie folgt:
EINGABE: x
Baue eine det. TM
T 0, die T C (x)
ohne Benutzung des Orakelssimuliert.Dies durh
systematishe ExplorationallerBerehnungspfadeund Beantwortungaller Orakelan-
fragen durhobenstehende Entsheidunsprozedur
Man kann diese Mashine so konstruieren, dass sie nur
p ′ (|x|)
Bandzellen anfordertfür einPolynom
p ′
Frage nun, ob
(T 0 , x, 0 p ′ (|x|) ) ∈ C
Fallsja, akzeptiere
Fallsnein verwerfe.
NB: Laufzeit dieser Mashine ist polynomiell, denn sie setzt sih zusammen aus fol-
gendem: Erzeugung des Codes für
T 0, Erzeugung von 0 p ′ (|x|) und stellen der Anfrage
an
C
.Bemerkung 17
Eine Beweismethode wie z.B. Diagonalisierung, diein Gegenwart vonOrakeln funk-
tioniertkann niht Pvon NP trennen.
Satz 15
Es existiert eine Sprahe
C ⊆ Σ ∗ sodass P C 6= NP C
Bemerkung 18 (Vorbemerkung zum Beweis)
Ist T eine OTM,
C ⊆ Σ ∗ und wird die Anfrage y in der Berehnung T C (x)
niht
gestellt, danngilt:
T C (x)
akzeptiert⇔T C\{y} (x)
akzeptiert⇔T C∪{y} (x)
akzeptiertBeweis Sei
T 0 , T 1 , . . .
eineeektiveAufzählungvonpolynomialzeitbeshränktenOTM sodass gilt:1.
P C = {L C (T i ) | i ≥ 0}
für alleC2. Laufzeit von
T i C (x) ≤ |x| i + i
Übung: Solhe Aufzählung existiert
Wähle
B ⊆ Σ ∗ innohzu bestimmender,geeigneter Weise
C ={0 n | esexistiert x ∈ B
mit|x| = n}
x ∈ B
mit|x| = n}Es gilt
C ∈ NP B ganz egal was B
amEnde ist:
Gegeben
0 n, rate x ∈ Σ ∗ mit |x| = n
.Frage dann das Orakel,obx ∈ B
|x| = n
.Frage dann das Orakel,obx ∈ B
Wir werden esso einrihten, dass
C 6= L B (T i )
für jedes i und somitC / ∈ P B B 0 = ∅, n 0 = 0
Seien
B i und n i shon deniert. Wir legen B i+1 , n i+1 wie folgtfest:
B i+1 , n i+1 wie folgtfest:
/*Invariante:
B i enthält kein Wortder Länge≥ n i */
/*Invariante:
2 n i > n i i + i − 1
*/Rehne
T i B i (0 n i )
/* Dauertn i i + i
Shritte */Fallsakzeptiert wird:
B i+1 := B i, sodass 0 n i ∈ / C
Fallszurükgewiesen wird:
Wähle
w
mit|w| = n i und so dass w
in obigerBerehnung
niht gefragt wurde. Soein
w
muss eswegen der Wahl vonn i geben.
Setze
B i+1 := B ∪ {w}
Wähle
n i+1 sodass
• 2 n i+1 > n i+1 i+1 + i + 1
• n i+1 > n i i + i − 1
Setze nun:
B = S
i≥0 B i
. Mit dieserWahlvonB
gilt:C / ∈ P B. Denn wäre C = L(T i B )
für ein i ≥ 0
, dann betrahten wir die Berehnung
T i B (0 n i )
.Aufgrund derKonstruktion kommthierbeidasselbeErgebnisherauswiebei
der Berehnung T i B i (0 n I )
.Es giltaber 0 n i ∈ L(T i B i ) ⇔ 0 n i ∈ / C
Also ist
C 6= L(T i B )
Halbkonkrete Konstruktion der ersten 3Shritte (
Σ = {0, 1}
):Betrahte:
T 0 B 0 (ǫ)
/*B 0 = 0, n 0 = 0
*/Fallsakzeptiert:
B 1 = B 0 = ∅
hierǫ / ∈ C
(wir nehmen an, dass dieser Fall eintritt)Fallszurükgewiesen wird:
B 1 = {ǫ}
hierǫ ∈ C n 1 sodass 2 n 1 > n 1 1 + 1
und n 0 0 + 0
n 1 = 2
Betrahte
T 1 B 1 (00)
Rehenzeit2 1 + 1 = 3
ShritteAnnahme. Die Berehnung weise zurük und das Wort11werde nihtangefragt.
B 2 = {11}
n 2 so dss 2 n 2 > n 2 2 + 2
und n 2 > n 1 1 + 1 = 3
z.b:
n 2 = 5
Betrahte
T 2 B 2 (00000)
Rehenzeit: 27 Shritte
Annahme: Die Berehnung weise zurük und frage das Wort
11011
niht an. Dannsetzen wir
B 3 = {11, 11011}
n 3 sodass 2 n 3 > n 3 3 + 3
und n 3 > 27
z.B.:
n 3 = 28
2.5 Die Polynomielle Hierarhie
NP SAT istmehr alsNP
.Es gilt sogar TAUT ∈ P SAT ⊆ NP SAT aberTAUT
isto-NP
TAUT
isto-NP
vollständig.
DieKomplexitätsklasse
NP SAT wirdmitΣ P 2 bezeihnet,dieKlasseP SAT wirdmit∆ P 2
P SAT wirdmit∆ P 2
bezeihnet.
Denition 27 (polynomielle Hierarhie)
Σ P 0 = ∆ P 0 = Π P 0 := P
/* Polynomialzeit*/Σ P i+1 = NP Σ P i = S
C∈Σ P i NP C
∆ P i+1 = P Σ P i Π P i+1 = co-NP Σ P i
Bemerkung 19
Es gilt:
NP = Σ P 1
co-NP = Π P 1 P SAT = P NP = ∆ P 2 NP SAT = Σ P 2
Oensihtlihgelten folgende Inklusionsbezeihnungen alsHasse Diagramm:
.
.
.
∆ P 3
/
\
Π P 2 Σ P 2
\
/∆ P 2
/
\
Π P 1 Σ P 1
\
/∆ P 1
/
\
Π P 0 Σ P 0
\
/∆ P 0
Bemerkung 20 (Notation)
Für
n ∈ N
shreiben wir∃ n y.ϕ(y)
für∃y ∈ Σ ∗ .|y| ≤ n ∧ ϕ(y)
∀ n y.ϕ(y)
für∀y ∈ Σ ∗ .|y| ≤ n ⇒ ϕ(y)
Satz 16
L ∈ Σ P i genau dann wenneine Sprahe A ∈ P
und ein Polynom p
existiert,sodass:
x ∈ L ⇔ ∃ p(|x|) y 1 ∀ p(|x|) y 2 ∃ p(|x|) y 3 . . . ∃/∀ p(|x|) y i (x, y 1 , y 2 , . . . , y i ) ∈ A
Analog gilt
L ∈ Π P i ⇔
es gibt SpraheA ∈ P
und Polynomp
mitx ∈ L ⇔ ∀ p(|x|) y 1 ∃ p(|x|) y 2 . . . (x, y 1 , . . . , y i ) ∈ A
Beweis durh Induktionüber
i
. Wirführen nurdieFällei = 0, 1, 2
durh.i = 0
Klari = 1
Aussage des Satzes:L ∈ Σ P 1, d.h. L ∈ NP ⇔
eine Sprahe A ∈ P
und ein Polynom p
existiert sodass:
x ∈ L ⇔ ∃y 1 : |y 1 | ≤ p(|x|) ∧ (x, y 1 ) ∈ A
Dies wurdebereits bewiesen.
i = 2
:Aussage des Satzes:
L ∈ Σ P 2, d.h. NP SAT ⇔
eine Sprahe A ∈ P
und ein Polynom p
existieren mit: L = {x | ∃ p(|x|) y 1 .∀ p(|x|) y 2 .(x, y 1 , y 2 ) ∈ A
}
⇐
:Sei
L = {x | ∃ p(|x|) y 1 .∀ p(|x|) y 2 .(x, y 1 , y 2 ) ∈ A
} füreinA ∈ P
und Polynom pWir sollenzeigen
L ∈ NP NP
Es gilt
x ∈ L ⇔
∃ p(|x|) y 1 .¬ ∃ p(|x|) y 2 . (x, y 1 , y 2 ) ∈ / A
| {z }
∈P
| {z }
=:B(x,y 1 )∈NP
Oensihtlih:
B ∈ NP
undL ∈ NP B ⊆ NP NP = Σ P 2
⇒
:Sei eine Orakelmashine T vorgelegt sodass
L = L(T SAT )
und seiT
nihtdet undpolynomiell zeitbeshränkt. Wir müssen eine Sprahe
A ∈ P
nden sodassL = {x | ∃ p(|x|) y 1 .∀ p(|x|) y 2 .(x, y 1 , y 2 ) ∈ A
}Es gilt
x ∈ L ⇔
esexistiert eine Folge von Kongurationeny
vonT
auf Eingabex
,sodass,falls
z = z 1 z 2 . . . z k dieiny
getätigtenundpositivbeantwortetenAnfragenan
dasSAT
Orakelbezeihnetundfallsw = w 1 w 2 . . . w k dieiny 1 getätigtenundnegativ
y 1 getätigtenundnegativ
beantworteten Anfragen andas
SAT
Orakelbezeihnet, folgendes gilt:•
alleRehenshritte iny 1 erfolgen gemäÿ T
•
allez 1 . . . z k ∈ SAT
/*das ist von der Form∃y 1 ′ . . .
*/•
allew 1 . . . w l ∈ / SAT
/* das ist von der Form∀y 2 . . .
*/Die gewünshte Charakterisierung lässt sih darausablesen.
Beahte: zwei aufeinanderfolgende polynomiell beshränkte Existenzquantoren kön-
nen durheinen einzigenersetzt werden.
Abstrakte Notation
• ϕ, ψ
bezeihnen Formeln(Boolesh)• |ϕ|, |ψ |
bezeihnet Länge der Formel• η, η ′ bezeihnet Belegung (odiert)
• η | = ϕ
: Belegungη
erfülltFormelϕ
Klar:
{(η, ϕ) | η | = ϕ} ∈ P
SAT = {ϕ | ∃η : η | = ϕ} = {ϕ| ∃η.|η| ≤ |ϕ| ∧ η | = ϕ}
• C, C ′ bezeihne Shaltkreise
|C|, |C ′ |
deren Länge bzgl fester sinnvoller Codierung• C(ϕ)
bezeihne dieAnwendung vonC auf(odierung von)ϕ
Klar:
{(C, ϕ) | C(ϕ) = true} ∈ P
Betrahte:
Test-SAT =
{(C, 1 n ) | C
hatn
Eingabedrähte und für alle Formelnϕ
der Längen
gilt:
C(ϕ) = true ⇔ ϕ ∈ SAT}
Oensihtlihgilt
Test-SAT ∈ Π P 2, denn
(C, 1 n ) ∈ Test-SAT ⇔
∀ϕ : |ϕ| ≤ n : (C(ϕ) = true ∨∀η.|η| ≤ n ⇒ η 6| = ϕ) ∧ (C(ϕ) = false ∨∃η.|η| ≤ n ⇒ η | = ϕ)
⇔ ∀ n ϕ∀ n η∃ n η ′ (C(ϕ) = true ∨η 6| = ϕ) ∧ (C(ϕ) = false ∨η ′ | = ϕ)
Lemma 1 (Selbstreduzierbarkeit von SAT)
TEST-SAT ∈ Π P 1
Beweis Betrahte folgendenoensihtlih polynomiellen)Algorithmus:
Eingabe:
(C, ϕ, n)
x 1 , . . . , x n dieVariablenvonϕ
IF
C(ϕ) = false
RETURN'Angeblihunerfüllbar'ELSE /*
C(ϕ) = true
*/wähleb 1 ∈ {true, false}
sodassC(ϕ[x 1 := b 1 ] = true
falls niht existent RETURN 'Widerspruh!'
.
.
.
wähle
b k ∈ {true, false}
sodassC(ϕ[x 1 := b 1 , . . . , x k := b k ]) = true
falls niht existent RETURN 'Widerspruh!'
IF
[x 1 7→ b 1 , . . . , x k 7→ b k ] | = ϕ
return 'erfüllbar' ELSE RETURN 'Widerspruh!'DieserAlgorithmuserfülltfolgende Spezikationen:
• A(C, ϕ, n) =
'Angeblih unerfüllbar'⇔C(ϕ) = false
• A(C, ϕ, n) =
'Widerspruh!'⇒∃ n ψ.¬(C(ψ) = true ⇔ ψ ∈
SAT}
• A(C, ϕ, n)
= 'erfüllbar'⇒ ϕ ∈ SAT
Daraus folgt:
(C, 1 n ) ∈ TEST-SAT ⇔ ∀ n ϕ
(C(ϕ) = false ∧∀ n η.η 6| = ϕ) ∨ (C(ϕ) = true ∧A(C, ϕ, n) = ′erfüllbar′
).
Das aber istnah Satz 16in
Π P 1.
Satz 17 (Karp-Lipton)
Falls ein Polynom p existiert derart dass
∀n.∃C.|C| ≤ p(n). TEST-SAT(C, 1 n )
(kurz:
SAT ∈ P / poly
) dann folgt:Σ P 2 = Π P 2
Beweis Wir zeigenzunähst:
Π P 2 ⊆ Σ P 2:
Seialso
L ∈ Π P 2 und A ∈ P
und r
Polynom sodass:
x ∈ L ⇔ ∀ r(|x|) y∃ r(|x|) z(x, y, z) ∈ A
Da
SAT NP
-vollständigist,gibt es eine Funktionf ∈ FP
sodass:x ∈ L ⇔ ∀ r(|x|) yf (x, y ) ∈ SAT
.Letzteresistaberäquivalentzu∃ p(q(|x|)) C. TEST-SAT(C, 1 p(q(|x|)) )∧
C(f(x, y)) = true
Hier ist
q
so gewählt, dass|y| ≤ r(|x|) = |f(x, y)| ≤ g(|x|)
Nahdem
TEST-SAT ∈ Π P 1 ist folgtL ∈ Σ P 2
Für die umgekehrte Rihtung
Σ P 2 ⊆ Π P 2 argumentieren wir so: Falls L ∈ Σ P 2 dann
ist
L ∈ Π P 2 alsonahdem vorher Gezeigten ist L ∈ Σ P 2 und also L ∈ Π P 2
L ∈ Π P 2
Aus Satz 16 ergibt sih auhunmittelbar, dass wenn
Σ P 2 = Π P 2, dann auh Σ P i = Σ P 2 für allei ≥ 2
. Mansagt dann:diePH kollabiertaufdie zweite Stufe oder kürzer:
i ≥ 2
. Mansagt dann:diePH kollabiertaufdie zweite Stufe oder kürzer:die PH kollabiert. Der Satz von Karp-Lipton besagt also, dass sofern die PH niht
kollabiert,eskeine polynomiellgroÿen Shaltkreise für
SAT
gibt.3 Platzkomplexität
3.1 Grundlegende Denitionen
Denition 28
Bei platzbeshränkter Berehnung verwendet man Turingmashinen mit mindestens
zwei Bändern.Auf das erste Bandwird die Eingabe geshrieben.
Dieses Banddarf währendder Berehnung niht verwendet werden. Der Platzbedarf
SPACE(T (x))
der Berehnung einer solhen MashineT
auf Eingabex
ist deniertalsdie Anzahl der Felder, dieauf den verbleibenden Bändernbenutzt werden.
Denition 29 (Platzkonstruierbare Funktion)
s : N → N
platzkonstruierbar,fallsTM existiert,diebeiEingabex
aufAusgabeband1 s(|x|) ausgibt und dabeiPlatz O(s(|x|))
verbrauht.
Beispiel 4
n, n 2 , 2 n , log n, n log n
Denition 30
DSPACE(s(n)) = {L | ∃
DTMT
mitL = L(T )
undSPACE(T (x)) = O(s(|x|))}
NSPACE(s(n)) = {L | ∃
NTMT
mitL = L(T )
undSPACE(T (x)) = O(s(|x|))}
Bemerkung 21
Analog zur Zeitkomplexitätgibt esauhfür PlatzkomplexitätHierarhiesätze, diein
etwa besagen:
Mit mehrPlatz lässt sihauh beweisbar mehr berehnen.
Satz 18
DSPACE(s(n)) ⊆ DTIME(2 O(s(n)) ) NSPACE(s(n)) ⊆ DTIME(2 O(s(n)) )
Beweis Eine
s(n)
-platzbeshränkte TMhat2 O(s(n)) vieleglobale Kongurationen.
In Zeit
DTIME(2 O(s(n)) )
kann dieTM somit simuliertwerden.Bemerkung 22 (triviale Beobahtung)
DTIME(t(n)) ⊆ DSPACE(t(n))
Satz 19
DTIME(t(n)) ⊆ DSPACE( log(n) t(n) )
t(n)
log n
platzkonstruierbart(n)
zeitkonstruierbarBeweis siehe z.B. Skriptum von Goldreih
Satz 20
Falls
L
durht(n)
zeitkonstruierbareEinbandturingmashineber.werdenkann. so istL ∈ DSPACE( p
t(n))
fallst(n)
,p
t(n)
zeitkonstruierbar sind undt(n) ≥ n 2.
Beweis siehe z.B. Bovet-Cresenzi
Denition 31 (wihtige Platzklassen)
LOGSPACE
(auhL
) :DSPACE(log n) NLOGSPACE
(auhNL
) :NSPACE(log n) PSPACE : S
k≥1 DSPACE(n k )
Bemerkung 23 (Typishe Probleme in
LOGSPACE
)1. Enthällt einGraph eine bestimmteKonguration?
2. Ist einungerihteter Graph zykelfrei?
3. Addition
4. Multiplikation(shwieriger)
5. Ereihbarkeitim ungerihteten Graphen (shwierig, Satz vonReingold)
Bemerkung 24 (Typishes Probem in NLOGSPACE)
Ereihbarkeitin gerihteten Graphen
RateneinesPfades unterVergessenbisherbesuhter Knoten.MitführeneinesZählers
von
1 . . . n
Abbruh nah maximaln
Shritten (n
= Zahl der Knoten)Bemerkung 25 (Typishe Probleme in PSPACE)
Verallgemeinerte Spiele
n × n
Shah,Dame et.Quantizierte Booleshe Formeln
Bemerkung 26
(
2 O(log(n) = n O(1))
LOGSPACE ⊆ NLOGSPACE ⊆ P ⊆ PSPACE LOGSPACE ( PSPACE
Eine der drei Inklusionen muss eht sein, da
LOGSPACE
wegen des Platzhierarhie- satzes eht inPSPACE
enthaltenist.Vonkeiner der drei ist esderzeit bekannt.
3.2 Platzkomplexität und Nihtdeterminismus
Satz 21 (Satz von Savith)
s(n)
platzkonstruierbars(n) ≥ log n NSPACE(s(n)) ⊆ DSPACE(s(n) 2 )
Beweis Sei
L ∈ NSPACE(s(n))
undT
einenihtdeterministisheTM.mitL = L(T )
und
SPACE(T (x)) ≤ s(n) n = |x|
Sei
V
dieMengederglobalenKongurationenvonTderenBänderGröÿes(n)
haben.Deren Zahl ist durh
2 c·s(n) für einc
beshränkt.
Beahte: hier geht dieVoraussetzung
s(n) ≥ log(n)
ein, denn der Lesezeiger auf dasEingabebandverbrauht Platz
log(n)
.Setze
N := 2 c·s(n) = Anzahl dieserglobalen Kongurationen.
Für
g, g ′ ∈ V
shreibe(g, g ′ ) ∈ E
fallsg ′ möglihe Ein-Shritt Folgekonguration in
T
ist.Shreibe
s
für StartkongurationvonT
aufx
Shreibe
t
fürdieakzeptierendeEndkonguration(oBdAkönnenwir annehmen,dass es genaueine solhe gibt)Es giltdann
x ∈ L ⇔
imGraphen(V, E)
einPfad vons
naht
existiertDeniererekursiveProzedur
reach(g, g ′ , i)
sodassreach(g, g ′ , i) = true ⇔
in(V, E)
einPfad von
g
nahg ′ der Länge≤ 2 i existiert.
reach : V × V × N → bool
Es giltdann:
x ∈ L ⇔ reach(s, t, i) = true
füri = c · s(n) reach(g, g ′ , i) =
if(i = 0)
if(g = g ′ ∨ (g, g ′ ) ∈ E) return true
else return false else :
for(g ′′ ∈ V )
if(reach(g, g ′′ , i − 1) ∧ reach(g ′′ , g ′ , i − 1)) return : true return : false
EinStakframe istgröÿenmäÿig durh
O(s(n))
beshränkt.Rekursionstiefe = Stakhöhe
≤ cs(n)
Die gesamte Prozedur lässt sih alsoin Platz
O(s(n) 2 )
auswerten.Alternativ: funktionaleVersion vonreah:
reach(g, g ′ , 0) =
( true if g = g ′ or(g, g ′ ) ∈ E false sonst
reach(g, g ′ , i + 1) = checkfrom(g 0 , g, g ′ , i) checkfrom(g ′′ , g, g ′ , i) =
reach(g, g ′′ , i) ∧ reach(g ′′ , g ′ , i) ∨ checkfrom(next(g ′′ ), g, g ′ , i)
Fallsg ′′ nihtdieletzte
Konguration ist
checkfrom(g ′′ , g, g ′ , i) = reach(g, g ′′ , i) ∧ reach(g ′′ , g ′ , i)
sonstHierbeisei
g 0 , next(g 0 ), next(next(g o )), . . .
eine beliebigeAufzählung von V.Auswerten von
reach(s, t, cs(n))
führt auf Ausdrüke der GröÿeO(s(n) 2 )
Korollar 22
Ereihbarkeit in Graphen
∈ DSPACE((log n) 2 ) NLOGSPACE ⊆ DSPACE((log n) 2 )
NSPACE(n O(1) )
| {z }
=NPSPACE
= PSPACE
Satz 23 (Immerman-Szelepsényi)
Sei
s(n) ≥ log n
platzkonstruierbar.co-NSPACE(s(n) = NSPACE(s(n))
Hierbei gilt: