Nichtdeterministische Zeit- und Platzkomplexität

Werbung
Wolfgang Merkle, Universität Heidelberg, Institut für Informatik
Begleitmaterial zur Vorlesung Berechenbarkeit und Komplexität I im
Sommersemester 2016, Teil 1 : Komplexitätstheorie
Nichtdeterministische Zeit- und Platzkomplexität
Nicht notwendigerweise deterministische Turingmaschinen
Bisher haben wir Zeit- und Platzschranken nur für deterministische Turingmaschinen eingeführt. In diesem Abschnitt lassen wir diese Einschränkung
fallen und betrachten auch beliebige, also nicht notwendigerweise deterministische Turingmaschinen. Um den Unterschied zwischen diesem allgemeinen
Fall und dem Spezialfall deterministischer Turingmaschinen hervorzuheben,
werden wir Formulierungen verwenden wie nichtdeterministische Turingmaschine oder nichtdeterministische Zeitkomplexität. Damit ist immer gemeint,
das wir Turingmaschinen betrachten, die nicht notwendigerweise deterministisch sind, also beliebige Turingmaschinen. Insbesondere bedeuten die Begriffe nichtdeterministische Turingmaschine und Turingmaschine dasselbe.
Rechnungsbäume
Im Gegensatz zu den in den letzten Abschnitten betrachteten deterministischen Turingmaschinen, kann das Programm einer nichtdeterministischen
Turingmaschinen mehrere Anweisungen mit gleichen Bedingungsteil enthalten. Zum Beispiel kann das Programm δ einer k-Band-Turingmaschine M
drei Anweisungen der folgenden Form enthalten:
(q, a1 , . . . , ak , p , b1 , . . . , bk , B1 , . . . , Bk ),
(q, a1 , . . . , ak , p0 , b01 , . . . , b0k , B10 , . . . , Bk ),
(q, a1 , . . . , ak , p00 , b001 , . . . , b00k , B100 , . . . , Bk00 ).
Erreicht die Rechnung von M eine Konfiguration K mit Zustand q und gelesenen Symbolen a1 bis ak , so kann jede der drei Anweisungen ausgeführt
werden und es gibt entsprechend drei, im Allg. paarweise verschiedene Nachfolgekonfigurationen, die von K aus jeweils in einem Schritt erreicht werden
können. Anstelle einer eindeutig bestimmten Rechnung in Form einer Folge von Konfigurationen wie im deterministischen Fall ergeben sich mehrere
mögliche Rechnungen, die sich, ausgehend von der Startkonfiguration, immer weiter verzweigen und als Pfade der im Folgenden eingeführten Rechnungsbäume beschrieben werden können.
2
W. Merkle
Komplexitätstheorie
SS 2016
Wir betrachtete Graphen der Form G = (V, E) deren Knotenmenge V endlich oder abzählbar unendlich ist, die Kantemenge E ist eine Teilmenge
von V × V . Die Graphen sind einfach und ungerichtet, die Kantemenge E
enthält also keine Schleifen, das sind Kanten der Form (u, u), und mit jedem
Paar (u, v) enthält E auch das Paar (v, u).
Definition 36. Ein Weg (auch: Pfad) in einem Graphen ist eine endliche
oder unendliche Folge von paarweise verschiedenen Knoten des Graphen, so
dass zwischen je zwei direkt aufeinander folgenden Knoten der Folge eine
Kante verläuft. Ein endlicher Pfad der Form v0 , . . . , v` hat Länge `.
Ein Baum ist ein ungerichteter Graph T = (V, E) mit endlicher oder abzählbar unendlicher Knotenmenge V , so dass es zwischen je zwei Knoten in V
genau einen Pfad in T gibt (die letzte Bedingung ist äquivalent dazu, dass T
zusammenhängend ist und keine Kreise enthält). Ein Baum mit Wurzel
ist ein Baum mit einem ausgezeichneten Knoten, der Wurzel. In einem
Baum mit Wurzel ist die Tiefe eines Knotens gleich der Länge des (eindeutig bestimmten) Pfades von der Wurzel zu diesem Knoten. In einem Baum
mit Wurzel unterscheidet sich die Tiefe von benachbarten Knoten u und v
genau um 1, und hat für ein solches Paar der Knoten u die kleinere Tiefe,
dann heißt u Elternknoten von v und der Knoten v heißt Kind von u.
Ein Knoten ohne Kinder heißt Blatt.
Eine Beschriftung eines Graphen ist eine Abbildung κ von der Menge der
Knoten des Graphen in eine Menge L; man sagt, die Knoten des Graphen
sind mit Elementen von L beschriftet und κ(v) heißt die Inschrift des
Knotens v. Ein beschrifteter Graph ist ein Graph zusammen mit einer
Beschriftung des Graphen.
Definition 37. Es sei M = (Q, Σ, Γ, δ, q0 , F ) eine Turingmaschine. Der
Rechnungsbaum T(M, x) von M bei Eingabe x ist ein beschrifteter Baum
mit Wurzel, dessen Knoten mit Konfigurationen von M beschriftet sind und
der induktiv wie folgt definiert ist.
(i) Die Wurzel ist mit der Startkonfiguraton startM (x) beschriftet.
(ii) Ist ein Knoten mit einer Stoppkonfiguration beschriftet, so ist dieser
Knoten ein Blatt, hat also keine Kinder.
(iii) Ist ein Knoten mit einer Konfiguration K beschriftet, auf die genau t >
0 Anweisungen aus δ anwendbar sind und erreicht man für i = 1, . . . , t
durch Anwendung der i-ten dieser Anweisungen die Konfiguration Ki ,
so hat dieser Knoten genau t Kinder und das i-te Kind wird mit Konfiguration Ki beschriftet (für geeignete Ordnungen auf δ und auf der
Menge der Kinder eines gegebenen Knotens).
W. Merkle
Komplexitätstheorie
SS 2016
3
Bemerkung 38. Die Rechnungen eine Turingmaschine M bei Eingabe x
können mit den in der Wurzel w beginnenden maximalen Pfaden des Rechenbaums T(M, x) identifiziert werden.
Ein Pfad ist dabei maximal, falls er nicht verlängert werden kann. Die in
der Wurzel beginnenden maximalen Pfade sind gerade die Pfade von der
Wurzel zu einem Blatt und die in der Wurzel beginnenden unendlichen Pfade. Nach Konstruktion des Rechenbaums T(M, x) entsprechen für solche
endlichen oder unendlichen Pfade der Form w = v0 , v1 , . . . die zugehörigen
Folgen κ(v0 ), κ(v1 ), . . . der Inschriften gerade den endlichen beziehungsweise
unendlichen Rechnungen von M bei Eingabe x.
Definition 39. In einem Baum mit Wurzel ist der Verzweigungsgrad
eines Knoten gleich der Anzahl seiner Kinder. Ein Baum mit Wurzel hat
konstanten Verzweigungsgrad, falls für eine Konstante k jeder seiner
Knoten Verzweigungsgrad höchstens k hat. Ein Baum mit Wurzel ist endlich verzweigend, falls jeder seiner Knoten endlichen Verzweigungsgrad
hat.
Bemerkung 40. Rechenbäume vonTuringmaschinen haben immer konstanten Verzweigungsgrad. Genauer gibt es zu jeder Turingmaschine M eine
Konstante k, so dass alle Knoten in allen Rechenbäumen von M Verzweigungsgrad höchstens k haben.
Für eine gegebene Turingmaschine M betrachte die maximale Anzahl k von
Anweisungen im Programm von M , die alle den gleichen Anweisungsteil
haben. Nach Definition kann jeder Knoten eines Rechenbaums der Turingmaschine M höchstens k Kinder haben.
Königs Lemma. Sei T ein endlich verzweigender Baum mit Wurzel. Dann
enthält T genau dann einen unendlichen Pfad, wenn T unendlich ist.
Beweisskizze. Die Vorwärtsrichtung der behaupteten Äquivalenz ist offensichtlich: wenn T einen unendlichen Pfad enthält, muss T auch unendlich
viele Knoten enthalten. Sei nun umgekehrt T unendlich. Dann erhalten wir
induktiv einen unendlichen Pfad v0 , v1 , . . . wie folgt. Am Beginn der Konstuktion setzen wir v0 gleich der Wurzel von T . Im Induktionsschritt nehmen
wir an, dass vi schon bestimmt und der Teilbaum von T unter vi unendlich
sei. Dann setzen wir vi+1 gleich dem kleinsten Kind von vi , so dass der Teilbaum von T unterhalb dieses Kindes unendlich ist. Letztere Bedingung ist
nach Annahme über vi für mindestens eines der endlich vielen Kinder von vi
erfüllt. Es folgt nun induktiv, dass die Teilbäume unter allen vi unendlich
sind, dass deswegen jeweils vi+1 wie gefordert bestimmt werden kann und
somit T einen unendlichen Pfad hat.
4
W. Merkle
Komplexitätstheorie
SS 2016
Aus Bemerkung 40 und Königs Lemma folgt unmittelbar, dass Rechenbäume
von totalen Turingmaschinen immer endlich sind. Der folgende Satz erweitert diese Aussage insofern, als man für jede totale Turingmaschine die Tiefen ihrer Rechnungsbäume berechnen kann.
Satz 41. Es sei M eine totale Turingmaschine. Dann sind alle Rechenbäume
von M endlich. Weiter gibt es eine berechenbare Funktion t, so dass für alle x die Tiefe des Rechenbaums von M bei Eingabe x gleich t(|x|) ist.
Beweis. Im Absatz vor Satz 41 wurde bereits gezeigt, dass die Rechenbäume
einer totalen Turingmaschine immer endlich sind. Dann kann man aber auch
zu gegebenem x den Rechenbaum T(M, x) und damit auch dessen Tiefe berechnen, indem man die Rechnungen von M bei Eingabe x solange simuliert,
bis diese alle terminiert haben.
Nichtdeterministische Zeit- und Platzkomplexität
Erinnerung: eine Turingmaschine M akzeptiert eine Eingabe w, falls bei
Eingabe w mindestens eine Rechnung von M eine akzeptierende Stoppkonfiguration erreicht. Die von einer Turingmaschine M erkannte Sprache L(M )
ist die Menge aller Wörter über dem Eingabealphabet von M , welche M akzeptiert.
Definition 42 (nichtdeterministische Zeitklassen). Es sei t eine Zeitschranke. Eine Turingmaschine M ist t(n)-zeitbeschränkt, falls M total ist und
für fast alle Eingaben w alle Rechnungen von M Länge höchstens t(|w|) haben. Die Klasse der in nichtdeterministischer Zeit t(n) entscheidbaren Sprachen ist
NTIME(t(n)) ={L ⊆ {0, 1}∗ : L = L(M ) für eine
t(n)-zeitbeschränkte Turingmaschine M.}
Definition 43 (nichtdeterministische Platzklassen). Es sei s eine Platzschranke. Eine Turingmaschine M ist s(n)-platzbeschränkt, falls M total ist und für fast alle Eingaben w alle Rechnungen von M auf jedem Band
höchstens s(|w|) Felder besuchen. Die Klasse der in nichtdeterministischem Platz s(n) entscheidbaren Sprachen ist
NSPACE(s(n)) ={L ⊆ {0, 1}∗ : L = L(M ) für eine
s(n)-platzbeschränkte Turingmaschine M.}
W. Merkle
Komplexitätstheorie
SS 2016
5
Definition 44 (Beispiele nichtdeterministischer Zeit- und Platzklassen).
Unter Verwendung der Funktionsklassen
log = {n 7→ c · log n + c : c ∈ N} und poly = {n 7→ nc + c : c ∈ N}
definieren wir die Komplexitätsklassen
N P = NTIME(poly),
N EX P = NTIME(2poly ) =
[
N LOG = NSPACE(log),
c∈N
N PSPACE
c +c
NTIME(2n
),
= NSPACE(poly).
und sprechen zum Beispiel im Fall von N P von der Klasse der in nichtdeterministischer polynomieller Zeit entscheidbaren Problemen.
Für eine t(n)-zeitbeschränkte Turingmaschinen ist die Tiefe des Rechnungsbaums bei fast allen Eingabe w durch t(|w|) beschränkt, da keine Rechnung
länger sein kann als die zulässige Anzahl von Rechenschritten. Das folgende
Lemma enthält eine entsprechend Schranke für platzbeschränkte Turingmaschinen.
Erinnerung: Konfiguratione von Turingmaschinen enthalten den aktuellen
Zustand sowie für jedes Arbeitsband den endlichen relevanten Teil der Bandinschrift und die Kopfposition. Bei den im Zusammenhang mit platzbeschränkten Berechnungen betrachteten Offline-Turingmaschinen kommt noch
die Position auf dem Eingabeband hinzu, die Inhalte des Ein- und Ausgabebandes dagegen sind nicht Teil der Konfiguration.
Lemma 45 (Konfigurationen von platzbeschränkten Turingmaschinen). Es
sei s eine Platzschranke und M = (Q, Σ, Γ, δ, q0 , F ) sei eine s(n)-platzbeschränkte Turingmaschine. Dann gibt es eine Konstante d, die nur von M
abhängt, so dass für alle n die beiden folgenden Aussagen gelten.
(i) Die Anzahl der möglichen Konfiguration von M bei einer Eingabe der
Länge n ist höchstens 2d·n .
(ii) Die Tiefe des Rechnungsbaum von M bei einer Eingabe der Länge n
ist höchstens 2d·n .
Beweis. Aussage (i) ergibt sich durch Nachrechnen und wird in den Übungen bewiesen. Für den Beweis von (ii) wählen wir eine Konstante d wie in (i)
und nehmen an, dass der Rechnungsbaum von M bei einer Eingabe w der
Länge n die Tiefe ` ≥ 2d·n hat. Dann gibt es eine Rechnung von M bei
6
W. Merkle
Komplexitätstheorie
SS 2016
Eingabe w der Länge `, d.h., die in dieser Rechnung durchlaufene Folge von
Konfigurationen hat Länge `+1. Nach Wahl von ` und Aussage (i) muss eine
der Konfigurationen in der Folge doppelt vorkommen, etwa nach Schritt i
und Schritt j > i. Dann hat M bei Eingabe w aber auch beliebig lange terminierende und sogar unendlich Rechnungen, bei denen der Teil der Rechnung
zwischen den Schritten i und j mehrfach oder unendlich oft wiederholt wird.
Dies ist ein Widerspruch, da die s(n)-platzbeschränkte Turingmaschine M
insbesondere total ist.
Bemerkung 46. In der Literatur findet sich auch eine Variante des Begriffs
t(n)-zeitbeschränkte Turingmaschine, bei der die Längenschranke t(|w|) für
akzeptierende Rechnungen gefordert wird, nichtakzeptierende Berechnungen
dagegen beliebig lang oder sogar unendlich sein dürfen. Für zeitkonstruierbare Zeitschranken t mit t(n) ≥ 2n ist die alternative Definition im Wesentlichen äquivalent zur Definition hier. Für solche t ist es möglich, eine
Turingmaschine, die gemäß der Variante t(n)-zeitbeschränkt ist, um einem
Zeitnahmemechanismus zu erweitern, der für alle Rechnungen nach t(n)Schritten Terminierung erzwingt, so dass sich die erkannte Sprache nicht
ändert und die neue Turingmaschine t(n)-zeitbeschränkt ist, siehe die Übungen für Details.
Die Äquivalenzaussage und die Konstruktion oben übertragen sich für platzkonstruierbare Platzschranken auf eine ähnliche Variante platzbeschränkter
Turingmaschinen.
Satz 47. Für jede Zeitschranke t gilt
DTIME(t(n))
⊆
DSPACE(t(n))
⊆
DTIME 2O(t(n))
⊆
⊆
⊆
⊆
⊆
NTIME(t(n))
⊆
NSPACE(t(n))
|
⊆ NTIME 2O(t(n))
{z
}
dieser Teil gilt auch für beliebige
Platzschranken s anstelle von t
Die Einschränkung von Satz 47 auf Zeit- beziehungsweise Platzschranken
ist nötig, weil die dort betrachteten Klassen sonst gar nicht definiert wären.
Ansonsten sind diese Einschränkungen für den Beweis des Satzes nicht relevant.
Korollar 48. Es gelten die folgenden Inklusionen
LOG ⊆ N LOG ⊆ P ⊆ N P ⊆ PSPACE ⊆ N PSPACE ⊆ EX P ⊆ N EX P.
W. Merkle
Komplexitätstheorie
SS 2016
7
Das Inklusionsbeziehungen des Korollars folgen unmittelbar aus Satz 47 indem man zum Beispiel die Klasse LOG als Vereinigung über Klassen der
Form DTIME(c · log n + c) schreibt. Nach dem weiter unten gezeigten Satz
von Savitch gilt PSPACE = N PSPACE. Weiter folgt aus den bereits gezeigten Hierarchiesätzen für deterministische Turingmaschinen und den noch
zu beweisenden für nichtdeterministische Turingmaschinen
LOG =
6 PSPACE,
N LOG 6= N PSPACE,
P=
6 EX P,
N P 6= N EX P.
Über die gerade genannten Fakten hinaus ist — ausgenommen triviale rein
mengentheoretische Folgerung aus diesen Fakten wie N P =
6 EX P – nicht
bekannt, welche der Inklusionsbeziehungen im Lemma echt sind.
Beweis von Satz 47. Sei t eine Zeitschranke. Dann gelten die Inlusionsbeziehungen von oben nach unten nach Definition, weil jede deterministische Turingmaschine auch nichtdeterministische Turingmaschine mit den gleichen
Zeit- und Platzschranken ist. Die horizontalen Inklusionsbeziehungen zwischen der ersten und zweiten Spalte gelten weil eine Turingmaschine in t(n)
Schritten auf jedem Band höchstens t(n) Felder besuchen kann. Die horizontalen Inklusionsbeziehungen zwischen der zweiten und dritten Spalte gelten
nach Lemma 45. Die bisher gezeigten Inklusionen gelten mit den gleichen Argumenten auch für eine Platzschranke s anstelle von t, sofern die jeweiligen
Klassen für Platzschranken definiert sind, was gerade im angezeigten rechten Teil des Diagramms der Fall ist. Die beiden noch fehlenden diagonalen
Inklusionen sind gerade den Aussagen der beiden folgenden Lemmas.
Lemma 49. Für jede Zeitschranke t gilt NTIME(t(n)) ⊆ DSPACE(t(n)).
Beweis. Sei L eine Sprache in NTIME(t(n) die von der t(n)-zeitbeschränkten k-Band-Turingmaschine M erkannt wird. Wir konstruieren eine deterministische t(n)-platzbeschränkte (k+1)-Band-Turingmaschine D vom OfflineTyp, welche die Sprache L erkennt indem sie bei Eingabe w den zugehörigen
Rechnungsbaum von M vollständig durchsucht und w genau dann akzeptiert, wenn dabei eine akzeptierende Rechnung von M gefunden wird.
Wähle eine Konstante r, so dass in den Berechnungsbäumen von M alle
Knoten Verzweigungsgrad höchstens 2r − 1 haben. Betrachte für eine Eingabe w der Länge n im zugehörigen Rechnungsbaums von M Pfade von der
Wurzel zu einem Blatt. Diese Pfade entsprechen gerade den Rechnungen
von M bei Eingabe w und jeder solche Pfad lässt sich durch ein Binärwort
der Länge r · t(n) darstellen. Dabei gibt der i-te Block von r Buchstaben
einer solchen Darstellung an, ob der i-te Knoten des Pfads ein Blatt ist und
falls nicht, welches der höchstens 2r − 1 Kinder dieses Knotens den Pfad
8
W. Merkle
Komplexitätstheorie
SS 2016
fortsetzt. Falls dabei für einen solchen Knoten das angegebene Kind nicht
existiert, nennen wir die Darstellung nichtkodierend.
Wir beschreiben die Arbeitsweise von D bei einer Eingabe w der Länge n.
Wir nehmen dabei zunächst vereinfachend an, dass t platzkonstruierbar ist.
Dann berechnet D zunächst den Wert t(n) und initialisiert auf einem separaten Band einen Binärzähler der Länge r · t(n) mit dem Wert 0. Die Konstante r wird dabei in D fest verdrahtet, d. h., das Programm von D enthält ein
Unterprogramm das zum Beispiel r auf ein Band schreibt. Dann zählt D den
Zähler hoch, so dass dabei alle möglichen Zählerwerte angenommen werden.
Jeden dieser 2r·t(n) Zählerwerte identifiziert D wie oben beschrieben mit der
Darstellung einer Rechnung von M bei Eingabe w und simuliert die mutmaßlich dargestellte Rechnung bis diese entweder terminiert oder erkannt
wird, dass der Zählerwert eine nichtkodierende Darstellung ist. Schließlich
akzeptiert D die Eingabe w genau dann, wenn eine akzeptierende Rechnung
gefunden wurde.
Anstatt den Wert t(n) zu berechnen, kann D auch für i = 1, 2, . . . jeweils
eine Suche wie oben mit Zählerlänge r · i anstelle von r · t(n) durchführen.
Falls während einer solchen Suche erkannt wird, dass einer der Rechnungen von M bei Eingabe w länger als der aktuelle Wert von i ist und deswegen mit der aktuellen Zählerlänge nicht vollständig dargestellt werden
kann, wird diese Suche abgebrochen und die nächste Suche mit einer um r
größeren Zählerlänge gestartet. Spätestens für i = t(n) und die zugehörige Zählerlänge r · t(n), möglicherweise aber auch schon für einen kleineren
Wert von i, können alle Rechnungen vollständig dargestellt werden, d. h.,
der Rechnungsbaum von M wird vollständig durchsucht. Für das kleinste
solche i wird w von D akzeptiert, falls eine akzeptierende Rechnung gefunden wurde und wird sonst verworfen, es wird also korrekt erkannt, ob es eine
akzeptierende Rechnung gibt. Die angegebene Turingmaschine D ist deterministisch und O(t(n))-platzbeschränkt, mit linearer Kompression folgt das
Lemma.
Lemma 50. Für jede Platzschranke s gilt
NSPACE(s(n)) ⊆ DTIME(2O(s(n)) ).
Beweis. Der Rechnungsbaum einer s(n)-platzbeschränkten Turingmaschine M hat für eine geeignete Konstante d eine Tiefe bis zu 2d·s(n) und bis zu
exponentielle Größe in dieser Tiefe. Anders als im Beweis von Lemma 50 ist
es damit nicht möglich, einen solche Berechnungsbaum in der hier zuässigen
deterministischen Zeit 2O(s(n)) vollständig zu durchsuchen. Stattdessen wird
im Konfigurationsgraphen nach einem Pfad von der jeweiligen Startkonfiguration zu einer akzeptierenden Stoppkonfiguration gesucht: ein solcher
W. Merkle
Komplexitätstheorie
SS 2016
9
Pfad existiert genau dann, wenn die Eingabe akzeptiert wird. Die Standardverfahren für eine solche Suche in einem Graphen haben ein Laufzeit die
polynomiell in der Anzahl der Knoten ist und damit wieder in 2O(s(n)) liegt.
Sei L eine Sprache in NSPACE(s(n)), die von der s(n)-platzbeschränkten
k-Band-Turingmaschine M erkannt wird. Es genügt eine deterministische
Turingmaschine D anzugeben, welche die Sprache L erkennt und 2c·s(n) zeitbeschränkt für eine Konstante c ist. Wähle gemäß Lemma 45 eine Konstante d, so dass M bei Eingaben der Länge n höchstens 2d·s(n) verschiedene
Konfigurationen hat. In den Rechnungen von D kann mittels der Spurentechnik, also unter Verwendung eines geeigneten Bandalphabets, jede solche
Konfiguration durch ein Wort der Länge s(n) dargestellt werden, wobei von
insgesamt 2k + 2 Spuren jeweils zwei Spuren die Inschrift und Kopfposition
eines Arbeitsbands darstellen und die beiden restlichen Spuren den aktuellen
Zustand und die Kopfposition auf dem Eingabeband.
Um festzustellen, ob eine Eingabe w der Länge n von M akzeptiert würde,
schreibt D zunächst die Startkonfiguration von M bei Eingabe w auf ein
spezielles Band und markiert diese (als noch nicht expandiert). Dann arbeitet D wie folgt.
Solange das spezielle Band nicht markierte Konfiguration enthält
(i) bestimme die erste nicht markierte Konfiguration K auf diesem Band,
(ii) füge die von K aus in einem Schritt von M erreichbaren Konfigurationen zu diesem Band hinzu,
(iii) entferne alle unter (ii) hinzugekommenen Kopien von Konfigurationen,
die bereits auf dem Band stehen und schließe die dabei entstehenden
Lücken.
Nachdem das spezielle Band schließlich nur noch markierte Konfigurationen enthält, akzeptiert D die Eingabe w, falls das Band eine akzeptierende
Stoppkonfiguraton enthält, sonst verwirft D die Eingabe. Nach Konstruktion
erkennt D die gleiche Sprache wie M . Da in jedem Expansionsschritt eine
Konfiguration markiert wird, gibt es höchstens 2d·s(n) Expansionsschritte,
in denen jeweils höchstens konstant viele Nachfolgekonstruktionen generiert
werden. Die Schritte (i) bis (iii) können unter Verwendung von Hilfsbändern
jeweils in Zeit poly(s(n))2d·s(n) und damit zusammen in Zeit 2(d+1)·s(n) bearbeitet werden. Insgesamt liegt die Laufzeit von D somit wie gefordert
in 2(2d+1)·s(n) .
Herunterladen