• Keine Ergebnisse gefunden

Satz: CVP ist P-vollständig

17.2 P-Vollständigkeit 126

17.2.3 Satz: CVP ist P-vollständig

17-17 Das Hauptresultat. 17-17

Satz

cvp istP-vollständig.

Dies bedeutetzwar nicht, dass sich CVP nicht gut parallel auswerten lässt, macht es aber

»unwahrscheinlich«.

17-18 Wie beweist man Vollständigkeit? 17-18

Die Bootstrapping-Methode.

Ausgangslage

SeiCeine Sprachklasse undX ein Problem. Wir wollen zeigen, dassX vollständig ist für C.

Bootstrapping-Methode

1. Man zeigt zunächstXCmittels eines konkreten Algorithmus.

2. Man zeigt dann für jedes Problem inAC, dassAlogm X gilt.

Diese Methode ist »anstrengend«.

Beim »ersten Mal« ist sie aber nicht zu vermeiden.

Den Satz von Cook beweist man durch Bootstrapping.

Wir werden die P-Vollständigkeit von CVP auch so beweisen müssen.

17-19 Wie beweist man Vollständigkeit? 17-19

Die Reduktions-Methode.

Ausgangslage

Sei C eine Sprachklasse und X ein Problem. Wir wollen zeigen, dassX vollständig ist fürC. Wir kennen schon ein ProblemY, dass vollständig ist fürC.

Reduktions-Methode

1. Man zeigt zunächstXCmittels eines konkreten Algorithmus.

2. Man zeigt dannYlogm X. Diese Methode ist »oft einfach«.

Fast alle Vollständigkeitsbeweise benutzen diese Methode.

17-20 CVP ist in P. 17-20

Lemma (Erster Beweisteil) cvp∈P.

Zur Übung

Skizzieren Sie den Beweis.

17 Untere Schranken I

17.2 P-Vollständigkeit 129

17-21 Reduktion beliebiger Probleme aus P. 17-21

Lemma (Zweiter Beweisteil)

Sei A∈P ein beliebiges Problem. Dann giltAlogm cvp. Grobes Ziel

Seixeine Eingabe für die Reduktion.

Wir wollen herausfinden, obxA gilt.

Dazu müssen wir (in logarithmischem Platz) einen Schaltkreis C konstruieren mit folgenden Eigenschaften:

1. GiltxA, so wertetCzu1 aus.

2. Giltx∈/A, so wertetCzu0 aus.

17-22 Visualisierung der groben Idee der Reduktion. 17-22

Eigentliche Frage

xA? f(x)∈cvp?

»Ja!«

»Ja!«

f

(Reduktionsfunktion)

Ergebnis übernehmen

Firma/Gott/

Aliens

17-23 Übersicht zum Beweis. 17-23

Im Folgenden sollen folgende Punkte angesprochen werden:

1. Einige Vereinfachungen

2. Aufbau des Schaltkreises

3. Aufbau der Boxen im Schaltkreis

4. Eigenschaften des Schaltkreises

5. Wie schwierig ist es, den Schaltkreis zu konstruieren?

17-24 Von der Maschine zum Schaltkreises. 17-24

Sei M eine Polynomialzeit-Turingmaschine, die A entscheidet. Dann muss der zu konstruierende SchaltkreisCfolgende Eigenschaft haben:

1. AkzeptiertM die Eingabex, so wertetC zu1aus.

2. VerwirftM die Eingabex, so wertetCzu0 aus.

Wir beginnen mit ein paar Vereinfachungen:

Die MaschineM habe nur ein Band.

Das Band der MaschineM seieinseitig beschränkt. Es gibtgenau eineakzeptierende Endkonfiguration.

Bei dieser Endkonfiguration ist der Kopf am Anfang. Wir führen folgende Bezeichnungen ein:

Die Laufzeit der Maschine bei Eingaben der Länge n seigenau p(n)für ein festes Polynom p.

Die Länge der Eingabexheißen.

130 17 Untere Schranken I 17.2 P-Vollständigkeit

17-25 Grober Aufbau des Schaltkreises. 17-25

Wir bauen den Schaltkreis grob wie folgt:

Er besteht aus p(n)Schichten.

An den Ausgabegattern derk-ten Schicht liegtkodiert diek-te Bandkonfiguration an. An den Eingabegattern derk-ten Schicht liegtkodiert die(k−1)-te Bandkonfiguration

an.

Die Kodierung einer Bandkonfiguration funktioniert wie folgt:

Um eine Bandzelle zu kodieren, benutzen wir mehrere Leitungen.

Ist das BandalphabetΓ, so können in einer Zelle |Γ| verschiedene Symbole stehen;

wir benutzen deshalblog|Γ| Leitungen zur Kodierung des Zelleninhalts.

Zusätzlich benutzt man noch pro Zelle eine Leitung, um zu signalisieren, ob der Kopf dort ist.

Schließlich benutzen wir noch log|Q|Leitungen, um den aktuellen Zustand der Tu- ringmaschine zu kodieren.

17-26 Was leistet der Schaltkreis? 17-26

Betrachtet man die Leitungen, die in dieersteSchicht hineinführen, so kodieren sie genau die Anfangskonfiguration.

Betrachtet man die Leitungen, die in diezweiteSchicht hineinführen, so kodieren sie genau den Bandinhalt nach einem Schritt.

Betrachtet man die Leitungen, die in diedritte Schritt hineinführen, so kodieren sie genau den Bandinhalt nach zwei Schritten.

Betrachtet man die Leitungen, die in die p(n)-teSchritt hineinführen, so kodieren sie genau den Bandinhalt der Endkonfiguration.

Schaltet man also noch einen winzigen Schaltkreis nach, der überprüft, ob diese Endkonfiguration akzeptierend ist, so leistet der Schaltkreis das Gewünschte:

Er wertet zu 1 aus genau dann, wenn die Maschine die Eingabe akzeptiert.

17-27 Eine Beispielsituation. 17-27

Die Symbole des BandalphabetsΓ={a,b,} werden kodiert durch00,01,10. Es gibt vier Zustände{q0,q1,q2,q3}, kodiert durch00,01,10und 11.

Der initiale Bandinhalt istab, der initiale Zustand istq1und der Kopf ist initial auf erstem Zeichen (dema).

Nach einem Schritt ist der Bandinhalt bb, der Zustand ist q2 und der Kopf auf dem zweiten Zeichen.

Nach zwei Schritten ist der Bandinhalt ba, der Zustand istq2und der Kopf auf dem dritten Zeichen.

Nach p(n)−1 Schritten ist der Bandinhalt aaa, der Zustand ist q3 und der Kopf auf dem ersten Zeichen.

Akzeptierender Zustand ist genauq3.

17-28 Visualisierung der Schichtenstruktur des Schaltkreises. 17-28

0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0

Symbola Zustandq1 Kopfhier Symbolb ignoriert Kopfwoanders Symbol ignoriert Kopfwoanders Symbol ignoriert Kopfwoanders

Schicht-Verknüpfungs-Schaltkreis Schicht-Verknüpfungs-Schaltkreis

Schicht-Verknüpfungs-Schaltkreis

0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0

0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

...

17 Untere Schranken I

17.2 P-Vollständigkeit 131

17-29 Was in den Schicht-Verknüpfungs-Schaltkreisen passiert. 17-29

Wir wollen einen (flachen) Schaltkreis angeben, derSchicht i mit Schichti+1 ver- knüpft.

Dieser Schaltkreis besteht aus p(n)vielenBoxen.

Jede Box kümmert sich darum, den Bandinhalt einer bestimmten Zellezzu berechnen.

Dazu muss sie lediglich die Inhalte der Zelle z in der vorherigen Schicht kennen, sowie die Inhalte der Zelle links und rechts davon.

17-30 Aufbau eines Schicht-Verknüpfungs-Schaltkreises. 17-30

0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0

Symbola Zustandq1 Kopfhier Symbolb ignoriert Kopfwoanders Symbol ignoriert Kopfwoanders Symbol ignoriert Kopfwoanders

Box Box Box Box

Box Box Box Box

0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0

0 1 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0

17-31 Wie schwierig ist der Schaltkreis zu bauen? 17-31

Was wir erreicht haben:

Zu jeder beliebigen Eingabe xkönnen wir einen Schaltkreis konstruieren, der genau dann zu1 auswertet, wennM das Wortxakzeptiert.

Was fehlt:

Wie schwierig ist es, den Schaltkreis zu konstruieren?

Antwort hierauf:

Dies ist einfach, daalle Boxen identisch sind.

Der Schaltkreis besteht im Wesentlichen aus p(n)2 Boxen, die in einfacher Weise verdrahtet sind.

Es ist leicht, in logarithmischem Platz in einer Schleife p(n)2 Boxen (fester Größe!) auszugeben.

Die Verdrahtung ist etwas fummeliger, aber auch nicht schwierig.

132 17 Untere Schranken I Übungen zu diesem Kapitel