Gibt es eine physikalische Analogie zur Turingmaschine?


27

Kürzlich wurde ich in meiner CS-Klasse in die Turing-Maschine eingeführt.

Nach dem Unterricht habe ich über 2 Stunden lang versucht, die Beziehung zwischen einem Band und einer Maschine herauszufinden.

Ich war mir der Existenz von Computerbändern oder der Interaktion von Bändern und Maschinen bis heute überhaupt nicht bewusst. Ich kann immer noch nicht verstehen, warum eine Maschine Bänder lesen würde, aber ein Scanner ist vielleicht eine nähere Vorstellung von der Turing-Maschine, bei der Papier als Band betrachtet wird und alles, was in einen Scanner gehört, das ist, was eine Turing-Maschine tun würde.

Aber ist die Idee einer Turing-Maschine nicht archaisch? Wir haben so viele physische (anstatt hypothetische) Geräte in unserem Büro oder Wohnzimmer, die genau das tun, was die Turing-Maschine zu tun scheint.

Kann jemand ein besseres Beispiel aus der Realität liefern, damit die wesentlichen Funktionen dieser hypothetischen Konzeption erfasst werden?


1
Wenn Sie verstehen möchten, warum ein Computer Bänder liest, lesen Sie die ersten Tage des Computerbetriebs nach. ZB können Sie Papierbänder in diesem Foto des Kolosses sehen .
Peter Taylor

4
Natürlich gibt es echte Turingmaschinen! Sogar eines aus Lego!
john_leo

3
Verwandte Frage . Beachten Sie, dass (finite) Bänder , wo stark verwendet in computating bis Festplatten kam.
Raphael

1
Das chinesische Raumargument ( en.wikipedia.org/wiki/Chinese_room ) könnte zu Ihrem Verständnis beitragen. Ich hatte das gleiche Problem mit Touring-Maschinen, als ich zum ersten Mal in CS eintrat, und der Chinese Room war die Brücke, die ich brauchte, um dorthin zu gelangen. Der Sinn einer Tournig-Maschine ist es auch, Mathematikern zu ermöglichen, weiterhin interessante Dinge über CS zu beweisen. Es ist nicht dazu gedacht, ein tatsächlicher Computer zu sein.
Sieben Siebener

2
@slebetman Das mag für jemanden etwas esoterisch sein, der sich gerade mit Turing-Maschinen vertraut gemacht hat, aber das Band in einer Turing-Maschine ist kein Direktzugriff. es ist sequentieller Zugriff. Es dauert n Schichten, um den Kopf in eine Zelle in der Nähe zu bringen. Ich erwähne dies nur, weil sich der Raum der berechenbaren Dinge nicht ändert, aber die Zeit , die benötigt wird, um sie zu berechnen. Diese Art von Ergebnissen (z. B. können Sie einen 2-Band-Computer mit einem 1-Band-Computer simulieren, Sie können RAM mit einem 1-Band-Computer simulieren usw. und nur mit einer Erhöhung der Polynomzeit usw.) sind wichtige Übungen in Berechenbarkeitskurse.
Joshua Taylor

Antworten:


24

Turing-Maschinen sind neben der Rechnung und den rekursiv definierten rekursiven Funktionen eines der "ursprünglichen" Turing-vollständigen Rechenmodelle . Heutzutage wird in vielen Bereichen der theoretischen Informatik ein anderes Modell verwendet, die RAM-Maschine, die den tatsächlichen Computern viel näher kommt. Da beide Modelle p-äquivalent sind (sie simulieren sich mit höchstens polynomieller Vergrößerung), sind beide Modelle aus der Sicht von Fragen wie P gegen NP äquivalent.λ


38

AFAIK the Turing Machine ist der Idee eines Menschen mit Stift und Papier nachempfunden. Der Mensch hat einen bestimmten Zustand im Gehirn, schaut auf das Papier wie die Maschine auf das Band und schreibt etwas auf das Papier oder bewegt sich, um einen anderen Ort zu betrachten, genau wie die Maschine.

TM ist archaisch als Peano Natural Number Arithmetic. TM ist für die praktische Berechnung unbrauchbar und natürlich nicht dafür vorgesehen. Es ist nur ein einfacher Weg, die Berechnung zu axiomatisieren, damit wir überlegen können, was berechenbar ist und was nicht - genau wie Peano-Arithmetik nützlich ist, um anhand erster Prinzipien zu definieren, was natürliche Zahlen sind und welche Eigenschaften sie haben -, aber es wäre lächerlich, wenn Versuchen Sie zu rechnen, indem Sie die Peano-Zahlen von Hand gemäß den theoretischen Definitionen manipulieren.

Stellen Sie sich vor, wie schwierig es wäre, andere Sätze als die Komplexitäts- und Berechenbarkeitstheorie zu beweisen (z. B. zu beweisen, dass das Halting-Problem unentscheidbar ist), wenn Sie sie mit der Semantik der Programmiersprache C ++ anstelle der Turing-Maschine beweisen müssten. Ihre Beweise wären lächerlich oder unmöglich - so lächerlich wie der Nachweis der Assoziativität der natürlichen Zahlenmultiplikation, indem Sie die auf Dezimalzahlen angewandte Grundschulmethode als Ihre Definition der Multiplikation verwenden.


5
Gute Antwort. In Turings Originalarbeit leitete er seine Definition der Maschine sogar davon ab, wie ein Mensch etwas berechnen würde.
john_leo


8

Viele sehr unterschiedliche Turing-Komplettberechnungsmodelle sind physikalisch realisierbar (bis hin zu Unendlich als Zeichen für Unbegrenztheit). Das kann also nicht der Punkt für die Auswahl eines Modells sein.

Die Antwort von @jkff ist angebracht, um zu bemerken, dass die Turing-Maschine als theoretisches Gerät für den mathematischen Zweck des Studierens von Berechenbarkeit und Beweisbarkeit gedacht ist (was sich tatsächlich im Zusammenhang mit Hilberts Entscheidungsproblem ergibt ). Die Gründe für die Wahl eines einfachen Formalismus sind jedoch nicht ganz richtig.

Das Problem des Anhaltens zu beweisen ist bei fortgeschritteneren Modellen nicht so viel schwieriger. Tatsächlich sind unsere "Beweise" oft nur die Konstruktion einer Lösung. Wir gehen nicht viel auf die tatsächlichen (sehr mühsamen) Argumente ein, dass diese Konstruktionen korrekt sind. Aber jeder, der einen Dolmetscher für eine vollständige Sprache von Turing schreibt, macht so viel wie jede Konstruktion einer Universalmaschine. Nun, C kann ein bisschen kompliziert sein, und wir möchten es vielleicht für einen solchen Zweck ein bisschen rationalisieren.

Die Wichtigkeit eines einfachen Modells besteht vielmehr darin, dass das Modell verwendet werden kann, als dass seine Eigenschaften festgelegt werden (z. B. das Halteproblem, um das von @jkff angegebene Beispiel zu nennen).

Typischerweise sind große Theoreme häufig Theoreme, die sehr einfach ausgedrückt werden können und auf eine Vielzahl von Problemen anwendbar sind. Aber es sind nicht unbedingt Theoreme, die leicht zu beweisen sind.

Im Fall von TM liegt die Bedeutung der Einfachheit darin, dass viele Ergebnisse erzielt werden, indem das Halteproblem oder andere TM-Probleme auf die Probleme reduziert werden, an denen wir interessiert sind (z. B. die Ambiguität kontextfreier Sprachen), wodurch inhärente Einschränkungen für die Lösung festgelegt werden diese Probleme.

Obwohl das TM-Modell sehr intuitiv ist (was wahrscheinlich der Hauptgrund für seine Beliebtheit ist), ist es für die Verwendung in solchen Beweisen häufig nicht einfach genug. Dies ist ein Grund für die Bedeutung einiger anderer, noch einfacherer Modelle, wie beispielsweise des Post-Correspondence-Problems , das weniger intuitiv zu analysieren ist, aber einfacher zu handhaben ist. Dies liegt jedoch daran, dass diese Rechenmodelle häufig verwendet werden, um negative Ergebnisse zu belegen (was auf das ursprüngliche Entscheidungsproblem zurückgeht).

Wenn wir jedoch positive Ergebnisse nachweisen möchten, z. B. die Existenz eines Algorithmus zur Lösung eines bestimmten Problems, ist das TM ein viel zu simples Gerät. Es ist viel einfacher, fortgeschrittene Modusmodelle wie den RAM-Computer oder einen assoziativen Speichercomputer oder eines von vielen anderen Modellen oder auch nur eine der vielen Programmiersprachen in Betracht zu ziehen .

Dann ist das TM-Modell nur ein Bezugspunkt, insbesondere für die Komplexitätsanalyse, da die Reduktion dieser Modelle auf das TM-Modell (in der Regel polynomisch) kompliziert ist. Die Einfachheit des TM-Modells verleiht Komplexitätsmaßen dann viel Glaubwürdigkeit (im Gegensatz dazu, um ein extremes Beispiel zu nehmen, um die Reduktionen von Lambda-Kalkül).

Mit anderen Worten, das TM-Modell ist oft zu einfach, um Algorithmen zu entwerfen und zu untersuchen (positive Ergebnisse), und oft zu komplex, um die Berechenbarkeit zu untersuchen (negative Ergebnisse).

Aber es scheint an der richtigen Stelle zu sein, um als zentrales Bindeglied zu fungieren , um alles miteinander zu verbinden, mit dem großen Vorteil, ziemlich intuitiv zu sein.

In Bezug auf physikalische Analogien gibt es keinen Grund, ein Modell einem anderen vorzuziehen. Viele Turing-Komplettberechnungsmodelle sind physikalisch realisierbar (bis hin zu unbegrenztem Speicher), da es keinen Grund gibt, einen Computer zusammen mit seiner Software als weniger physikalisch als einen "nackten" Computer zu betrachten. Immerhin hat die Software eine physische Darstellung, die Teil des programmierten Computers ist. Da alle Berechnungsmodelle in dieser Hinsicht gleichwertig sind, können wir auch eines wählen, das für die Organisation von Wissen geeignet ist.


Vielleicht ist das eine unsympathische Bemerkung, aber der erste Satz ist nicht wahr, da Sie immer nach oben gehen können. Es gibt verschiedene Modelle für die Hyperberechnung, bei denen es sich um vollständige Berechnungsmodelle handelt, die jedoch physikalisch nicht realisierbar sind.
Nikolaj-K

Vielen Dank. Daran habe ich nie gedacht, aber ich denke, das kann richtig sein, da die Hyperberechnung immer auf andere Weise geschwächt werden kann. Wie denkst du, sollte dies dann angegeben werden, da ich annehme, dass du verstanden hast, was ich sagen wollte?
Babou

1
Ja, es sind nicht nur Dinge wie nicht deterministische oder unendliche Zeitmaschinen. Eine Turingmaschine, die sich nach Schritt 7 der Berechnung in einen Elefanten verwandelt, eine Schüssel Spaghetti isst, eine weitere Turingmaschine baut und mit Schritt 8 der ursprünglichen Berechnung fortfährt ... ist auch ein gültiges Turing-Gesamtberechnungsmodell. Was auch immer, ich denke nicht, dass Sie es reparieren sollten.
Nikolaj-K

" Jedes vollständige Berechnungsmodell von Turing ist physikalisch realisierbar. " Nun , nein, im Gegenteil. Tatsächlich kann kein vollständiges Modell von Turing jemals physisch konstruiert werden, weil wir nichts Unendliches konstruieren können. Alle "physikalisch realisierten" Berechnungsmodelle sind also bestenfalls linear begrenzte Automatenmodelle oder weniger.
RBarryYoung

@RBarryYoung Wenn Sie die Geduld gehabt hätten, die gesamte Antwort zu lesen, hätten Sie vielleicht bemerkt, dass ich im letzten Absatz ausdrücklich darauf hinweise, dass dies "bis zur Unbegrenztheit des Gedächtnisses" ist. Der erste Satz war als Einleitung gedacht. Glauben Sie, dass es unangemessen ist, eine solche bekannte Tatsache in der Einleitung nicht anzugeben? Es ist wahr, dass der Versuch, die Rolle des TM-Modells eingehender zu analysieren, meine Antwort auf mehr Kritik öffnet. Hast du noch etwas gesehen, das mit meiner Antwort nicht stimmt?
Babou

5

Stellen Sie sich einen Neuling in der Geometrie vor und fragen Sie:

Gibt es eine physikalische Analogie zum Dreieck?

Ist die Idee eines Dreiecks nicht ziemlich archaisch? Wir haben so viele physische (anstatt hypothetische) Formen in unserem Büro oder Wohnzimmer, die zu tun scheinen, was das Dreieck tut.

Was würdest du antworten?

Man könnte sagen, dass diese Fragen zwei grundlegende Missverständnisse über Dreiecke aufdecken:

  1. "Dreiecke sind rein hypothetisch." Falsch! Während sie mathematische Einheiten sind, platonische Ideale und in diesem Sinne hypothetisch, sind Dreiecke real : Wir können sie tatsächlich in der realen Welt konstruieren. Zugegeben, was wir konstruieren, wird niemals ein perfektes Dreieck sein, aber unsere mathematische Theorie über sie gilt für die reale Welt, die Gesetze, die wir ableiten können, gelten für Formen in der realen Welt, die Theorie kann als Grundlage für das Entwerfen verwendet werden. Formen konstruieren und messen in der realen Welt; Aus diesem Grund wurde die Theorie überhaupt erst entwickelt.
  2. "Dreiecke sind nutzlos, weil sie nicht die Formen beschreiben, die wir normalerweise verwenden."Falsch! Tatsächliche Formen zu beschreiben, die man in der realen Welt findet, ist nicht ihr Zweck. Wenn Ihr gesamtes Büro oder Wohnzimmer kein einziges Dreieck enthält, bedeutet dies nicht, dass das Konzept des Dreiecks unrealistisch oder veraltet ist und besser durch etwas anderes ersetzt werden sollte. Ihr Hauptzweck ist ein Elementarkonstrukt, aus dem im Prinzip alle komplexeren Formen konstruiert werden können - und für das wir daher Gesetze ableiten können, die für Formen im Allgemeinen gelten. Das Nachdenken über Dreiecke ermöglicht es uns, über Formen im Allgemeinen nachzudenken. Ihr Wohnzimmer unterliegt den gleichen Gesetzen, die wir für Dreiecke abgeleitet haben, und unser Wissen über diese Gesetze wurde direkt oder indirekt genutzt, um es zu konstruieren. Das Wohnzimmer hat wahrscheinlich kein einziges Dreieck, geschweige denn ein perfektes, aber es ist uns egal, ob wir dort Dreiecke finden. wir können. Erstellen Sie jedoch eine Beschreibung der darin enthaltenen Formen, indem Sie sie mit Dreiecken approximieren. Dies - Triangulation - ist eine beliebte und nützliche Aufgabe. Dreiecke sind also Bausteine, die uns helfen, über Formen im Allgemeinen nachzudenken.

Gleiches gilt für Turingmaschinen.

Es ist so lange her, dass ich mich mit Geometrie vertraut gemacht habe. Ich kann mich wirklich nicht erinnern, ob ein Neuling diese falschen Vorstellungen über Dreiecke hat. Aber wenn es um Turing-Maschinen geht, stoße ich die ganze Zeit auf diese Missverständnisse . Tatsächlich scheint so oft etwas grundlegend Falsches daran zu sein, wie sie normalerweise unterrichtet werden. Vielleicht ist ein Show-and-Tell- Ansatz angebracht!

Der Vollständigkeit halber:

  1. "Turingmaschinen sind rein hypothetisch." Falsch! Während sie mathematische Einheiten, platonische Ideale und in diesem Sinne hypothetisch sind, sind Turing-Maschinen real : Wir können sie tatsächlich in der realen Welt konstruieren. Zugegeben, was wir konstruieren, wird niemals eine perfekte Turing-Maschine sein, aber unsere mathematische Theorie über sie gilt für die reale Welt, die Gesetze, die wir ableiten können, gelten für Rechengeräte in der realen Welt, die Theorie kann als Grundlage dafür verwendet werden Entwerfen, Konstruieren und Messen von Rechengeräten in der realen Welt; Aus diesem Grund wurde die Theorie überhaupt erst entwickelt.
  2. "Turing-Maschinen sind nutzlos, weil sie nicht die Computer beschreiben, die wir normalerweise verwenden."Falsch! Es ist nicht ihr Zweck, die tatsächlichen Rechengeräte zu beschreiben, die man in der realen Welt findet. Wenn Ihr gesamtes Backoffice oder Home-Entertainment-Studio keine einzige Turing-Maschine enthält, bedeutet dies nicht, dass das Konzept der Turing-Maschine unrealistisch oder veraltet ist und besser durch etwas anderes ersetzt werden sollte. Ihr Hauptzweck ist ein Elementarkonstrukt, aus dem sich prinzipiell alle komplexeren Rechengeräte konstruieren lassen - und für das wir deshalb Gesetze ableiten können, die für Formen im Allgemeinen gelten. Wenn wir über Turing Machines nachdenken, können wir allgemein über Rechengeräte nachdenken. Ihre Computerhardware und -software unterliegen denselben Gesetzen, die wir für Turing Machines abgeleitet haben, und unser Wissen über diese Gesetze wurde direkt oder indirekt verwendet, um sie zu konstruieren - auch wenn sie wahrscheinlich nicht zutreffen. ' Ich habe keine einzige Turing-Maschine in ihnen. Es sind die Gesetze, an denen wir interessiert sind.

1
Könnten Sie diese Diskussion auf Dreiecke auf den Fall erweitern tesseracts . Ich bin der Meinung, dass Dreiecke Entitäten entgegengesetzt werden sollten, die weniger offensichtlich physisch sind.
Babou

1
Ich habe gelacht, als ich die Frage gelesen habe, weil es mir genauso lächerlich erschien, als zu behaupten, dass Dreiecke archaisch sind. Informatik ist im Grunde genommen Mathematik; es altert nicht und es wird nicht veraltet. Sehr gut geschriebene Antwort; +1.
Wildcard

Ich sehe die Relevanz eines Tesseracts nicht, aber es könnte eine Verbesserung sein, ein Verfahren oder eine Maschine zu verwenden, z. B. Stricken oder eine Strickmaschine . Eine Turingmaschine beschreibt nicht wirklich ein Objekt, sondern einen (konfigurierbaren, schrittweisen) Prozess.
Reinierpost

3

Die physikalische Analogie, die Turing zu haben scheint, ist ein Computer, der Probleme mit Bleistift, Papier und Radiergummi auslöst. Sie sollten verstehen, dass 1936 ein "Computer" eine Person war, die zum Rechnen eingesetzt wurde. Natürlich verwendeten die meisten Computer im Jahr 1936 Addiermaschinen, aber Turing erwähnt diese nicht, da sie unwesentlich sind. Dies ist, was er in Bezug auf das Band sagt, um zu rechtfertigen, dass "die 'berechenbaren' Zahlen [dh diejenigen, die eine Turing-Maschine berechnen könnte] alle Zahlen enthalten, die natürlich als berechenbar angesehen würden".

Die Berechnung erfolgt normalerweise, indem bestimmte Symbole auf Papier geschrieben werden. Wir können annehmen, dass dieses Papier wie ein Rechenbuch für Kinder in Quadrate unterteilt ist. In der Grundrechenart wird manchmal der zweidimensionale Charakter des Papiers verwendet. Eine solche Verwendung ist jedoch immer vermeidbar, und ich bin der Meinung, dass der zweidimensionale Charakter von Papier für die Berechnung kein wesentlicher Faktor ist. Ich gehe dann davon aus, dass die Berechnung auf eindimensionalem Papier erfolgt, also auf einem in Quadrate unterteilten Band.

Obwohl Computer kein Beruf mehr ist, wurde den Kindern beim letzten Mal beigebracht, Algorithmen mit Bleistift und Papier als Speichermedium auszuführen. Obwohl diese Analogie altmodisch oder gar archaisch erscheint, ist sie noch nicht überholt.

Weitere Informationen finden Sie unter Über berechenbare Zahlen mit einer Anwendung auf das Entscheidungsproblem , insbesondere in den Abschnitten 1 und 9.


Joe Weizenbaum verwendete eine andere physikalische Analogie zur Erklärung: Token auf einer Toilettenpapierrolle.
Jerry101

1

@jkff hat die Idee etwa the Turing Machine is modeled on the idea of a human with a pen and papernicht ganz richtig. Es gibt jedoch viele Situationen, in denen dies als richtig angesehen werden kann.

Denken Sie an den Menschen als Turing-Maschine unter bestimmten Projektionen der Staaten. Mit anderen Worten, wenn Sie einen Menschen nur während seiner Arbeitszeit sehen, führt er während seiner Arbeitszeit bestimmte Aufgaben aus. Diese Aufgaben sind die Grundaufgaben für den Job.

Wenn Sie sich nicht für sein Privatleben interessieren, was er zu Hause, in seinem Zimmer usw. tut, können Sie dies als Projektion seiner Übergangsfunktion in eine neue Übergangsfunktion betrachten, in der nicht arbeitsbezogene Zustände ignoriert werden. Mit anderen Worten, Sie können alle Zustände und Aufgaben überspringen, die nichts mit Ihrem Anliegen und Ihrer Perspektive zu tun haben.

In diesem Modell wird die Turing-Maschine einem Menschen nachgebildet, der mit einem Stift und Papier eine festgelegte Aufgabe erledigt (dh in einer festgelegten Perspektive betrachtet). Das Band ist das, was er auf das Papier schreibt (alle Papiere ignorieren oder auf etwas Papier schreiben, das er nicht für die Aufgabe schreibt)

Wenn Sie andere Aufgaben berücksichtigen, die er erledigt, dann haben Sie eine Vereinigung vieler Turing-Maschinen in einem Menschen. Aber was ist, wenn er seinen Job wechselt und eine andere Aufgabe übernimmt? Dann wechselt sein Gehirnzustand zu einer anderen Turingmaschine, wenn er in einem anderen Zeitrahmen aus einer anderen Perspektive betrachtet wird.

Wenn Sie eine gute Antwort auf Ihre Frage wollen, dann hat Yuval Filmus sie wohl gut beantwortet. Verwenden Sie das RAM-Modell. Bleib dabei.

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.