Wenn wir uns den DTIME-Hierarchiesatz ansehen, haben wir ein Protokoll, das auf den Mehraufwand bei der Simulation einer deterministischen Turing-Maschine durch eine Universalmaschine zurückzuführen ist:
Wir haben nicht diese Art von Overhead für NTIME von DSPACE. Eine grundlegende Rechtfertigung ergibt sich aus den Einzelheiten des Beweises unter Berücksichtigung des Unterschieds zwischen Simulatoren.
Meine Frage lautet wie folgt: Gibt es ohne Berücksichtigung der Einzelheiten des Beweises des DTIME-Hierarchiesatzes eine Rechtfertigung für dieses Protokoll oder könnte es nur eine Folge des Beweises sein, und es wäre vernünftig, sich vorzustellen, wenn dann
Wenn man bedenkt, dass die Erklärung der Simulation eine gute Begründung ist, sollte man meiner Meinung nach selbst nachweisen, dass wir eine bessere Simulation erstellen könnten, wenn wir ein besseres Ergebnis hätten.
quelle
Antworten:
Der Satz der Zeithierarchie ist Gegenstand meines Diplomprojekts. Vielleicht möchten Sie die Kommentare zu meiner Frage Untere Schranken und Klassentrennung anzeigen .
Wenn ich auf diese Frage zurückblicke und sehe, wie sie sich auf das bezieht, was Sie fragen, habe ich eine Idee, die möglicherweise zeigt, dass der für den Beweis des Theorems erforderliche Mehrfachband-zu-Einzelband-Simulationsaufwand nicht verbessert werden kann. Daher ist ein anderer Ansatz erforderlich, um dieses Ergebnis zu verbessern.
BEARBEITEN: Dieser Beweis ist falsch, siehe die Kommentare unten für den genauen Grund. Ich bearbeite gerade die Antwort, um das zu reflektieren.
Sei die Sprache .{ 0 k 1 k | k ≥ 0 }A {0k1k|k≥0}
Auf einem einzelnen Bandgerät gibt es einen -Algorithmus (Details zu diesem Algorithmus finden Sie in Kapitel 7.1.2 des Sipser-Buches "Einführung in die Berechnungstheorie". In derselben Referenz finden Sie weitere Informationen dass eine Sprache genau dann in o (n \ log n) ist, wenn sie regulär ist. Kaveh stellt in der oben verlinkten Frage auch die Originalarbeiten für diese Behauptung zur Verfügung.O(nlogn)
In den Kommentaren meiner Frage zeigt Ryan Williams einen -Algorithmus für dasselbe Problem unter Verwendung eines 2-Band-TM.O(n)
Es sei nun angenommen, dass es eine Technik zum Simulieren eines Multitapes TM in ein einzelnes Band TM gibt, das eine Laufzeit von , wobei die Laufzeit des simulierten TM ist . Wenn wir es auf den von Ryan veranschaulichten Computer anwenden, erhalten wir ein einzelnes Band TM, das in . Daher ist regulär, was ein Widerspruch ist. Wir schließen daraus, dass ein Overhead von das Beste ist, was wir tun können, wenn wir Multi-Tape-Maschinen mit Single-Tape-Maschinen simulieren.T ( n ) o ( n log n ) A log T ( n )o(T(n)logT(n)) T(n) o(nlogn) A logT(n)
Mir ist klar, dass dies eine starke Aussage ist, daher könnte ich mich in meiner Interpretation irren.
Selbst wenn es eine Technik gibt, mit der dieses Ergebnis verbessert werden kann, ist es meiner Meinung nach nicht möglich, das Ergebnis für oder . Meine Intuition ergibt sich aus der folgenden Tatsache:S P A C ENTIME SPACE
Es gibt ein sehr bekanntes Ergebnis , das angibt . Unter der Annahme, dass glaube ich, dieses Ergebnis zu verbessert wird , ist für jedes So eine sehr kleine nicht deterministische Klasse viel mächtiger als jede deterministische . Angesichts der Stärke einer nicht deterministischen Ressourcenzeit würde ich erwarten, dass eine größere Menge deterministischer Zeit benötigt wird, um eine TM leistungsfähiger zu machen, um die Stärke des Nichtdeterminismus zu kompensieren.P ≤ N P D TDTIME(n)≠NTIME(n) P≠NP kDTIME(nk)≠NTIME(n) k
quelle
Für n-Tape-TMs wurde 1982 von Furer ein enges Zeithierarchieergebnis ähnlich dem Raumhierarchiesatz bewiesen. Der Faktor wird nicht benötigt.lg
Der Faktor für den in Ihrem Beitrag angegebenen Zeithierarchiesatz gilt nur für Single-Tape-TMs. Sofern Sie sich nicht aus irgendeinem Grund sehr für das Single-Tape-Modell engagieren, gibt es hinsichtlich der Hierarchiesätze keinen Unterschied zwischen Raum und Zeit.lg
Es gibt einige Gründe und Argumente für die Verwendung von Single-Tape-TMs zur Definition von Zeitkomplexitätsklassen, aber die Verwendung von Single-Tape-TMs zur Definition von Komplexitätsklassen ist nicht universell, z. B. siehe Lance Fortnow und Rahul Santhanam [2007], wo sie mehrere Bänder verwenden TMs.
Die ursprüngliche Referenz für den Zeithierarchiesatz ist Hennie und Stearns [1966]. Sie beweisen den Satz für Zwei-Band-Maschinen. Odifreddis klassische Rekursionstheorie zitiert sie und Hartmanis [1968] und beschreibt einen Beweis, der dem in Sipsers Buch ähnelt.
Der Proof für Single-Tape-TMs in Hartmanis 'Arbeit verwendet jedoch nicht einfach die Simulation. Es wurden zwei Fälle unterschieden: 1. Laufzeit ist und 2. Laufzeit ist .o ( n 2 )Ω(n2) o(n2)
Für den ersten Fall wird eine Simulation verwendet, und es scheint, dass man den Faktor loswerden kann, wenn die Simulationen effizienter durchgeführt werden können.lg
Für den zweiten Fall gibt das Papier direkt eine Sprache für die Trennung an und verwendet überhaupt keine Simulation. Dies nutzt bestimmte Eigenschaften von Single-Tape-TMs mit subquadratischer Laufzeit.
Man sollte beachten, dass Single-Tape-TMs mit der Zeit nicht so robust sind und es quadratische Untergrenzen (z. B. für Palindroms) bei Single-Tape-TMs gibt, während ein Two-Tape-TM solche Probleme in linearer Zeit lösen kann.o(n2)
Wie bereits erwähnt, ist der Zeithierarchiesatz so eng wie möglich, auch wenn Sie sich nicht aus irgendeinem Grund für ein Single-Tape-TM-Modell entscheiden, selbst wenn die Zeit subquadratisch ist.
PS: Wenn wir Multi-Tape-TMs verwenden, dh eine Turing-Maschine in der Klasse kann eine feste, aber willkürlich festgelegte Anzahl von Bändern haben, gilt Fürers Ergebnis nicht.
quelle
Für eine feste Anzahl von Bändern größer als eins gilt ) für . Der logarithmische Aufwand ergibt sich aus dem Satz der Bandverkleinerung, bei dem eine beliebige Anzahl von Bändern in zwei Bänder umgewandelt werden kann (oder sogar nur ein einzelnes Band und ein Stapel, und zwar mit nur unbewusster Bewegung).fTime(o(f))⊊Time(O(f) f
Wenn die Anzahl der Bänder nicht festgelegt ist, haben wir nicht wirklich eine Technik, um konstruktiv zu beweisen, ohne den Satz der . Es ist plausibel , dass für jeden , -tape Maschinen können nicht durch simuliert werden ohne logarithmischen Kopf -tape Maschinen.DTime(g)⊊DTime(f) k k+1 k
Dies bedeutet jedoch nicht, dass der Zeithierarchiesatz nicht verbessert werden kann oder dass fehlschlägt.DTime(o(f))⊊DTime(O(f))
In der Tat haben wir bereits die folgenden.
Satz: Für jedes und jedes der Form ( und rational; oder ) gilt .f nε>0 f na(logn)b a b a>1 a=1∧b≥0 DTime(O(f/(logf)ε)⊊DTime(O(f))
Beweis: Wenn jede Sprache mit einem -Entscheidungsalgorithmus in kann, dann wird durch Auffüllen der Eingabe jede Sprache mit einem Entscheidungsalgorithmus kann in der Zeit (wobei festgelegt ist) bestimmt werden ), und so für jede konstante , widerspricht dem Zeithierarchiesatz.O(f) O(f/(logf)ε) O(f(n)(logf(n))kε) O(f(n)(logf(n))(k−1)ε) k≥0 c≥0 DTime(O(f(n)(logf(n))c))=DTime(O(f(n)))
Für diesen nichtkonstruktiven Beweis gelten jedoch drei Einschränkungen:f
DTime(O(f)) DTime(O(f/(logf)ε) k k DTime(O(f/(logf)ε) ε=1 f(n)=n2 k
DTime(O(f/(logf)ε) schlägt bei einigen Eingaben fehl, wir haben jedoch nicht bewiesen, dass er bei einigen Eingaben bei allen, aber bei endlich vielen Eingabegrößen fehlschlägt (obwohl dies sehr überraschend wäre) wenn nicht).
* Der Beweis erfordert, dass sich gut verhält (nicht nur zeitkonstruierbar, sondern in gewissem Sinne auch kontinuierlich). * Wir wissen nicht , eine bestimmte Sprache , die in ist , aber nicht in . Für eine ausreichend große , Die Simulation von Band-Turing-Maschinen ist nicht in , aber wir haben nicht ausgeschlossen, dass auch für und ist das kleinste > BB (BB (1000)), wobei BB die Funktion des beschäftigten Bibers ist. * Wir wissen nicht, dass die Einbeziehung robust istD T i m e ( O ( f ) ) D T i m e ( O ( f
quelle