Dies könnte eher eine subjektive Frage als eine konkrete Antwort sein, aber trotzdem.
In der Komplexitätstheorie untersuchen wir den Begriff effizienter Berechnungen. Es gibt Klassen wie für Polynomial Time und für Log Space . Beide werden als eine Art "Effizienz" angesehen und erfassen die Schwierigkeiten einiger Probleme ziemlich gut.L
Es gibt jedoch einen Unterschied zwischen und : Während die Polynomzeit als die Vereinigung von Problemen definiert ist, die in der für jede Konstante läuft , das ist,L P O ( n k ) k
,
Der Protokollbereich ist definiert als . Wenn wir die Definition von , wird esS P A C E [ log n ] P
,
Dabei wird als Klasse des Polylog-Space bezeichnet . Meine Frage ist:
Warum verwenden wir den Protokollbereich als Begriff für eine effiziente Berechnung anstelle des Polylog-Bereichs?
Ein Hauptproblem kann die Gesamtheit der Problemstellungen sein. Unter logspace many-one reductions haben sowohl als auch vollständige Probleme. Wenn dagegen unter solchen Reduktionen vollständige Probleme hat, dann hätten wir dem widersprochen. Aber was ist, wenn wir zu den Polylog-Reduzierungen wechseln? Können wir solche Probleme vermeiden? Wenn wir im Allgemeinen versuchen, in den Begriff der Effizienz , und (falls erforderlich) einige der Definitionen ändern, um alle guten Eigenschaften zu erhalten, die eine "nette" Klasse haben sollte, wie weit können wir gehen?L P o l y L P o l y L
Gibt es theoretische und / oder praktische Gründe für die Verwendung von Protokollspeicher anstelle von Protokollspeicher?
quelle
Antworten:
Die kleinste Klasse, die lineare Zeit enthält und unter Subroutinen geschlossen ist, ist P. Die kleinste Klasse, die Protokollspeicher enthält und unter Subroutinen geschlossen ist, ist noch Protokollspeicher. Daher sind P und L die kleinsten robusten Klassen für Zeit und Raum, weshalb sie sich für die Modellierung effizienter Berechnungen als richtig erweisen.
quelle
Ein Problem ist, dass nicht bekannt ist, ob . Damit wird der Begriff der Effizienz ziemlich zunichte gemacht. In einer anderen Anmerkung: Bestimmen, ob der Schnittpunkt der Sprachen von erkannt wirdSPACE[log2n]⊆P ist NSPACE [ log k n ] -vollständig unter logspace Reductions[Lange-Rossmanith] log k - 1 ( n ) -Automatennicht leer ist. Vielleicht gibt es einige ähnliche Probleme für den deterministischen Polylograum.logk−1(n) NSPACE [logkn] -complete
Die Klasse wurde in der Vergangenheit untersucht. [Cook] hatbewiesen, dass DCFL ⊆ PLOSS ist . Wie von Derrick Stolee bemerkt, ist diese Klasse jetzt als SC 2 bekannt und wurde auf SC k verallgemeinert. Weitere Informationenhier.PLOSS=⋃kTISP[nk,klog2n] DCFL⊆PLOSS SC2 SCk
quelle
Der Protokollraum garantiert die Polynomzeit, da es höchstens Konfigurationen für eine gegebene Protokollraum-Turing-Maschine gibt. Die vollständigen Probleme von Undirected Reach und Directed Reach (für L bzw. NL) sind sehr "nett" zu bedenken.2O(logn)=poly(n)
Beachten Sie, dass Ihre Definition von PolyL nach dem Satz von Savitch auch PolyL = NPolyL ergibt, da .NSPACE[logkn]⊆SPACE[log2kn]
quelle
Ich finde alle anderen Antworten sehr gut; Ich werde versuchen, eine andere Perspektive auf das Problem zu geben.
Ich weiß nicht, wie gut P-Modelle in der realen Welt "effizient" rechnen, aber wir mögen die Klasse wegen ihrer guten Schlusseigenschaften und anderer mathematischer Gründe. In ähnlicher Weise ist L auch aus den oben genannten Gründen eine nette Klasse.
Wie Sie jedoch bemerkt haben, ist PolyL auch effizient, wenn wir unsere Definition von "effizient" zu quasi-polynomieller Zeit lockern. Wir könnten die Komplexitätstheorie diskutieren, bei der Klassen, die mit einem logarithmischen Wert für eine Ressource definiert wurden, stattdessen Polylog-Ressourcen verwenden können. Dementsprechend würden wir auch unsere Definitionen von NC, NL usw. lockern, um stattdessen quasi-polynomiale Schaltkreise zuzulassen. Wenn wir dies tun, stimmen NC 1 , L, NL und NC alle mit der Klasse PolyL überein. In diesem Sinne ist PolyL eine robuste Klasse, da viele natürliche Klassen damit übereinstimmen. Weitere Informationen zur Komplexitätstheorie mit log -> Polylog und Polynom -> Quasi-Polynom finden Sie unter Quasipolynomial size circuit classes von Barrington.
Ein weiterer Grund, polyL oder ähnliche Klassen wie quasi-AC 0 zu studieren, ist, dass, während eine Orakeltrennung zwischen (sagen wir) ParityP und PH impliziert, dass PARITY nicht in AC 0 enthalten ist , die umgekehrte Implikation nicht als wahr bekannt ist. Andererseits ist PARITY in quasi-AC 0 nur dann nicht enthalten, wenn zwischen ParityP und PH eine Orakeltrennung besteht. Ebenso unterscheiden sich die Klassen Quasi-TC 0 und Quasi-AC 0 nur dann, wenn zwischen CH und PH eine Orakeltrennung besteht. So werden die üblichen Komplexitätsklassen wie PH, ModPH, CH usw., wenn sie durch ein Exponential verkleinert werden, um Orakelergebnisse zu beweisen, zu quasi-polynomiellen Versionen der üblichen Klassen AC 0 , ACC 0 und TCJeweils 0 . In ähnlicher Weise kann das in Todas Theorem verwendete Argument (PH ist in PP enthalten ) verwendet werden, um zu zeigen, dass Quasi-AC 0 in Tiefe-3-Quasi-TC 0 enthalten ist . (Ich weiß nicht, ob für die üblichen Versionen dieser Klassen dieselbe Schlussfolgerung bekannt ist. Ich habe gesehen, dass dies in einigen Artikeln als offenes Problem aufgeführt ist.)
quelle