Was bedeutet sublinearer Raum für Turingmaschinen?

10

Es hat sich gezeigt, dass das Problem der Entscheidung, ob eine Eingabe ein Palindrom ist oder nicht, Speicherplatz auf einer Turing-Maschine erfordert . Selbst das Speichern der Eingabe benötigt jedoch Speicherplatz  Bedeutet dies nicht, dass alle Turing-Maschinen Speicherplatz benötigen ?Ω(logn)nΩ(n)

Natürlich gibt es hier keinen Widerspruch, da jede Funktion, die mindestens einen linearen Raum verwendet, auch mindestens einen logarithmischen Raum verwendet. Das Schreiben von deutet jedoch darauf hin, dass eine Turing-Maschine möglicherweise weniger als linearen Speicherplatz benötigt. Warum sollten die Leute die ganze Zeit damit verbringen, beweisen, wenn dies genau dasselbe war? Was scheint eine triviale -Bindung zu sein? Was bedeutet es für eine Turing-Maschine, weniger als den linearen Raum zu verbrauchen?Ω(logn)Ω(logn)Ω(n)

jsguy
quelle
3
Afaik, Raumkomplexität berücksichtigt normalerweise zusätzlichen Speicher aus genau diesem Grund. (Beachten Sie, dass Ihre Frage schlecht gestellt ist; Sie möchten fragen, wie Sie O (log n) erreichen ...).)
Raphael

Antworten:

15

Bei beengten Platzverhältnissen verwenden wir das folgende Modell. Die Turing-Maschine verfügt über drei Bänder: ein schreibgeschütztes Eingabeband, ein schreibgeschütztes Arbeitsband und ein schreibgeschütztes Ausgabeband. Wir messen nur den Platzverbrauch auf dem Arbeitsband. Für Palindrome können wir mit Leerzeichen auf dem Arbeitsband FOR-Schleifen implementieren, die über die Eingabe gehen und übereinstimmende Zeichen an beiden Enden vergleichen. Jeder Index benötigt Speicherplatz zum Speichern.O(logn)O(logn)

Yuval Filmus
quelle
Danke für die Antwort. Warum müssen wir den Index in ein Binärformat konvertieren? Ich dachte, Turing-Maschinen wären abstrakte Rechenmodelle. Warum sollten sie dann Dezimalzahlen in ihre binären Darstellungen konvertieren?
jsguy
4
@jsguy Warum nimmst du an, dass Zahlen dezimal sind? Aber natürlich würde auch die Dezimalzahl gut funktionieren. Es werden immer noch Ziffern benötigt. O(logn)
David Richerby
@ DavidRicherby, kann eine Bandzelle keine Nummer mit mehr als einer Ziffer enthalten?
jsguy
4
@jsguy Aktualisiert die Definition von Turing-Maschinen. Eine Bandzelle enthält ein einzelnes Symbol aus dem Alphabet.
David Richerby
@ DavidRicherby, danke ich denke es macht jetzt Sinn für mich!
jsguy