Teaser
Da das Problem hier länger ist, handelt es sich um einen Sonderfall, der seine Essenz erfasst.
Problem: Sei A ein detrministischer Algorithmus für 3-SAT. Ist das Problem der vollständigen Simulation des Algorithmus A (bei jedem Auftreten des Problems). P-Space schwer?
(Genauer gesagt, gibt es Gründe zu der Annahme, dass diese Aufgabe P-Space-schwer ist, folgt etwas in dieser Richtung aus Standard-CC-Vermutungen, und es besteht die Hoffnung, zu beweisen, dass diese Aufgabe für eine Komplexitätsklasse X, für die angenommen wird, X-schwer ist streng über NP sein.)
Verwandte Fragen : sind-Pspace-vollständige-Probleme-von Natur aus-weniger-erfassbar-als-NP-vollständige-Probleme ;
EDITED UPDATE : Es gibt verschiedene Interpretationen für "A vollständig simulieren". Und je nach Interpretation kann es unterschiedliche interessante Antworten geben. (Auch Ryan Williams schlug eine Interpretation zur Simulation eines nicht deterministischen Algorithmus vor.) Um ein Entscheidungsproblem auf eine bestimmte Weise mit der Rechenaufgabe "A vollständig simulieren" zu verknüpfen, fand Joe Fitzsimons einen Algorithmus A, für den sich dieses zugehörige Entscheidungsproblem noch in NP befindet . Wenn sich "vollständig simulieren" darauf bezieht, das gesamte Register des Computers in einem gegebenen Schritt ausgeben zu können, dann scheint es für Joes Algorithmus, dass ist, was benötigt wird. Für diese Version (glaube ich, bin mir aber nicht sicher) skizziert Ryans Antwort ein -Härte Argument. Joe bemerkte, dass, wenn von Ihnen verlangt wird, die gesamten Register zu liefern (was kein Entscheidungsproblem mehr ist), es nicht verwunderlich ist, dass Sie aufsteigen müssen und die Komplexitätsklassen nicht gleich sind.
Wie auch immer, wenn wir den Zustand der Register in einem vorgeschriebenen Schritt ausgeben müssen, dann legen die Antworten von Ruan und Joe nahe (aber ich bin mir auch nicht sicher), dass im Wesentlichen . Wir können die durch diese Interpretation spaculate die Operation eine Stufe höher in dem Polynom hiearachy nach oben drückt, und die .
In jedem Fall lautet die Antwort auf meine Teaser-Frage nach diesen Interpretationen NEIN .
Ich hatte eine drastischere Interpretation für das "vollständige Simulieren eines Algorithmus A" im Sinn. (Aber vielleicht ist Joes und Ryans Interpretation interessanter.) Meine Interpretation durch "vollständig simulieren von Algorithmus A" ist, dass Sie bei jedem Schritt den Zustand der Register herausfinden . Insbesondere wenn der Algorithmus nicht polynomisch ist, ist Ihre Ausgabe auch nicht polynomisch. Unter dieser drastischen Interpretation fragte ich mich , ob wir , dass für jeden Algorithmus A glauben sollten, C A P-SPACE hart, und was können wir beweisen.
Motivation:
Diese Frage wurde durch einen Vortrag von Paul Goldberg ( Folien , Video , Papier ) motiviert , in dem ein Papier mit Papadimitriou und Savani beschrieben wurde. Sie zeigten, dass der P-Raum vollständig ist, um alle Gleichgewichte zu finden, die vom Lemke-Howson-Algorithmus berechnet werden. Das Problem, einen Gleichgewichtspunkt zu finden, ist nur PPAD-vollständig. Diese Lücke ist erstaunlich und ähnliche Ergebnisse werden bereits in Papadimitrius bekanntem Aufsatz beschrieben: Die Komplexität des Paritätsarguments und andere ineffiziente Existenznachweise (1991) . (Es ist bekannt, dass PPAD-vollständige Probleme nicht einmal NP-schwer sein können (es sei denn, schreckliche Dinge passieren, so dass dies in der Komplexitätswelt weit unten im Vergleich zum P-Raum liegt).
Worum geht es in der Frage?
Meine Frage bezieht sich auf ähnliche Lücken für noch ältere und klassischere Probleme mit der Komplexität von Berechnungen. (Vielleicht ist das schon bekannt.)
Bei einem Rechenproblem können wir drei Probleme unterscheiden
a) Lösen Sie das Problem algorithmisch
b) Erreichen Sie die gleiche Lösung wie für einen bestimmten Algorithmus A
c) Simulieren Sie den gesamten Algorithmus A
Natürlich ist c) mindestens so hart wie b), was mindestens so hart wie a) ist. Die oben genannten Ergebnisse zeigen eine Lücke zwischen den Rechenschwierigkeiten der Aufgaben a) und b) für das Problem der Gleichgewichtsberechnung. Wir möchten die Situation (und hauptsächlich die Lücke zwischen a) und c)) für andere Rechenprobleme verstehen.
Die Frage:
Die Grundform der Frage mit einem Beispiel
Wir beginnen mit einem Rechenproblem, Problem X
Ein Beispiel kann sein
Problem X: Lösen Sie eine Instanz von SAT mit n Variablen
wir spezifizieren auch
A: Ein Algorithmus, der Problem X ausführt
und wir werfen ein neues Problem auf
Aufgabe Y: Simulieren Sie genau den Algorithmus A
und wir sind an der Rechenschwierigkeit von Problem Y interessiert. Wir möchten die Klasse solcher Probleme Y für alle Algorithmen A verstehen, die das ursprüngliche Problem X lösen. Insbesondere möchten wir wissen, wie einfach Problem Y sein kann (oder wie schwer es sein muss) be) wenn wir den Algorithmus A frei wählen dürfen.
Die vorgeschlagene Operation für Komplexitätsklassen
Beginnen Sie mit einer Komplexitätsklasse die durch eine Rechenaufgabe beschrieben wird. Wenn ein Algorithmus A gegeben ist, um jede Instanz dieser Rechenaufgabe auszuführen, betrachte man eine neue Komplexitätsklasse C A, die durch die Rechenaufgabe des vollständigen Simulierens von A beschrieben wird . Dann können wir (hoffentlich) ein "Ideal" von Komplexitätsklassen definieren
für alle Algorithmen A}.
Wenn wir beschreiben lassen, was ein digitaler Computer in der Polynomzeit kann (damit ich die Aufmerksamkeit nicht auf Entscheidungsprobleme beschränken möchte), dann ist P + das Ideal, das von P selbst aufgespannt wird .
Schließlich meine Fragen
Meine Fragen sind:
1) Ist die Definition sinnvoll (im weitesten Sinne des Wortes Sinn)? Ist es bekannt oder dasselbe wie (oder ähnlich wie) etwas Bekanntes? (Meine Formulierung war informell und insbesondere, wenn wir von spezifischen Problemen wie SAT zu einer Komplexitätsklasse wie NP übergehen, müssen wir uns über verschiedene Dinge Gedanken machen, die ich vernachlässigt habe.)
Bei den nächsten beiden Fragen wird davon ausgegangen, dass die Definition sinnvoll sein kann oder dass sie sinnvoll sein kann.
2) Nehmen wir an, wir rüsten uns mit allen gängigen Vermutungen zur rechnerischen Vollständigkeit aus. Können wir sagen, was für einige bekannte Komplexitätsklassen sein soll? (ZB C = N P , C = P-Raum, ..)? EDIT: Einige Leute darauf hingewiesen , dass P S P A C E + = P S P A C E . Wir können also stattdessen fragen, was ( P N P ) + ist . ist P H + = P H ?
Können wir raten, was die Kompexitätsklassen so dass C + das Ideal ist, das von C aufgespannt wird ?
Die Frage, wie einfach die Rechenaufgabe der Simulation eines Algorithmus A für 3-SAT sein kann (wenn wir den Algorithmus so einfach wie möglich wählen können), ist daher ein interessanter Spezialfall.
3) Gibt es Hoffnung, tatsächlich etwas über diese Operation zu beweisen?
Wenn Sie beweisen, dass alle Komplexitätsklassen in P-Raum-schwer sind, wird dies natürlich zeigen, dass P = N P P = P S P A C E impliziert , was (ich denke) ein riesiges und höchst unerwartetes Ergebnis wäre . Wenn Sie jedoch zeigen, dass alle Komplexitätsklassen in N P + auf der dritten Ebene der Polynom-Hi-Hierarchie schwer zu sagen sind (z. B. Δ P 3 ), würde dies nur Dinge implizieren, die wir bereits kennen, Dinge, die sich aus der Tatsache ergeben, dass P = N P bewirkt, dass PH zusammenbricht.