Alphabet der Single-Tape-Turing-Maschine

40

Kann jede Funktion , die in der Zeit berechenbar ist auf einer Single-Band Turingmaschine mit einem Alphabet der Größe in berechnenden Zeit auf einer Single-Tape-Turing-Maschine mit einem Alphabet der Größe (z. B. und leer)?t k = O ( 1 ) O ( t ) 3 0 , 1 ,f:{0,1}{0,1}tk=O(1)O(t)30,1,

(Aus den Kommentaren unten vom OP) Beachten Sie, dass die Eingabe mit , aber die Turing-Maschine, die ein Alphabet der Größe kann die Eingabesymbole mit Symbolen aus dem größeren Alphabet überschreiben. Ich verstehe nicht, wie man Symbole im größeren Alphabet im kleineren Alphabet codiert, ohne die Eingabe verschieben zu müssen, was Zeit kosten würde .k N 20,1kn2

Manu
quelle
8
Beachten Sie, dass die Eingabe mit wird, die Turing-Maschine jedoch mit einem Alphabet der Größe die Eingabesymbole mit Symbolen aus dem größeren Alphabet überschreiben kann. Ich verstehe nicht, wie man Symbole im größeren Alphabet im kleineren Alphabet codiert, ohne die Eingabe verschieben zu müssen, was Zeit kosten würde . k N 20,1kn2
Manu
4
@ Emmanuele: Sie sollten die Frage bearbeiten und diesen Aspekt betonen. ansonsten klingt es genau wie eine übliche Lehrbuchübung ...
Jukka Suomela
3
@ Tsuyoshi, ich denke du hast die Frage falsch verstanden.
Suresh Venkat
4
@Jukka: Auf einer One-Tape-Turing-Maschine sind eigentlich alle Sprachen , die in der Zeit berechnet werden können, reguläre Sprachen. o(nlogn)
Kristoffer Arnsfelt Hansen
6
@Abel: Das Ergebnis, das Sie von Arora und Barak zitieren, umgeht das Hauptproblem hier, weil sie in ihrem Modell (das für Multi-Tape-TMs ziemlich standard ist) ein separates, schreibgeschütztes Eingabeband haben.
Joshua Grochow

Antworten:

5

Eine Teilantwort, wenn TM in läufto(|x|log|x|)

Wenn TM4 ein 4-Zeichen-TM ist (mit dem Alphabet ), das berechnet , dh entscheidet Sprache inΣ4={ϵ,0,1,2}f:{0,1}{0,1}L={x|f(x)=1}(o(|x|log|x|))

Eine ist1DLIN=1DTime(O(n))

  • Hennie hat (1) bewiesen, dassREG=1DLIN
  • Kobayashi bewies (2), dassREG=1DTime(o(nlogn))

Also ist regulär und ist offensichtlich immer noch regulär über das AlphabetLΣ3={ϵ,0,1}

Es gibt also einen DFA, der über L entscheidet und nur Symbole in . Ein Ein-Band-TM3 mit drei Symbolen kann direkt aus dem DFA erstellt werden und entscheidet über L unter Verwendung des gleichen ungepolsterten Eingangs des ursprünglichen TM4 .Σ3

... Sie können es nicht direkt aus TM4 erstellen, aber TM3 existiert.

Wenn TM4 in wird, können Sie die Eingabe verschieben und eine direkte Konvertierung von TM4 nach TM3 vornehmen.Ω(n2)

Wie in den Kommentaren bemerkt, ist der schwierige Fall, wenn TM4 unter .Ω(nlogn)o(n2)


(1) Hennie, One-Tape, Offline-Turing-Maschinenberechnungen (1965)

(2) Kobayashi, Über die Struktur der nichtdeterministischen Turing-Maschinen-Zeithierarchie auf einem Band (1985)

Marzio De Biasi
quelle
1
Der Punkt über wird bereits von Kristoffer Arnsfelt Hansen in den Kommentaren unter der Frage vermerkt. Der wirklich interessante Fall ist . Ω ( n log n ) o ( n 2 )o(nlogn)Ω(nlogn)o(n2)
Kaveh
Du hast recht, ich habe Kristoffer Kommentar nicht bemerkt. Ich habe den interessanten Fall schlecht ausgedrückt (ich weiß nicht, wie ich es beweisen soll), also habe ich die Antwort aktualisiert.
Marzio De Biasi
1
@Kaveh: Was ist mit -Zeitmaschinen für Versprechen Probleme? Wissen wir bereits, wie man beispielsweise eine Maschine umrüstet, die ein Versprechungsproblem in Zeit löst ? Ich verstehe nicht, wie es geht, und die Verbindung zu regulären Sprachen hält nicht mehr an (es sei denn, ich täusche mich schwer). o(nlogn)O(n)
Jukka Suomela
1
@Kaveh: Kannst du nicht einfach ein Problem annehmen , das keine reguläre Sprache ist, aber mit einer Turing-Maschine in z. B. Runden gelöst werden kann , und ein Versprechungsproblem wie folgt definieren: Ja-Instanzen bestehen einer Zeichenkette gefolgt von Auffüllbits; no-Instanzen bestehen aus einer Zeichenkette gefolgt von Füllbits. Das Versprechen-Problem ist in Zeit lösbar, und es ist nicht lösbar unter Verwendung einer Finite-State-Maschine. LO(n2)xL|x|2xL|x|2O(n)
Jukka Suomela
1
@Kaveh: Ich denke, das intuitive Argument schlägt aus folgendem Grund fehl: Ja, es gibt ein nicht versprochenes Problem, das von derselben Maschine gelöst wird. Die Laufzeit der Maschine kann jedoch für bestimmte Eingaben so hoch wie . (Intuitiv kann die Maschine nicht überprüfen, ob genügend Polster vorhanden sind, und daher muss "auf Nummer sicher gehen" davon ausgegangen werden, dass nach dem Präfix genügend Polster vorhanden sind . Dann wird Zeit verschwendet, um festzustellen, ob , und das ist zu viel, wenn wir zum Beispiel nur Auffüllungen hatten.)Θ(n2)xΘ(|x|2)xLΘ(|x|)
Jukka Suomela
-4

Für alle Alphabetgrößen größer als ändern sich die Laufzeiten nur um einen konstanten Faktor, da für alle .1logk(x)Θ(logl(x))k,l>1

Ausarbeitung: In Zeitschritten kann die angenommene Turing-Maschine höchstens Positionen / Bits verarbeiten. Die Bits stammen aus einem jährigen Alphabet, wlog . Erstellen Sie eine neue Turing-Maschine, indem Sie jeden Übergang durch Übergänge . Jedes alte Bit wird durch Bits in codiert (Leerzeichen sind reserviert, um nicht verwendete Zellen zu markieren). Beachten Sie, dass dies im Wesentlichen binär codierte Ziffern sind.ttk{0,1,,k1}log2(k)log2(k){0,1}

Offensichtlich führt die resultierende Turing-Maschine höchstens Schritten aus.log2(k)tO(t)

Zusatz: Die obige Argumentation bricht ab, da Operationen, die ein Eingabesymbol mit einem Bit überschreiben, das nicht in ist, nicht direkt übersetzt werden können. der eingang muss verschoben werden. Dies kann geändert werden, indem die ursprüngliche Eingabe vor dem Start der Berechnung übersetzt wird (im Wesentlichen Auffüllen). Dies kann in der Zeit , was zu einer Gesamtlaufzeit von .O ( n 2 ) O ( n 2 ) + log 2 ( k ) t{0,1}O(n2)O(n2)+log2(k)t

Folglich hat die Verwendung von nur zwei Symbolen zur Codierung von Zwischenergebnissen keine asymptotische Auswirkung, wenn , aber die Vorverarbeitung dominiert schnellere Algorithmen. Da sich die interessantesten Funktionen in (z. B. das Hinzufügen von zwei Zahlen), kann man das Problem als vernachlässigbar betrachten.Ω ( n 2 )t(n)Ω(n2)Ω(n2)

Raphael
quelle
3
Bis Sie mich davon überzeugen, warum dies der Fall sein soll, werde ich diese Ablehnung beibehalten.
Andrej Bauer
1
Ich würde gerne Beweise für Ihre Behauptung hören. Alles in allem ist es nur eine Behauptung.
Andrej Bauer
2
Oh, ich verstehe, worauf du dich beziehst. Ok, tut mir Leid. Aber die Frage ist nicht etwa , dass . Es ist eine leichte Variation.
Andrej Bauer
6
Ich denke, dass der Fall mit t = Ω (n ^ 2) der einfache Fall ist, weil Sie sich die Zeit leisten können, die Eingabezeichenfolge zu verschieben. Der wesentliche Fall ist, wenn t = o (n ^ 2) ist. Ich weiß nicht, wie wichtig es ist, Single-Tape TM mit o (n ^ 2) Zeit zu betrachten, aber die Frage ist darüber.
Tsuyoshi Ito
3
Die ursprüngliche Frage impliziert bereits, dass der Fall einfach ist; Daher sehe ich nicht wirklich, wie diese Antwort etwas Neues hinzufügt ...Ω(n2)
Jukka Suomela