Satz von Savitch

Der Satz von Savitch in der Theorie der rechnerischen Komplexität, Satz von Savitch, bewiesen von Walter Savitch in 1970, gibt eine Beziehung zwischen deterministischer und nicht-deterministischer Raumkomplexität an. Es besagt, dass für jede Funktion {Displaystyle-Flosse Omega (Protokoll(n))} , {Anzeigestil {mathsf {NSPACE}}links(geflogen(richtig)Rechts)subsetq {mathsf {DSPACE}}links(geflogen(richtig)^{2}Rechts).} Mit anderen Worten, wenn eine nichtdeterministische Turingmaschine ein Problem lösen kann {Anzeigestil f(n)} Platz, Eine deterministische Turing-Maschine kann das gleiche Problem im Quadrat dieser Raumgrenze lösen.[1] Obwohl es den Anschein hat, dass der Nichtdeterminismus mit der Zeit exponentielle Gewinne erzielen kann, Dieses Theorem zeigt, dass es einen deutlich geringeren Einfluss auf den Platzbedarf hat.[2] Inhalt 1 Nachweisen 2 Folgerungen 3 Siehe auch 4 Anmerkungen 5 Verweise 6 External links Proof The proof relies on an algorithm for STCON, das Problem zu bestimmen, ob es in einem gerichteten Graphen einen Pfad zwischen zwei Scheitelpunkten gibt, der einläuft {Anzeigestil Oleft((Protokoll n)^{2}Rechts)} Platz für {Anzeigestil n} Eckpunkte. Die Grundidee des Algorithmus besteht darin, ein etwas allgemeineres Problem rekursiv zu lösen, Testen der Existenz eines Pfades von einem Knoten s zu einem anderen Knoten t, der höchstens k Kanten verwendet, wobei k ein Parameter ist, der als Eingabe für den rekursiven Algorithmus angegeben wird. STCON kann von diesem Problem gelöst werden, indem k auf n gesetzt wird. Testen auf einen k-Kanten-Pfad von s nach t, man kann testen, ob jeder Knoten u der Mittelpunkt des s-t-Weges sein kann, durch rekursive Suche nach Wegen halber Länge von s nach u und u nach t. Verwendung von Pseudocode (in Python-Syntax) wir können diesen Algorithmus wie folgt ausdrücken: def k_edge_path(s, t, k) -> bool: """k ist zunächst gleich n (das ist die Anzahl der Ecken)""" wenn k == 0: return s == t if k == 1: Rückkehr (s, t) in edges for u in vertices: wenn k_edge_path(s, u, Boden(k / 2)) und k_edge_path(u, t, Decke(k / 2)): return True return False This search calls itself to a recursion depth of {Anzeigestil O(Protokoll n)} Ebenen, jeder von denen erfordert {Anzeigestil O(Protokoll n)} Bits zum Speichern der Funktionsargumente und lokalen Variablen auf dieser Ebene: k und alle Ecken (s, t, u) benötigen {Anzeigestil O(Protokoll n)} Stück für Stück. Der gesamte Hilfsraumaufwand ist somit {Anzeigestil Oleft((Protokoll n)^{2}Rechts)} .[Notiz 1] Obwohl oben in Form eines Programms in einer Hochsprache beschrieben, der gleiche Algorithmus kann mit der gleichen asymptotischen Raumbegrenzung auf einer Turing-Maschine implementiert werden.

Um zu sehen, warum dieser Algorithmus den Satz impliziert, Folgendes berücksichtigen. Für jede Sprache {Anzeigestil Lin {mathsf {NSPACE}}(f(n))} , Es gibt eine Turing-Maschine {Anzeigestil M} was entscheidet {Anzeigestil L} im Weltraum {Anzeigestil f(n)} . Angenommen w.l.o.g. Das Alphabet ist ein binäres Alphabet {Anzeigestil {0,1}} (nämlich. {displaystyle Lsubseteq {0,1}^{*}} ). Für jedes Eingabewort {Anzeigestil xin {0,1}^{*}} , Es gibt einen gerichteten Graphen {Anzeigestil G_{x}^{M}} deren Ecken die Konfigurationen von sind {Anzeigestil M} beim Laufen am Eingang {Anzeigestil x} . Es kann unendlich viele solcher Konfigurationen geben; z.B. Wenn {Anzeigestil M} schreibt ein Symbol auf das Band und bewegt den Kopf in einer Schleife nach rechts, zur Unendlichkeit. Die Konfigurationen werden dann beliebig groß. Jedoch, das kennen wir höchstens {displaystyle fleft(richtig)} Raum ist erforderlich, um zu entscheiden, ob {Anzeigestil xin L} , Daher kümmern wir uns höchstens um Konfigurationen der Größe {displaystyle fleft(richtig)} ; Nennen Sie jede solche Konfiguration zulässig. Es gibt endlich viele zulässige Konfigurationen; nämlich {Anzeigestil 2 ^{Olinks(f(n)Rechts)}} . Deswegen, der induzierte Teilgraph {Anzeigestil [G_{x}^{M}]} von {Anzeigestil G_{x}^{M}} enthält (exakt) die zulässigen Konfigurationen hat {Anzeigestil 2 ^{Olinks(f(n)Rechts)}} Eckpunkte. Für jeden Eingang {Anzeigestil xin {0,1}^{n}} , {Anzeigestil [G_{x}^{M}]} hat genau dann einen Pfad von der Startkonfiguration zu einer akzeptierenden Konfiguration {Anzeigestil xin L} . Also, indem Sie die Konnektivität in entscheiden {Anzeigestil [G_{x}^{M}]} , wir können die Mitgliedschaft entscheiden {Anzeigestil x} in {Anzeigestil L} . Durch den obigen Algorithmus kann dies räumlich deterministisch erfolgen {Anzeigestil Oleft(links(Protokoll 2^{Olinks(f(n)Rechts)}Rechts)^{2}Rechts)=Olinks(geflogen(richtig)^{2}Rechts)} ; somit {Anzeigestil L} ist in {Anzeigestil {mathsf {DSPACE}}links(geflogen(richtig)^{2}Rechts)} .

Denn das gilt für alle {Displaystyle-Flosse Omega (Protokoll n)} und alles {Anzeigestil Lin {mathsf {NSPACE}}links(geflogen(richtig)Rechts)} , wir erhalten die Aussage des Theorems: Für alle Funktionen {Displaystyle-Flosse Omega (Protokoll n)} , {Anzeigestil {mathsf {NSPACE}}links(geflogen(richtig)Rechts)subsetq {mathsf {DSPACE}}links(geflogen(richtig)^{2}Rechts)} . ^ Beachten Sie, dass es bis zu geben kann {Anzeigestil n^{2}} Kanten im Eingabegraphen, jede Kante aufwendig {displaystyle 2log n} Platz, daher die Summe (d.h., nicht nur hilfsweise) Raumkomplexität ist {Anzeigestil O(n^{2}Protokoll n)} (und diese Grenze ist eng). Jedoch, Kanten können implizit dargestellt werden, über die untersuchte nicht-deterministische Turing-Maschine. Corollaries Some important corollaries of the theorem include: PSPACE = NPSPACE Dies folgt direkt daraus, dass das Quadrat einer Polynomfunktion immer noch eine Polynomfunktion ist. Es wird angenommen, dass eine ähnliche Beziehung zwischen den Polynomzeit-Komplexitätsklassen nicht besteht, P und NP, obwohl dies noch offen ist. NL ⊆ L2 STCON ist NL-vollständig, und so sind alle Sprachen in NL auch in der Komplexitätsklasse {Anzeigestil {mathsf {Farbe {Blau}L}}^{2}={mathsf {DSPACE}}links(links(melden Sie sich an)^{2}Rechts)} . See also Exponential time hypothesis Immerman–Szelepcsényi theorem Notes ^ Arora & Barak (2009) p.86 ^ Arora & Barak (2009) S.92 Referenzen Arora, Sanjeev; Barak, Boas (2009), Rechenkomplexität. Ein moderner Ansatz, Cambridge University Press, ISBN 978-0-521-42426-4, Zbl 1193.68112 Papadimitriou, Christos (1993), "Abschnitt 7.3: Die Erreichbarkeitsmethode", Rechenkomplexität (1st ed.), Addison Wesley, pp. 149–150, ISBN 0-201-53082-1 Savitch, Walter J. (1970), "Beziehungen zwischen nichtdeterministischen und deterministischen Bandkomplexitäten", Zeitschrift für Computer- und Systemwissenschaften, 4 (2): 177–192, doi:10.1016/S0022-0000(70)80006-X, hdl:10338.dmlcz/120475 Sipser, Michael (1997), "Abschnitt 8.1: Satz von Savitch", Einführung in die Theorie der Berechnung, PWS-Verlag, pp. 279–281, ISBN 0-534-94728-X External links Lance Fortnow, Grundlagen der Komplexität, Lektion 18: Satz von Savitch. Zugegriffen 09/09/09. Richard J. Lipton, Satz von Savitch. Gibt einen historischen Bericht darüber, wie der Beweis entdeckt wurde. Kategorien: Strukturelle KomplexitätstheorieTheoreme der Computational Complexity Theory

Wenn Sie andere ähnliche Artikel wissen möchten Satz von Savitch Sie können die Kategorie besuchen Structural complexity theory.

Hinterlasse eine Antwort

Deine Email-Adresse wird nicht veröffentlicht.

Geh hinauf

Wir verwenden eigene Cookies und Cookies von Drittanbietern, um die Benutzererfahrung zu verbessern Mehr Informationen