Johannes Bl¨omer Skript zur Vorlesung - hni.uni-paderborn.de · Kapitel 1 Einleitung Ziel dieser...

86
Johannes Bl¨ omer Skript zur Vorlesung Komplexit¨ atstheorie Universit¨ at Paderborn Sommersemester 2010

Transcript of Johannes Bl¨omer Skript zur Vorlesung - hni.uni-paderborn.de · Kapitel 1 Einleitung Ziel dieser...

Johannes Blomer

Skript zur Vorlesung

Komplexitatstheorie

Universitat Paderborn

Sommersemester 2010

Inhaltsverzeichnis

1 Einleitung 2

2 Turingmaschinen, Zeit- und Platzkomplexitat 52.1 Turingmaschinen . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Mehrband Turingmaschinen . . . . . . . . . . . . . . . . . . . 122.3 Die Klassen P und PSPACE . . . . . . . . . . . . . . . . . . 152.4 Nichtdeterministische Turingmaschinen und die Klasse NP . 202.5 Polynomielle Reduktionen . . . . . . . . . . . . . . . . . . . . 252.6 NP- und PSPACE-Vollstandigkeit . . . . . . . . . . . . . . . 302.7 Der Satz von Savitch . . . . . . . . . . . . . . . . . . . . . . . 37

3 Innerhalb von P und NP 403.1 Reduktionen, Co-Klassen und die Klasse co-NP . . . . . . . 403.2 Der Satz von Ladner . . . . . . . . . . . . . . . . . . . . . . . 463.3 Die Klassen L,NL und L-Reduktionen . . . . . . . . . . . . . 50

4 Hierarchiesatze und Diagonaliserung 624.1 Vorbereitungen . . . . . . . . . . . . . . . . . . . . . . . . . . 624.2 Die Hierarchiesatze . . . . . . . . . . . . . . . . . . . . . . . . 63

5 Orakel-Turingmaschinen, Grenzen der Diagonalisierung unddie Polynomialzeithierarchie 675.1 Orakel-Turingmaschinen . . . . . . . . . . . . . . . . . . . . . 675.2 Orakel-Turingmaschinen und die Grenzen der Diagonalisierung 705.3 Die Polynomialzeithierarchie . . . . . . . . . . . . . . . . . . 72

6 Probabilistische Komplexitatsklassen 786.1 Einfache probabilistische Algorithmen . . . . . . . . . . . . . 786.2 Probabilistische Komplexitatsklassen . . . . . . . . . . . . . . 806.3 BPP und die Polynomialzeithierarchie . . . . . . . . . . . . . 83

1

Kapitel 1

Einleitung

Ziel dieser Vorlesung ist es eine Einfuhrung in eines der wichtigsten Teilge-biete der Theoretischen Informatik, die Komplexitatstheorie, zu geben. DieKomplexitatstheorie versucht zu verstehen, wie schwer Probleme auf einemComputer zu losen sind. Um dies mathematisch prazise zu fassen, benoti-gen wir zunachst einmal ein geeignetes theoretisches Rechnermodell, um mitHilfe dieses Rechnermodells dann den Ressourcenverbrauch zu charakteri-sieren, den die Losung eines Problems erfordert. Dabei muss naturlich auchgesagt werden, welche Resourcen betrachtet werden. In der Komplexitats-theorie betrachtet man in aller Regel als mathematisches Rechnermodelldie Turingmaschinen. Als Ressourcen werden hauptsachlich Zeit und Spei-cher untersucht. Die Komplexitatstheorie versucht dann Probleme gemaßdes Zeit- und des Speicherbedarfs zu charakterisieren, die zu ihrer Losungauf einer Turingmaschine benotigt werden. Sprachen, deren Losung einenahnlichen Zeit- bzw. Speicherbedarf erfordert, werden dann in der Komple-xitatstheorie in so genannten Komplexitatsklassen zusammen gefasst.

Um etwa die Zeit zu charakterisieren, die die Losung eines Problemsauf einer Turingmaschine benotigt, werden sowohl obere als auch untereSchranken benotigt. Um eine obere Schranke fur die Zeit, die die Losungeines Problems benotigt, zu erhalten, wird in der Regel explizit eine Tu-ringmaschine angegeben, die das Problem lost und dann die Laufzeit dieserTuringmaschine mit Hilfe der O-Notation bestimmt. In der Komplexitats-theorie sind wir in der Regel nur an recht groben oberen Schranken inter-essiert. Haufig genugt es uns zu zeigen, dass ein Problem in polynomiellerZeit gelost werden kann, ohne dass wir versuchen, ein moglichst geringe po-lynomielle Laufzeit zu zeigen. Dieses uberlassen wir Vorlesungen aus demBereich des Algorithmenentwurfs wie

”Datenstrukturen und Algorithmen“,

2

”Grundlegende Algorithmen“ und

”Effiziente Algorithmen“.

Um z.B. untere Schranken fur den Zeitbedarf zu zeigen, die die Losungeines Problems auf einer Turingmaschine benotigt, muss andererseits ge-zeigt werden, dass jede Turingmaschine, die das Problem korrekt lost, einenMindestzeitbedarf hat, den wir mit Hilfe der Ω-Notation angeben. Um etwazu zeigen, dass ein Problem Zeitbedarf Ω(n2) besitzt, muss gezeigt werden,dass jede Turingmaschine, die das Problem korrekt lost, Laufzeit minde-stens Ω(n2) besitzt. Es hat sich nun als sehr schwer herausgestellt, untereSchranken fur die Zeit, die zur Losung von Problemen benotigt wird, zubeweisen. So ist z.B. fur kein NP-vollstandiges Problem eine nichtlineareuntere Schranke bekannt. Wir konnen also zur Zeit fur kein NP-vollstandi-ges Problem beweisen, dass jede Turingmaschine (oder Algorithmus), diedas Problem lost, etwa Laufzeit mindestens Ω(n log(n)) besitzt. Ganz zuschweigen von superpolynomiellen unteren Schranken.

Dieses Unvermogen, untere Schranken fur den Zeit- oder Platzbedarfvon explizit definierten Problemen zu zeigen, ist in vieler Hinsicht der Aus-gangspunkt fur die Komplexitatstheorie. Unser Ausgangspunkt in dieser

Vorlesung ist noch etwas konkreter, namlich die Frage ist P ?= NP. Wir

werden unterschiedliche Ergebnisse und Techniken kennen lernen, die sichaus Versuchen ergaben, diese zentrale Frage der Informatik zu verstehen undzu beantworten. Wir werden z.B. sehen, dass wir das Konzept des Nichtde-terminismus im Kontext von Platzbedarf von Problemen deutlich besserverstehen als beim Zeitbedarf. Wir werden auch sehen, dass wir sehr wohlzeigen konnen, dass es Probleme gibt, deren Losung auf jeder Turingmaschi-ne Zeit mindestens Ω(n2) benotigt, die andererseits aber auch in Zeit O(n4)auf einer Turingmaschine gelost werden konnen. Leider konnen wir dieseProbleme nur indirekt definieren und die Probleme haben keinerlei Ahnlich-keit mit uns interessierenden Problemen aus der Praxis. Wir werden sehen,dass uns hierbei die Technik der Diagonalisierung sehr nutzlich sein wird.Diese Technik spielt naturlich auch bei der Konstruktion von unentscheidba-ren Problemen eine zentrale Rolle. Wir werden allerdings auch sehen, dass

wir mit Hilfe der Diagonalisierung die Frage P ?= NP nicht beantworten

konnen.Weiter werden wir das Konzept von Reduktionen, das bei der Defini-

tion von NP-Vollstandigkeit eine zentrale Rolle spielt, genauer untersu-chen. Dabei werden wir weitere Komplexitatsklassen und die so genanntePolynomialzeit-Hierarchie kennen lernen. Wir werden uns auch fragen, obder Zufall uns helfen kann, vermutlich schwierige Probleme effizient zu losen.Auch hier werden wir keine abschließende Antwort geben. Allerdings werden

3

auch diese Untersuchungen unser Verstandnis der Komplexitat von Proble-men verbessern.

Am Ende der Vorlesung werden wir der Beantwortung der Frage P ?=

NP nicht viel naher gekommen sein, aber Sie werden hoffentlich viel uber einfaszinierendes Gebiet der Informatik gelernt haben, und Sie werden hoffent-lich ein besseres Verstandnis dafur entwickelt haben, warum es trotz großerAnstrengungen vieler theoretischer Informatiker immer noch nicht gelungen

ist, die Frage P ?= NP zu beantworten.

4

Kapitel 2

Turingmaschinen, Zeit- und

Platzkomplexitat

In diesem Kapitel werden wir formal die Zeit- bzw. Platzkomplexitat ei-nes Algorithmus und einer Turingmaschine definieren. Wir werden dann dieKlasse P der in Polynomialzeit entscheidbaren Sprachen definieren.

2.1 Turingmaschinen

Die Turingmaschine wurde 1936 (vor der Entwicklung erster elektronischerRechenanlagen) von Alan Turing eingefuhrt. Sie diente ihm als formalesModell, um den Begriff

”berechenbar“ zu formalisieren. Als Speicherme-

dium besitzt eine Turingmaschine ein nach rechts unendliches Band, dasin Zellen aufgeteilt ist. Eine Zelle kann ein Element aus dem so genann-ten Bandalphabet speichern. Die Turingmaschine besitzt eine Kontrolle undeinen Lesekopf. Die Kontrolle befindet sich stets in einem von endlich vielenZustanden. Der Lesekopf kann den Inhalt einer Speicherzelle lesen, aber auchein neues Zeichen in eine Zelle schreiben (schematisch dargestellt in Abbil-dung 2.1. Weitere Bausteine des Modells sind in der folgenden Definitionzusammengefasst.

Definition 2.1.1 Eine deterministische 1-Band- Turingmaschine oder aucheinfach Turingmaschine (DTM) wird durch ein 4-Tupel M = (Q,Σ,Γ, δ)beschrieben. Dabei sind Q, Σ, Γ endliche, nicht leere Mengen und

1. Q ist die Zustandsmenge. Diese enthalt immer die ausgezeichnetenZustande s, qaccept, qreject, wobei qaccept 6= qreject gelten muss. s ist der

5

Abbildung 2.1: Band und Lesekopf einer DTM

Startzustand, qaccept ist der akzeptierende Zustand und qreject ist derablehnende Zustand.

2. Σ ist das Eingabealphabet, wobei das Blank ⊔ und das Startsymbol⊲ nicht in Σ liegen.

3. Γ ist das Bandalphabet, wobei Σ ⊂ Γ und ⊔,⊲ ∈ Γ. Außerdem sinddie Symbole L,R,N nicht in Γ enthalten.

4. δ : Q\qaccept, qreject×Γ→ Q×Γ×R,L,N ist die Ubergangsfunk-tion. Fur qaccept × Γ, qreject × Γ ist δ also nicht definiert.

5. Fur das Symbol ⊲ ∈ Γ und alle Zustande q ∈ Q gilt δ(q,⊲) = (p,⊲, R)mit p ∈ Q. Außerdem muss fur alle q ∈ Q und a ∈ Γ, a 6= ⊲, geltenδ(q, a) = (p, b,D), wobei p ∈ Q, b ∈ Γ, b 6= ⊲ und D ∈ L,R,N.Mit anderen Worten: ⊲ kann nur dann als zweite Koordinate einesFunktionswertes von δ auftauchen, wenn es auch zweite Koordinatedes Argumentes ist.

Wir werden in Kurze auch nichtdeterministische Turingmaschinen kennenlernen. Um spateren Verwechslungen vorzubeugen werden wir daher auchjetzt schon stets von deterministischen Turingmaschinen (DTMs) reden.

Wir beschreiben nun die Berechnung einer DTM. Zunachst geschiehtdieses informell, dann werden wir die Berechnung genauer definieren. In deraußersten linken Zelle des Bandes einer DTM steht immer das Startsymbol⊲. In den Zellen links vom Startsymbol ⊲ steht zu Beginn der Berechnungeiner DTM die Eingabe w = (w1, w2, . . . , wn) ∈ Σ∗. Die restlichen Zellendes Bandes sind mit dem Blanksymbol ⊔ gefullt. Da ⊔ nicht zum Eingabe-alphabet Σ gehort, zeigt also das erste ⊔ das Ende der Eingabe an.

Die Schritte der DTM erfolgen nun gemaß der Ubergangsfunktion δ. Zujedem Zeitpunkt befindet sich die Maschine in einem Zustand q ∈ Q und

6

der Lesekopf liest den Inhalt einer Zelle des Bandes. Ist der Inhalt der Zellea ∈ Γ, so fuhrt die Maschine die durch δ(q, a) beschriebenen Aktionen aus.Ist z.B. δ(q, a) = (q′, b, L), so wird in die Zelle, die gerade vom Lesekopfgelesen wird, der Inhalt a uberschrieben und durch b ersetzt, der Lesekopfbewegt sich um eine Zelle nach links und der neue Zustand der Maschineist q′. Ist hingegen δ(q, a) = (q′, b, R), so sind die Zustandsanderung und dieAnderung des Inhalts der aktuell gelesenen Zelle wie bei δ(q, a) = (q′, b, L),allerdings bewegt sich der Kopf nun um eine Zelle nach rechts. Ist schließlichδ(q, a) = (q′, b,N), so wird andern sich Inhalt der aktuell gelesenen Zelle undder Zustand wie vorher, allerdings bleibt der Lesekopf auf der aktuellen Zellestehen.

Die Berechnung einer DTM geht so lange weiter bis der Zustand qaccept

oder der Zustand qreject erreicht wird. Dann stoppt die Maschine. Wird keinerder Zustande qaccept, qreject erreicht, so halt die Maschine nie an, sie befindetsich dann in einer “Endlosschleife”.

Da das Startsymbol ⊲ in der ersten Zelle des Bandes nicht uberschriebenwerden kann und ⊲ auch nie auf das Band geschrieben wird (siehe 5. in derDefinition einer DTM), kann das linke Bandende einer DTM am Symbol⊲ in der außersten linken Bandzelle erkannt werden. Wird das Symbol ⊲

gelesen, und befindet sich der Kopf der DTM somit auf der außersten lin-ken Bandzelle, so muss der Kopf gemaß 5. in der Definition einer DTM imnachsten Schritt nach rechts bewegt werden. Der Kopf einer DTM kann alsonie uber das linke Bandende hinaus wandern.

Um die Arbeitsweise einer DTM formal zu fassen, benotigen wir zunachstden Begriff der Konfiguration einer DTM. Eine Konfiguration (

”Momentauf-

nahme“) einer DTM M ist ein Element aus Γ∗ × Q × Γ∗.”DTM M ist in

Konfiguration αqβ“ heißt:

• In den außersten linken Zellen des Bandes steht αβ ∈ Γ∗. In denubrigen Zellen des Bandes stehen ausschließlich ⊔s.

• der Kopf steht auf dem ersten Buchstaben von β,

• der Zustand ist q.

In Abbildung 2.2 haben wir die Konfiguration einer DTM schematisch dar-gestellt. Ein Berechnungsschritt der DTM fuhrt von einer Konfiguration ineine Nachfolgekonfiguration.

Sei β = bβ, α = αa, wobei α, α, α′, β, β, β′ ∈ Γ∗ und a, b ∈ Γ. α′q′β′ ist(direkte) Nachfolgekonfiguration von αqβ, falls gilt:

δ(q, b) = (q′, b′, D), D ∈ L,R,N,

7

Abbildung 2.2: DTM in Konfiguration ⊲110q501110

wobei

• α′ = αb′, β′ = β, falls D = R;

• α′ = α, β′ = ab′β, falls D = L;

• α′ = α, β′ = b′β, falls D = N .

Ist α′q′β′ die direkte Nachfolgekonfiguration von αqβ, so schreiben wir

αqβ α′q′β′.

α′q′β′ ist i-te Nachfolgekonfiguration von αqβ , falls gilt:

• i = 0 und αqβ = α′q′β′, oder

• i > 0 und es gibt Konfigurationen K1, . . . ,Ki−1 mitαqβ K1 . . . Ki−1 α′q′β′.

Ist α′q′β′ die i-te Nachfolgekonfiguration von αqβ, so schreiben wir

αqβ i α′q′β′.

α′q′β′ ist (indirekte) Nachfolgekonfiguration von αqβ, falls es ein i ∈ N0 gibt

mit αqβ i α′q′β′. In diesem Fall schreiben wir

αqβ ∗ α′q′β′.

Ist w ∈ Σ∗ die Eingabe einer DTM, so nennen wir die Konfiguration s⊲win der sich die DTM zu Beginn der Berechnung mit Eingabe w befindet, dieStartkonfiguration bei Eingabe w ∈ Σ∗.

Sei M eine DTM, w ∈ Σ∗. M akzeptiert w, falls es α, β ∈ Γ∗ gibt mits ⊲ w ∗ αqacceptβ. Die DTM M akzeptiert also die Eingabe w, wenndie Berechnung von M bei Eingabe w aus der Startkonfiguration s ⊲ w ineine Konfiguration αqacceptβ mit dem akzeptierende Zustand qaccept fuhrt.Hierbei sind α, β ∈ Γ∗ beliebig.

8

Definition 2.1.2 Die Menge aller von M akzeptierten w ∈ Σ∗ ist die vonM akzeptierte Sprache L. Wir schreiben dann auch L = L(M).

Wichtig ist es, an dieser Stelle zu erkennen, dass wir in dieser Definitionerlauben, dass M fur w 6∈ L nicht im ablehnenden Zustand qreject halt,sondern moglicherweise in eine “Endlosschleife” geht. Deshalb ein, wie Siesich aus der Vorlesung

”Einfuhrung in Berechenbarkeit, Komplexitat und

formale Sprachen“ erinnern werden, starkerer Begriff.

Definition 2.1.3 Die DTM M entscheidet die von ihr akzeptierte SpracheL(M), wenn M alle Worte, die nicht in L(M) liegen ablehnt. D.h., M ent-scheidet die Sprache L, falls M die Sprache L akzeptiert und es fur allew ∈ Σ∗\L Worte α, β ∈ Γ∗ gibt mit s⊲ w ∗ αqrejectβ.

Definition 2.1.4 L ⊆ Σ∗ heisst rekursiv aufzahlbar genau dann, wennes eine DTM gibt, die L akzeptiert.

L ⊆ Σ∗ heißt rekursiv oder entscheidbar genau dann, wenn es eineDTM gibt, die L entscheidet.

In dieser Vorlesung werden wir uns ausschließlich mit DTMs beschaftigen,die bei jeder Eingabe halten, d.h., mit DTMs, die eine Sprache entscheiden.

Turingmaschinen konnen auch Funktionen berechnen. Diese werden wirhauptsachlich benotigen, um fundamentale Konzepte wie Reduktionen undvollstandige Sprachen exakt definieren zu konnen.

Definition 2.1.5 Eine DTM M berechnet die partielle Funktion f : Σ∗ →(Γ\⊔,⊲)∗ mit

• f(w) = y, falls M bei Eingabe w im akzeptierenden Zustand halt unddabei der Bandinhalt y ist. Hierbei werden das Startsymbol ⊲ und alleBlanks des Bandes ignoriert.

• f(w) ist nicht definiert, falls M bei der Eingabe w nicht im akzeptie-renden Zustand halt.

Eine DTM M berechnet die totale Funktion f : Σ∗ → (Γ\⊔,⊲)∗, falls

• M bei jeder Eingabe w ∈ Σ∗ im akzeptierenden Zustand halt.

• f(w) = y, wobei y der Bandinhalt am Ende der Berechnung der DTMM mit Eingabe w ist. Hierbei werden das Startsymbol ⊲ und alleBlanks des Bandes ignoriert.

9

M berechnet die totale Funktion f : Nr → N, falls Σ = 0, 1,# und Mfur jedes a1, . . . , ar ∈ N bei Eingabe bin(a1)#bin(a2)# . . .#bin(ar) im ak-zeptierenden Zustand und mit Bandinhalt bin(f(a1, . . . , ar)) halt. Wiederumwerden das Startsymbol ⊲ und alle Blanks des Bandes ignoriert.

Unter einem Rechenschritt oder einfach einem Schritt einer DTM verste-hen wir nun die einmalige Anwendung der Ubergangsfunktion δ. Gibt es alsoz.B. den Ubergang δ(q, a) = (q′, b, L), befindet sich die DTM im Zustandq und ist das Zeichen in der aktuell gelesenen Speicherzelle a, so kann dieDTM in einem Rechenschritt vom Zustand q in den Zustand q′ wechseln,das Zeichen a in der aktuell gelesenen Zelle durch b ersetzen und schließlichden Lesekopf um eine Position nach links bewegen.

Definition 2.1.6 Sei M = (Q,Σ,Γ, δ) eine DTM, die bei jeder Eingabehalt.

1. Fur w ∈ Σ∗ ist TM (w) definiert als die Anzahl der Rechenschritte vonM bei Eingabe w.

2. Fur n ∈ N ist

TM (n) := maxTM (w) | w ∈ Σ≤n.

3. Die Funktion TM : N → N heißt die Zeitkomplexitat oder Laufzeitder DTM M .

4. Sei t : N → N eine monoton wachsende Funktion. Die DTM M heißtt(n)-zeitbeschrankt, wenn fur alle n ∈ N gilt: TM (n) ≤ t(n).

Man beachte, dass wir die Zeitkomplexitat nur fur DTMs definiert haben,die immer halten. Eine DTM, die bei einigen Eingaben nicht halt, hat keineZeitkomplexitat oder Zeitkomplexitat ∞. Zur Erinnerung: Σ≤n enthalt alleWorte aus Σ∗, die aus hochstens n Zeichen von Σ bestehen. TM (n) ist alsodefiniert als die maximale Anzahl der Rechenschritte der DTM M bei einerEingabe der Lange hochstens n. Damit ist sichergestellt, dass die Zeitkom-plexitat oder Laufzeit einer DTM stets eine monoton wachsende Funktionist. In der Definition einer t(n)-zeitbeschrankten DTM haben wir uns aufFunktionen t : N → N eingeschrankt. Dieses hat rein technische Grunde(siehe unsere spatere Definition von zeitkonstruierbaren Funktionen auf Sei-te 63). Haufig werden wir auch t(n)-zeitbeschrankte Funktionen betrachten,wobei t : N → R>0, z.B. t(n) = n log(n). Um dann der obigen Definiti-on gerecht zu werden, sollten wir dann eigentlich immer t(n) durch ⌊t(n)⌋

10

ersetzen. Da es jedoch kaum Missverstandnisse geben kann, verzichten wirdarauf. Dieselben Bemerkungen treffen auch auf die s(n)-platzbeschranktenDTMs zu, die wir als nachstes definieren.

Zunachst definieren wir die Platzkomplexitat einer DTM M . Informellist dieses der Speicher, den die DTM M benotigt.

Definition 2.1.7 Sei M = (Q,Σ,Γ, δ) eine DTM, die bei jeder Eingabehalt.

1. Fur w ∈ Σ∗ ist SM (w) definiert als die Anzahl der Zellen, die M beiEingabe w benutzt. D.h., sind K0,K1, . . . ,Kl die Konfigurationen, dieM bei Eingabe w durchlauft, so ist SM (x) = max|Ki||i = 0, . . . , l,wobei |Ki| die Anzahl der Bandzellen bezeichnet, die in KonfigurationKi mit Bandsymbolen 6= ⊔ beschriftet sind.

2. Fur n ∈ N ist

SM (n) := maxSM (w) | w ∈ Σ≤n.

3. Die Funktion SM : N→ N heißt die Platzkomplexitat oder der Platz-bedarf der DTM M .

4. Sei s : N→ N eine monoton wachsende Funktion. Die DTM M heißts(n)-platzbeschrankt, wenn fur alle n ∈ N gilt: SM (n) ≤ s(n).

Jetzt konnen wir bereits die ersten Komplexitatsklassen definieren. EineKomplexitatsklasse ist dabei immer eine Menge von Sprachen, die durchTuringmaschinen mit ahnlichem Zeit- oder Platzbedarf entschieden werdenkonnen. Dabei ist die Bedeutung von

”ahnlich“ haufig sehr liberal. Zunachst

definieren wir Zeitkomplexitatsklassen dann Platzkomplexitatsklassen.

Definition 2.1.8 Sei t : N → N eine monoton wachsende Funktion. DieKlasse DT IME(t(n)) ist definiert als

DT IME(t(n)) :=

LL ist eine Sprache, die von einer O(t(n))-zeit-beschrankten DTM entschieden wird

.

Man beachte, dass wir in der Definition nur fordern, dass es eine O(t(n))-zeitbeschrankte DTM geben muss. Wie in der theoretischen Informatik ublich,ignorieren wir also in dieser Definition konstante Faktoren. Um zu zeigen,dass eine Sprache L in DT IME(t(n)) liegt, muss also die Existenz einer Lentscheidenden, O(t(n))-zeitbeschrankten DTM M gezeigt werden. Haufigaber nicht immer geschieht dies durch die explizite Beschreibung einer sol-chen DTM M .

Analog konnen wir nun auch die Klassen DSPACE(s(n)) definieren.

11

Definition 2.1.9 Sei s : N → N eine monoton wachsende Funktion. DieKlasse DSPACE(s(n)) ist definiert als

DSPACE(s(n)) :=

LL ist eine Sprache, die von einer O(s(n))-platz-beschrankten DTM entschieden wird

.

2.2 Mehrband Turingmaschinen

Wir wollen jetzt das Modell der Turingmaschine etwas erweitern, indem wirmehr als ein Band zulassen. Wir werden sehen, dass diese Erweiterung dieKlasse der entscheidbaren Sprachen nicht erweitert. Wir werden allerdingsauch sehen, dass Mehrband-Turingmaschinen einige Sprachen mit geringe-rem Zeitbedarf entscheiden konnen als 1-Band-Turingmaschinen. Schließlichwerden wir sehen, dass eine analoge Aussage fur den Speicherbedarf nichtgilt. D.h. kann eine Sprache durch eineO(s(n))-platzbeschrankte Mehrband-Turingmaschinen entschieden werden, so kann sie auch durch eine O(s(n))-platzbeschrankte 1-Band-Turingmaschine entschieden werden.

Definition 2.2.1 Eine k-Band Turingmaschine (k-DTM) hat nicht nur einBand und einen Lesekopf, sondern k Bander mit je einem Lesekopf. DieUbergangsfunktion ist dann von der Form δ : Q\qaccept, qreject×Γk → Q×Γk×R,L,Nk. Zu Beginn steht die Eingabe auf Band 1, auf allen anderenBandern steht links das Startsymbol ⊲ gefolgt von Blanks. Die Arbeitsweiseeiner k-DTM ist wie die Arbeitsweise einer 1-Band-DTM definiert.

Ist etwaδ(qi, a1, . . . , ak) = (qj , b1, . . . , bk, L,R, . . . , L),

so bedeutet dieses, das die Maschine, falls sie sich im Zustand qi befindetund auf dem i-ten Band ein ai liest, im nachsten Schritt in den Zustand qjubergeht, auf dem i-ten Band ai durch bi ersetzt, auf dem ersten Band denLesekopf eine Position nach links bewegt, auf dem zweiten Band den Lese-kopf eine Position nach rechts bewegt, usw. Ein Beispiel ist in Abbildung 2.3dargestellt. Den Begriff der Konfiguration einer Mehrband-Turingmaschinekonnen wir vollkommen analog wie bei 1-Band-Turingmaschinen definieren.Genauso bereitet die Verallgemeinerung der Begriffe wie Zeitkomplexitateiner (1-Band) DTM oder t(n)-zeitbeschrankte Turingmasche (siehe Defini-tion 2.1.6) auf Mehrband-DTMs keinerlei Probleme. Um Definition 2.1.7 aufMehrband-DTMs zu verallgemeinern mussen wir nur erklaren, was wir unterder Große |K| einer Konfiguration einer Mehrband-DTM verstehen. Weniguberraschend ist dieses die Anzahl aller Bandzellen (auf allen Bandern der

12

Abbildung 2.3: Band und Lesekopfe einer 3-Band TM

Maschine) die mit einem Bandsymbol 6= ⊲ beschriftet sind. Die Ubertragungvon Definition 2.1.7 auf Mehrband-DTM ist dann offensichtlich. Wir verzich-ten wie auch bei der Verallgemeinerung von Zeitkomplexitat auf eine genaueDefinition. Nun konnen wir auch die Komplexitatsklassen DT IME(t(n))und DSPACE(s(n)) fur Mehrband- genauer k-Band DTM definieren.

Definition 2.2.2 Sei t : N → R>0 eine monoton wachsende Funktion undsei k ∈ N. Die Klasse DT IMEk(t(n)) ist definiert als

DT IMEk(t(n)) :=

LL ist eine Sprache, die von einer O(t(n))-zeit-beschrankten k-Band DTM entschieden wird

.

Definition 2.2.3 Sei s : N→ N eine monoton wachsende Funktion und seik ∈ N. Die Klasse DSPACEk(s(n)) ist definiert als

DSPACEk(s(n)) :=

LL ist eine Sprache, die von einer O(s(n))-platz-beschrankten k-Band DTM entschieden wird

.

Der folgende Satz zeigt, dass bei fester Funktion s(n) die KlassenDSPACEk(s(n))fur k = 1, 2, . . . alle identisch sind.

Satz 2.2.4 Wird die Sprache L ⊆ Σ∗ von einer O(s(n))-platzbeschranktenk-Band DTM M entschieden, so gibt es auch eine O(s(n))-platzbeschrankte1-Band DTM, die L entscheidet.

Wir werden den Beweis dieses Satzes an dieser Stelle nicht fuhren. Weisenaber daraufhin, dass der Beweis auf der fur die Komplexitatstheorie ganzwesentlichen Technik der Simulation beruht. Unter einer Simulation einerTuringmaschie M durch eine Turingmaschine S verstehen wir dabei den

13

Entwurf einer Maschine S, die das Verhalten vonM nachahmt. Insbesonderemuss die simulierende Maschine S dieselbe Sprache entscheiden wie die zusimulierende Maschine M .

Fur Zeitkomplexitat und die Klassen DT IMEk(t(n)) ist die Situationleider nicht so schon wie fur die Platzkomplexitat. Insbesondere gelten diefolgenden Satze.

Satz 2.2.5 Sei t : N → N eine monoton wachsende Funktion. Wird dieSprache L ⊆ Σ∗ von einer O(t(n))-zeitbeschrankten k-Band DTM M ent-schieden, so gibt es auch eine O(t(n)2)-zeitbeschrankte 1-Band DTM, die Lentscheidet.

Es gilt also das folgende Korollar.

Korollar 2.2.6 Sei t : N→ N eine monoton wachsende Funktion. Fur allek ∈ N gilt

DT IMEk(t(n)) ⊂ DT IME(t(n)2).

Der nachste Satz zeigt, dass dieses Korollar im Wesentlichen nicht verbessertwerden kann.

Satz 2.2.7 Es gibt eine Sprache L ⊂ 0, 1∗, die auf einer 2-Band DTMin Zeit O(n) entschieden werden kann, die jedoch nicht durch eine 1-BandDTM mit Laufzeit o(n2) entschieden werden kann.

Eine Sprache L, die benutzt werden kann, um Satz 2.2.7 zu zeigen, solltenIhnen wohl bekannt sein. Die Aussage des Satzes gilt z.B. fur Palindrome.Wir erhalten aus Satz 2.2.7 folgendes Korollar.

Korollar 2.2.8 Sei t : N → N eine monoton wachsende Funktion mitt(n) = o(n2). Dann gilt fur alle k ∈ N, k ≥ 2

DT IMEk(n) 6⊂ DT IME(t(n)),

Reden wir also vom Zeitbedarf zur Losung eines Problems und sind wir anrecht feinen Unterscheidungen im Laufzeitbedarf interessiert (z.B. Zeitbe-darf n oder Zeitbedarf n2) so mussen wir also anders als beim Platzbedarfzwischen Mehr- und 1-Band DTMs unterscheiden. Glucklicherweise ist die-ses nicht der Fall, wenn wir uns um Komplexitatsklassen wie P oder NPkummern, denen wir uns nun zuwenden.

14

2.3 Die Klassen P und PSPACESatz 2.2.5 zeigt, dass die folgende Definition eines effizient losbaren Problemsvon dem zugrunde gelegten Rechenmodell (1-Band DTM, Mehrband DTM)weitgehend unabhangig ist.

Definition 2.3.1 Die Klasse P ist definiert als

P =⋃

k∈N

DT IME(nk).

In Worten: P ist die Klasse aller Sprachen L, fur die es ein festes, aberbeliebiges k und eine (1-Band-)DTM M mit Laufzeit O(nk) gibt, die L ent-scheidet. P ist die Klasse der Sprachen, die in polynomieller Zeit entschie-den werden konnen.

Wie oben schon angedeutet, folgt aus Satz 2.2.5, dass sich die Klasse P nichtandert, wenn wir in Definition 2.3.1 Mehrband Turingmaschinen als Berech-nungsmodell zugrunde gelegt hatten. Man kann auch zeigen, dass sich dieDefinition nicht andert, wenn wir nicht Turingmaschinen sondern Random-Access- Machine (RAMs) als Berechnungsmodell zugrunde legen. Haufigwird sogar davon ausgegangen, dass jedes “vernunftige” Rechenmodell zurselben Klasse von Sprachen fuhrt, die in polynomieller Zeit gelost werdenkonnen. Diese Aussage (haufig die moderne Churchsche These genannt) istwie die Churchsche These nicht beweisbar.

Die Klasse P stellt fur uns die Klasse der effizient entscheidbaren Spra-chen dar. Allgemeiner, jedes Problem, das sich durch eine DTM mit LaufzeitO(nk) losen lasst, werden wir als effizient losbar bezeichnen.

Fur unsere Wahl von P als der Klasse der effizient losbaren Problemegibt es im wesentlichen drei Grunde.

1. P ist eine mathematisch robuste Klasse.

2. Probleme, die nicht in P liegen, lassen sich in der Praxis nicht effizientlosen. Probleme, die in P liegen, lassen sich haufig auch in der Praxiseffizient losen.

3. Die Klasse P fuhrt zu einer Theorie, die sowohl praktisch als auchtheoretisch interessante und relevante Ergebnisse liefert.

Zum ersten Grund: Die Klasse der effizient losbaren Probleme sollte vomRechnermodell weitgehend unabhangig sein. Wie wir gesehen haben, ist die-ses bei unserer Definition der Fall. Weiter sollten wir DTMs, die effizient

15

sind, miteinander kombinieren konnen, um eine effiziente DTM zu erhalten.Bei unserer Definition einer effizienten DTM als einer DTM, deren Laufzeitdurch ein Polynom beschrankt ist, ist diese Forderung erfullt.

Zum zweiten Grund: Fur die meisten Probleme, die nicht in P liegen,oder von denen wir nicht wissen, ob sie in P liegen, haben die besten be-kannten Algorithmen haufig eine Laufzeit der Form 2n. Nun sind aber mitwachsender Eingabegroße Probleme, deren Losung Laufzeit 2n benotigt, sehrviel schneller praktisch nicht mehr losbar als Probleme, deren Losung Lauf-zeit n2 benotigt.

Aber in P lassen wir auch Sprachen zu, die von einer DTM mit Laufzeitn10000 entschieden werden. Ein Algorithmus dieser Laufzeit ist in der Pra-xis sicherlich nicht brauchbar. Die Behauptung, eine Sprache, die von einerDTM mit Laufzeit n10000 entschieden wird, sei effizient losbar, scheint kaumgerechtfertigt zu sein. In der Praxis ist es aber haufig so, dass fur Sprachen,von denen bekannt ist, dass sie in P liegen, bald auch DTMs oder Algorith-men bekannt sind, die diese Sprachen entscheiden und deren Laufzeit durchein kleines Polynom wie n2 oder n3 beschrankt ist1. Zusammenfassend kannman sagen, dass Probleme, die nicht in P liegen, auch in der Praxis nichteffizient gelost werden konnen. Außerdem konnen Probleme, die in P liegen,meistens auch in der Praxis effizient gelost werden.

Den dritten oben angefuhrten Grund fur die Definition von P auszufuhrenist Ziel und Teil zumindest eines Teils dieser Vorlesung.

Analog zur Klasse P konnen wir auch die Klasse PSPACE der mit po-lynomiellem Platz losbaren Probleme definieren.

Definition 2.3.2 Die Klasse PSPACE ist definiert als

PSPACE =⋃

k∈N

DSPACE(nk).

In Worten: PSPACE ist die Klasse aller Sprachen L, fur die es ein festes,aber beliebiges k und eine O(nk)-platzbeschrankte (1-Band-)DTM M gibt,die L entscheidet. PSPACE ist die Klasse der Sprachen, die in polynomi-ellem Platz entschieden werden konnen.

Wir werden sehen, dass vermutlich nicht alle Probleme in PSPACE auchzeiteffizient gelost werden konnen. Die Klasse PSPACE ist vor allem austheoretischer Sicht interessant. Im Vergleich zwischen P und PSPACE zeigt

1Wie wir im Laufe der Vorlesung sehen werden, ist die Aussage nur aus praktischer

Sicht vielleicht sinnvoll. Aus Sicht der Komplexitatstheorie ist sie falsch.

16

sich etwa, dass der im folgenden Abschnitt eingefuhrte Begriff des Nicht-determinismus sich vermutlich in Bezug auf Zeit bzw. Platz vollig andersverhalt.

Wir wollen nun noch eine besonders wichtige Sprache aus der KlassePSPACE vorstellen. Es handelt sich dabei um die Sprache QBF, der Mengealler wahren, vollstandig quantifizierten Booleschen Formel. Diese Sprachespielt fur PSPACE dieselbe Rolle wie SAT fur NP. Eine vollstandig quan-tifizierte Boolesche Formel ist ein Ausdruck der Form

Q1x1Q2x2 · · ·Qnxnφ(x1, x2, . . . , xn),

wobei Qi ∈ ∀,∃ fur i = 1, . . . , n und φ eine Boolesche Formel uber Boo-leschen Variablen x1, . . . , xn ist. Man nennt eine solche Formel vollstandigquantifiziert, da jede Variable xi mit ∀ oder ∃ quantifiziert ist. Eine vollstandigquantifizierte Boolesche Formel ist entweder wahr oder falsch. Nun erhaltenwir

Definition 2.3.3 Die Sprache QBF besteht aus allen vollstandig quantifi-zierten wahren Booleschen Formeln.

Sei φ(x1, . . . , xn) eine Boolesche Formel uber n Variablen. Mit der Große mdieser Formel bezeichnen wir die Beschreibungsgroße von φ in einer sinn-voll gewahlten standardisierten Beschreibungsform fur Boolesche Formeln.Wie diese Beschreibung genau aussieht, ist irrelevant. Die Formel φ ist nunerfullbar genau dann, wenn die vollstandig quantifizierte Boolesche Formel

∃x1∃x2 · · · ∃xnφ(x1, . . . , xn)

wahr ist. Damit gilt also SAT ⊆ QBF. Wir wollen uns nun uberlegen, dassQBF in PSPACE enthalten ist. Um die Notation zu vereinfachen identifi-zieren wir den Booleschen Wert

”wahr“ mit 1 und den Wert

”falsch“ mit

0.Betrachten wie eine vollstandig quantifzierte Boolesche Formel

Q1x1Q2x2 · · ·Qnxnφ(x1, x2, . . . , xn).

Nehmen wir zunachst an, dass Q1 = ∃. Dann ist der Ausdruck

Q1x1Q2x2 · · ·Qnxnφ(x1, x2, . . . , xn)

genau dann wahr, wenn der Ausdruck

Q2x2 · · ·Qnxnφ(1, x2, . . . , xn) ∨Q2x2 · · ·Qnxnφ(0, x2, . . . , xn)

17

Abbildung 2.4: Rekursionsbaum fur ∃x1∀x2∃x3φ(x1, x2, x3)

wahr ist. Analog konnen wir im Fall Q1 = ∀ vorgehen. Dann ist

Q1x1Q2x2 · · ·Qnxnφ(x1, x2, . . . , xn)

genau dann wahr, wenn der Ausdruck

Q2x2 · · ·Qnxnφ(1, x2, . . . , xn) ∧Q2x2 · · ·Qnxnφ(0, x2, . . . , xn)

wahr ist. Genauso konnen wir dann die Quantoren Q2 durch ein ∨ oder ein ∧von zwei Boolesche Formel ersetzen, in denen die zweite Variable x2 einmalmit 1 und einmal mit 0 belegt wird. Dieses Vorgehen konnen wir fortsetzen,bis wir den Ausdruck

Q1x1Q2x2 · · ·Qnxnφ(x1, x2, . . . , xn)

durch einen logisch aquivalenten Ausdruck ersetzt haben, in dem nur noch∨, ∧ und Ausdrucke der Form φ(b1, . . . , bn) mit bi ∈ 0, 1 auftauchen. Wirkonnen uns dieses Vorgehen auch anhand eines Baumes wie in Abbildung 2.4veranschaulichen. Aus diesen Betrachtungen ergibt sich sich leicht die Kon-struktion einer rekursiv arbeitenden DTM D, die QBF mit polynomiellenPlatz lost. Um zu entscheiden, ob der Ausdruck

A = Q1x1Q2x2 · · ·Qnxnφ(x1, x2, . . . , xn)

18

wahr ist, entscheidet die DTM D rekursiv, welche der beiden Ausdrucke

A1 = Q2x2 · · ·Qnxnφ(1, x2, . . . , xn)

undA0 = Q2x2 · · ·Qnxnφ(0, x2, . . . , xn)

wahr sind. Ist Q1 = ∀, so gibt D genau dann wahr aus, wenn A1 und A0

wahr sind. Ist hingegen Q1 = ∃, so gibt D genau dann wahr aus, wennmindestens einer der beiden Ausdrucke A1, A0 wahr ist.

Bezeichne nun SD(A) den Platzbedarf vonD bei Eingabe A. Wir nehmennun an, dass die Ausdrucke A0 und A1 Beschreibungsgroße hochstens mhaben, wenn der Ausdruck A Beschreibungsgroße m besitzt. Aus unserenobigen Uberlegungen ergibt sich nun

SD(A) ≤ maxSD(A1), SD(A0)+O(m),

denn D kann den Platz, den sie benotigt, um den Wahrheitswert von A1 zubestimmen, bei der Bestimmung des Wahrheitswertes von A0 wiederverwen-den. Dabei benotigt D Platz O(m), um die rekursiven Aufrufe zu verwalten.Die Basisfalle der Rekursion sind erreicht, wenn alle Variablen mit Boole-schen Konstanten belegt sind.2 In diesen Fallen kann D den Wahrheitswertsicherlich in Platz linear in der Beschreibungsgroße m des Ausdrucks A be-stimmen. Zusammen mit der obigen Rekursionsformel fur den Platzbedarfvon D ergibt sich, dass D bei Eingabe A Platzbedarf O(n ·m) besitzt, wo-bei n die Anzahl der Variablen und m die Beschreibungsgroße von A ist.Insgesamt erhaltenen wir also

Satz 2.3.4 Die Sprache QBF ist in PSPACE enthalten.

2Dieses sind die Blatter in einem Baum wie in Abbildung 2.4.

19

2.4 Nichtdeterministische Turingmaschinen und die

Klasse NPAls nachstes betrachten wir nichtdeterministische Turingmaschinen (NTM).NTMs sind keine realistischen Rechnermodelle. Sie sind aber als mathema-tisches Modell von großem Nutzen.

Definition 2.4.1 Eine nichtdeterministische Turingmaschine (NTM) wirddurch ein 4-Tupel M = (Q,Σ,Γ, δ) beschrieben. Dabei sind Q, Σ, Γ endliche,nicht leere Mengen und

1. Q ist die Zustandsmenge. Diese enthalt immer die ausgezeichnetenZustande s, qaccept, qreject, wobei qaccept 6= qreject gelten muss. s ist derStartzustand, qaccept ist der akzeptierende Zustand und qreject ist derablehnende Zustand.

2. Σ ist das Eingabealphabet, wobei das Blank ⊔ und das Startsymbol⊲ nicht in Σ liegen.

3. Γ ist das Bandalphabet, wobei Σ ⊂ Γ und ⊔,⊲ ∈ Γ. Außerdem sinddie Symbole L,R,N nicht in Γ enthalten.

4. δ : Q\qaccept, qreject × Γ → POT (Q × Γ × R,L,N) ist die Uber-gangsfunktion. Fur qaccept × Γ, qreject × Γ ist δ also nicht definiert.

5. Fur das Symbol ⊲ ∈ Γ und alle Zustande q ∈ Q gilt δ(q,⊲) ⊆ POT (Q×⊲ × R). Außerdem muss fur alle q ∈ Q, a ∈ Γ, a 6= ⊲, gel-ten δ(q, a) ⊆ POT (Q × Γ\⊲ × L,R,N). Mit anderen Worten:⊲ kann nur dann als zweite Koordinate eines Elementes von δ(q, a)auftauchen, wenn auch a = ⊲.

Fur eine beliebige Menge S bezeichnet POT (S) hierbei die Menge allerTeilmengen von S, die sogenannte Potenzmenge von S.

Ist z.B. δ(q, a) = (q′, a′, L), (q′′, a′′, R), q, q′, q′′ ∈ Q, a, a′, a′′ ∈ Γ, sokann die NTM N , befindet sie sich im Zustand q und liest das Symbol a, imnachsten Schritt entweder das Symbol a durch a′ ersetzen, in den Zustandq′ wechseln und den Kopf eine Zelle nach links bewegen oder die NTM Nkann das Symbol a durch a′′ ersetzen, in den Zustand q′′ wechseln und denKopf eine Zelle nach rechts bewegen.

Bei einer festen Eingabe w ∈ Σ∗ kann eine NTM N viele verschiede-ne Berechnungen ausfuhren, je nachdem welche Elemente aus δ(q, a) in deneinzelnen Rechenschritten von der NTM jeweils ausgewahlt werden. Diese

20

Abbildung 2.5: Berechnungsbaum einer NTM

verschiedenen Berechnungen konnen gut in einem Baum, dem sogenanntenBerechnungsbaum von N bei Eingabe w dargestellt werden. Ein Beispielist grob in Abbildung 2.5 skizziert. Jeder Knoten des Berechnungsbaumsist mit einer Konfiguration von N gelabelt. Der Wurzelknoten ist mit derStartkonfiguration q0 ⊲w gelabelt. Ist ein Knoten mit der Konfiguration Kgelabelt, so sind die Label seiner Kinderknoten die moglichen direkten Nach-folgekonfigurationen von K. Dies sind diejenigen Konfigurationen, die aus Kdurch eine einmalige Anwendung der Ubergangsfunktion δ erreicht werdenkonnen. Man beachte, dass mehrere Knoten mit derselben Konfiguration Kgelabelt sein konnen.

Einen Pfad im Berechnungsbaum nennen wir Berechnungspfad. JederBerechnungspfad entspricht einer moglichen Berechnung von N bei Einga-be w. Da es Berechnungen gibt, die zu Endlosschleifen fuhren, kann derBerechnungsbaum unendlich gross sein und es kann unendlich lange Berech-nungspfade geben. Berechnungspfade endlicher Lange entsprechen Berech-

21

nungen, die irgendwann im Zustand qaccept oder im Zustand qreject enden.Endet eine Berechnung im Zustand qaccept, so nennen wir die Berechnungund den entsprechenden Berechnungspfad akzeptierend. Endet die Berech-nung im Zustand qreject, so heisst die Berechnung und der Berechnungspfadablehnend. In Abbildung 2.5 ist der gestrichelte Pfad ablehnend, wahrendder gepunktete Pfad akzeptierend ist.

Eine NTM N akzeptiert eine Eingabe w ∈ Σ∗, wenn es mindestens eineakzeptierende Berechnung von N bei Eingabe w gibt. Anders formuliert,wenn der Berechnungsbaum von N bei Eingabe w einen akzeptierendenBerechnungspfad enthalt. Die von einer NTM N = (Q,Σ,Γ, δ) akzeptierteSprache L(N) ist dann definiert als

L(N) := w ∈ Σ∗ | N akzeptiert w.Wir sagen, die NTM akzeptiert die Sprache L, wenn L = L(N). Die NTMN entscheidet die Sprache L, wenn N immer halt und N die Sprache Lakzeptiert. Wir sagen dabei, dass die NTM N bei jeder Eingabe halt, wennfur alle Eingaben alle moglichen Berechnungen im Zustand qaccept oder imZustand qreject enden. Mit anderen Worten, die NTM N halt bei jeder Ein-gabe, wenn die Berechnungsbaume fur alle Eingaben w nur endliche Pfadebesitzen. Das Verhaltnis von Akzeptieren und Entscheiden bei einer NTMist vollkommen analog zum Verhaltnis von Akzeptieren und Entscheiden beieiner DTM. In Zukunft werden wir uns nur noch mit NTMs beschaftigen,die bei jeder Eingabe halten.

Als nachstes wollen wir die Laufzeit und den Platzbedarf einer NTMdefinieren. Wie bei einer DTM besteht bei einer NTM ein Rechenschritt ausder einmaligen Anwendung der Ubergangsfunktion. Befindet sich die NTMim Zustand q und liest das Zeichen a, so wahlt die NTM in einem Rechen-schritt ein Element aus δ(q, a) aus und fuhrt die Aktionen entsprechend demausgewahlten Element aus δ(q, a) aus.

Definition 2.4.2 Sei N = (Q,Σ,Γ, δ) eine nichtdeterministische Turing-maschine, die bei jeder Eingabe halt.

• Fur w ∈ Σ∗ ist TN (w) definiert als die maximale Anzahl von Rechen-schritten in einer moglichen Berechnung von N bei Eingabe w.

• Fur n ∈ N ist

TN (n) := maxTN (w) | w ∈ Σ≤n.

• Die Funktion TN : N→ N heißt die Zeitkomplexitat oder Laufzeit derNTM N .

22

• Die NTM N heißt t(n)-zeitbeschrankt, wenn fur alle n ∈ N gilt: TN (n) ≤t(n).

Nach dieser Definition ist TN (w) genau die Lange eines langsten Pfades imBerechnungsbaum von N bei Eingabe w.

Bis auf den ersten Punkt entspricht diese Definition genau der Definiti-on der Laufzeit einer DTM. Fur die Anzahl der Rechenschritte einer NTMbei Eingabe w gibt es unterschiedliche Definitionen. Einige alternative De-finitionen konnen auch in den Buchern, die wir empfohlen haben, gefundenwerden. In manchen Buchern ist die Laufzeit einer NTM im wesentlichendefiniert als die Lange eines kurzesten akzeptierenden Rechenwegs. Dieseverschiedenen Definitionen der Laufzeit einer NTM sind jedoch, soweit esden Inhalt dieser Vorlesung betrifft, aquivalent.

Als nachstes definieren wir die Platzkomplexitat einer NTM N . Infor-mell ist dieses der Speicher, den die NTM benotigt. Wie bei der Laufzeitbetrachten wir dabei wiederum das Maximum uber alle moglichen Berech-nungspfade einer NTM.

Definition 2.4.3 Sei N = (Q,Σ,Γ, δ) eine NTM, die bei jeder Eingabehalt.

1. Fur w ∈ Σ∗ ist SN (w) definiert als die maximale Anzahl der Zellen,die N auf einem der Berchnungspfade bei Eingabe w benutzt.

2. Fur n ∈ N ist

SN (n) := maxSN (w) | w ∈ Σ≤n.

3. Die Funktion SN : N→ N heißt die Platzkomplexitat oder der Platz-bedarf der NTM N .

4. Die NTM N heißt s(n)-platzbeschrankt, wenn fur alle n ∈ N gilt:SN (n) ≤ s(n).

Jetzt konnen wir wie bei DTMs Zeit- und Platzkomplexitatsklassen definie-ren.

Definition 2.4.4 Sei t : N → N eine monoton wachsende Funktion. DieKlasse NT IME(t(n)) ist definiert als

NT IME(t(n)) :=

LL ist eine Sprache, die von einer O(t(n))-zeit-beschrankten NTM entschieden wird

.

23

Analog erhalten wir die Klassen NSPACE(s(n)).

Definition 2.4.5 Sei s : N → N eine monoton wachsende Funktion. DieKlasse NSPACE(s(n)) ist definiert als

NSPACE(s(n)) :=

LL ist eine Sprache, die von einer O(s(n))-platz-beschrankten NTM entschieden wird

.

Schließlich erhalten wir die Komplexitatsklassen NP und NPSPACE wiedie Klassen P und PSPACE , indem wir jetzt als Berechnungsmodell NTMszugrunde legen.

Definition 2.4.6 NP =⋃

k∈NNT IME(nk).

Definition 2.4.7 NPSPACE =⋃

k∈NNSPACE(nk).

In der Vorlesung”Einfuhrung in Berechenbarkeit, Komplexitat und formale

Sprachen“ werden Sie den folgenden Satz kennen gelernt haben.

Satz 2.4.8 Sei t : N→ N eine monoton wachsende Funktion mit t(n) ≥ nfur alle n. Fur jede NTM mit Laufzeit t(n) gibt es eine DTM mit Laufzeit2O(t(n)), die dieselbe Sprache entscheidet.

Fur die Platzkomplexitat werden wir in Kurze ein deutlich besseres Resultatzeigen, namlich

Satz 2.4.9 (Satz von Savitch) Sei s : N→ N eine monoton wachsende,platzkonstruierbare3 Funktion mit s(n) ≥ n fur alle n. Fur jede NTM mitPlatzbedarf s(n) gibt es eine DTM mit Platzbedarf O(s(n)2), die dieselbeSprache entscheidet.

Insbesondere also gilt:

Korollar 2.4.10 PSPACE = NPSPACE .

Das zum P ?= NP-Problem aquivalente Problem fur die Platzkomplexitat

ist also schon gelost. Nichtdeterminismus bringt fur die Platzkomplexitatkeine wirklich großen Vorteile.

3Diesen Begriff werden wir in Kurze definieren.

24

2.5 Polynomielle Reduktionen

Reduktionen sind eines der wichtigsten Konzepte der Komplexitatstheorie.Sie werden benutzt, um die Komplexitat von Sprachen oder Problemen mit-einander vergleichen zu konnen, und um die schwierigsten Probleme in Klas-sen wieNP oder PSPACE zu identifizieren. Es gibt verschiedene Typen vonReduktionen. Wir beschaftigen uns zunachst nur mit polynomiellen Reduk-tionen. Hierzu zunachst die folgende Definition.

Definition 2.5.1 Sei Σ ein Alphabet. Eine Funktion f : Σ∗ → Σ∗ heißtpolynomiell berechenbar, wenn es eine DTM M mit polynomieller Laufzeitgibt, die f berechnet. Dabei berechnet M die Funktion f , wenn fur alle w ∈Σ∗ die DTM M bei Eingabe w im Zustand qaccept halt, der Kopf auf derersten Zelle steht und der Inhalt des Bandes f(w) ist (hierbei werden die ⊔sam Ende ignoriert).

Definition 2.5.2 Seien A,B ⊆ Σ∗ zwei Sprachen. A heißt auf B polyno-miell reduzierbar, wenn es eine polynomiell berechenbare Funktion f gibtmit

w ∈ A⇔ f(w) ∈ B.Die Funktion f wird in diesem Fall eine polynomielle Reduktion genannt.Ist A auf B polynomiell reduzierbar, so schreiben wir A ≤p B.

Fundamental fur uns ist der folgende Satz.

Satz 2.5.3 A,B seien zwei Sprachen. Gilt A ≤p B und B ∈ P, dann giltauch A ∈ P.

Beweis: Da B ∈ P, gibt es eine DTM M mit polynomieller Laufzeit, dieB entscheidet. Weiter sei f die polynomielle Reduktion von A auf B. Wirerhalten dann die folgende DTM D fur A.

D : Bei Eingabe w :

1. Berechne f(w).

2. Simuliere M mit Eingabe f(w). Akzeptiert M die Eingabe f(w),akzeptiere w. Sonst lehne ab.

Da f eine polynomiell berechenbare Funktion ist und auch die DTM Mpolynomielle Laufzeit hat, ist D eine DTM mit polynomieller Laufzeit. Daw ∈ A⇔ f(w) ∈ B entscheidet D die Sprache A.

25

Polynomielle Reduktion, wie wir sie definiert haben, werden gelegentlichauch Karp-Reduktionen (nach Richard Karp) oder many-one-Reduktionengenannt. Der letzte Name erklart sich aus der Tatsache, dass bei einer Re-duktion meist vielen Urbildern dasselbe Bild zugewiesen wird.

Das folgende Lemma ist einfach zu beweisen, aber wird implizit in vielenBeweisen der folgenden Abschnitte immer wieder benutzt.

Lemma 2.5.4 Ist A ≤p B und B ≤p C, so gilt A ≤p C.

Beweis: Sei f die polynomielle Reduktion von A auf B und g die polyno-mielle Reduktion von B auf C. Aus

1. w ∈ A⇔ f(w) ∈ B fur alle w

2. v ∈ B ⇔ g(v) ∈ C fur alle v

folgtw ∈ A⇔ g f(w) ∈ C.

Damit ist g f eine Reduktion von A auf C. g f(w) kann in polynomiellerZeit berechnet werden, indem zunachst f(w) und dann g(f(w)) berechnetwird. Damit ist g f eine polynomielle Reduktion von A auf C.

Jetzt werden wir ein erstes Beispiel fur eine polynomielle Reduktion kennenlernen. Dazu zunachst die Definition zweier Sprachen, die inNP liegen. EineBoolesche Formel φ ist in konjunktiver Normalform (KNF), wenn sie ausmehreren Klauseln verknupft durch ∧ besteht. Die Formel heißt dann eineKNF-Formel. Eine 3-KNF Formel ist eine KNF-Formel in der jede Klauselgenau drei Literale enthalt. Dann ist

3SAT := 〈φ〉 | φ ist eine erfullbare 3-KNF-Formel.

Sei G = (V,E) ein ungerichteter Graph. Eine Teilmenge C der Knoten vonG heißt Clique, wenn fur alle i, j ∈ C gilt i, j ∈ E. Die Knoten einer Cliquesind also alle paarweise durch Kanten im Graphen G verbunden. Eine CliqueC heißt k-Clique, wenn C genau k Knoten enthalt. Dann definieren wir

Clique := 〈G, k〉 | G ist ein ungerichteter Graph mit einer k-Clique.

Man uberzeugt sich leicht, dass sowohl 3SAT als auch Clique in der KlasseNP liegen. Weiter gilt aber auch

Satz 2.5.5 3SAT ist auf Clique polynomiell reduzierbar.

26

Beweis: Zu jeder 3-KNF Formel φ konstruieren wir einen Graphen G undeine Zahl k, so dass φ genau dann erfullbar ist, wenn G eine Clique derGrosse k enthalt. Die Reduktion f wird dann die Formel φ auf das Paar(G, k) abbilden.

Sei also φ eine 3-KNF Formel. Wir schreiben

φ = (a1 ∨ b1 ∨ c1) ∧ (a2 ∨ b2 ∨ c2) ∧ · · · ∧ (ak ∨ bk ∨ ck),

wobei die ai, bi, ci nicht notwendigerweise verschiedene Literale sind. DieseFormel wird abgebildet auf (G, k), wobei k die Anzahl der Klauseln von φist und der Graph G folgendermaßen konstruiert wird. G besitzt 3k Kno-ten, fur jedes Literal in φ einen Knoten. Jeden Knoten von G assoziierenwir mit einem Literal in φ. Der Knoten ist dann mit dem Literal, zu demer assoziiert ist, gelabelt. Die Knoten sind organisiert in k Triplets. Dieseassoziieren wir mit den Klauseln in φ. Jedes Triplet enthalt drei Knoten.Ein Triplet assoziiert zu einer Klausel κ enthalt genau die drei Knoten, diezu den Literalen der Klausel κ assoziiert sind.

Kanten existieren zwischen je zwei Knoten i, j des Graphen G, es seidenn fur die beiden Knoten i, j trifft eine der beiden folgenden Bedingungenzu.

1. i, j sind zu Literalen aus derselben Klausel assoziiert.

2. i ist mit der Variablen x und j mit x gelabelt oder umgekehrt.

Damit ist die Konstruktion von G abgeschlossen. Ein Beispiel dieser Gra-phenkonstruktion ist in Abbildung 2.6 dargestellt. Die drei Knoten linkssind den Literalen der zweiten Klausel assoziiert. Die oberen drei Knotensind den Literalen der ersten Klausel assoziiert. Schließlich bilden die Kno-ten rechts das Triplet fur die dritte Klausel. Wir wollen uns nun uberlegen,dass eine 3-KNF-Formel genau dann erfullbar ist, wenn der Graph G, denwir aus φ konstruieren, eine k-Clique besitzt. Hierzu mussen zwei Dingegezeigt werden.

1. Ist φ erfullbar, so besitzt G eine k-Clique.

2. Besitzt G eine k-Clique, so ist φ erfullbar.

Nehmen wir zunachst an, dass φ erfullbar ist. Wir wahlen eine beliebigeerfullende Belegung fur φ aus. Aus dieser werden wir eine Clique in G derGrosse k konstruieren.

Eine erfullende Belegung fur φ muss in jeder der k Klauseln mindestensein Literal wahr machen. In jeder Klausel wahlen wir nun eines der durch

27

Abbildung 2.6: Graph zu (x1 ∨ x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x3)

die Belegung wahr gemachten Literale aus. Schließlich betrachten wir dieKnoten in G, die zu den ausgewahlten Literalen assoziiert sind. Dieses sindgenau k Knoten. Wir behaupten, dass diese k Knoten eine Clique bilden. Sei-en i, j zwei beliebige der k Knoten. Diese Knoten sind nach unserer Auswahlzu Literalen aus unterschiedlichen Klauseln assoziiert. Außerdem konnen sienicht mit x und x fur eine Variable x gelabelt sein. Denn die Knoten sindzu Literalen assoziiert, die gleichzeitig von einer Belegung wahr gemachtwerden. Literale x, x konnen naturlich nicht gleichzeitig von einer Belegungerfullt werden. Damit sind je zwei der k ausgewahlten Knoten durch eineKante in G verbunden und die Knoten zusammen bilden eine k-Clique.

Nehmen wir jetzt an, dass der Graph G eine k-Clique C enthalt. Ausdieser konstruieren wir eine erfullende Belegung fur die Formel φ. Da Knoteninnerhalb eines Triplets nicht durch eine Kante verbunden sind, muss dieClique C aus jedem Triplet genau einen Knoten enthalten. Außerdem gibtes unter den Knoten aus C keine zwei, die mit x und x gelabelt sind, dennsolche Knoten sind nicht durch eine Kante miteinander verbunden. Damitkonnen wir eine Belegung der Variablen in φ finden, die alle Literale erfullt,mit denen die Knoten in C gelabelt sind. Diese Belegung macht pro Klauselmindestens ein Literal wahr. Die Belegung ist daher eine erfullende Belegungfur φ.

28

Zur Erinnerung: Die Reduktion f wird jede Formel φ auf das oben zurFormel φ konstruierte Paar (G, k) abbilden. Bislang haben wir gezeigt

〈φ〉 ∈ 3SAT⇔ 〈G, k〉 ∈ Clique.

Um den Beweis des Satzes zu vervollstandigen, mussen wir noch zeigen, dasswir (G, k) aus φ in polynomieller Zeit konstruieren konnen. Dieses ist aberleicht zu sehen. Die Knoten von G und ihre Labels konnen durch einmali-ges Durchlaufen von φ konstruiert werden. Um die Kanten zu konstruieren,mussen wir uns fur jedes Paar von Knoten nur ihre Labels anschauen undentscheiden, ob sie in unterschiedlichen Triplets liegen. Auch dieses kann inpolynomieller Zeit durchgefuhrt werden. Damit ist f eine polynomielle Re-duktion und der Satz ist bewiesen.

Streng genommen haben wir im letzten Satz die Reduktion f nicht vollstandigbeschrieben. Wir haben nicht gesagt, worauf Worte w abgebildet werden, diekeiner Codierung einer 3-KNF Formel entsprechen. Dieses ist auch ziemlichuninteressant und lenkt nur von der eigentlichen Konstruktion ab. Wir wer-den in Zukunft auf Fragen dieser Art nicht eingehen. Aber hier wollen wirkurz erlautern, was zu tun ist. Wir konnen in polynomieller Zeit feststel-len, ob ein Wort einer Codierung einer 3-KNF Formel entspricht oder nicht.Entspricht ein Wort einer Codierung einer 3-KNF Formel, so wenden wirdie Konstruktion aus dem Beweis von Satz 2.5.5 an. Ist das Wort hingegenkeine Codierung einer 3-KNF Formel, so bilden wir das Wort auf ein Paar(G, k) ab, so dass G sicherlich keine k-Clique enthalt. Eine mogliche Wahlist es G bestehend aus einem Knoten zu wahlen und k = 2 zu setzen.

Die Beweise, die wir zur Aquivalenz w ∈ A ⇔ f(w) ∈ B im Beweis desletzten Satzes gefuhrt haben, ist typisch fur alle Beweise dieser Art. DieseBeweise gehen immer nach dem gleichen Schema vor. Betrachten wir dieRichtung w ∈ A⇒ f(w) ∈ B. Nehmen wir an, dass sowohl A als auch B inNP liegen. Fur w ∈ A gibt es dann ein so genanntes Zertifikat c, das w ∈ Azeigt. Um die Implikation w ∈ A⇒ f(w) ∈ B zu zeigen, wird dann aus c mitHilfe der Funktion f ein Zertifikat fur f(w) ∈ B konstruiert. So haben wirim Beweis von Satz 2.5.5 aus einem Zertifikat fur φ ∈ 3SAT (eine erfullendeBelegung) mit Hilfe der Reduktion f ein Zertifikat fur G = f(φ) ∈ Clique(eine Clique der Große k) konstruiert. Dieses zeigte, φ ∈ 3SAT ⇒ f(φ) =G ∈ Clique.

29

2.6 NP- und PSPACE-Vollstandigkeit

In diesem Abschnitt werden wir die Begriffe der NP-Vollstandigkeit und derPSPACE-Vollstandigkeit einfuhren. Nicht alle Probleme, die in NP oder inPSPACE liegen, sind schwer zu losen. Insbesondere gilt ja P ⊆ NP. DieNP-vollstandigen Probleme sind die schwierigsten Probleme in NP undanalog sind die PSPACE-vollstandigen Probleme, die schwierigsten Pro-bleme in PSPACE . Es wird namlich aus der Definition vonVollstandigkeitfolgen, dass alle Sprachen in NP bzw. in PSPACE durch DTMs polynomi-eller Laufzeit entschieden werden konnen, wenn nur fur irgendeine beliebi-ge NP-vollstandige bzw. PSPACE-vollstandige Sprache eine polynomielleDTM existiert, die die Sprache entscheidet.

Definition 2.6.1 Eine Sprache L heißt NP-vollstandig, wenn sie die fol-genden zwei Bedingungen erfullt.

1. L ist in NP enthalten.

2. Fur jede Sprache A ∈ NP gibt es eine polynomielle Reduktion von Aauf L.

Ist nur die zweite Bedingung erfullt, so heißt L NP-schwer.

Wir erhalten sofort die beiden folgenden wichtigen Satze uberNP-vollstandi-ge Probleme.

Satz 2.6.2 Ist L NP-vollstandig und ist L ∈ P, so gilt P = NP.

Beweis: Nach Voraussetzung gibt es fur jede Sprache A eine polynomielleReduktion auf L. Weiter liegt L nach Voraussetzung in P. Dann aber sagtSatz 2.5.3, dass auch jede Sprache A ∈ NP in P liegen muss.

Satz 2.6.3 Ist A ∈ NP und gilt L ≤p A fur eine Sprache L, die NP-vollstandig ist, so ist auch A NP-vollstandig.

Beweis: Da A nach Voraussetzung in NP liegt, mussen wir nur noch zei-gen, dass sich jede Sprache B ∈ NP in polynomieller Zeit auf A reduzierenlasst. Sei B ∈ NP beliebig. Da L NP-vollstandig ist, gibt es eine poly-nomielle Reduktion g von B auf L. Nach Voraussetzung gibt es auch einepolynomielle Reduktion f von L auf A. Dann aber ist die Hintereinander-schaltung f g eine polynomielle Reduktion von B auf A.

30

Wenn wir ein NP-vollstandiges Problem kennen, konnen wir Satz 2.6.3benutzen, um von anderen Sprachen zu zeigen, dass sie NP-vollstandig sind.

Vollkommen analog konnen wir nun PSPACE-Vollstandigkeit definierenund die wichtigsten Tatsachen uber PSPACE-vollstandige Sprachen herlei-ten. Genauer erhalten wir folgende Definition und Satze.

Definition 2.6.4 Eine Sprache L heißt PSPACE-vollstandig, wenn sie diefolgenden zwei Bedingungen erfullt.

1. L ist in PSPACE enthalten.

2. Fur jede Sprache A ∈ PSPACE gibt es eine polynomielle Reduktionvon A auf L.

Erfullt eine Sprache L nur die zweite Bedingung, so heißt L PSPACE-schwer.

Satz 2.6.5 Ist L PSPACE-vollstandig und ist L ∈ P, so gilt P = PSPACE.

Satz 2.6.6 Ist A ∈ PSPACE und gilt L ≤p A fur eine Sprache L, diePSPACE-vollstandig ist, so ist auch A PSPACE-vollstandig.

Um mit Hilfe der Satze 2.6.3 und 2.6.6 von Sprachen zeigen zu konnen, dasssie NP- bzw. PSPACE-vollstandig sind, mussen wir zunachst von minde-stens einer Sprache direkt zeigen, dass sie NP- bzw. PSPACE-vollstandigist. Dieses geschieht im folgenden Satz.

Satz 2.6.7 SAT ist NP-vollstandig und QBF ist PSPACE-vollstandig.

Beweis: Wir beginnen mit einigen allgemeinen Uberlegungen, die zeigen,wie wir eine Aussage der Form

”w liegt in der von der TM M entschiedenen

Sprache“ durch eine quantifizierte Boolesche Formel ausdrucken konnen. Seihierzu M = (Q,Σ,Γ, δ), L = L(M) und w ∈ Σ∗. Wir machen hierbei keinenUnterschied zwischen deterministischen und nichtdeterministischen Turing-maschinen. Die TM M sei s(n)-platzbeschrankt und t(n)-zeitbeschrankt.Ist nun w ∈ Σn konnen wir jede Konfiguration der TM M als eine Folgeaus (Γ∪Q)≤s(n)+1 beschreiben. Um die Notation zu vereinfachen setzen wirA := Γ ∪ Q und beschreiben Konfigurationen von M bei Eingabe w durchElemente aus As(n)+1. Dabei ist naturlich zu beachten, dass nicht jedem

31

Element aus As(n)+1 eine Konfiguration der TM M entspricht. Um auszu-drucken, dass ein Element aus As(n)+1 eine legale Konfiguration der TM Mist, fuhren wir ein Pradikat legal : As(n)+1 → 0, 1 ein, mit der Bedeutung

∀K ∈ As(n)+1 : legal(K) = 1⇔ K beschreibt legale Konfiguration von M .

Hierbei steht also wie ublich 1 fur den Booleschen Wert”wahr“ und 0 steht

fur”falsch“. Um das Verhalten von M zu beschreiben, benutzen wir noch

drei weitere Pradikate:

start : As(n)+1 → 0, 1

accept : As(n)+1 → 0, 1

succ : As(n)+1 ×As(n)+1 → 0, 1

mit folgenden Bedeutungen:

∀K ∈ As(n)+1 mit legal(K) = 1 :

start(K) = 1⇔ K beschreibt Startkonfiguration von M bei Eingabe w.

∀K ∈ As(n)+1 mit legal(K) = 1 :

accept(K) = 1⇔ K beschreibt akzeptierende Konfiguration

∀(K1,K2) ∈ As(n)+1 ×As(n)+1 mit legal(K1) = legal(K2) = 1 :

succ(K1,K2) = 1⇔ K2 beschreibt eine legale Nachkonfiguration von K1

Mit Hilfe dieser Pradikate konnen wir fur w ∈ Σn die Aussage w ∈ L(M)wie folgt ausdrucken:

∃K1, . . . ,Kt(n) ∈ As(n)+1

t(n)∧

i=1

legal(Ki) ∧ start(K1) ∧ accept(Kt(n)) ∧t(n)−1∧

i=1

succ(Ki,Ki+1).

Um zu Booleschen Ausdrucken zu gelangen, die w ∈ L beschreiben,fuhren wir nun Boolesche Variablen ein, mit deren Hilfe wir den obigen

32

Ausdruck uber die Existenz von Konfigurationen in eine Boolsche Formeltransformieren werden. Wir betrachten Boolesche Variablen

xi,j,s, 1 ≤ i ≤ t(n), 1 ≤ j ≤ s(n) + 1, s ∈ A.

Wir konnen Belegungen dieser Variablen mit Elementen K1, . . .Kt(n) ∈As(n)+1 identifizieren. Dabei soll eine Belegung der Variablen xi,j,s mit demWert 1 bedeuten, dass das j-te Symbol in Ki das Element s ∈ A ist.Naturlich entspricht nicht jeder Belegung der Variablen xi,j,s eine Folge vonElementen aus A oder gar eine Folge von legalen Konfigurationen von M .Aber wir konnen Boolesche Formeln benutzen, die genau dann von einerBelegung der Variablen xi,j,s erfullt werden, wenn die Belegung zu legalenKonfigurationen fuhrt. Um die Notation zu vereinfachen, werden wir dieVariablenmenge xi,j,s|1 ≤ j ≤ s(n) + 1, s ∈ A, die einer Konfigurationentsprechen soll, mit Vi bezeichnen. Belegungen der Variablen in Vi bezeich-nen wir ebenfalls mit Vi. Es geht dann jeweils aus dem Kontext hervor, wasgemeint ist.

Nun sei legal eine Boolesche Formel uber m := (s(n) + 1)|A| Variablen,so dass

∀V ∈ 0, 1m : legal(V ) = 1⇔ V beschreibt legale Konfiguration von M .

Wir haben nicht versehentlich diese Boolesche Formel mit legal bezeichnet.Vielmehr wird die Boolesche Formel legal das fur Elemente aus As(n)+1

definierte Pradikat legal ersetzen. Analog konnen wir Boolesche Formelnstart, accept und succ definieren, die die entsprechenden Pradikate start,accept und succ ersetzen. Fur diese Formel gilt:

∀(V,w) ∈ 0, 1m × 0, 1n mit legal(V ) = 1 :

start(V ) = 1⇔ V beschreibt Startkonfiguration von M bei Eingabe w.

∀V ∈ 0, 1m mit legal(V ) = 1 :

accept(V ) = 1⇔ V beschreibt eine akzeptierende Konfiguration von M

∀(V1, V2) ∈ 0, 1m × 0, 1mmit legal(V1) = legal(V2) = 1 :

succ(V1, V2) = 1⇔ V2 beschreibt eine legale Nachfolgekonfiguration

der von V1 beschriebenen Konfiguration.

33

Wir werden nicht genau sagen, wie die Formeln legal, start, accept, succ aus-sehen. Dies kann etwa in dem Buch von Sipser nachgelesen werden. Wirmussen aber erwahnen, dass, gegeben die TMM , die Formeln in ZeitO(s(n))konstruiert werden konnen und damit auch Große O(s(n)) besitzen.

Wir konnen nun w ∈ L(M) mit Hilfe der Booleschen Formeln legal, start, accept, succfolgendermaßen ausdrucken:

w ∈ L⇔ ∃xi,j,s ∈ 0, 1, 1 ≤ i ≤ t(n), 1 ≤ j ≤ s(n) + 1, s ∈ A :

t(n)∧

i=1

legal(Vi) ∧ start(V1, w) ∧ accept(Vt(n)) ∧t(n)−1∧

i=1

succ(Vi, Vi+1).

Nach dem oben Gesagten, hat fur w ∈ Σn die Formel auf der rechten SeiteGroße O(s(n)t(n)). Sie kann auch in Zeit O(s(n)t(n)) konstruiert werden.Weiter ist die Formel der rechten Seite genau dann wahr, wenn

t(n)∧

i=1

legal(Vi) ∧ start(V1, w) ∧ accept(Vt(n)) ∧t(n)−1∧

i=1

succ(Vi, Vi+1)

erfullbar ist. Ist schließlich M noch eine NTM mit polynomieller Laufzeit,also t(n) = O(nk), dann haben wir gezeigt, wie wir aus w ∈ Σ∗ in poly-nomieller Zeit eine Boolesche Formel konstruieren konnen, die genau dannerfullbar ist, wenn w ∈ L = L(M). Das heißt aber, dass wir fur jede NTM Nmit polynomieller Laufzeit, eine polynomielle Reduktion der vonM entschie-denen Sprache auf SAT konstruiert haben. Damit ist SAT NP-vollstandig.

Unsere bisherigen Uberlegungen zeigen noch nicht, dass QBF PSPACE-vollstandig ist. Wir haben zwar zu jedem w ∈ Σ∗ eine vollstandig quantifi-zierte Boolesche Formel konstruiert, die genau dann wahr ist, wenn w ∈ L.Aber bei einer s(n)-platzbeschrankten TM wissen wir nur, dass t(n) =2O(s(n)) (siehe Satz 2.4.8). Ist also s(n) = O(nk), so konnen wir die quan-tifizierte Boolesche Formel weder in polynomieller Zeit konstruieren nochhat sie polynomielle Große, wie es fur die Aussage, dass QBF PSPACE-vollstandig ist, notwendig ist.

Um dieses Problem zu losen, gehen wir zunachst zuruck zu unserenPradikaten uber As(n)+1. Wir betrachten nun eine Verallgemeinerung vonsucc. Wir definieren Pradikate succl, l ∈ N, wie folgt:

∀(K1,K2) ∈ As(n)+1 ×As(n)+1 mit legal(K1) = legal(K2) = 1 :

succl(K1,K2) = 1⇔ K2 beschreibt eine Konfiguration von M ,

die aus K1 mit hochstens 2l Rechenschritten entsteht.

34

Insbesondere gilt also succ0 = succ und mit l := ⌈log(t(n))⌉ erhalten wir:

w ∈ L⇔ ∃K1,K2 ∈ As(n)+1

legal(K1) ∧ legal(K2) ∧ start(K1, w) ∧ accept(K2) ∧ succl(K1,K2).

Nun konnen wir sicherlich nicht die Pradikate succl ohne weiteres in Boole-sche Formeln geringer Große umschreiben. Wir beobachten aber, dass immer

succl(K1,K2)⇔ ∃K3 : succl−1(K1,K3) ∧ succl−1(K3,K2)

gilt. Wurden wir allerdings succl−1 durch succl−2, dann succl−2 durch succl−3

usw. ersetzen, um schließlich einen Ausdruck fur succl zu erhalten, der nurnoch Pradikate succ0 = succ enthalt, so sieht man sofort, dass dieses auf2l ≥ t(n) Auftreten von succ fuhrt. Dies konnen wir uns nicht erlauben. Wirgehen deshalb anders vor.

Wir definieren das Hilfspradikat H :(

As(n)+1)5 → 0, 1, durch

H(K1, . . . ,K5) = ¬((

(K1,K3) = (K4,K5))

∨(

(K3,K2) = (K4,K5)))

.

Mit succl(K1,K2) ⇔ ∃K3 : succl−1(K1,K3) ∧ succl−1(K3,K2) uberpruftman nun, dass gilt

succl(K1,K2)⇔ ∃K3∀K4∀K5 : H(K1, . . . ,K5) ∨ succl−1(K4,K5).

Indem wir dieselbe Konstruktion sukzessive auf succl−1, . . . , succ1 anwenden,erhalten wir einen zu succl logisch aquivalenten Ausdruck, in dem einmaldas Pradikat succ und l-mal das Hilfspradikat H auftaucht.

Wenn wir jetzt noch Variablen Ki fur Konfiguration durch Mengen vonBooleschen Variablen ersetzen, das Hilfspradikat H ersetzen durch eine Boo-lesche Formel und das Pradikat succ ersetzen durch unsere oben definierteBoolesche Formel gleichen Namens, konnen wir auch succl ersetzen durcheine Boolesche Formel succl der Große O(s(n)l). Gegeben M , konnen wirdiese Formel auch in Zeit O(s(n)l) berechnen.

Kombinieren wir diese Formel mit unseren Booleschen Formeln start,accept, legal, so erhalten wir aus einer TM M = (Q,Σ,Γ, δ) und w ∈ Σ∗ einequantifizierte Boolesche Formel Qw, die genau dann wahr ist, wenn w ∈ L.Dabei kann Qw bei einer s(n)-platzbeschrankten und t(n)-zeitbeschrank-ten TM in Zeit O(s(n) log(t(n)) konstruiert werden und hat auch GroßeO(s(n) log(t(n)). Bei einer TM M , die nur polynomielle Platzbedarf hat, istalso Qw in polynomieller Zeit konstruierbar. Damit haben wir fur jede TMM mit polynomiellem Platzbedarf eine polynomielle Reduktion von der von

35

M entschiedenen Sprache L(M) auf die Sprache QBF konstruiert. QBF istdamit PSPACE-vollstandig.

36

2.7 Der Satz von Savitch

Wie schon haufiger erwahnt, ist das großte offene Problem der Komplexitats-

theorie die Frage P ?= NP. In diesem Abschnitt werden wir sehen, dass die

entsprechende Frage fur Platzkomplexitat, also PSPACE ?= NPSPACE re-

lativ leicht zu beantworten ist. Uberraschenderweise ist die Antwort, dass diebeiden Klassen PSPACE und NPSPACE identisch sind. Dieses Ergebniswird unmittelbar aus dem so genannten Satz von Savitch folgen, der besagt,dass alles, was nichtdeterministisch in Platz s(n) entschieden werden kann,deterministisch in Platz O(s(n)2) entschieden werden kann. Bevor wir diesenSatz genau formulieren konnen, benotigen wir noch folgende Definition.

Definition 2.7.1 Sei f : N → N mit f(n) ≥ n fur alle n ∈ N. Die Funkti-on f heißt platzkonstruierbar, wenn es eine O(f(n))-platzbeschrankte DTMM gibt, die bei Eingabe 1n (also n Einsen) die Binardarstellung von f(n)berechnet.

Den Sinn dieser Definition wird im Beweis des Satzes von Savitch klar wer-den. Hier weisen wir nur darauf hin, dass alle uns in der Komplexitatstheo-rie oder im Algorithmenentwurf interessierenden Funktion wie n, 2n oder⌈n log(n)⌉ platzkonstruierbar sind. Spater in der Vorlesung werden wir Platz-konstruierbarkeit so erweitern, dass auch Funktionen wie ⌈log(n)⌉ oder ⌈√n⌉platzkonstruierbar sind.

Satz 2.7.2 Sei s : N → N eine platzkonstruierbare Funktion mit s(n) ≥ n.Dann gilt

NSPACE(

s(n))

⊆ DSPACE(

s(n)2)

.

Beweis: Sei L ∈ NSPACE(s(n)). Dann gibt es also eine O(s(n))-platz-beschrankte NTM N , die L entscheidet. Wie wir in den Ubungen gesehenhaben, konnen wir sogar annehmen, dass N s(n)-platzbeschrankt ist. Weiterkonnen wir auch annehmen, dass N unabhangig von der Eingabe nur eineakzeptierende Konfiguration besitzt. Dieses kann man erreichen, indem dieArbeitsweise von N folgendermaßen geandert wird. Wann immer die alteNTM N in den akzeptierenden Zustand gehen will, wird die neue NTMzunachst den Inhalt samtlicher Bandzellen auf ⊔ setzen, den Kopf auf dieerste Zelle des Bandes bewegen und dann erst akzeptieren. Offensichtlichhat auch die neue NTM Platzbedarf s(n) und akzeptiert dieselbe Sprachewie N .

Wir werden also annehmen, dass wir die Sprache L auf einer s(n)-platzbeschrankten NTM N mit genau einer akzeptierenden Konfiguration

37

Ka entscheiden konnen. Wir mussen nun eine O(s(n)2)-platzbeschrankteDTM M konstruieren, die ebenfalls L entscheidet. Sei Σ das Eingabealpha-bet von N . MitKw bezeichnen wir die Startkonfiguration vonN bei Eingabew ∈ Σ∗. Wie im Beweis, dass QBF PSPACE-vollstandig ist, werden wir mitsuccl das Pradikat bezeichnen, das fur je zwei Konfigurationen K1,K2 vonN genau dann 1 ist, wenn wir von der Konfiguration K1 mit hochstens 2l

Rechenschritten der NTM N zur Konfiguration K2 gelangen konnen. Wirwerden dabei Konfigurationen von N bei Eingabe w ∈ Σn immer als Folgevon genau s(n)+1 Symbolen darstellen. Da N s(n)-platzbeschrankt ist, gibtes außerdem eine nur von der NTM N abhangende Konstante c, so dass N2c·s(n)-zeitbeschrankt ist. Damit gilt

w ∈ L⇔ succc·s(n)(Kw,Ka).

Die deterministische, L entscheidende DTM M wird nun succcs(n)(Kw,Ka)mit Hilfe des folgenden rekursiven Algorithmus Erreichbar entscheiden.Als Eingabe erhalt der Algorithmus Erreichbar zwei beliebige durch s(n)+1 Symbole beschriebene Konfigurationen K1,K2 sowie eine naturliche Zahll ≤ c · s(n).

Erreichbar : Bei Eingabe K1,K2, l :

1. Falls l = 0, teste, ob K1 = K2 oder ob, K2 durcheinen Rechenschritt von N aus K1 erreichtwerden kann.Akzeptiere, falls einer dieser Tests erfolgreich ist.

2. Falls l ≥ 1, fuhre folgende Befehle fur alle Konfigu-rationen K3 der NTM N der Lange s(n) + 1 aus:

3. Fuhre Erreichbar mit Eingabe K1,K3, l − 1aus.

4. Fuhre Erreichbar mit Eingabe K3,K2, l − 1aus.

5. Fuhren beide Aufrufe von Erreichbar zuAkzeptanz, akzeptiere.

6. Wurde noch nicht akzeptiert, lehne ab.

Um den Algorithmus Erreichbar auf einer DTM umsetzen zu konnen,benotigen wir, dass die Funktion s : N→ N paltzkonstruierbar ist. Denn oh-ne diese Forderung konnen wir im 3. Schritt des Algorithmus die Konfigura-tionen K3 der Lange s(n)+1 nicht konstruieren. Bevor wir den Platzbedarfvon Erreichbar analysieren, zunachst die Beschreibung der DTM M , die

38

die Sprache L entscheidet. Bei Eingabe w ∈ Σ∗ ruft die DTM M einfachden Algorithmus Erreichbar mit Eingabe Kw,Ka und l = c · s(n) auf.

Mit Pl(n) bezeichnen wir nun den maximalen Platzbedarf von Erreich-

bar, wenn K1,K2 Konfigurationen der Lange s(n) + 1 sind und die dritteEingabe l ≤ c ·s(n) ist. Wir zeigen durch vollstandige Induktion uber l, dasses eine Konstante a gibt, so dass

Pl(n) ≤ a(l + 1)s(n). (2.1)

Fur l = 0 ist diese Aussage sicherlich korrekt, da dann nur ein Rechenschrittvon N simuliert werden muss und dieses in Platz O(s(n)) moglich ist. Seinun l ≤ c · s(n) beliebig und nehmen wir an, dass wir (2.1) fur l − 1 bereitsbewiesen haben. Nun gilt aber fur eine Konstante a

Pl(n) ≤ Pl−1(n) + as(n).

Platz Pl−1(n) wird dabei fur die beiden rekursiven Aufrufe von Erreichbar

benotigt. Außerdem wird Platz a(s(n) fur die Speicherung von l und derjeweils aktuelle Konfiguration K3 benotigt. Mit der Induktionsannahme furPl−1(n) folgt dann (2.1).

Da wir in der DTM M nur den Algorithmus Erreichbar mit l = c·s(n)aufrufen, ist der Platzbedarf von M gegeben durch O(s(n)2).

Wenn s(n) durch ein Polynom beschrankt ist, so gilt dieses auch fur s(n)2.Damit erhalten wir aus Satz 2.7.2 unmittelbar

Korollar 2.7.3PSPACE = NPSPACE .

39

Kapitel 3

Innerhalb von P und NP

In diesem Kapitel werden wir uns mit Komplexitatsklassen innerhalb von Pund NP beschaftigen.

3.1 Reduktionen, Co-Klassen und die Klasse co-NPWir bezeichnen mit NPV die Klasse aller NP-vollstandigen Sprachen. Furzwei beliebige Sprachen L1, L2 schreiben wir

L1 =p L2,

fallsL1 ≤p L2 und L2 ≤p L1

gilt. Die Sprachen L1, L2 sind dann etwa gleich schwierig. Nach Definitionvon NP-Vollstandigkeit gilt fur je zwei NP-vollstandige Sprachen L1, L2,dass sie etwa gleich schwer sind, also L1 =p L2. Ist hingegen P 6= NP undist L1 ∈ P und L2 ∈ NPV, so gilt zwar L1 ≤p L2 nicht jedoch L2 ≤p L1,da L2 ≤p L1 und L1 ∈ P auch L2 ∈ P impliziert (Satz 2.6.2). Damit stelltsich die Frage, ob es unter der Annahme P 6= NP Sprachen L ∈ NP gibt,die zwar nicht in P liegen, die aber auch nicht NP-vollstandig sind. Obalso NP \ NPV 6= P gilt. Diese Frage wurde 1975 von R. Ladner mit

”Ja“

beantwortet.

Satz 3.1.1 Gilt P 6= NP, so gibt es Sprachen L ∈ NP, die weder in Pnoch in NPV liegen.

Spater in diesem Abschnitt werden wir den Satz von Ladner beweisen.Zunachst wollen wir unter einer starkeren Annahme als P 6= NP eben-falls zeigen, dass es Sprachen in NP gibt, die nicht NP-vollstandig sind.

40

Um diese Annahme zu formulieren, benotigen wir die Klasse co-NP. Hierzuzunachst die folgende allgemeine Definition.

Definition 3.1.2 Sei C eine beliebige Klasse von Sprachen. Mit co-C be-zeichnen wir dann die folgende Klasse von Sprachen

co-C :=

L∣

∣Das Komplement L von L liegt in C

.

Dabei ist L = Σ∗\L, wenn L uber dem Alphabet Σ definiert ist. Insbesondereerhalten wir

co-NP :=

L∣

∣Das Komplement L von L liegt in NP

.

Das Komplement SAT liegt also in co-NP, wobei

SAT :=

φ

φ ist keine korrekte Kodierung einer Booleschen Formel oderφ ist Kodierung einer unerfullbaren Booleschen Formel

.

In der Regel bestehen Komplemente uns interessierender Sprachen aus zweidisjunkten Teilmengen. Eine Teilmenge besteht aus allen Elementen, dienicht einem bestimmten Format genugen (z.B. keine korrekte Boolesche For-mel kodieren). Die andere Teilmenge besteht aus allen Elementen, die dieserForm zwar genugen, aber eine weitere Eigenschaft (z.B. eine erfullbare Boo-lesche Formel zu sein) nicht erfullen. In der Regel kann und wird man sichdann auf die zweite Teilmenge konzentrieren und diese als Komplement derursprungliche Sprache ansehen. Deshalb ist dann das Komplement von SATeinfach definiert als die Menge aller unerfullbaren Booleschen Formeln. Wirwerden dieser formal nicht ganz korrekten aber sehr nutzlichen Konventionin Zukunft folgen.

Man darf die Klasse co-C nicht mit dem mengentheoretischen Komple-nement der Klasse C verwechseln. Die beiden Konzepte des mengentheore-tischen Komplements von C und der Klasse co-C haben nichts miteinanderzu tun. Neben co-NP konnen wir naturlich auch die Klassen co-P undco-PSPACE anschauen. Nun sieht man aber leicht, dass

P = co-P und PSPACE = co-PSPACE .

Das Verhaltnis von NP und co-NP hingegen ist nicht geklart. Neben der

Frage P ?= NP ist die Frage NP ?

= co-NP eines der wichtigsten offenenProbleme der Komplexitatstheorie. Es wird dabei vermutet, dass NP 6=co-NP. Diese Vermutung ist starker als die Vermutung P 6= NP, es giltnamlich

41

Satz 3.1.3 Gilt NP 6= co-NP, so gilt auch P 6= NP.

Beweis: Wir beweisen die Kontraposition der Aussage, also

P = NP ⇒ NP = co-NP.Ist namlich P = NP, so folgt mit P = co-P auch NP = co-NP.

Um die Klasse co-NP besser zu verstehen, wollen wir nun eine alternativeBeschreibung von NP und damit auch co-NP herleiten. Diese alternati-ven Charakterisierungen werden auch noch spater bei der Einfuhrung derPolynomialzeithierarchie nutzlich sein.

Satz 3.1.4 Eine Sprache L ⊆ Σ∗ liegt genau dann in der Klasse NP, wennes ein k ∈ N und eine Sprache A ∈ P gibt, so dass

L =

x ∈ Σ∗∣

∣∃z ∈ 0, 1|x|k : (x, z) ∈ A

. (3.1)

Der Beweis dieses Satzes folgt sofort aus der Charakterisierung vonNP uberso genannte Verifizierer, wie man sie etwa in dem Buch von Sipser findet.Wir verzichten auf einen genauen Beweis.

Ist nun L wie in (3.1) gegeben, so konnen wir L beschreiben als

L =

x ∈ Σ∗∣

∣∀z ∈ 0, 1|x|k : (x, z) ∈ A

.

Nun liegt aber mit A auch A in der Klasse P. Somit erhalten wir

Korollar 3.1.5 Eine Sprache L ⊆ Σ∗ liegt genau dann in der Klasse co-NP,wenn es ein k ∈ N und eine Sprache B ∈ P gibt, so dass

L =

x ∈ Σ∗∣

∣∀z ∈ 0, 1|x|k : (x, z) ∈ B

. (3.2)

Vergleichen wir (3.1) und (3.2), so sehen wir dass der einzige Unterschied imUbergang vom Existenz- zum Allquantor liegt. Dass dieser Ubergang einengroßen Unterschied machen sollte, und daher NP 6= co-NP gelten sollte,sieht man sehr gut an der Sprache SAT. Eine Formel φ liegt in SAT, wennes eine erfullende Belegung fur φ gibt. Eine solche erfullende Belegung furφ ist dann ein Beweis fur φ ∈ SAT. Betrachten wir nun hingegen den Fallφ ∈ SAT. Dies ist genau dann der Fall, wenn alle moglichen Belegungen dieFormel φ nicht erfullen. Sollte nun SAT ∈ NP gelten, musste es fur φ ∈ SATeinen kurzen (polynomiell langen) Beweis geben, der uns davon uberzeugt,dass keine Belegung φ erfullt. Die Vermutung NP 6= co-NP ist aquivalentzur Vermutung, dass es einen solchen kurzen Beweis nicht geben kann.

Schließlich definieren wir noch den Begriff der co-NP-Vollstandigkeit,dieser ist analog zur NP-Vollstandigkeit definiert.

42

Definition 3.1.6 Eine Sprache L heißt co-NP-vollstandig, wenn sie diefolgenden zwei Bedingungen erfullt.

1. L ist in co-NP enthalten.

2. Fur jede Sprache A ∈ co-NP gibt es eine polynomielle Reduktion vonA auf L.

Erfullt eine Sprache L nur die zweite Bedingung, so heißt L co-NP-schwer.Die Klasse aller co-NP-vollstandigen Sprachen bezeichnen wir mit co-NPV.

Nach diesen Vorbereitungen konnen wir den folgenden Satz beweisen.

Satz 3.1.7 Gibt es eine NP-vollstandige Sprache L, die in co-NP enthal-ten ist, so gilt NP = co-NP.

Beweis: Zunachst einige allgemeine Uberlegungen. Aus der Definition vonco-C fur eine Komplexitatsklasse C folgt

co-(co-C) = C.

Weiter folgt fur zwei beliebige Komplexitatsklassen C1 und C2 unmittelbardie Aquivalenz

C1 ⊆ C2 ⇔ co-C1 ⊆ co-C2.Damit gilt auch

NP = co-NP ⇔ NP ⊆ co-NPund

NP = co-NP ⇔ co-NP ⊆ NP.Um den Satz zu zeigen, genugt es also NP ⊆ co-NP zu zeigen. Sei dieSprache L NP-vollstandig und L ∈ co-NP. Weiter sei A ∈ NP beliebig. Dadie Sprache L NP-vollstandig ist, gilt A ≤p L. Es gibt also eine polynomielleReduktion f von A auf L. Sei A ⊆ Σ∗. Dann gilt fur alle w ∈ Σ∗

w ∈ A⇔ f(w) ∈ L,

oder, aquivalent,

w ∈ A⇔ f(w) ∈ L. (3.3)

Da nach Voraussetzung L ∈ co-NP, gibt es eine NTM N mit polynomiellerLaufzeit, die L entscheidet. Wir betrachten die folgende NTM NA.

43

NA : Bei Eingabe w ∈ Σ∗ :

1. Berechne f(w).

2. Simuliere N mit Eingabe f(w). Akzeptiert N die Eingabef(w), akzeptiere w. Sonst lehne ab.

Die so definierte NTM NA hat sicherlich polynomielle Laufzeit. Außer-dem folgt aus L(N) = L und (3.3), dass L(NA) = A. Damit gilt A ∈ NPoder A ∈ co-NP. Insgesamt folgt NP ⊆ co-NP.

Durch Negierung erhalten wir nun sofort folgendes Korollar.

Korollar 3.1.8 Gilt NP 6= co-NP, so sind alle Sprachen in NP ∩ co-NPnicht NP-vollstandig.

Alle Sprachen in P liegen in NP ∩ co-NP. Allerdings wird vermutet, dassNP∪co-NP echt großer ist als P. Stimmt diese Vermutung, so sind Sprachenin (NP ∪ co-NP) \ P Beispiele fur Sprachen, die weder in P liegen nochNP-vollstandig sind.

In Abbildung 3.1 sind die Vermutungen uber das Verhaltnis der KlassenP,NP, co-NP,NP ∩ co-NP,NPV und co-NPV zusammengefasst.

Abbildung 3.1: Vermutetes Verhaltnis der Klassen P,NP, co-NP

Zum Abschluss dieses Abschnitts wollen wir noch eine Sprache vorstellen,von der vermutet wird, dass sie weder in P liegt noch NP-vollstandig ist. Es

44

handelt sich dabei , um die Sprache GI (=Graphisomorphismus). Um GI zudefinieren, benotigen wir den Begriff der Isomorphie zwischen zwei Graphen.Zwei Graphen G1 = (V1, E1), G2 = (V2, E2) heißen isomorph, wenn es einebijektive Abbildung π : V1 → V2 gibt, so dass fur alle u, v ∈ V1 gilt

(u, v) ∈ E1 ⇔ (π(u), π(v)) ∈ E2.

Zwei Graphen sind isomorph, wenn der eine aus dem anderen durch Umbe-nennung der Knoten entsteht. Insbesondere konnen zwei Graphen nur dannisomorph sein, wenn sie dieselbe Anzahl Knoten besitzen. Nun ist

GI := (G1, G2) |G1, G2 sind isomorphe Graphen.

45

3.2 Der Satz von Ladner

In diesem Abschnitt zeigen wir den folgenden auf Ladner zuruck gehendenSatz.

Satz 3.2.1 Angenommen P 6= NP, dann existiert eine Sprache L ∈ NP \P, die nicht NP-vollstandig ist.

Beweis: Sei H : N→ N eine beliebige berechenbare Funktion mit H(n) ≥ 1fur alle n ∈ N. Dann definieren wir die Sprache

SATH :=

ψ01nH(n)

: ψ ∈ SAT und |ψ| = n

.

Es handelt sich bei SATH um eine Version von SAT, bei der die Eingabekunstlich um einige Bits verlangert wird. Die letzte 0 der Eingabe zeigt dabeian, wo die Beschreibung der Booleschen Formeln ψ endet. Wir definieren nuneine spezielle FunktionH und zeigen dann, dass fur die so definierte FunktionH die Sprache SATH in NP \P liegt, jedoch nicht NP-vollstandig ist. ZurDefinition von H sei M1,M2, . . . eine Aufzahlung aller deterministischenTuringmaschinen. Dann ist H(1) = 1 und fur n ≥ 2 ist H(n) definiert durch

H(n) := min

i :i ≤ log log(n) und fur alle x ∈ 0, 1≤log(n) gilt,dass die DTM Mi Eingabe x genau dannin Zeit i|x|i akzeptiert, wenn x ∈ SATH .

(3.4)Zunachst mussen wir uns uberlegen, dass die Funktion H wohl-definiert

ist, denn in der Definition von H(n) wird die Sprache SATH und damit dieFunktion H(n) selber benutzt. Allerdings wird in der Definition von H(n)nur benotigt, dass fur alle x ∈ 0, 1≤log(n) die Funktion H und somit dieSprache SATH bereits definiert ist. Da log(n) < n fur alle n, ist die Funktiondamit wohl-definiert.

Als nachstes zeigen wir, dass H(n) in Zeit polynomiell in n berechnetwerden kann. Genauer, wir zeigen durch Induktion, dass H(n) in Zeit cn3

fur eine Konstante c berechnet werden kann. Fur n = 1 ist dieses sicherlichkorrekt. Nehmen wir nun an, dass wir die Aussage fur eine genugend großeKonstante c und alle k < n bereits bewiesen haben. Um H(n) zu berechnen,sind drei Arten von Berechnungen notwendig.

1. Berechnung der Werte H(k) fur alle k ≤ log(n).

2. Losung von SAT auf allen Eingaben der Lange hochstens log(n). Zu-sammen mit dem ersten Punkt konnen dann alle x ∈ 0, 1≤log(n) mitx ∈ SATH bestimmt werden.

46

3. Simulation der ersten log log(n) DTMs Mi auf allen Eingaben |x| derLange ≤ log(n) fur i|x|i ≤ log log(n) log(n)log log(n) Schritte. DieserTeil wird benotigt, um zu bestimmen, ob Mi die Sprache SATH furalle x der Lange ≤ log(n) korrekt entscheidet.

Fur den ersten Punkt wird nach Induktionsvoraussetzung hochstens Zeitc log(n) log(n)3 benotigt. Man uberlegt sich leicht, dass SAT bei Eingabender Langem in Zeit 22m entschieden werden kann. Damit benotigt der zweitePunkt hochstens Zeit 2log(n)+122 log(n) = 2n3. Hierbei haben wir benutzt,dass |0, 1≤log(n)| ≤ 2log(n)+1. Unter Ausnutzung dieser Tatsache sehen wirauch, dass der dritte Punkt Zeit

2log(n)+1 log log(n) log(n)log log(n) = 2n log log(n) log(n)log log(n)

benotigt. Insgesamt wird somit zur Berechnung von H(n) Zeit

c log(n)4 + 2n3 + 2n log log(n) log(n)log log(n)

benotigt. Fur c groß genug, kann dieses durch cn3 abgeschatzt werden.Nun zeigen wir fur die so definierte Funktion H das folgende Lemma.

Lemma 3.2.2 1. Falls SATH ∈ P, so existiert ein i ∈ N mit H(n) ≤ ifur alle n.

2. Falls SATH 6∈ P, so existieren fur alle i ∈ N nur endliche viele n ∈ Nmit H(n) = i. Insbesondere gilt

limn→∞

H(n) =∞.

Beweis: Zum Beweis der ersten Behauptung nehmen wir an, dass SATH ∈P. Damit existiert eine DTM M mit Laufzeit cnc fur eine Konstante c, dieSATH entscheidet. Nun gibt es zu jeder DTM M beliebig große i, so dassL(M) = L(Mi). Solche Indizes i und die dazu gehorigen DTMs konnen z.B.durch Einfuhrung unerreichbarer und damit nutzloser Zustande konstruiertwerden. Sei nun i ≥ cso gewahlt, dass L(M) = L(Mi). Dann gilt fur alle n >22i , dass H(n) ≤ i, denn fur diese n gilt log log(n) > i und Mi entscheidetfur alle x ∈ 0, 1≤log(n) in Zeit hochstens c|x|c ≤ i|x|i, ob x ∈ SATH .

Zum Beweis der zweiten Behauptung, nehmen wir an SATH 6∈ P. Damitexistiert fur jedes i ∈ N ein xi ∈ 0, 1∗, so dass Mi bei Eingabe x nicht inZeit i|xi|i korrekt entscheidet, ob xi ∈ SATH . Fur alle n > 2|xi| gilt somitH(n) 6= i.

47

Nun konnen wir zeigen, dass SATH /∈ P. Wir fuhren einen Widerspruchs-beweis und nehmen daher an, dass SATH ∈ P. Sei daher M eine DTM, dieSATH in Zeit nc entscheidet. Nach unseren obigen Behauptungen existiertnun ein i mit H(n) ≤ i fur alle n. Damit gilt fur alle Booleschen Formeln ψdie folgende Abschatzung

|ψ01|ψ|H(|ψ|) | ≤ |ψ|i+2.

Wir konnen nun SAT mit Hilfe der folgenden DTM entscheiden.

1. Bei Eingabe ψ berechne H(|ψ|) und bilde x = ψ01|ψ|H(|ψ|).

2. Benutze die DTM M , um zu entscheiden, ob x ∈ SATH . Akzeptiereψ, falls M das Wort x akzeptiert.

Die Laufzeit dieser DTM ist polynomiell, da wir aus ψ in Zeit polynomiell in|ψ| den Wert H(|ψ|) und damit das Wort x berechnen konnen. Die Laufzeitvon M bei Eingabe x ist nach Annahme |x|c = |ψ|c(i+2). Damit ist dieLaufzeit der DTM polynomiell und wir erhalten SAT ∈ P. Dieses stehtjedoch im Widerspruch zu unseren allgemeinen Annahme P 6= NP.

Jetzt zeigen wir, dass SATH auch nicht NP-vollstandig sein kann. Wie-derum fuhren wir einen Widerspruchsbeweis und nehmen an, SATH seiNP-vollstandig. Wir wollen zeigen, dass diese Annahme zur Existenz ei-ner polynomialzeit DTM M , die SAT entscheidet, fuhrt, im Widerspruchzur Annahme P 6= NP des Satzes. Sei nun f eine polynomielle Reduktionvon SAT auf SATH . Genauer, sei f in Zeit ni berechenbar.

Aus den Annahmen, dass SATH NP-vollstandig ist und dass P 6= NP,folgt, dass SATH /∈ P. Lemma 3.2.2 zeigt, dass dann limn→∞H(n) = ∞.Somit existiert ein n0 ∈ N, so dass fur alle n ≥ n0 gilt H(n) > 2i. Sei nun φeine Boolesche Formel und f(φ) = x ∈ 0, 1∗. Da H(n) ist Zeit polynomiellin n berechnet werden kann, konnen wir in polynomieller Zeit entscheiden,ob x die Form ψ01|ψ|H(|ψ|) fur eine Boolesche Formel ψ besitzt. Ist diesesnicht der Fall, gilt x /∈ SATH und φ /∈ SAT. Wir konnen uns daher imFolgenden auf solche Formeln φ beschranken, fur die f(φ) = ψ01|ψ|H(|ψ|)

fur eine Boolesche Formel ψ. Sei nun weiter |φ| > n20. Wir zeigen zunachst,

dass dann gilt |ψ| ≤√

|φ|. Denn gilt |ψ| >√

|φ|, so folgt |ψ| > n0 undH(|ψ|) > 2i. Dieses fuhrt auf

|f(φ)| > |ψ|H(|ψ|)| >(

|φ| 12)2i≥ |φ|i,

was im Widerspruch zur Annahme steht, dass die Funktion in Zeit ni be-rechnet werden kann. Wir erhalten nun folgende rekursiv definierte DTMD, die SAT entscheidet.

48

1. Gilt |φ| < n0, entscheide brute-force, ob φ ∈ SAT.

2. Bei Eingabe φ, berechne f(φ).

3. Ist f(φ) nicht von der Form f(φ) = ψ01|ψ|H(|ψ|) fur eine BoolescheFormel ψ, lehne ab.

4. Wende die DTM D rekursiv auf die Formel ψ an.

Die Korrektheit der DTM D folgt unmittelbar aus dem bereits Gesagten.Wir mussen noch die Laufzeit der DTM analysieren. Der 1.Schritt benotigtnach Voraussetzung konstante Zeit, da n0 eine Konstante ist. Der 2.Schrittbenotigt nach Annahme Zeit |φ|i. Auch beim 3.Schritt haben wir bereitsoben argumentiert, dass dieser Schritt in polynomieller Zeit durchgefuhrtwerden kann. Wir mussen jetzt noch analysieren, wie haufig die DTM Din Schritt 4. aufgerufen wird. Wie wir oben gesehen haben, gilt |ψ| ≤ |φ| 12 .Damit wird in 4. die DTM D bei Eingabe φ hochstens log log(|φ|)-mal aufge-rufen. denn nach k Aufrufen von D im 4.Schritt hat die resultierende Formelψ nur noch Große 2log(|φ|/2k . Damit ist die Große der Formel nach log log(|φ|)bereits auf 2 reduziert. Wir erhalten, dass D eine polynomielle DTM ist, dieSAT entscheidet. Damit haben wir auch die Annahme, dass SATHJ NP-vollstandig ist zum Widerspruch zur Annahme P 6= NP gebracht.

Insgesamt ist damit unter der Annahme P 6= NP die Sprache SATH inNP \ P, sie ist jedoch nicht NP-vollstandig.

49

3.3 Die Klassen L,NL und L-Reduktionen

Bislang haben wir nur Zeit- und Platzkomplexitat mindestens linear betrach-tet. Bei der Zeitkomplexitat werden wir dieses auch nicht andern. Denn hateine TM weniger als lineare Zeit zur Verfugung, ist sie nicht in der Lagedie gesamte Eingabe zu betrachten. Bei Platzkomplexitat ist die Situati-on anders, wenn wir nur den Platz betrachten, den eine TM zusatzlich zumPlatz zur Speicherung der Eingabe benotigt. Um diese Idee zu formalisieren,betrachten wir spezielle TMs.

Definition 3.3.1 Eine TM M = (Q,Σ,Γ, δ) mit Eingabeband ist eine 2-Band TM. Das erste Band einer TM mit Eingabeband heißt das Eingabe-band, das zweite Band heißt das Arbeitsband. Zu Beginn der Berechnungsteht die Eingabe w auf dem Eingabeband. Auf die Eingabe w folgt dannnoch ein spezielles Symbol ♯. Fur die Ubergangsfunktion δ gelten zu den ubli-chen Bedingungen an die Ubergangsfunktion einer TM noch die folgendenEinschrankungen:

1. Kein Symbol auf dem Eingabeband kann uberschrieben werden.

2. Der Kopf des Eingabebandes geht nicht uber die mit dem Symbol ♯beschriftete Zelle hinaus.

In dieser Definition lassen wir sowohl DTMs als auch NTMs zu. Die ersteEinschrankung stellt sicher, dass der fur die Eingabe reservierte Platz vonder TM nicht fur andere Zwecke verwendet werden darf. Die zweite Ein-schrankung stellt sicher, dass auf dem Eingabeband außerhalb des fur dieEingabe vorgesehen Platzes nichts gespeichert werden kann. Den Platzbe-darf einer TM mit Eingabeband werden wir definieren als den Platz, dendie TM auf dem Arbeitsband benutzt. Dazu mussen wir aber zunachst denBegriff der Konfiguration fur TMs mit Eingabeband genau definieren.

Definition 3.3.2 Eine Konfiguration einer TM M = (Q,Σ,Γ, δ) mit Ein-gabeband bei Eingabe w ∈ Σ∗ wird beschrieben durch

1. den Zustand q ∈ Q,

2. die Positionen der Lesekopfe des Eingabe- und des Arbeitsbandes,

3. den Inhalt des Arbeitsbandes. Dabei werden wie ublich alle ⊔’s rechtsdes letzten Symbols, das kein ⊔ ist, ignoriert.

50

Beschrieben wird eine solche Konfiguration durch ein Paar (K, pos). Dabeiist pos die Binardarstellung der Position des Lesekopfes auf dem Eingabe-band. Weiter ist K von der Form αqβ mit α, β ∈ Γ∗, q ∈ Q, wobei αβ derInhalt des Arbeitsbandes ist, q ist der Zustand und der Lesekopf des Arbeits-bandes steht auf der Zelle, die das erste Symbol von β enthalt.

Die Große einer Konfiguration (K, pos),K = αqβ, α, β ∈ Γ∗, q ∈ Q istdie Lange der Folge αβpos uber dem Alphabet Γ, wobei wir annehmen, dass0, 1 ⊆ Γ.

Wie bei normalen TMs legt die Konfiguration einer TM mit Eingabebandgenau fest, welche Schritte eine TM als nachstes ausfuhren kann. Dabei istbei einer DTM mit Eingabeband naturlich nur ein Schritt moglich. Da wirdie Eingabe w fest lassen und die Eintrage des Eingabebandes nicht geandertwerden, mussen wir die Eingabe w selber nicht in die Beschreibung einerKonfiguration aufnehmen.

Definition 3.3.3 Sei s : N→ N monoton wachsend mit s(n) ≥ ⌈log(n+3)⌉fur alle n ∈ N. Eine TM M = (Q,Σ,Γ, δ) mit Eingabeband heißt s(n)-platzbeschrankt, wenn fur alle w ∈ Σ≤n die Konfigurationen von M beiEingabe w Lange hochstens s(n) besitzen.

In den Platzbedarf einer TM mit Eingabeband ist also die Große der Eingabenicht mit eingeschlossen. Die Bedingung s(n) ≥ ⌈log(n + 3)⌉ stellt sicher,dass der Index pos alle Werte in 1, . . . , n annehmen kann. Hierbei beachtenwir, dass fur den Lesekopf des Eingabebandes n+2 Positionen moglich sind,das Startsymbol ⊲, die Symbole von w sowie das Symbol ♯, das das Ende derEingabe markiert. Die TM M kann somit alle Symbole des Eingabebandeslesen.

Begriffe wie Platzbedarf einer TM mit Eingabeband konnen wir naturlichanalog zu den Begriffen fur normale TMs benutzen. Wir verzichten auf ge-naue Definitionen. Wir erhalten nun die folgenden Komplexitatsklassen.

Definition 3.3.4 Sei s : N→ N monoton wachsend. Dann sind die KlassenDSPACE(s(n)) und NSPACE(s(n)) folgendermaßen definiert

DSPACE(s(n)) :=

LL wird von einer O(s(n))-platzbeschranktenDTM entschieden

.

NSPACE(s(n)) :=

LL wird von einer O(s(n))-platzbeschranktenNTM entschieden

.

Weiter definieren wir

L := DSPACE(log(n)) und NL := NSPACE(log(n)).

51

Wir haben jetzt fur s : N→ N mit s(n) ≥ n fur alle n ∈ N zwei Definitionenvon DSPACE(s(n)) bzw. NSPACE(s(n)). Einmal die gerade formuliertenDefinitionen, dann aber auch die Definitionen auf Seite 12 und auf Seite 24.Man uberzeugt sich aber leicht, dass fur s(n) ≥ n, die Definitionen iden-tisch sind, da fur s(n) ≥ n eine s(n)-platzbeschrankte TM mit Eingabebanddurch eine s(n)-platzbeschrankte TM ohne spezielles Eingabeband simuliertwerden kann.

Beispiel 3.3.5 Die Sprache 0k1k|k ∈ N liegt in L.Eine log(n)-platzbeschrankte DTM, die diese Sprache entscheidet, kann etwawie die folgende DTM arbeiten.

M : Bei Eingabe w ∈ 0, 1∗ :1. Durchlaufe die Eingabe, um zu testen, ob nach der ersten 1

noch eine 0 in w existiert. Wenn ja, lehne ab.2. Zahle die Anzahl der 0 und 1 in w. Stimmen diese nicht

uberein, lehne ab, sonst akzeptiere.

Der erst Schritt benotigt keinerlei Platz auf dem Arbeitsband, er kannausschließlich uber eine geeignet gewahlte Zustandsmenge und Ubergangs-funktion realisiert werden. Fur den zweiten Schnitt werden zwei binareZahler benotigt. Beide mussen jedoch Zahlen der Lange hochsten |w| spei-chern. Damit wird fur diese Zahler hochstens Platz O(log(|w|)) auf demArbeitsband benotigt.

Als nachstes betrachten wir die Sprache

Pfad :=

(G, s, t)G = (V,E) ist ein gerichteter Graph, s, t ∈ V , sodass in G ein Pfad von s nach t existiert.

.

Mit Hilfe der Tiefensuche oder der Breitensuche kann gezeigt werden, dassPfad in P liegt. Es gilt aber auch

Satz 3.3.6 Pfad ∈ NL.Beweis: Um diesen Satz zu beweisen, betrachten wir die folgende NTM.

Erreichbar : Bei Eingabe G = (V,E), s, t ∈ V :1. Berechne |V | − 1.2. Setze i← 0, v ← s.3. Wiederhole bis i = |V | − 1 oder akzeptiert wurde:4. Wahle nichtdeterministisch Kante (v, u) ∈ E.5. Falls u = t, akzeptiere.6. Setze i← i+ 1, v ← u.

52

In der Schleife beginnend in der 3. Zeile rat die NTM sukzessive dieKanten eines Pfades der Lange hochstens |V | − 1 in G. Die Initialisierungv ← s im 2. Schritt stellt dabei sicher, dass dieser Pfad in s beginnt. DieNTM akzeptiert genau dann, wenn der Pfad von s nach t fuhrt. Damit ist

L :=

(G, s, t)G = (V,E) ist ein gerichteter Graph, s, t ∈ V ,so dass in G ein Pfad von s nach t der

Lange ≤ |V | − 1 existiert.

die von Erreichbar entschiedene Sprache. Nun existiert in G ein Pfad von snach t genau dann, wenn es in G einen Pfad der Lange hochstens |V |−1 vons nach t gibt. Ein Tupel (G, s, t) wird also von Erreichbar genau dann akzep-tiert, wenn (G, s, t) ∈ Pfad. Damit gilt L = Pfad und wir haben eine NTMkonstruiert, die Pfad akzeptiert. Der Platzbedarf von Erreichbar bei Einga-be (G, s, t) ist nun O(log(|V |), denn wir benotigen nur den Platz, um zweiKnoten u, v ∈ V , den Index i ≤ |V | und die Schranke |V |−1 zu speichern.

Fur spatere Zwecke betrachten wir jetzt die folgende Verallgemeinerung deroben betrachteten NTM Erreichbar.

ErreichbarLange : Bei Eingabe G = (V,E), s, t ∈ V, l ∈ N :1. Setze i← 0, v ← s.2. Wiederhole bis i = l oder akzeptiert wurde:3. Wahle nichtdeterministisch Kante (v, u) ∈ E.4 Falls u = t, akzeptiere.5. Setze i← i+ 1, v ← u.

Die im Beweis von Satz 3.3.6 benutzten Argumente zeigen, dass die vondieser NTM entschiedene Sprache

PfadLange :=

(G, s, t, l)G = (V,E) ist ein gerichteter Graph, s, t ∈ V ,so dass in G ein Pfad von s nach t der

Lange ≤ l existiert.

ist. Weiter hat die NTM ErreichbarLange logarithmischen Platzbedarf.Es gilt naturlich L ⊆ NL. Es ist aber nicht bekannt, ob L 6= NL gilt.

In einer Ubung werden Sie außerdem den folgenden Satz zeigen.

Satz 3.3.7 NL ⊆ P.

Es wird vermutet, dass die Inklusion in diesem Satz echt ist, also NL 6= Pgilt. Bislang konnte diese Vermutung jedoch nicht bewiesen werden.

53

Wir wollen nun die schwierigsten Probleme in NL identifizieren, dieso genannten NL-vollstandigen Probleme. Diese spielen fur NL dieselbeRollen wie die NP-vollstandigen Probleme fur NP. Zur Definition derNL-vollstandigen Probleme werden wir Reduktionen verwenden. Da aberNL ⊆ P gilt, macht es keinen Sinn zur Charakterisierung der Schwierigkeitvon Problemen in NL polynomielle Reduktionen zu benutzen. Stattdessenverwenden wir Reduktionen, die mit logarithmischem Platz berechnet wer-den konnen. Um dabei Reduktionen f berechnen zu konnen, deren Funkti-onswerte f(w) nicht durch log(|w|) beschrankt sind, benotigen wir spezielleTMs mit Ausgabeband. Diese TMs, ihre Arbeitsweise sowie ihren Platzbe-darf definieren wir in den folgenden vier Definitionen.

Definition 3.3.8 Eine TM M = (Q,Σ,Γ, δ) mit Eingabe-/Ausgabeband isteine 3-Band TM. Das erste Band einer TM mit Eingabeband heißt das Ein-gabeband, das zweite Band heißt das Arbeitsband und das dritte Band heißtdas Ausgabeband. Zu Beginn der Berechnung steht die Eingabe w auf demEingabeband. Auf die Eingabe w folgt dann noch ein spezielles Symbol ♯.Arbeits- und Ausgabeband enthalten zu Beginn einer Berechnung jeweils ei-ne Folge von ⊔. Fur die Ubergangsfunktion δ gelten zusatzlich zu den Be-dingungen an die Ubergangsfunktion einer TM mit Eingabeband aus Defini-tion 3.3.1 noch die folgenden Einschrankungen:

1. Im ersten Schritt der TM M wird der Lesekopf des Ausgabebandesvon der Zelle, die das Startsymbol ⊲ enthalt, die erste Zelle, die ein⊔ enthalt, bewegt.

2. Der Lesekopf des Ausgabebandes kann nicht nach links bewegt werden.

3. Wird ein ⊔ auf dem Ausgabeband uberschrieben, so muss der Lesekopfdes Ausgabebandes nach rechts bewegt werden.

Definition 3.3.9 Die TM M = (Q,Σ,Γ, δ) mit Eingabe-/Ausgabeband be-rechnet die Funktion f : Σ∗ → Γ∗, wenn fur alle w ∈ Σ∗ die folgendeBedingung erfullt ist: Wird M mit Eingabe w gestartet und halt sie im ak-zeptierenden Zustand, so ist bei Ende der Berechnung der Bandinhalt desAusgabebandes f(w).

Definition 3.3.10 Eine Konfiguration einer TM M = (Q,Σ,Γ, δ) mit Ein-gabe-/Ausgabeband bei Eingabe w ∈ Σ∗ wird beschrieben durch

1. den Zustand q ∈ Q,

2. die Positionen der Lesekopfe des Eingabe- und des Arbeitsbandes,

54

3. den Inhalt des Arbeitsbandes. Dabei werden wie ublich alle ⊔’s rechtsdes letzten Symbols, das kein ⊔ ist, ignoriert.

Beschrieben wird eine solche Konfiguration durch ein Paar (K, pos). Dabeiist pos die Binardarstellung der Position des Lesekopfes auf dem Eingabe-band. Weiter ist K von der Form αqβ mit α, β ∈ Γ∗, q ∈ Q, wobei αβ derInhalt des Arbeitsbandes ist, q ist der Zustand und der Lesekopf des Arbeits-bandes steht auf der Zelle, die das erste Symbol von β enthalt.

Die Große einer Konfiguration (K, pos) ist wie bei TMs mit Eingabebanddie Lange der Folge αβpos uber dem Alphabet Γ, wobei wir annehmen, dass0, 1 ⊆ Γ.

Definition 3.3.11 Sei s : N → N monoton wachsend mit s(n) ≥ ⌈log(n +3)⌉ fur alle n ∈ N. Eine TM M = (Q,Σ,Γ, δ) mit Eingabe-/Ausgabebandheißt s(n)-platzbeschrankt, wenn fur alle w ∈ Σ≤n die Konfigurationen vonM bei Eingabe w Lange hochstens s(n) besitzen.

In den Platzbedarf einer TM mit Eingabe-/Ausgabeband ist also weder dieGroße der Eingabe noch die Große der Ausgabe mit eingeschlossen. DieBedingung s(n) ≥ ⌈log(n + 3)⌉ stellt sicher, dass der Index pos alle Wertein 1, . . . , n annehmen kann. Hierbei beachten wir, dass fur den Lesekopfdes Eingabebandes n + 2 Positionen moglich sind, das Startsymbol ⊲, dieSymbole von w, sowie das Symbol ♯, das das Ende der Eingabe markiert.Die TM M kann somit alle Symbole des Eingabebandes lesen.

Definition 3.3.12 Eine Funktion f : Σ∗ → Γ∗ heißt s(n)-platzberechenbar,wenn es eine O(s(n))-platzbeschrankte DTM M mit Eingabe-/Ausgabebandgibt, die f berechnet.

Wir kommen jetzt zum fundamentalen Begriff der L-Reduktionen.

Definition 3.3.13 Seien A ⊆ Σ∗1 und B ⊆ Σ∗

2 Sprachen. Dann heißt Aauf B L-reduzierbar, wenn eine Funktion f mit den folgenden Eigenschaftenexistiert

1. Fur alle w ∈ Σ∗1 gilt w ∈ A⇔ f(w) ∈ B,

2. Die Funktion f ist log(n)-platzberechenbar.

Die Funktion f heißt dann eine L-Reduktion von A auf B. Ist A auf BL-reduzierbar, so schreiben wir A ≤L B.

55

Man uberlegt sich leicht, dass jede L-Reduktion auch eine polynomielle Re-duktion ist. L-Reduktionen verhalten sich auch sehr ahnlich wie polynomielleReduktionen. Insbesondere sind L-Reduktionen wie polynomielle Reduktio-nen transitiv (siehe Lemma 2.5.4).

Lemma 3.3.14 Seien f : Σ∗ → Γ∗ und g : Γ∗ → Ω∗ jeweils log(n)-platz-berechenbare Funktionen. Dann ist auch gf : Σ∗ → Ω∗ log(n)-platzberechenbar.

Beweis: SeienMf undMg zwei log(n)-platzbeschrankte DTM mit Eingabe-/Ausgabeband, die f bzw. g berechnen. Wir betrachten nun die folgendeDTM Mgf , die g f berechnet.

Mgf : Bei Eingabe w:

Simuliere Mg mit Eingabe f(w). Wann immer Mg dabeiein Symbol von f(w) lesen mochte, simuliere Mf mitEingabe w, um dieses Symbol zu berechnen.

Die Bedingungen 2. und 3. in Definition 3.3.8 garantieren, dass die Be-rechnung der Symbole von f(w) durch Mf Platz O(log(n)) erfordert. Daauch Mg Platzbedarf O(log(n)) besitzt, folgt, dass die DTM Mgf Platz-bedarf O(log(|f(w)|)) hat. Nun ist aber |f(w)| = |w|c = nc fur eine Kon-stante §c, denn Mf hat Platzbedarf log(n) und ist damit polynomiell zeitbe-schrankt. Daher ist die Lange von f(|w|) polynomiell in der Lange von n. Da-mit ist der Platzbedarf der DTM Mgf beschrankt durch O(log(|f(w)|)) =O(log(nc)) = O(log(n)).

Bei polynomiellen Reduktionen kann die Transitivitat gezeigt werden, in-dem zunachst f(w) mit Mf berechnet wird, um dann Mg auf f(w) zu si-mulieren. Bei diesem Ansatz muss f(w) auf einem Arbeitsband gespeichertwerden, was unter Umstanden Platz Ω(s(n)) benotigt. Daher kann diese ein-fache Idee nicht zum Beweis von Lemma 3.3.14 benutzt werden. Stattdessenmuss Mf immer wieder aufgerufen werden, um die Symbole von f(w) zuberechnen. Aus dem Lemma erhalten wir unmittelbar

Korollar 3.3.15 Seien A,B,C Sprachen mit A ≤L B und B ≤L C. Danngilt A ≤L C.

Beweis: Sei f die L-Reduktion von A auf B und g die L-Reduktion vonB auf C. Dann ist g f eine Reduktion von A auf C. Lemma 3.3.14 zeigt,dass g f eine L-Reduktion ist.

Jetzt konnen wir die NL-vollstandigen Sprachen definieren.

56

Definition 3.3.16 Eine Sprache A heißt NL-vollstandig, wenn

1. A ∈ NL.

2. Alle Sprachen B ∈ NL auf A L-reduzierbar sind.

Die nachsten beiden Lemmata entsprechen Lemma 2.6.2 und Lemma 2.6.3fur polynomielle Reduktionen.

Lemma 3.3.17 Ist A NL-vollstandig und gilt A ∈ L, so gilt L = NL.Beweis: Da L ⊆ NL, genugt es zu zeigen, dass die Bedingungen des SatzesNL ⊆ L implizieren. Sei nun B ∈ NL beliebig und sei f eine L-Reduktionvon B auf A. Die Funktion f werde durch die O(log(n))-platzbeschrankteDTM Mf berechnet. Weiter sei MA die O(log(n))-platzbeschrankte DTM,die A ∈ L zeigt. Kombinieren wir nun Mf und MA wie im Beweis von Lem-ma 3.3.14, so erhalten wir eine O(log(n))-platzbeschrankte DTM MB, dieB entscheidet. Damit gilt dann auch B ∈ L.

Lemma 3.3.18 Ist A ∈ NL und gilt B ≤L A fur eine NL-vollstandigeSprache B, so ist auch A NL-vollstandig.

Der Beweis dieses Lemmas folgt unmittelbar aus der Transitivitat von L-Reduktionen. Wir werden nun zeigen, dass Pfad NL-vollstandig ist. DerBeweis dieses Satzes ist insbesondere im Vergleich zum Beweis des Satzesvon Cook-Levin (Satz 2.6.7) erstaunlich einfach.

Satz 3.3.19 Pfad ist NL-vollstandig.

Beweis: Sei A ⊆ Σ∗ eine beliebige Sprache in NL und NA = (Q,Σ,Γ, δ)eine c · log(n))-platzbeschrankte NTM, die A entscheidet. Hierbei ist c eineKonstante. Gegeben w ∈ Σ werden wir einen Graphen G = (V,E) unds, t ∈ V konstruieren, so dass NA die Eingabe w genau dann akzeptiert,wenn es in G einen Pfad von s nach t gibt. Hierbei werden wir wie imBeweis des Satzes von Savitch (Satz 2.7.2, Seite 37) ohne Beschrankung derAllgemeinheit annehmen, dass NA unabhangig von der Eingabe nur eineakzeptierende Konfiguration Ka besitzt.

Konfigurationen C von NA bei Eingabe w ∈ Σn werden beschriebendurch ein Tupel (K, pos), wobei K = αqβ aus Γ∗ × Q × Γ∗ und pos aus0, 1l fur l = ⌈log(n+3)⌉ ist. Außerdem ist die Lange von αβ durch c log(n)beschrankt.

Die Knotenmenge V des Graphen G besteht nun aus allen Elemen-ten C = (K, pos),K = αqβ ∈ Γ∗ × Q × Γ∗, wobei |αβ| ≤ c log(n) und

57

pos ∈ 0, 1l. Diese Knotenmenge kann in logarithmischem Platz konstru-iert werden, indem die Menge Γ≤c log(n)×Q×Γ≤c log(n)×0, 1l systematischdurchlaufen wird.

Die Kantenmenge E des GraphenG besteht aus Paaren (C1, C2) ∈ V×V ,so dass die NTMNA die Konfiguration C2 aus der Konfiguration C1 in einemRechenschritt erreichen kann. Die Kantenmenge E kann dann konstruiertwerden, indem alle Elemente (C1, C2) ∈ V × V systematisch durchlaufenwerden, um durch Simulation von NA zu entscheiden, ob das Paar (C1, C2)diese Eigenschaft besitzt. Insgesamt haben wir damit den Graphen G inlogarithmischem Platz berechnet.

Wir mussen noch die Knoten s und t bestimmen. Der Knoten t entsprichtder akzeptierenden Konfiguration KA von NA. Der Knoten s entspricht derStartkonfiguration Kw von NA bei Eingabe w. Beide konnen in logarithmi-schen Platz konstruiert werden. Um den Beweis zu vervollstandigen, mussenwir noch zeigen, dass w ∈ A genau dann, wenn (G, s, t) ∈ Pfad. Nun giltaber

w ∈ A⇔NA akzeptiert Eingabe w

⇔Aus der Startkonfiguration Kw kann NA

die akzeptierende Konfiguration Ka erreichen

⇔(G, s, t) ∈ Pfad.

Wie wir oben anmerkten, ist nicht bekannt, ob L 6= NL oder NL 6= P.

Aber das dem Problem NP ?= co-NP entsprechende Problem NL ?

= co-NList gelost. Dabei ist co-NL gemaß der Definition 3.1.2 (Seite 41) die Klassealler Sprachen A, deren Komplement A in NL liegt.

Satz 3.3.20 (Immerman/Szelepcsenyi) NL = co-NL.

Beweis: Wir bezeichnen mit Pfad das Komplement von Pfad. Worte, dienicht von der Gestalt (G, s, t) sind, konnen wir ignorieren. Dann ist

Pfad :=

(G, s, t)G = (V,E) ist ein gerichteter Graph, s, t ∈ V , sodass in G kein Pfad von s nach t existiert.

.

Es genugt dann zu zeigen, dass Pfad ∈ co-NL oder aquivalent Pfad ∈ NL.Dieses folgt wie im Beweis von Lemma 3.3.17 mit L ersetzt durch co-NL.Wir zeigen Pfad ∈ NL.

58

Sei G = (V,E) ein beliebiger gerichteter Graph und s, t ∈ V . Wir setzenm = |V | und definieren fur i = 0, . . . ,m− 1 die folgenden Mengen

Ai :=

v ∈ V In G existiert ein Pfad der Lange hochstens ivon s nach v.

.

Weiter setzen wirci := |Ai|, i = 0, . . . ,m− 1.

Es gilt A0 = s und c0 = 1. Weiter ist Am−1 die Menge aller Knoten v inV , fur die in G ein Pfad von s nach v existiert. Somit gilt (G, s, t) ∈ Pfad⇔t 6∈ Am−1. Die NTM fur Pfad wird nun folgendermaßen arbeiten.

1. Berechne sukzessive nichtdeterministisch die Werte c0, c1, . . . , cm−1,dabei wird die Berechnung von ci nur von ci−1 abhangen.

2. Gegeben cm−1, berechne nichtdeterministisch Am−1, d.h., rate die ein-zelnen Elemente v von Am−1 und verifiziere v ∈ Am−1.

3. Akzeptiere genau dann, wenn t 6∈ Am−1.

Zunachst konstruieren wir eine NTM #Erreichbar, die bei EingabeG, s, i,ci−1 den Wert ci berechnet. Dieses ist folgendermaßen zu verstehen (sieheDefinition 3.3.9). Halt die NTM #Erreichbar im akzeptierenden Zustand,so ist ihre Ausgabe immer ci. Außerdem gibt es mindestens eine Berech-nung von #Erreichbar, die im akzeptierenden Zustand halt und somit danndie Ausgabe ci liefert. Die etwas allgemeiner formulierte NTM #Erreichbarist in Abbildung 3.3 dargestellt und benutzt die nichtdeteministische TMErreichbarLange (siehe Seite 53).

Nehmen wir an, dass l = ci−1. Zunachst zeigen wir, dass c = ci geltenmuss, wenn ein Wert c ausgegeben wird. Nun wird der Zahler c bei einerWahl von u in 2. im 8. Schritt nur dann um 1 erhoht, wenn in 4. ein vgewahlt wird, so dass v ∈ Ai−1 (ErreichbarLange(G, s, v, i− 1) akzeptiert in5.) und (v, u) ∈ E. Damit gilt immer c ≤ ci. Wird nun fur ein u in 10.nicht abgelehnt, wurde fur alle v ∈ Ai−1 uberpruft, ob (v, u) ∈ E. Denn dzahlt die beim in 2. startenden Schleifendurchlauf fur u in 5. gefundenenv ∈ Ai−1. Wenn ErreichbarLange nicht ablehnt, wird daher fur alle u ∈ Vkorrekt entschieden, ob u ∈ Ai. Lehnt #Erreichbar nicht ab, muss deshalbam Ende der Berechnungen von #Erreichbar gelten c = ci.

Wir mussen auch noch zeigen, dass es eine Berechnung von #Erreichbargibt, die zu einer Ausgabe fuhrt. Dieses ist aber genau dann der Fall, wennfur alle Durchlaufe der in 2. beginnenden Schleife fur alle v ∈ Ai−1 in 5. durch

59

#Erreichbar

Bei Eingabe (G, s, i, l) mit G = (V,E), s ∈ V, i, l ∈ N :

1. Setze c← 1.2. Fur alle u ∈ V \ s3. d← 04. Fur alle v ∈ V5. Falls ErreichbarLange(G, s, v, i− 1)6. d← d+ 17. Falls (v, u) ∈ E8. c← c+ 19. Weiter bei 2. mit nachstem u.

10. Falls d 6= l, lehne ab.11. Ausgabe c.

Abbildung 3.2: Die NTM #Erreichbar zur Berechnung der Werte ci

ErreichbarLange(G, s, v, i− 1) ein Pfad der Lange hochstens i− 1 von s nachv konstruiert wird. Damit berechnet #Erreichbar bei Eingabe G, s, i, ci−1

den Wert ci.Ist der Wert cm−1 fur einen gerichteten Graphen G bekannt, so kann

(G, s, t) ∈ Pfad bewiesen werden, indem cm−1 Knoten u 6= t konstruiert wer-den, die alle inAm−1 liegen. Dieses genau leistet die NTM Pfad-Komplement

in Abbildung 3.3, die zunachst auch mit Hilfe von #Erreichbar sukzessivedie Werte c0, c1, . . . , cm−1 berechnet.

Nach dem uber die NTM #Erreichbar Bewiesenen gilt, dass die NTMPfad-Komplement entweder in den ersten drei Schritten bereits ablehntoder aber den Wert cm−1 korrekt berechnet. Nehmen wir an, dass sie denWert cm−1 berechnet hat. Akzeptiert die NTM Pfad-Komplement dannim letzten Schritt, so hat sie in der in 4. beginnenden Schleife cm−1 Knotenu 6= t bestimmt, die in Am−1 liegen. Somit wird nur dann akzeptiert, wenn(G, s, t) ∈ Pfad.

Liegt andererseits (G, s, t) ∈ Pfad, so kann, wie wir oben gesehen haben,die NTM Pfad-Komplement in den ersten drei Schritten cm−1 berechnen.Wird dann außerdem fur alle u ∈ Am−1 in 5. durch Erreichbar(G, s, u,m−1)ein Pfad von s nach u bestimmt, so wird Pfad-Komplement auch akzep-tieren. Damit ist Pfad die von Pfad-Komplement akzeptierte Sprache.

Wir mussen den Platzbedarf von #Erreichbar und Pfad-Komplement

bestimmen. In #Erreichbar wird ein Zahler fur c und d benotigt. Wei-

60

Pfad-Komplement

Bei Eingabe (G, s, i, l) mit G = (V,E), s ∈ V, i, l ∈ N :

1. Setze c0 ← 1.2. Fur i← 1 bis m− 13. ci ← #Erreichbar(G, s, i, ci−1)4. Fur alle u ∈ V \ s5. Falls ErreichbarLange(G, s, u,m− 1) und u 6= t6. d← d+ 17. Sonst lehne ab.8. Falls d 6= cm−1, lehne ab, sonst akzeptiere.

Abbildung 3.3: NTM fur die Sprache Pfad

ter benotigen wir noch den Platz um den jeweilig aktuellen Knoten in 2.und 4. zu speichern. Schließlich wird noch der Platz fur die Aufrufe vonErreichbarLange in 5. benotigt. Da aber c, d ≤ m− 1, es nur m Knoten in Ggibt und außerdem Erreichbar logarithmischen Platzbedarf hat, folgt, dassauch #Erreichbar logarithmischen Platzbedarf besitzt.

Ahnlich konnen wir jetzt den Platzbedarf von Pfad-Komplement analy-sieren. Neben dem logarithmischen Platz fur die Aufrufe von ErreichbarLange

und #Erreichbar, benotigt Pfad-Komplement den Platz um jeweils zweiaufeinander folgende ci zu speichern, sowie den Platz fur d und die Knotenu in 4. All dieses erfordert Platz O(log(m)). Damit hat Pfad-Komplement

Platzbedarf O(log(m)). Es folgt Pfad ∈ NL.

Wird wie im Beweis des Satzes von Savitch 2.7.2 oder im Beweis des Sat-zes 3.3.6 zu einer NTM der Konfigurationsgraph betrachtet, so kann manmit den gerade benutzten Techniken auch den folgenden allgemeinen Satzbeweisen.

Satz 3.3.21 (Immerman/Szelepcsenyi) Sei s : N → N mit s(n) ≥log(n) fur alle n ∈ N monoton wachsend. Dann gilt

NSPACE(s(n)) = co-NSPACE(s(n)).

61

Kapitel 4

Hierarchiesatze und

Diagonaliserung

In diesem Kapitel werden wir die so genannten Hierarchiesatze formulie-ren. Diese zeigen, dass die Vergroßerung der Platz- bzw. Zeitressourcen vonDTMs dazu fuhrt, dass eine großere Klasse von Sprachen entschieden werdenkann. Dabei sind die Aussagen fur die Platzkomplexitat (wie ublich) etwasscharfer als fur die Zeitkomplexitat. Beweisen werden wir nur den Platz-hierarchiesatz. Der Beweis des Zeithierarchiesatzes ist sehr ahnlich, in dentechnischen Details aber etwas schwieriger. Zunachst einige vorbereitendeBemerkungen.

4.1 Vorbereitungen

Fur zwei Funktionen f, g : N→ N schreiben wir g = o(f) genau dann, wennlimn→∞ g(n)/f(n) = 0. Oder

g = o(f)⇔ ∀c > 0 ∃n0 ∈ N ∀n ≥ n0 : f(n) ≥ cg(n).

In diesem gesamten Kapitel,betrachten wir Turingmaschinen, deren Einga-bealphabet Σ die Symbole 0, 1,# enthalt. Dieses ist naturlich keine Ein-schrankung. Mit 〈M〉 bezeichnen wir die Godelnummer einer TM M . Wirwerden Godelnummern nicht genau definieren, da die genaue Form vonGodelnummern fur uns irrelevant ist. Moglichkeiten, Godelnummern zu de-finieren, konnen in vielen Buchern nachgelesen werden. Fur uns sind nur diebeiden folgenden Satze relevant, auf deren Beweis wir ebenfalls verzichten.

62

Satz 4.1.1 Es existiert eine DTM U die bei Eingabe 〈M〉#x mit x ∈ 0, 1∗die Rechnung von M bei Eingabe x simuliert. Hat M bei Eingabe x Platzbe-darf sM (x) und Zeitbedarf tM (x), so hat U bei Eingabe 〈M〉#x Platzbedarfc|〈M〉|sM (x) und Zeitbedarf d|〈M〉|2tM (x). Hierbei sind c, d Konstanten.

Satz 4.1.2 Es existiert eine DTM G, die w ∈ 0, 1∗ genau dann akzeptiert,wenn w die Godelnummer einer TM M ist. Bei Eingabe w hat G PlatzbedarfO(log(|w|)) und Zeitbedarf O(|w| log(|w|)).

In den Aussagen der Hierarchiesatze wird auf platz- bzw. zeitkonstruierbareFunktionen Bezug genommen. Platzkonstruierbarkeit haben wir bereits imZusammenhang mit dem Satz von Savitch kennen gelernt. Hier verfeinernwir die Definition etwas, indem wir DTMs mit Eingabe- und Ausgabebandzulassen.

Definition 4.1.3 Sei f : N → N mit f(n) ≥ log(n) fur alle n ∈ N. DieFunktion f heißt platzkonstruierbar, wenn es eine O(f(n))-platzbeschrankteDTM M mit Eingabe-/Ausgabeband gibt, die bei Eingabe 1n (also n Einsen)die Binardarstellung von f(n) berechnet.

Ahnlich konnen wir zeitkonstruierbare Funktionen definieren. Hierbei be-nutzen wir allerdings normale 1-Band DTMs.

Definition 4.1.4 Sei f : N → N mit f(n) ≥ n log(n) fur alle n ∈ N. DieFunktion f heißt zeitkonstruierbar, wenn es eine O(f(n))-zeitbeschrankte 1-Band DTM M gibt, die bei Eingabe 1n (also n Einsen) die Binardarstellungvon f(n) berechnet.

Die Bedingung f(n) ≥ n log(n) in dieser Definition lasst sich leider nichtumgehen, da selbst eine so einfache Funktion wie die Identitat nicht zeit-konstruierbar ist. Fast jede uns interessierende Funktion f mit f(n) ≥ log(n)bzw, f(n) ≥ n log(n) ist platz- bzw. zeitkonstruierbar. Hierauf wird in denUbungen genauer eingegangen. Wir werden im ubernachsten Abschnitt je-doch sehen, dass die Hierarchiesatze des folgenden Abschnitts falsch sind,wenn die Platz- bzw. Zeitkonstruierbarkeit fallen gelassen wird.

4.2 Die Hierarchiesatze

Nun konnen wir die Hierarchiesatze formulieren und beweisen. Die Beweisebenutzen die Methode der Diagonalisierung. Diese Methode haben Sie be-reits bei der Konstruktion von unentscheidbaren Sprachen in der Vorlesung

63

”Einfuhrung in Berechenbarkeit, formale Sprachen und Komplexitat“ ken-

nen gelernt. Zur Vorbereitung auf die folgenden Beweise sollten Sie sich dieentsprechenden Teile aus dieser Vorlesung noch einmal anschauen.

Satz 4.2.1 Sei s : N→ N mit s(n) ≥ log(n) fur alle n ∈ N platzkonstruier-bar. Dann existiert eine Sprache A, die auf einer deterministischen DTMmit Eingabeband in Platz O(s(n)) nicht jedoch in Platz o(s(n)) entschiedenwerden kann.

Beweis: Wir betrachten die Sprache A, die definiert ist als die von derfolgenden DTM MS entschiedene Sprache, d.h. A = L(MS).

MS : Bei Eingabe w ∈ 0, 1∗, |w| = n :

1. Falls w nicht von der Form 〈M〉#0∗ fur eine DTM M ,lehne ab. Sonst sei M = (Q,Σ,Γ, δ).

2. Berechne s(n) = s(|w|).3. Simuliere M mit Eingabe w. Mussen dabei mehr als

22s(n) Schritte von M simuliert werden oder benotigtdie Simulation mehr Platz als s(n), lehne ab.

4. Falls M die Eingabe w akzeptiert, lehne ab.Falls M die Eingabe w ablehnt, akzeptiere.

Um den Satz zu beweisen, zeigen wir zwei Dinge:

1. MS hat Platzkomplexitat O(s(n)), d.h. A ∈ DSPACE(s(n)).

2. A wird von keiner DTM mit Platzkomplexitat o(s(n)) entschieden,d.h. A 6∈ DSPACE(g(n)) fur alle g mit g(n) = o(s(n)).

Betrachten wir 1. Aufgrund der Bedingung an die Laufzeit in 3. der Be-schreibung von MS ist zunachst einmal sicher gestellt, dass MS die SpracheA entscheidet und nicht nur akzeptiert. Betrachten wir nun den Platzbe-darf der einzelnen Schritte. Nach Satz 4.1.2 benotigt der erste Schritt vonMS Platz O(log(|w|)) = O(s(|w|)). Aufgrund der Platzkonstruierbarkeit derFunktion s wird auch fur den zweiten Schritt Platz O(s(|w|) benotigt. DerZahler, der im 3. Schritt fur die Anzahl der Schritt eingesetzt werden muss,kann ebenfalls auf Platz O(s(|w|)) realisiert werden. Schließlich wird nachDefinition von MS , die Simulation im 3. Schritt Platzbedarf O(s(|w|)) ha-ben. Da der letzte Schritt von MS keinen Platz benotigt, haben wir gezeigt,dass MS Platzbedarf O(s(n)) hat.

Nun zu 2. Angenommen, es gibt eine DTM M0 = (Q,Σ,Γ, δ) mit Platz-bedarf g(n) = o(s(n)), die A entscheidet. Sei nun n0 so gewahlt, dass furalle n ≥ n0 gilt

64

a) c|〈M0〉|g(n) ≤ s(n)

b) n|Q|g(n)|Γ|g(n) ≤ 22s(n).

Hier ist c die Konstante aus Satz 4.1.1. Beide Bedingungen konnen wegeng(n) = o(s(n)) erfullt werden. Betrachten wir nun das Verhalten von MS

bei Eingabe 〈M0〉#0n0 . Die Bedingung a) stellt sicher, dass die Simulationvon M0 durch MS Platz hochstens s(n0) benotigt (Satz 4.1.1). Bedingungb) garantiert, dass M0 nur fur 22s(n0) Schritte simuliert werden muss (sieheAufgabe 3, Blatt 0). Damit wird MS die Eingabe 〈M0〉#0n0 nicht im 3.Schritt ablehnen, bevor fest steht, ob die DTM M0 die Eingabe 〈M0〉#0n0

ablehnt. Nach Definition des 4.Schritts gilt dann

〈M0〉#0n0 ∈ L(MS) = A⇔M0 lehnt Eingabe 〈M0〉#0n0 ab.

Dieses widerspricht der Annahme A = L(M0). Somit gibt es keine DTM mitPlatzbedarf o(s(n)), die A entscheidet.

Aus diesem Satz erhalten wir unmittelbar einige interessante Korollare. Daserste Korollar ist nur eine Umformulierung des Platzhierarchiesatzes.

Korollar 4.2.2 Seien s1, s2 : N → N platzkonstruierbar. Gilt s1(n) =o(s2(n)), so ist

DSPACE(s1(n)) DSPACE(s2(n)),

d.h. DSPACE(s1(n)) ist echt in DSPACE(s2(n)) enthalten.

Korollar 4.2.3 Seien k, l ∈ N mit k < l. Dann gilt

DSPACE(nk) DSPACE(nl),

d.h. DSPACE(nk) ist echt in DSPACE(nl) enthalten.

Beweis: Folgt aus dem vorangegangenen Korollar mit nk = o(nl) furk < l.

Korollar 4.2.4 NL ⊂ PSPACE, d.h. NL ist echt in PSPACE enthalten.

Beweis: Nach dem Satz von Savitch gilt NL ⊆ DSPACE(log(n)2). Nunist aber log(n)2 = o(n).

Als nachstes formulieren wir (ohne Beweis) den Zeithierarchiesatz.

65

Satz 4.2.5 Sei t : N → N zeitkonstruierbar. Dann existiert eine SpracheA, die deterministisch in Zeit O(t(n)) nicht jedoch in Zeit o(t(n)/ log(t(n)))entschieden werden kann.

Wiederum erhalten wir unmittelbar einige Korollare. Das erste Korollar isteine Umformulierung des Zeithierarchiesatzes.

Korollar 4.2.6 Seien t1, t2 : N→ N zeitkonstruierbar, wobeit1(n) = o(t2(n)/ log(t2(n))). Dann gilt

DT IME(t1(n)) DT IME(t2(n)),

d.h. DT IME(t1(n)) ist echt in DT IME(t2(n)) enthalten.

Korollar 4.2.7 Seien k, l ∈ N mit k < l. Dann gilt

DT IME(nk) ⊂ DT IME(nl),

d.h. DT IME(nk) ist echt in DT IME(nl) enthalten.

Beweis: Folgt unmittelbar aus dem vorangegangenem Korollar mit nk =o(nl/ log(nl) fur k < l.

Wir konnen etliche unserer Vermutung uber das Verhaltnis der uns bis-her bekannten Komplexitatsklassen in der folgende Vermutung zusammenfassen.

Vermutung 4.2.8 In der folgenden Kette von Inklusionen sind alle Inklu-sionen echt.

L NL P NP PSPACE .

Zu dieser Vermutung eine wichtige Bemerkungen.

Bemerkung 4.2.9 Da L ⊆ NL und NL echt in PSPACE enthalten ist,ist auch L echt in PSPACE enthalten. Damit wissen wir, dass eine der vierInklusionen zwischen L und PSPACE in Vermutung 4.2.8 echt ist.

Die Annahmen der Platz- und Zeitkonstruierbarkeit sind fur die Hierar-chiesatze ganz wesentlich wesentlich. Dieses zeigt der folgende Satz (wieder-um ohne Beweis).

Satz 4.2.10 Es existiert eine berechenbare Funktion f : N→ N, so dass

DT IME(f(n)) = DT IME(

2f(n))

.

66

Kapitel 5

Orakel-Turingmaschinen,

Grenzen der

Diagonalisierung und die

Polynomialzeithierarchie

Orakel-Turingmaschinen sind eine wichtige Konstruktion der Komplexitats-theorie. Mit ihnen konnen Unterprogramme in der Terminologie von Tu-ringmaschinen formalisiert werden. Wir werden in diesem Kapitel Orakel-Turingmaschinen formal definieren und mit ihrer Hilfe dann zeigen, dass dieMethode der Diagonalisierung, wie wir sie im letzten Kapitel zum Beweisdes Platzhierarchiesatzes benutzt haben, vermutlich nicht genutzt werden

kann, um die P ?= NP-Frage zu klaren. Weiter werden wir mit Hilfe von

Orakel-Turingmaschinen die Polynomialzeithierarchie definieren. Diese lie-fert uns eine ganze Hierarchie von Sprachklassen zwischen P und PSPACE .Die Polynomialzeithierarchie wird uns erlauben, eine erste Einschatzung derMachtigkeit probabilistischer Algorithmen zu liefern. Dieses ist das Themades letzten Kapitels der Vorlesung.

5.1 Orakel-Turingmaschinen

In diesem Abschnitt werden wir die wichtigsten Definitionen fur Orakel-Turingmaschinen kennen lernen. Wir beginnen mit der Definition von Orakel-Turingmaschinen selbst.

67

Definition 5.1.1 Eine Orakle-TM (OTM) M? ist eine Mehrband TM miteinem speziellen Band, dem Orakel- oder Anfrageband und drei ausgezeich-neten Zustanden q?, qja, qnein. Eine Orakel TM M? arbeitet wie eine normaleTM mit zusatzlichen durch das Orakelband und die drei Zustande q?, qja, qnein

gegebenen Fahigkeiten, die folgendermaßen definiert sind:Sei A ⊆ 0, 1∗ eine beliebige Sprache. Mit MA bezeichnen wir dann die

mit dem Orakel oder der Sprache A ausgestattete Orakel-TM M?. Auch MA

nennen wir eine Orakel TM. Befindet sich die OTM MA im Zustand q?, sogeht sie im nachsten Schritt in den Zustand qja, wenn das aktuell auf demOrakelband geschriebene Wort in der Sprache A enthalten ist. Ist das Wortauf dem Orakelband nicht in A, so geht die OTM MA im nachsten Schrittin den Zustand qnein. Die OTM MA kann also in einem Schritt entscheiden,ob ein Wort in A liegt oder nicht.

Wir erlauben bei einer Orakel-TM auch Nichtdeterminismus, dann schrei-ben wir NOTM. Ist die OTM deterministisch, so schreiben wir DOTM.

Zur Vereinfachung werden wir im Rest dieses Abschnitts annehmen, dassalle OTMs Eingabealphabet 0, 1 besitzen. Dieses vereinfacht einige Argu-mente.

OTMs sind kein realistisches Rechenmodell, da wir annehmen, dass eineOTM MA in einem Schritt entscheiden kann, ob ein Element x in A ent-halten ist oder nicht. Dabei kann es sich bei A aber auch um eine Sprachewie SAT oder auch eine unentscheidbare Sprache handeln. Allerdings sindOTMs wie NTMs ein wichtiges Hilfsmittel der Komplexitatstheorie.

Wir konnen nun fur OTMs (sowohl DOTMs als auch NOTMs) den Zeit-und Platzbedarf definieren. Dieses geschieht wie bei normalem TMs, wo-bei nur zu beachten ist, dass Orakelanfragen in einem Schritt beantwortetwerden und das Orakelband beim Platzbedarf mit berucksichtigt wird.

Definition 5.1.2 Eine Orakel-TM M? hat Laufzeit O(t(n)), wenn Kon-stanten c > 0, n0 ∈ N existieren, so dass fur alle Sprachen A und allew ∈ 0, 1≥n0, die TM MA Laufzeit hochstens c · t(|w|) besitzt. Analog hateine Orakel-TM M? hat Platzbedarf O(s(n)), wenn Konstanten c > 0, n0

existieren, so dass fur alle Sprachen A und alle w ∈ 0, 1≥n0, die OTMMA Platzbedarf hochstens c · s(|w|) besitzt.

Mit Hilfe dieser Definition konnen wir nun auch fur jede Sprache A Kom-plexitatsklassen definieren, die auf OTMs MA ausgestattet jeweils mit Ora-kel A aufbauen. Dieses Komplexitatsklassen werden haufig auch relativierteKlassen oder relativierte Welten genannt.

68

Definition 5.1.3

PA :=

LL ist eine Sprache, die von einer polynomiell zeitbeschrank-ten Orakel DTM M? mit Orakel A entschieden wird

.

NPA :=

LL ist eine Sprache, die von einer polynomiellzeitbeschrankten Orakel NTM M? mit OrakelA entschieden wird

.

PSPACEA :=

LL ist eine Sprache, die von einer polynomiellplatzbeschrankten Orakel DTM M? mit OrakelA entschieden wird

.

Betrachten wir einige Beispiele.

Beispiel 5.1.4 Seinen A,B Sprachen mit B ≤p A. Dann gilt B ∈ PA. Es

gilt dann auch B ∈ PA. Dieses folgt, da eine OTM MA mit Orakel A sowohlA als auch das Komplement A von A in einem Schritt entscheiden kann.Man beachte, dass B ≤p A im Allgemeinen nicht B ≤p A impliziert.

Das folgende Beispiel werden wir im nachsten Kapitel noch weiter vertiefen.

Beispiel 5.1.5 Es gilt

NP ⊆ PSAT und co-NP ⊆ PSAT.

Betrachten wir jetzt noch eine konkrete Sprache. Zwei Boolesche Formelnφ, ψ heißen aquivalent genau dann, wenn φ⇔ ψ immer wahr ist. Nun defi-nieren wir

EQ := (φ, ψ) φ, ψ sind aquivalente Boolesche Formeln.

Es gilt EQ ∈ co-NP oder, aquivalent, EQ ∈ NP. Um zu zeigen, dass(φ, ψ) ∈ EQ muss nur eine Belegung der Variablen in φ, ψ geraten werden,so dass φ, ψ bei dieser Belegung unterschiedliche Wahrheitswerte liefern.

Einigen wir uns nun auf irgendeine standardisierte Art Boolesche For-meln zu kodieren, so konnen wir auch von der Große oder Lange einer Boo-leschen Formel reden. Dann definieren wir

MF :=

φ es existiert keine kurzere zu φ aquivalente Formel ψ

,

und somit

MF :=

φ es existiert eine kurzere zu φ aquivalente Formel ψ

.

69

Die folgende OTM zeigt nun MF ∈ NPSAT.

M?MF

: Bei Eingabe φ

1. Rate nichtdeterministisch eine Boolesche Formel ψ.2. Teste, ob ψ kurzer ist als φ. Wenn nicht, lehne ab.3. Berechne ¬(φ⇔ ψ), schreibe diese Formel

auf das Orakelband und gehe in Zustand q?.4. Aus Zustand qnein gehe in qaccept, aus Zustand qja

gehe in Zustand qreject.

Um zu sehen, dass L(MSATMF

) = MF, beobachtet man zunachst, dass(φ, ψ) ∈ EQ genau dann, wenn ¬(φ ⇔ ψ) 6∈ SAT. Denn wenn φ und ψaquivalent sind, gibt es keine Belegung, die ¬(φ ⇔ ψ) erfullt. Damit istφ ∈ MF genau dann, wenn es eine kurzere Formel ψ gibt, so dass ¬(φ ⇔ψ) 6∈ SAT. Diese Eigenschaft wird nun genau in der NOTMMSAT

MFuberpruft.

5.2 Orakel-Turingmaschinen und die Grenzen der

Diagonalisierung

Nun wollen wir die Frage beantworten, ob mit Diagonalisierung die P ?= NP-

Frage beantwortet werden kann. Im nachsten Satz werden wir zeigen, dasses Orakel A,B gibt, so dass die relativierten Komplexitatsklassen PA undNPA identisch sind, die relativierten Komplexitatsklassen PB und NPBjedoch verschieden sind. Es kann daher P 6= NP mit keiner Beweistechnikbewiesen werden, die sich unmittelbar auf relativierte Komplexitatsklassenubertragen lasst. Denn in diesem Fall musste PB 6= NPB fur alle SpracheB gelten. Analoges gilt fur Beweistechniken, die P = NP zeigen sollen.Nun lasst sich aber die Diagonalisierung haufig leicht auf relativierte Kom-plexitatsklassen ubertragen. Daher wird allgemein angenommen, dass mit

Hilfe von Diagonalisierung die P ?= NP-Frage nicht beantwortet werden

kann.

Satz 5.2.1 Es existieren Orakel A,B, so dass

1. PA = NPA

2. PB 6= NPB

Beweis: In einer Ubung wird gezeigt, dass zum Beispiel fur die SpracheQBF gilt

PQBF = NPQBF.

70

Wir wollen nun eine Sprache B konstruieren, so dass PB 6= NPB. Hierzuzunachst folgende allgemeine Konstruktion. Sei B eine beliebige Sprache.Dann bezeichnen wir mit LB die Sprache

LB := 1n|n ∈ N,∃x ∈ B mit |x| = n.

Offensichtlich gilt fur alle Sprachen B

LB ∈ NPB.

Wir konstruieren nun eine Sprache B mit LB 6∈ PB. Sei hierzu M?1 ,M

?2 , . . .

eine Aufzahlung aller Orakel DTMs mit polynomieller Laufzeit. Genauer seidie Laufzeit von M?

i bei Eingaben der Lange n beschrankt durch nei . Hierbeibeachte man, dass wir die Laufzeit einer Orakel DTM M? unabhangig vomverwendeten Orakel A definiert haben. Wir definieren nun induktiv endlicheMengen B0, B0, B1, B1, . . . , mit

Bj ⊆ Bi und Bj ⊆ Bi fur alle j < i, (5.1)

und

Bi ∩ Bi = ∅ fur alle i. (5.2)

Zunachst setzen wirB0 = B0 = ∅.

Seien Bj , Bj , j = 0, . . . , i − 1 mit den beiden Eigenschaften in (5.1) undin (5.2) bereits definiert. Wir mussen nun Bi, Bi definieren. Dazu setzen wir

ni := min

n∣

∣ 2n > nei , und n > |x| fur alle x in Bi−1 ∪ Bi−1

.

Weiter setzen wir Xi := ∅. Zur Definition von Bi, Bi simulieren wir dieMaschine M?

i mit Eingabe 1ni . Da wir noch kein Orakel spezifiziert haben,mussen wir angeben, wie auf die Orakelanfragen von M?

i reagiert wird. Dazulegen wir fest:

• Stellt M?i Orakelanfrage x, wobei x ∈ Bi−1, so geht die Simulation von

M?i in den Zustand qja.

• Stellt M?i Orakelanfrage x, wobei x ∈ Bi−1, so geht die Simulation von

M?i in den Zustand qnein.

• Bei allen anderen Orakelanfragen x, geht die Simulation von M?i in

den Zustand qnein und wir setzen Xi := Xi ∪ x.

71

Am Ende dieser Simulation von M?i mit Eingabe 1ni beobachten wir, ob M?

i

mit den oben definierten Antworten auf die Orakelanfragen das Element 1ni

akzeptiert. Akzeptiert M?i das Element 1ni , so setzen wir

Bi := Bi−1 und Bi := Bi−1 ∪ 0, 1ni .

Wird hingegen am Ende der Simulation 1ni abgelehnt, so wahlen wir einwi ∈ 0, 1ni \Xi und setzen

Bi := Bi−1 ∪ wi und Bi := Bi−1 ∪Xi.

Solch ein wi existiert, da in der Simulation von M?i hochstens neii Orakelan-

fragen gestellt werden konnen und nach Definition von ni gilt 2ni > nei .Da ni großer ist als die Lange jedes Elements aus der Vereinigung der

Bj , Bj , j = 0, . . . , i − 1, sind unsere obigen Regeln fur die Beantwortungder Orakelanfragen konsistent und auch die Mengen Bi und Bi erfullen dieEigenschaften in (5.1) und in (5.2).

Wir definieren nunB :=

i≥1

Bi.

Aus der Definition der Mengen Bi folgt nun

1ni ∈ L(MBi )⇔ 1ni 6∈ LB.

Gilt namlich 1ni 6∈ L(MBi ), so wird die oben beschriebene Simulation von

M?i im ablehnenden Zustand enden. Dann aber fuhrt unsere Wahl von wi zu

1ni ∈ LB. Gilt andererseits 1ni ∈ L(MBi ), so wird auch die oben beschriebe-

ne Simulation von M?i im akzeptierenden Zustand enden. Aber dann sorgt

die Setzung von Bi = Bi−1 ∪ 0, 1ni fur 1ni /∈ LB. Damit kann LB durchkeine polynomiell zeitbeschrankte Orakel DTM mit Orakel B entschiedenwerden. Es gilt also LB 6∈ PB.

5.3 Die Polynomialzeithierarchie

Um die Klassen der Polynomialzeithierarchie zu definieren, gehen wir zuruckzu Orakelmaschinen. Sei C eine beliebige Klasse von Sprachen, wir setzendann

P(C) :=

L

es existiert eine polynomiell zeitbeschrankte DOTM M?

und eine Sprache A ∈ C mit L(

MA)

= L

.

72

Analog erhalten wir

NP(C) :=

L

es existiert eine polynomiell zeitbeschrankte NOTM M?

und eine Sprache A ∈ C mit L(

MA)

= L

.

Aus der Definition von Orakelmaschinen erhalten wirNP∪co-NP ⊆ P(NP).Auf Seite 70 haben wir außerdem gesehen, dass MF ∈ NP(NP), denn wirhaben eine nichtdeterministische polynimiell zeitbeschrankte NOTM mitOrakel SAT konstruiert, die MF entscheidet. Jetzt konnen wir die Klassender Polynomialzeithierarchie definieren.

Definition 5.3.1 Wir setzen Σ0 = Π0 = ∆0 = P und definieren danninduktiv fur k ∈ N

1. Σk = NP(Σk−1)

2. Πk = co−Σk

3. ∆k = P(Σk−1)

Schließlich setzen wir

PH :=⋃

k∈N

Σk.

Es gilt also ∆1 = P, Σ1 = NP und Π1 = co-NP. Das folgende Lemmafasst ohne Beweis (Ubung) einige wichtige Relationen zwischen den Klasseder Polynomialzeithierarche zusammen.

Lemma 5.3.2 Fur alle k ∈ N gilt

1. ∆k = co-∆k ⊆ Σk ∩Πk ⊆ Σk ∪Πk ⊆ Σk+1

2. Σk ∪Πk ⊆ ∆k+1

Insgesamt erhalt man fur die Polynomialzeithierarchie ein Bild wie in Ab-bildung 5.1. Kanten zwischen zwei Klassen bedeuten dabei Inklusion.

Der folgende Satz beschreibt eine alternative Charakterisierung der Klas-sen der Polynomialzeithierarchie. Dieser Satz verallgemeinert die Charakte-risierung von NP aus Satz 3.1.4 und von co-NP aus Korollar 3.1.5.

Satz 5.3.3 Eine Sprache L liegt in Σk genau dann, wenn es ein Polynomp : N→ N und eine Sprache A ∈ Πk−1 gibt, so dass

L = x ∃w ∈ 0, 1p(|x|) : (x,w) ∈ A.

73

Abbildung 5.1: Die Polynomialzeithierarchie

Beweis: Sei zunachst die Sprache L derart, dass ein Polynom p : N → N

und eine Sprache A ∈ Πk−1 existieren mit

L = x ∃w ∈ 0, 1p(|x|) : (x,w) ∈ A.

Wir betrachten nun die folgende ONTM M?L mit Orakel A.

M?L : Bei Eingabe x

1. Wahle w nichtdeterminitisch..2. Schreibe (x,w) auf das Orakelband.3. Aus qnein gehe in akzeptierenden Zustand,

aus qja gehen in ablehnenden Zustand.

74

Aus der Definition von L folgt, L(M AL ) = L. Außerdem gilt A ∈ Σk−1,

da A ∈ Πk−1. Insgesamt folgt L ∈ Σk.Sei nun umgekehrt L ∈ Σk. Wir mussen ein Polynom p und eine Sprache

A ∈ Πk−1 konstruieren, so dass

L = x ∃w ∈ 0, 1p(|x|) : (x,w) ∈ A.

Wir beweisen dieses mit vollstandiger Induktion uber k. Fur k = 1 ist aberΣk = NP und die Aussage folgt unmittelbar aus Satz 3.1.4. Sei nun dieAussage bereits fur k − 1 bewiesen. Wir wollen sie auch fur k beweisen.

Nach Voraussetzung liegt L ∈ Σk. Somit gibt es eine polynomiell zeit-beschrankte NOTM M? und eine Sprache K ∈ Σk−1 mit L = L(MK). DaK ∈ Σk−1, existiert nach Induktionsvorausssetzung ein Polynom q : N→ N

sowie eine Sprache S ∈ Πk−2 mit

K = z | ∃w ∈ 0, 1q(|z|) : (z, w) ∈ S. (5.3)

Seien x, y ∈ 0, 1∗ beliebig. Wir fassen dabei y auf als die Beschreibungeiner Berechnung von MK bei Eingabe x. Dabei beschreibt y nicht nur dienichtdeterministischen Wahlen von MK , sondern auch die Orakelanfragendie MK stellt. Außerdem werden auch Antworten auf die Orakelanfragenprotokolliert. Diese in y protokollierten Antworten mussen allerdings nichtkorrekt sein. Seien nun v1, . . . , vs die Anfragen in y, fur die in y die Antwortqja protokolliert ist und u1, . . . , ut die Anfragen aus y, fur die in y die Ant-wort qnein protokolliert ist. Wir sagen, dass y eine akzeptierende Simulationvon MK bei Eingabe x ist, wenn der durch y beschriebenene Berechnungs-pfad von MK bei Eingabe x ein akzeptierender Berechnungspfad ist. Dabeiwerden bei auf dem Berechnungspfad die Orakelanfragen gemaß den in yprotokollierten Antworten beantwortet. Wir setzen

B :=

(x, y)

y beschreibt eine akzeptieren Simulationvon MK bei Eingabe x

.

Da die NOTM M? polynomiell zeitbeschrankt ist, gilt B ∈ P. Außerdemgibt es ein Polynom h : N → N, so dass akzeptierende Simulationen vonMK bei Eingabe x durch y ∈ 0, 1h(|x|) beschrieben werden konnen. Nungilt weiter

x ∈ L⇔ ∃y ∈ 0, 1h(|x|): y beschreibt eine akzeptierende

Simulation von MK bei Eingabe x und

die in y protokollierte Antworten sind korrekt. (5.4)

75

Nun sind die Antworten qja auf die Frage vi, i = 1, . . . , s genau dann korrekt,wenn vi ∈ K. Nach (5.3) ist dieses genau dann der Fall, wenn es ein wi gibtmit (vi, wi) ∈ S. Die Antworten qnein auf die Fragen ui, i = 1, . . . , t, sindgenau dann korrekt, wenn ui ∈ K. Wir definieren

A :=

(x, y, w1, . . . , ws)

(x, y) ∈ B, fur die in y protokollierten mit qnein

beantworteten Orakelanfragen u1, . . . , ut giltui ∈ K, i = 1, . . . , t und fur die in y protokol-lierten mit qja beantworteten Orakelanfragenv1, . . . , vs gilt (vi, wi) ∈ S, i = 1, . . . , s

.

Wir behaupten, A ∈ Πk−1. Um dieses zu sehen, zeigen wir A ∈ Σk−1.Nach Definition gilt aber (x, y, w1, . . . , ws) ∈ A genau dann, wenn eine derfolgenden drei Bedingungen erfullt ist

1. (x, y) ∈ B,

2. es existiert ein i ∈ 1, . . . , t mit ui ∈ K,

3. es existiert ein i ∈ 1, . . . , s mit(vi, wi) ∈ S.

Weiter gilt

• B ∈ Σk−1, da B ∈ P;

• K ∈ Σk−1 nach Voraussetzung;

• S ∈ Σk−1, da S ∈ Πk−2 ⊆ Πk−1.

Damit liegt auch A in Σk−1 und somit A ∈ Πk−1. Mit (5.4) erhalten wir

L := x|∃y, w1, . . . , ws : (x, y, w1, . . . , ws) ∈ A.

Da die Lange von y, w1, . . . , ws außerdem polynomiell durch die Lange vonx beschrankt ist, folgt der Satz.

Aus Satz 5.3.3 und der Definition von Πk erhalten wir unmittelbar

Korollar 5.3.4 Eine Sprache L liegt in Πk genau dann, wenn es ein Poly-nom p : N→ N und eine Sprache A ∈ Σk−1 gibt, so dass

L = x ∀w ∈ 0, 1p(|x|) : (x,w) ∈ A.

Aus Satz 5.3.3 und Korollar 5.3.4 erhalten wir durch vollstandige Induktionuber k die folgende Charakterisierung der Klassen innerhalb der Polynomi-alzeithierarchie.

76

Korollar 5.3.5 1. Eine Sprache L liegt in Σk genau dann, wenn es einPolynom p : N→ N und eine Sprache A ∈ P gibt, so dass

L =

x∃w1 ∈ 0, 1p(|x|)∀w2 ∈ 0, 1p(|x|) · · ·Qkwk ∈ 0, 1p(|x|) :(x,w1, w2, . . . , wk) ∈ A

,

dabei ist Qk = ∃, wenn k ungerade ist, sonst gilt Qk = ∀.

2. Eine Sprache L liegt in Πk genau dann, wenn es ein Polynom p : N→N und eine Sprache A ∈ P gibt, so dass

L =

x∀w1 ∈ 0, 1p(|x|)∃w2 ∈ 0, 1p(|x|) · · ·Qkwk ∈ 0, 1p(|x|) :(x,w1, w2, . . . , wk) ∈ A

,

dabei ist Qk = ∀, wenn k ungerade ist, sonst gilt Qk = ∃.

Dieses Korollar hat weitere interessante Konsequenzen, die wir nun formu-lieren. Auf die Beweise wird in den Ubungen genauer eingegangen.

Korollar 5.3.6 PH ⊆ PSPACE.

Korollar 5.3.7 Existiert ein k ∈ N mit Σk = Πk, so gilt Σl = Πl = Σk =Πk fur alle l ≥ k.

Korollar 5.3.8 Gilt P = NP, so folgt PH = P. Gilt NP = co-NP, sofolgt PH = NP.

77

Kapitel 6

Probabilistische

Komplexitatsklassen

Im letzten Kapitel des Skripts werden wir uns mit probabilistischen Algo-rithmen und Rechenmodellen befassen. Bei Berechnungen mit Hilfe proba-bilistischer Algorithmen werden wir Fehler zulassen. Je nachdem, ob wireinseitige oder beidseitige Fehler erlauben, erhalten wir unterschiedliche Re-chenmodelle. Die Laufzeit wird dabei immer (erwartet) polynomiell sein.Wir werden auch probabilistische Komplexitatsklassen einfuhren. Nichtde-terministische Rechenmodelle und Klassen werden als Extremfalle probabi-listischer Berechnungen auftauchen. Der Versuch, probabilistische Klassenmit den Klassen P und NP zu vergleichen, wird uns zuruck zur Polynomi-alzeithierarchie fuhren.

6.1 Einfache probabilistische Algorithmen

In diesem Abschnitt werden wir zur Vorbereitung auf die Definition probabi-listischer Komplexitatsklassen einen einfachen probabilistische Algorithmenkennen lernen. Dieser Algorithmus entscheidet, ob das Produkt zweier Ma-trizen A und B sich von eine dritten Matrix C unterscheidet. Um Problememit der Darstellung der Matrixeintrage zu vermeiden, arbeiten wir uberdem Korper Z2 mit zwei Elementen. Der Algorithmus kann leicht auf an-dere Korper erweitert werden. Hier sind zunachst die Definitionen der furdiesen Algorithmus relevanten Sprachen. Die Sprache MM besteht aus allenTripeln (A,B,C) ∈ Zn×n2 × Zn×n2 × Zn×n2 mit A · B = C, dabei ist n einebeliebige naturliche Zahl.

MM :=

(A,B,C) ∈ Zn×n2 × Zn×n2 × Zn×n2 n ∈ N, A ·B = C

78

Wir sind allerdings hauptsachlich am Komplement MM von MM interessiert.Dieses Komplement ist definiert als

MM :=

(A,B,C) ∈ Zn×n2 × Zn×n2 × Zn×n2 n ∈ N, A ·B 6= C

Naturlich kann sowohl MM als auch MM in Zeit O(n3) entschieden, indemdas Produkt A · B explizit berechnet und dann mit C verglichen wird. Diefolgende TM wird in gewisser Weise ebenfalls die Sprache MM entscheiden.Die TM hat nur quadratische Laufzeit.

MMM : Bei Eingabe A,B,C ∈ Zn×n2

1. Wahle x ∈ Zn2 zufallig gleichverteilt.2. Berechne y := B · x, z := A · y und w := C · x.3. Akzeptiere, falls z 6= w, sonst lehne ab.

Die Laufzeit von MMM ist, wie man leicht sieht, O(n2). D.h., da jededer drei Matrizen selber bereits Große n2 besitzt, ist die Laufzeit linear inder Eingabegroße. Im ersten Schritt der Beschreibung von MMM hatten wirauch schreiben konnen

”Wahle ein x nichtdeterministisch.“ Allerdings ist die

Formulierung zufallig gleichverteilt fur unsere Zwecke angemessener. MMM

ist eine NTM, die die Sprache MM entscheidet. Allerdings haben wir imFall (A,B,C) ∈ MM nicht nur mindestens eine akzeptierende Berechnung.Vielmehr ist mindestens die Halfte aller Berechnungen akzeptierend. Diesesist die Aussage des folgenden Lemmas

Lemma 6.1.1 Fur alle A,B,C ∈ Zn×n2 gilt

1. Wenn (A,B,C) 6∈ MM, dann lehnt MMM

das Tripel (A,B,C) ab.

2. Wenn (A,B,C) ∈ MM, dann akzeptiert MMM

das Tripel (A,B,C) mitWahrscheinlichkeit 1/2, wobei die Wahrscheinlichkeit uber die zufalligeWahl von x genommen ist.

Beweis:

1. Folgt unmittelbar aus der Arbeitsweise von MMM, da in diesem FallA ·B · x = C · x fur alle x ∈ Zn2 .

2. Sei D := A · B − C ∈ Zn×n2 . Es gilt D 6= 0. Damit ist der Kernvon D nicht der ganze Raum Zn2 . Dann aber kann der Kern von D

79

hochstens (n−1)-dimensional sein, insbesondere enthalt der Kern vonD hochstens 2n−1 Elemente. Schließlich gilt

Prx∈Zn2

(

MMM akzeptiert (A,B,C))

=

Prx∈Zn2

(

x liegt nicht im Kern von D = A ·B − C)

≥ 1− 2n−1

2n=

1

2.

6.2 Probabilistische Komplexitatsklassen

Wir werden probabilistische Berechnungen als Spezialfall nichtdetermini-stischer Berechnungen auffassen. Dazu benotigen wir zunachst eine (nichtwesentliche) Einschrankung bei NTMs.

Definition 6.2.1 Sei N = (Q,Σ,Γ, δ) eine NTM. N heißt balanciert, wennes eine Funktion f : N→ N gibt, so dass fur alle x ∈ Σ∗ die moglichen Be-rechnungen von N bei Eingabe x immer die Lange f(|x|) besitzen. Berech-nungspfade von N bei Eingabe x werden dann mit Elementen aus 0, 1f(|x|)

identifiziert.

Jede NTM kann ersetzt werden durch eine balancierte NTM, die die gleicheSprache akzeptiert und etwa dieselbe Laufzeit besitzt. Insbesondere kannjede NTM mit polynomieller Laufzeit durch eine balancierte NTM mit po-lynomieller Laufzeit simuliert werden. Daher werden wir in diesem Abschnittimmer annehmen, dass NTMs balanciert sind. Ist die NTM N = (Q,Σ,Γ, δ)balanciert und ist p : N→ N ein Polynom, so dass fur alle x ∈ Σ∗ die NTMN Laufzeit p(|x|) hat, so nennen wir N p-balanciert.

Definition 6.2.2 Die Klasse RP besteht aus allen Sprachen L, so dasses ein Polynom p : N → N und eine p-balancierte NTM N mit folgendenEigenschaften gibt

1. Ist w 6∈ L, so lehnen alle Berechnungspfade von N bei Eingabe w ab.

2. Ist w ∈ L, so akzeptieren mindestens die Halfte aller Berechnungspfa-de, es gibt dann also mindestens 2p(|w|)−1 akzeptierende Berechnungs-pfade.

80

Wir konnen die Bedingungen an die NTMN aus Definition 6.2.2 auch andersformulieren:

1. Ist w 6∈ L, so gilt

Pry∈0,1p(|x|)

(N akzeptiert w auf Berechnungspfad y) = 0.

2. Ist w ∈ L, so gilt

Pry∈0,1p(|x|)

(N akzeptiert w auf Berechnungspfad y) ≥ 1

2.

Dabei sind die Wahrscheinlichkeiten jeweils uber die zufallige gleichverteilteWahl eines Berechnungspfades genommen. In der NTM MMM konnen wirnun die zufallige Wahl von x ∈ Zn2 als zufallige Wahl eines Berechnungs-pfades einer NTM auffassen. Wir haben damit also im vorangegangenenAbschnitt mit Hilfe der NTM MMM gezeigt, dass MM ∈ RP.

Aus der Definition von RP ergibt sich unmittelbar P ⊆ RP. Außerdemgilt auchRP ⊆ NP, denn wenn mindestens die Halfte aller Berechnungspfa-de akzeptierend sind, gibt es auch mindestens einen. Das genau Verhaltnisvon P,RP und NP ist (naturlich) nicht bekannt.

In der Definition von RP gibt es ahnlich wie bei NP eine Asymmetriezwischen Akzeptieren und Ablehnen bzw. zwischen Worten in einer SpracheL ∈ RP und den Worten, die nicht in L liegen. So kann man bei einerNTM, die eine Sprache L in RP definiert, der Antwort

”akzeptiere“ immer

trauen. Der Antwort”lehne ab“ kann hingegen nicht getraut werden. Dieses

ist analog wie bei NP. Aus diesem Grunde ist auch nicht klar, ob mit einerSprache auch ihr Komplement inRP liegt. Damit ist das Verhaltnis zwischenRP und co-RP nicht klar. Dabei liegt eine Sprache L liegt genau dann imKomplement co-RP der Klasse RP, wenn es eine p-balancierte NTM N mitfolgenden Eigenschaften gibt

1. Ist w ∈ L, so akzeptieren alle Berechnungspfade von N bei Eingabew.

2. Ist w 6∈ L, so lehnen mindestens die Halfte aller Berechnungspfade ab,es gibt dann also mindestens 2p(|w|)−1 ablehnende Berechnungspfade.

Bei einer NTM N , die eine Sprache in co-RP entscheidet, kann also denablehnenden Antworten nicht jedoch den akzeptierenden Antworten getrautwerden. Interessant sind die Sprachen im Durchschnitt von RP und co-RP.

81

Definition 6.2.3 Die Klasse ZPP besteht aus allen Sprachen im Durch-schnitt RP ∩ co-RP.

Man kann sich leicht uberlegen, dass eine Sprache genau dann in ZPP liegt,wenn es eine NTM N mit erwartet polynomieller Laufzeit gibt, die L ent-scheidet. Dabei sind die Antworten von N immer korrekt. Genaueres hierzukann in den Buchern von Papadimitriou und Sipser nachgelesen werden.

Sowohl beiRP als auch bei co-RP haben wir nur einen einseitigen Fehlerzugelassen. Damit war entweder nur akzeptierenden oder nur ablehnendenAntworten zu trauen. In der folgenden Klasse lassen wir nun einen beidsei-tigen Fehler zu.

Definition 6.2.4 Die Klasse BPP besteht aus allen Sprachen L, so dasses ein Polynom p : N → N und eine p-balancierte NTM N mit folgendenEigenschaften gibt

1. Ist w 6∈ L, so akzeptieren hochstens 1/4 aller Berechnungspfade ab, esgibt dann also hochstens 1

42p(|w|) ablehnende Berechnungspfade.

2. Ist w ∈ L, so akzeptieren mindestens 3/4 aller Berechnungspfade, esgibt dann also mindestens 3

42p(|w|) akzeptierende Berechnungspfade.

Wie beiRP konnen wir die Bedingungen an die NTM N aus Definition 6.2.4auch durch Wahrscheinlichkeiten ausdrucken:

1. Ist w 6∈ L, so gilt

Pry∈0,1p(|x|)

(N akzeptiert w auf Berechnungspfad y) ≤ 1

4.

2. Ist w ∈ L, so gilt

Pry∈0,1p(|x|)

(N akzeptiert w auf Berechnungspfad y) ≥ 3

4.

BPP wird haufig als die Klassen aller effizient losbaren Problemen angese-hen. Dies mag zunachst angesichts der ober angefuhrten Wahrscheinlichkei-ten etwas uberraschend sein. Jedoch kann mit den so genannten Chernoff-Schranken der Wahrscheinlichkeitstheorie folgendes Lemma gezeigt werden.

Satz 6.2.5 Eine Sprache L liegt genau dann in BPP, wenn es ein Polynomp : N→ N und eine p-balancierte NTM N mit folgenden Eigenschaften gibt

82

1. Ist w ∈ L, so besitzt N bei Eingabe w mindestens(

1 − 2−|w|)

2p(|w|)

akzeptierende Berechnungspfade.

2. Ist w 6∈ L, so besitzt N bei Eingabe w hochstens 2−|w|2p(|w|) akzeptie-rende Berechnungspfade.

Wir konnen also die Fehlerwahrscheinlichkeiten fur Sprachen in BPP sehrklein machen. Damit spielen dann die Fehler fast keine Rolle mehr. Wirentscheiden dann also Sprachen in polynimieller Zeit und machen dabei nurvernachlassigbar kleine Fehler.

Aus der Definition von BPP folgt P ⊆ BPP. Ob BPP in NP enthaltenist, ist unbekannt. Wollen wir BPP mit deterministischen und nichtdeter-ministischen Klassen vergleichen, mussen wir zur so genannten Polynomial-zeithierarchie ubergehen.

6.3 BPP und die Polynomialzeithierarchie

Ziel dieses Abschnitts ist der Beweis des folgenden Satzes.

Satz 6.3.1 BPP ⊆ Σ2.

Beweis: Sei L ∈ BPP. Nach Definition von BPP und Satz 6.2.5 existiertdann ein Polynom p : N→ N und eine p-balancierte NTM N mit

1. Ist w ∈ L, so besitzt N bei Eingabe w mindestens(

1 − 2−|w|)

2p(|w|)

akzeptierende Berechnungspfade.

2. Ist w 6∈ L, so besitzt N bei Eingabe w hochstens 2−|w|2p(|w|) akzeptie-rende Berechnungspfade.

Sei x mit |x| = n. Wir konnen dann Berechnungspfade von N bei Eingabex mit Elementen aus 0, 1p(n) identifizieren. Wir bezeichnen weiter mit

A(x) :=

(w ∈ 0, 1p(n)

w ist akzeptierender Berechnungspfad von Nbei Eingabe x

.

Damit gilt alsox ∈ L⇒ |A(x)| ≥

(

1− 2−n)

2p(n)

undx 6∈ L⇒ |A(x)| ≤ 2−n2p(n).

83

Sind y, z ∈ 0, 1p(n), so bezeichnen wir mit y⊕z das komponentenweise Xorvon y und z. Außerdem setzen wir fur ein beliebiges Element t ∈ 0, 1p(n)

t⊕A(x) := t⊕ z v ∈ A(x).

Sind nun t1, . . . , tp(n) ∈ 0, 1p(n) und ist x 6∈ L, so gilt

p(n)⋃

i=1

ti ⊕A(x) ≤ p(n)2−n2p(n).

Wir nehmen nun an, dass fur alle n gilt p(n) < 2n. Fur n groß genug istdieses sicherlich der Fall. Die Annahme, dass die Ungleichung fur alle n gilt,vereinfacht die Notation etwas. Damit gilt

x 6∈ L⇒ ¬

∃t1 . . . , tp(n) ∈ 0, 1p(n) :

p(n)⋃

i=1

ti ⊕A(x) = 0, 1p(n)

. (6.1)

Wir wollen nun zeigen, dass im Fall x ∈ L Elemente t1, . . . , tp(n) existierenmit

p(n)⋃

i=1

ti ⊕A(x) = 0, 1p(n). (6.2)

Wir zeigen dieses, indem wir zeigen, dass fur eine zufallige Wahl von t1, . . . , tp(n)

mit Wahrscheinlichkeit echt großer 0 die Gleichung (6.2) erfullt ist.Seien also t1, . . . , tp(n) ∈ 0, 1p(n) unabhangig gleichverteilt gewahlt.

Weiter sei y ∈ 0, 1p(n) fest. Dann gilt y 6∈ ti ⊕ A(x) ⇔ ti 6∈ y ⊕ A(x). Daaber das Komplement von y ⊕ A(x) fur x ∈ L hochstens 2−n2p(n) Elemententhalt, gilt uber die zufallige Wahl von ti fur alle i = 1, . . . , p(n)

Pr(

y 6∈ ti ⊕A(x))

= Pr(

ti 6∈ y ⊕A(x))

le2−n.

Da die ti unabhangig gewahlt werden, folgt weiter

Pr(

y 6∈p(n)⋃

i=1

ti ⊕A(x))

≤ 2−np(n).

Damit konnen wir fur x ∈ L schließen

Pr(

∃y ∈ 0, 1p(n) : y 6∈p(n)⋃

i=1

ti ⊕A(x))

≤ 2n · 2−np(n) = 2−n(p(n)−1) < 1

84

oder

Pr(

p(n)⋃

i=1

ti ⊕A(x) = 0, 1p(n))

> 0.

Damit erhalten wir

x ∈ L⇒ ∃t1 . . . , tp(n) ∈ 0, 1p(n) :

p(n)⋃

i=1

ti ⊕A(x) = 0, 1p(n). (6.3)

Wir konnen nun (6.1) und (6.3) zusammenfassen durch

x ∈ L⇔ ∃t = (t1, . . . , tp(n)) ∈ 0, 1p(n)2∀y ∈ 0, 1p(n) :

y ∈p(n)⋃

i=1

ti ⊕A(x). (6.4)

Betrachten nun die Sprache

A :=

(x, y, t) ∈ 0, 1n×p(n)×p(n)2 t = (t1, . . . , tp(n)), y ∈p(n)⋃

i=1

ti ⊕A(x)

.

Die Sprache A liegt in P, denn um zu entscheiden, ob ein Tripel (x, y, t)mit t = (t1, . . . , tp(n)) in A liegt, muss die NTM N nur mit Eingabe x undden durch y ⊕ ti, i = 1, . . . , p(n), gegebenen Berechnungspfaden simuliertwerden. Dieses sind aber insgesamt nur polynomiell viele Berechnungen derpolynomiell zeitbeschrankten NTM N . Wir konnen (6.4) umschreiben zu

x ∈ L⇔ ∃t = (t1, . . . , tp(n)) ∈ 0, 1p(n)2∀y ∈ 0, 1p(n) : (x, y, t) ∈ A.

Da A ∈ P, folgt mit Korollar 5.3.5, dass L in Σ2 liegt.

Korollar 6.3.2 BPP ⊆ Σ2 ∩Π2.

Beweis: Da BPP unter Komplementbildung abgeschlossen ist, d.h. BPP =co-BPP, folgt aus BPP ⊆ Σ2 auch BPP ⊆ Π2 und somit BPP ⊆ Σ2∩Π2.

Korollar 6.3.2 ist etwas enttauschend. Vermutet werden auch viel starkereResultate. Allgemein angenommen wird BPP ⊆ NP. Außerdem gibt esIndizien, die sogar auf BPP = P hindeuten.

85