Wie Sie sie wissen viele Anomalien für die einzelne Band sind Turing - Maschinen , wenn die Zeit ist : Mehrband-TM - Simulation, Simulation von größerer Band Alphabet mit nur , Zeit constructability, Nichtdichtheit des Zeithierarchiesatzes, ...{ 0 , 1 , b }
Auch Ergebnisse wie und sehr modellspezifische -Zeituntergrenzen für einfache Probleme (die nicht einmal zu superlinearen Untergrenzen für zwei führen) Band-TMs). O ( n 2 )
Für die Raumkomplexität verwenden wir ein Modell, bei dem wir ein separates Nur-Lese-Eingabeband haben, das natürlicher und robuster ist.
Ein TM-Modell mit mehreren Bändern (oder mindestens zwei Arbeitsbändern) wäre wesentlich robuster und würde nicht zu Anomalien wie den oben aufgeführten führen. Ich habe einmal einen prominenten Komplexitätstheoretiker gefragt, der in den frühen Jahren der Komplexitätstheorie Simulationsergebnisse bewiesen hat, ob er irgendwelche Verbesserungen gegenüber einem dieser alten Ergebnisse kennt, und die Antwort lautete, dass er nicht der Meinung ist, dass "Fragen zu dem einen Bandmodell das sind wichtig".
Wenn wir das Standardmodell für die zeitliche Komplexität in ein Zwei-Band-Modell ändern, ändern sich keine vernünftigen Ergebnisse in der Komplexitätstheorie, und wir vermeiden diese durch ein bestimmtes Modell verursachten Anomalien. Meine Frage lautet also:
Gibt es einen Grund, warum die zeitliche Komplexität immer noch in Bezug auf einzelne Band-TMs definiert ist? (außer aus historischen Gründen)
Antworten:
Die anderen Antworten sehen sehr gut aus. Ich möchte einen Kommentar teilen, den Russell Impagliazzo vor Jahren in einem Vortrag gehalten hat, der mich seitdem begleitet.
Ich habe Russell vor Tagen auf diesen Thread hingewiesen, aber da er nicht hier ist, möchte ich, dass sein Kommentar bekannt wird, und werde mein Bestes tun, um ihn zu interpretieren.
Für ein einzelnes Band TM können Sie ein Band mit unendlicher Länge (bitte bleiben Sie bei mir) erstellen, das nur eine begrenzte Energiemenge pro Iteration benötigt. Stellen Sie sich das Band als eine lange Stange vor, und der Kopf, der die gesamte TM-Logik enthält, bewegt sich einfach entlang dieser Stange. (Ich stelle es mir als eine niedliche kleine getriebene Vorrichtung vor, die eine sehr primitive Technologie verwendet. Die Stange kann Kerben aufweisen, um sie zu unterstützen, und der Inhalt der Bandzelle kann nur ein Block sein, der orthogonal zur Stangenachse verschoben wird.)
quelle
Es gibt einen klaren pädagogischen Grund, warum Sipser dies tut, nämlich dass der Kurs auf natürliche Weise so verläuft, weil:
Sie sollten den Single-Tape-Rechner vor dem Multi-Tape-Rechner einführen, da sonst die Lernkurve steiler wird.
Sie sollten die Multi-Tape-Maschine idealerweise mit der Single-Tape-Maschine vergleichen, sobald Sie die Multi-Tape-Maschine einführen. Andernfalls führt die anhaltende Unkenntnis zu zusätzlicher Verwirrung.
Sie können auf die Einführung der analogen TIME-Klassen für Multi-Tape-Maschinen verzichten und so die Notation insgesamt vereinfachen.
Es gibt keinen Grund, über konzeptionelle Sauberkeit zu streiten, wenn die Pädagogik so klar den einfachsten Weg vorschreibt, und jeder Informatikstudent muss diesen Grundkurs belegen, einschließlich all jener, die noch keine Beweise verstehen.
quelle
Die ursprüngliche Turingmaschine wurde mit einem einzigen Band beschrieben:
www.cs.ox.ac.uk/activities/ieg/e-library/sources/tp2-ie.pdf
Wie Sie in Ihrer Frage feststellen, hat dies hauptsächlich historische Gründe. Darüber hinaus besteht immer die Tendenz zu fragen, welches Modell das einfachste ist, das etwas kann ...
Da dieses Thema in der Regel sehr formal unterrichtet wird, ist es technisch einfacher, eine einzelne Bandmaschine als eine Bearbeitung mit zwei Bändern zu beschreiben.
Siehe auch:
http://www.cs.utah.edu/~draperg/cartoons/2005/turing.html
quelle