Warum verwenden wir Single-Tape-Turing-Maschinen, um die Zeit zu verkomplizieren?


18

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 }o(n2){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 )DTime(o(nlgn)=RegO(n2)

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)


7
Ich habe noch nie eine Zeitkomplexität gesehen, die durch einzelne Band-TMs definiert ist. Ich habe nur die robusten Zeitkomplexitätsklassen gesehen, die von einzelnen Band-TMs definiert werden.

@Ricky, ich habe gemeint, dass die Zeitkomplexität eines Problems als die Zeitkomplexität einzelner Band-TMs definiert wird, die es lösen können.
Kaveh

und ich meine, dass ich das noch nie gesehen habe. Ich habe immer mindestens zufälligen Zugriff gesehen.

7
Aber ist das wirklich die übliche Definition? was ich in Lehrbüchern gesehen habe, ist: 1) definieren Sie einzelne Band Turing-Maschine (weil es einfacher ist); 2) zeigen, wie andere Varianten, insbesondere Multi-Tape- und Random-Access-Varianten, erweitert werden können; 3) zeigen, dass alle diese Elemente sich gegenseitig mit höchstens polynomieller Verlangsamung simulieren können; 4) Vergessen Sie das Modell zum größten Teil umgehend, zumindest so lange, bis wir subtilere Dinge wie Orakelmaschinen und Logspace-Reduzierungen benötigen. Also, wie bei @ RickyDemer, würde ich die Behauptung anfechten, dass dies wirklich die übliche Definition ist.
Sasho Nikolov

1
Ich habe keine Antwort darauf, aber ich möchte Sie nur auf diese Arbeit von Yamakami hinweisen ( springerlink.com/content/u844854721p83870 ). In diesem Artikel wird erläutert, was passiert, wenn Sie einem kleinen Computer (z. B. einem linearen One-Tape TM) Ratschläge hinzufügen. Es werden mehrere Klassentrennungen bewiesen, dies geschieht jedoch mit diesen Ein-Band-TMs. Diese Separationen würden nicht funktionieren, wenn Sie eine andere Art von TM hätten. Ich denke, dies ist ein schönes Beispiel, wo man coole Dinge mit einem Band beweisen kann und wahrscheinlich nicht mit einem anderen Modell. Die Moral ist "Ein-Band-Angelegenheiten, wenn Sie sich mit subtilen Dingen befassen".
Marcos Villagra

Antworten:


13

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 denke, Turing hat aus Gründen der physischen Plausibilität möglicherweise ein einzelnes Tape TM vorgezogen.

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.)

kkVon den oben genannten Geräten müssen sie ihren Lesestatus an die möglicherweise sehr weit entfernten anderen Köpfe weitergeben, was eine unbegrenzte Menge an Energie in Anspruch nimmt (sagen wir, Sie verwenden Drähte, die notwendigerweise Wärme abgeben) und darüber hinaus nicht augenblicklich ist, was den Mechanismus kompliziert. Wenn Sie stattdessen die Köpfe zusammenhalten und die Bänder darunter bewegen, verbrauchen Sie genug Energie, um Bänder mit unendlicher Länge zu bewegen. Ich verstehe in beiden Fällen nicht, wie Sie die Energie begrenzen können. Tricks wie das Schrumpfen von Bandinkrementen (um eine endliche Länge zu erhalten) setzen ein unendlich teilbares Universum voraus und verletzen Dinge wie die Plancksche Konstante und das holographische Prinzip. Selbst wenn man diese ignoriert, müssen die Mechanismen im Kopf willkürlich genau sein, was wiederum Energieprobleme verursacht und erstaunlich kompliziert ist.

k


Ich dachte, dass Turing versuchte, das Konzept des "Computing" zu abstrahieren und kein Modell für ein physikalisches Gerät zu abstrahieren. In diesem Fall erfasst eine Single-Tape-Turing-Maschine sauber die philosophische Intuition, dass die Berechnung den lokalen Zugriff auf einen großen (unendlichen) Speicher umfasst
Sasho Nikolov,

Ich habe theoretische Gründe erwartet (keine Realisierbarkeit der Modelle), aber ich finde diese Antwort sehr interessant und akzeptiere sie daher. Danke noch einmal.
Kaveh

Wenn wir die Bandköpfe an Ort und Stelle halten, scheint es, als könnten wir die Gesamtenergie loglinear oder hoffentlich nicht schlechter als quasilinear machen, indem wir eine Form der Hennie-Stearns-Konstruktion konstruieren. Ich stelle mir vor, wie die Bänder in immer größeren Schleifen gerollt werden, wenn sie sich in beide Richtungen erstrecken auf. Natürlich bräuchten wir für eine begrenzte Energie pro Iteration eine zeitlich lineare Gesamtenergie. Aber quasilinear ist besser als das naive Quadrat, also dachte ich, ich würde es erwähnen.
Dan Brumleve

14

f(n)

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.


Nein, IIRC, meine erste Begegnung mit TMs war die erste Ausgabe von Hopcroft und Ullman. Aber der Grund, warum ich diese Frage stelle, hängt tatsächlich mit Sipsers schönem Lehrbuch zusammen. Ich habe Komplexitätstheorie unterrichtet, die auf Sipser basiert, und ich hatte das Gefühl, dass es für mich und die Schüler einfacher und sauberer (ohne wesentlichen Materialverlust) wäre, wenn es auf einem Multi basiert -Tape TMs. All diese kleinen technischen Details zum eingeschränkten Zugriff auf Single-Tape-TMs würden vermieden, und ich könnte in der begrenzten Zeit, die ich hatte, interessanteres Material behandeln. Sipser ist entspannt über die Verwendung von Church-Turing-These,
Kaveh

Daher dachte ich, dass es auch in Ordnung sein könnte, über diesen Teil entspannt zu sein. Im Teil des Zeithierarchietheorems erwähnt er, dass der zusätzliche Protokollfaktor nicht erforderlich ist, wenn wir mehrere Bänder hatten und er ziemlich eng wäre. Dies veranlasste mich zu fragen, ob es einen nicht-historischen Grund für die Verwendung von Single-Tape-TMs aus Gründen der zeitlichen Komplexität gibt. Es ist nicht schlimmer als die Verwendung eines separaten Nur-Lese-Bandes für die Komplexität des Speicherplatzes (und das liegt wiederum hauptsächlich daran, dass ein einzelnes Band TM die Intuition für kleine Klassen der Komplexität des Speicherplatzes nicht gut erfasst).
Kaveh

2
Ich verstehe nicht, wie man sublineare Raumgrenzen ohne ein separates Eingabeband überhaupt verstehen könnte.

Ja, ich würde annehmen, dass SPACE anders gemacht wird, teilweise, weil Sie sublineare Grenzen machen, die Sie wahrscheinlich nicht für ZEIT machen werden. Ich würde mich dafür aussprechen, TIME zu abonnieren oder das zu tun, was Sipser für SPACE macht, wenn Sie es so machen möchten, ganz sicher, ich würde über TIME oder TIME_1 oder was auch immer vor Multi-Tape-Maschinen sprechen wollen.
Jeff Burdges

1
Interessanterweise sagt Sipser bei der Definition von SPACE (f (n)) lediglich "Turing machine", ändert aber später die Definition bei der Erörterung von sublinearen Funktionen f und weist eine Übung zur Äquivalenz für Superliner f zu. Ich habe dieses Material schon einmal von Sipser beigebracht. Ich hatte damals nicht allzu viel darüber nachgedacht, aber ich freue mich jetzt darüber.
Jeff Burdges

7

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.