Warum glauben wir, dass PSPACE EXPTIME ist?


31

Ich habe intuitiv Probleme zu verstehen, warum PSPACE im Allgemeinen anders ist als EXPTIME. Wenn PSPACE die Menge der Probleme ist, die im Raumpolynom in der Eingabegröße lösbar sind , wie kann es dann eine Klasse von Problemen geben, die einen größeren exponentiellen Zeitsprung erfahren und den exponentiellen Raum nicht nutzen?f(n)

Die Antwort von Yuval Filmus ist bereits äußerst hilfreich. Allerdings könnte jemand meine ein lockeres Argument skizzieren , warum es könnte der Fall , dass PSPACE ≠ EXPTIME sein (dh , dass PSPACE ist keine echte Teilmenge von EXPTIME)? Benötigen wir nicht exponentiellen Speicherplatz, um die Obergrenze für die Gesamtzahl der Systemkonfigurationen zu überschreiten, die mit Speicherplatz erreicht werden können, der polynomiell mit der Eingabegröße skaliert? Um nur zu sagen, ich kann verstehen, warum EXPTIME ≠ EXPSPACE eine offene Angelegenheit ist, aber ich habe kein Verständnis für die Beziehung zwischen PSPACE und EXPTIME.

Antworten:


40

Aktualisieren wir die Definitionen.

  • PSPACE ist die Klasse von Problemen, die auf einer deterministischen Turing-Maschine mit polynomiellen Raumgrenzen gelöst werden können: Das heißt, für jedes dieser Probleme gibt es eine Maschine, die das Problem unter Verwendung von höchstens Bandzellen entscheidet, wenn ihre Eingabe eine Länge hat  , für ein Polynom  .p(n)np

  • EXP ist die Klasse von Problemen, die auf einer deterministischen Turing-Maschine mit exponentiellen Zeitgrenzen gelöst werden können: Für jedes dieser Probleme gibt es eine Maschine, die das Problem mit höchstens Schritten entscheidet, wenn ihre Eingabe Länge hat  , für ein Polynom  .2p(n)np

Zunächst sollten wir sagen, dass diese beiden Klassen gleich sein könnten. Es ist wahrscheinlicher, dass sie sich unterscheiden, aber Klassen stellen sich manchmal als gleich heraus: Zum Beispiel hat Reingold im Jahr 2004 bewiesen, dass der symmetrische Protokollbereich mit dem normalen Protokollbereich identisch ist. 1987 bewiesen Immerman und Szelepcsényi unabhängig voneinander, dass NLco-NL= (und tatsächlich NSPACE [ ] co-NSPACE [ ]f(n)=f(n) für jedes ).f(n)logn

Derzeit glauben die meisten, dass PSPACE und EXP unterschiedlich sind. Warum? Schauen wir uns an, was wir in den beiden Komplexitätsklassen tun können. Betrachten Sie ein Problem in PSPACE . Wir dürfen  Bandzellen verwenden, um eine Eingabe der Länge zu lösen,  aber es ist schwierig, diese mit der EXP zu vergleichen , die durch eine Zeitgrenze festgelegt ist.p(n)n

Wie viel Zeit können wir für ein PSPACE- Problem verwenden? Wenn wir nur in  Bandzellen schreiben , gibt es verschiedene Zeichenfolgen, die auf dem Band erscheinen könnten, vorausgesetzt, es handelt sich um ein binäres Alphabet. Der Bandkopf könnte sich an einer von  verschiedenen Stellen befinden und die Turingmaschine könnte sich in einem von  verschiedenen Zuständen befinden. Die Gesamtzahl der Konfigurationen ist also. Nach dem Pigeonhole-Prinzip müssen wir, wenn wir für Schritte laufen , eine Konfiguration zweimal besuchen. Da die Maschine jedoch deterministisch ist, bedeutet dies, dass sie eine Schleife durchläuft und dieselbe Konfiguration unendlich oft besucht, dh, sie hat gewonnen. ' t halt. Da ein Teil der Definition des Seins inp(n)2p(n)p(n)kT(n)=kp(n)2p(n)T(n)+1PSPACE bedeutet, dass Sie das Problem entscheiden müssen. Jeder Computer, der nicht terminiert, löst kein PSPACE- Problem. Mit anderen Worten, PSPACE ist die Klasse von Problemen, die unter Verwendung von höchstens  Raum und höchstens Zeit entscheidbar sind, was höchstens für ein Polynom  . Wir haben also gezeigt, dass PSPACEEXP .p(n)kp(n)2p(n)2q(n)q

Und wie viel Platz können wir für ein EXP- Problem nutzen? Nun, wir dürfen Schritte ausführen und der Kopf einer Turing-Maschine kann sich bei jedem Schritt nur um eine Position bewegen. Da sich der Kopf nicht mehr als Positionen bewegen kann , können wir nur so viele Bandzellen verwenden.2p(n)2p(n)

Das ist der Unterschied: Obwohl sowohl PSPACE als auch EXP Probleme sind, die in exponentieller Zeit gelöst werden können, ist PSPACE auf die Verwendung von polynomialem Raum beschränkt, während EXP exponentiellen Raum verwenden kann. Das deutet schon darauf hin, dass EXP stärker sein sollte. Angenommen, Sie versuchen, ein Problem mit Diagrammen zu lösen. In PSPACE können Sie jede Untergruppe der Scheitelpunkte anzeigen (es werden nur  Bits benötigt, um eine Untergruppe aufzuschreiben). Sie können einen bestimmten Arbeitsbereich zum Berechnen für jede Teilmenge verwenden. Wenn Sie jedoch mit der Arbeit an einer Teilmenge fertig sind, müssen Sie diesen Arbeitsbereich löschen und für die nächste Teilmenge wiederverwenden. In EXPnAuf der anderen Seite können Sie nicht nur jede Untergruppe betrachten, sondern müssen auch Ihren Arbeitsbereich nicht erneut nutzen, damit Sie sich daran erinnern können, was Sie über jede einzelne gelernt haben. Das scheint, als sollte es mächtiger sein.

Eine andere Intuition, warum sie anders sein sollten, ist, dass die Zeit- und Raumhierarchiesätze uns sagen, dass das Ermöglichen von sogar einem winzigen bisschen mehr Raum oder Zeit genau das erhöht, was Sie berechnen können. Die Hierarchiesätze lassen nur einen Vergleich zwischen " Gleich" und " Gleich" zu (z. B. zeigen sie, dass PSPACE EXPSPACE und P EXP ), sodass sie nicht direkt für PSPACE vs. EXP gelten, sondern uns geben Eine starke Intuition, dass mehr Ressourcen bedeuten, dass mehr Probleme lösbar werden.


1
Wenn EXPTIME exponentiellen Raum zulässt, ist die richtige Frage, können wir sagen, dass EXPTIME eine richtige Teilmenge von EXPSPACE ist, weil EXPSPACE Probleme zulässt, die in überexponentieller Zeit gelöst werden können?
user25876

Wenn das stimmt, dann finde ich alles sinnvoll für mich. Aus irgendeinem Grund hatte ich angenommen, EXPTIME verbiete die Verwendung von Exponentialraum, aber das ist nicht der Fall. Hierher kam meine Verwirrung.
user25876

1
Ich mag dein Subset-Beispiel. IIRC richtig, wir kennen Probleme, die nicht online berechnet werden können (sowie mit vollständigen Informationen), so dass Sie alle Elemente im Speicher behalten müssten. Intuitiv gesprochen.
Raphael

@ user25876 Ja, dasselbe Argument, das besagt, dass ein PSPACE-Computer Exponentialzeit verwenden kann, besagt, dass ein EXPSPACE-Computer doppelt Exponentialzeit verwenden kann (dh ). 22poly(n)
David Richerby

1
@DavidRicherby Ich akzeptiere Ihre Antwort. Kennen Sie Papierreferenzen, in denen die technischen Hindernisse für den Nachweis oder die Widerlegung von PSPACE als geeignete Teilmenge von EXPTIME erörtert werden? Ich bin jetzt wirklich sehr neugierig.
user25876

9

Eine Maschine, die in exponentieller Zeit läuft, könnte exponentiellen Raum beanspruchen. Von vornherein könnte es sein, dass Maschinen, die auf den Polynomraum beschränkt sind, schwächer sind. Eine ähnliche Situation tritt für P und L auf. Eine Maschine, die in Polynomzeit läuft, könnte Polynomraum verwenden, so dass es a priori sein könnte, dass Maschinen, die auf den logarithmischen Raum beschränkt sind, schwächer wären. Es wird sogar vermutet, dass P von NL, dem nicht deterministischen Analogon von L, verschieden ist. (Für PSPACE sind die entsprechenden Vermutungen äquivalent, da PSPACE = NPSPACE aufgrund des Satzes von Savitch.) Leider können wir diese Vermutungen nicht beweisen zur Zeit. Die Vermutung EXPTIME PSPACE ist stärker, da sie P NL über ein Auffüllargument impliziert .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.