Können Sie eine Schnur auf einer Vanille-Turing-Maschine rechtzeitig umkehren?

7

Mit einer Vanille-Turing-Maschine meine ich eine Turing-Maschine mit einem Band (keine speziellen Eingabe- oder Ausgabebänder).

Das Problem ist wie folgt: Das Band ist anfangs leer, abgesehen von einer Zeichenfolge von n 1s und 0s wird durch ein Zeichen am Ende der Zeichenfolge abgeschlossen. Der Bandkopf beginnt am Anfang der Zeichenfolge. Das Ziel besteht darin, dass das Band die ursprüngliche Zeichenfolge in umgekehrter Reihenfolge enthält, die durch ein Zeichen am Ende der Zeichenfolge abgeschlossen wird, wobei der Bandkopf zum Anfang der Zeichenfolge zurückkehrt, wenn die Turing-Maschine schließlich anhält.

Die Turing-Maschine kann ein beliebig großes Alphabet verwenden (solange es enthält) 0, 1und ein Zeichen am Ende der Zeichenfolge) und kann so viele Zustände haben, wie wir möchten. Gibt es eine feste Turing-Maschine, die diese Aufgabe rechtzeitig erledigen kann?o(n2)?

Es ist einfach, dies rechtzeitig zu tun O(n2)mit nur wenigen Zuständen und Symbolen. Es scheint intuitiv klar zu sein, dass etwas uns daran hindert, es mehr als einen konstanten Faktor schneller zu machen, aber ich habe es nie beweisen können, und ich mache mir oft bis spät in die Nacht Sorgen über wundersame Anwendungen von Netzwerkcodierung oder Voodoo-Magie, die irgendwie einen bekommen logarithmische Beschleunigung ...

zeb
quelle
Um das zu beweisen Ω(n2)Untergrenze Sie können die Untergrenzenmethoden der Kommunikationskomplexität verwenden . Zum Beispiel können Sie den Beweis, dass Palindrome ({wwR}) erfordert Ω(n2)zu Ihrem Fall. Siehe Übung 13.2 des Kapitels Kommunikationskomplexität von Arora und Barak, "Computational Complexity: A Moder Approach"
Vor
Der Hinweis für die Übung ist falsch: Betrachten Sie die Turing-Maschine, die einfach die ersten n / 3 Bits in den mittleren Bereich kopiert und dann den mittleren Bereich mit den letzten n / 3 Bits vergleicht. Diese Maschine fährt nur einmal von Standort n / 3 zu Standort 2n / 3.
Zeb
Ich denke nicht, dass es falsch ist: eine Zeichenfolge gegeben w#nwR, |w|=n (es gibt drei "Zonen" der Länge n / 3), wenn k Durchquerungen der # Zone sind genug, um es zu entscheiden, dann gibt es eine O(k)Protokoll für die Gleichstellung. In Ihrem Fall sollten Sie die Kommunikationskomplexität beim Umkehren der Zeichenfolge überprüfen{0,1}n#n{0,1}n.
Vor dem

Antworten:

10

Der Standardweg, um solche Dinge zu beweisen, besteht darin, dies zu zeigen Θ(n) Informationsbits müssen sich mindestens kreuzen Θ(n) Punkte.

Das heißt, wenn Sie es "an Ort und Stelle" umkehren, muss das erste Drittel der Bits alle kreuzen n/3 mittlere Zellen und landen in der letzten n/3Zellen. Da bewegt sich der KopfO(1) Bits höchstens eine Entfernung 1 Zelle jeden Schritt, dies erfordert n2/9Schritte. Wenn die umgekehrte Kopie in einem anderen Satz von Zellen landet, ergibt ein sehr ähnliches Argument eineΩ(n2) Untergrenze.

Es erfordert einige Arbeit, um diese intuitive Idee konsequent umzusetzen, aber es wurde getan, obwohl ich nicht genug Zeit habe, um die Papiere zu finden, in denen diese Ergebnisse erschienen sind. Wenn jemand auf ein relevantes Papier verweisen kann, bearbeiten Sie bitte diese Antwort, um dies zu tun .

Peter Shor
quelle
Ah, ich glaube, ich habe endlich verstanden, wie man das konsequent macht. Im Wesentlichen müssen Sie nur zeigen, dass die Häufigkeit, mit der der Kopf einen Schritt von Position k zu Position k + 1 macht, mindestens min (k, nk) geteilt durch den Logarithmus der Anzahl der Zustände beträgt.
Zeb
3

Ich sehe auch keine Möglichkeit, dies zu tun.

Es scheint zu dauern Θ(n2) Zeit, nur um eine zweite Kopie der Zeichenfolge zu erstellen (z. B. wenn die Eingabe die ist n-bit string sAm Ende der Berechnung soll das Band die Zeichenfolge enthalten ss). Vielleicht könnte dies irgendwie mit den Methoden der Kommunikationskomplexität formalisiert werden; Ich weiß es nicht.

Hier ist eine Intuition dafür, warum sich eine Umkehrung so anfühlt, wie es erforderlich sein sollte Ω(n2)Schritte. Farbbitpositionen0,1,,n/2vom Klebeband grün; das ist "die grüne Zone". In ähnlicher Weise behandeln wir Bitpositionen3n/4,,nals "die rote Zone". Intuitiv müssen wir vermittelnn/2Informationsbits von der grünen zur roten Zone. Wenn der endliche Automat der Turingmaschine halten kannb Informationen, dann muss die Turing-Maschine die grüne Zone besuchen n/(2b) mal, und dann muss es wenigstens reisen nPositionen, um in die rote Zone zu gelangen. Es fühlt sich also so an, als müsste die Turing-Maschine zumindest etwas tunn/(2b) Pässe (wo es in jedem Pass in die grüne Zone eintritt und dann von der grünen Zone in die rote Zone fährt), und jeder Pass dauert n Schritte nur für die Kopfbewegung, für insgesamt mindestens n2/(2b)=Ω(n2)Schritte. Dies ist kein vollständiger Beweis, aber es scheint einen Eindruck davon zu vermitteln, warum ich nicht erwarte, dass es einen schnelleren Weg gibt, dies zu tun.

DW
quelle