Die erste Turingmaschine

7

Weiß jemand, wie effizient die erste Turing-Maschine war, die Alan Turing hergestellt hat? Ich meine, wie viele Züge hat es pro Sekunde oder so gemacht ... Ich bin nur neugierig. Ich konnte auch keine Informationen darüber im Web finden.

Pilpel
quelle
Die nicht deterministische Variante war so effizient, dass sie jedes Problem in NP in Polynomzeit entscheiden konnte!
Einpoklum

Antworten:

58

"Turingmaschinen" (oder "a-Maschinen") sind ein mathematisches Konzept, keine tatsächlichen physischen Geräte. Turing hat sie entwickelt, um mathematische Beweise über Computer mit der folgenden Logik zu schreiben:

  • Das Schreiben von Proofs über physische Drähte und Schalter ist äußerst schwierig.
  • Das Schreiben von Proofs über Turing-Maschinen ist (relativ) einfach.
  • Alles, was physische Drähte und Schalter können, können Sie eine Turing-Maschine bauen, um (*) (**) zu tun.

Aber Turing hat nie eine Maschine gebaut, die Symbole auf ein Papierband schrieb. Andere Leute haben, aber nur als Demonstration: Hier ist eine, die Sie zum Beispiel aus einer Visitenkarte machen können .

Warum hat er nie eine physische Turingmaschine gebaut? Einfach gesagt, wäre es einfach nicht so nützlich. Die Sache ist, dass niemand jemals ein Rechenmodell entwickelt hat, das stärker ist als eine Turing-Maschine (da es Dinge berechnen kann, die eine Turing-Maschine nicht kann). Und es ist erwiesen, dass mehrere andere Rechenmodelle, wie der Lambda-Kalkül oder die Programmiersprache Python, "Turing-complete" sind: Sie können alles, was eine Turing-Maschine kann.

Für alles außer einem mathematischen Beweis ist es im Allgemeinen viel nützlicher, eines dieser anderen Modelle zu verwenden. Dann können Sie die Turing-Maschinen in Ihren Proofs ohne Verlust der Allgemeinheit verwenden.

(*) Insbesondere jede Berechnung : Eine Turing-Maschine kann beispielsweise keine Glühbirne einschalten, aber Glühbirnen sind vom Standpunkt der Berechnungstheorie aus nicht sehr interessant.

(**) Wie in den Kommentaren ausgeführt wurde, war Turings Hauptdefinition von "Computer" ein Mensch, der einem Algorithmus folgte. Er vermutete, dass es keine Berechnung gibt, die ein Mensch ausführen kann, die eine Turing-Maschine nicht ausführen kann - aber niemand hat dies beweisen können, auch weil es unglaublich schwierig ist, genau zu definieren, was ein menschlicher Verstand tun kann. Schauen Sie sich die Church-Turing-These an, wenn Sie interessiert sind.

Draconis
quelle
Ich bin mir ziemlich sicher, dass der Computer, über den Turing Beweise schrieb, auf Personen verwies, die festen Anweisungen folgten: en.wikipedia.org/wiki/Human_computer (die zweite Fußnote). Das Schreiben von Beweisen über Menschen nach Anweisungen ist sehr schwierig, da Menschen im Prinzip willkürlichen Anweisungen folgen können.
Jasmijn
@Robin Der Vollständigkeit halber hat Turing die Turing-Maschine entwickelt, um zu beweisen, dass der Lamba-Kalkül der Alonzo-Kirche (seines Lehrers) ein universelles Berechnungsmodell ist. Er erreichte dies, indem er nachwies, dass dies für Turing-Maschinen zutraf, und dann nachwies, dass die Turing-Maschine der Lambda-Rechnung entsprach.
JimmyJames
@Robin Guter Anruf! Eine Fußnote dazu wurde hinzugefügt.
Draconis
5
@ JimmyJames Ich denke nicht, dass das richtig ist. Turings Lösung für das Entscheidungsproblem war unabhängig von der der Kirche und bevor er ein Schüler der Kirche wurde. Church veröffentlichte seinen Beweis etwas früher und als Turing davon hörte, beeilte er sich, seine Ergebnisse fertig zu schreiben. Er legte einen Beweis für die Gleichwertigkeit seiner Maschinen und des Lambda-Kalküls als Antwort auf Churchs Papier bei, aber dies war nicht sein ursprüngliches Ziel.
Sasho Nikolov
@SashoNikolov Sie sind richtig, Sir. Danke für die Klarstellung / Korrektur.
JimmyJames
18

Turing hat nie eine physische Turing-Maschine gebaut. Bei Turing-Maschinen ging es nicht darum, ein praktischer physischer Computer zu sein, sondern zu formalisieren, was berechnet werden kann, und tatsächlich zu formalisieren, was "Berechnung" überhaupt bedeutet.

David Richerby
quelle
8

Lassen Sie mich ernsthaften Spaß mitbringen, obwohl dies möglicherweise nicht die gewünschte Antwort ist.


Anspruch 1 : Viele Turing-Maschinen wurden von Alan Turing und vielen anderen gebaut.

Beweis. Alan Turing zeigte auf einen unbeweglichen Bolzen in einer Bombe und sagte mit seiner üblichen scharfen Einsicht und Einfachheit: "Schauen Sie, eine Turing-Maschine, die bei jeder Eingabe anhält."

Moral : Es gibt viele Arten von Turingmaschinen. Viele von ihnen sind sehr einfach. Aber sie sind (funktional) Turingmaschinen.


Anspruch 2 : Es ist unentscheidbar, ob eine Maschine unbegrenzten Speicher hat.

Beweis. Ich habe eine Rechenmaschine, für die es eine Sekunde dauert, um jedes zusätzliche Speicherbit zu demonstrieren. Ich möchte Sie davon überzeugen, dass es kein unbegrenztes Gedächtnis gibt. Als vorsichtiger Positivist bestehen Sie jedoch darauf, dass niemand ablehnen kann, dass das Gedächtnis in naher Zukunft oder sogar für immer unbegrenzt ist.

Moral : Seien Sie vorsichtig, wenn wir über Objekte sprechen, die sich bei Bedarf ausdehnen.

John L.
quelle
Das erste Beispiel klingt apokryphisch. Haben Sie ein Zitat? Und selbst wenn er es gesagt hat, scheint es, als würde er metaphorisch sprechen, da ein TM ein Band enthält, das die Daten enthält. Natürlich ist das TM selbst eine Metapher, da es sich um ein konzeptionelles Gerät handelt, nicht um ein physisches.
Barmar
1
Der erste Beweis / das erste Beispiel ist möglicherweise wahrer als der zweite Beweis / das zweite Beispiel. Hätte ich ein relevanteres Zitat als die Bombe gehabt, hätte ich es benutzt. Alan Turing ist dafür bekannt, eine umfassende Liste von Computern zu untersuchen, von den einfachsten bis zu den exotischsten (wie dem menschlichen Verstand). Er reduzierte die kompliziertesten und mächtigsten (ohne Orakel) auf das einfachste Modell, das möglich war. Das erste Beispiel ist eine neue Anekdote, um der Erleuchtung, die er uns gebracht hat, Tribut zu zollen.
John L.
Vielleicht besser geeignet als Kommentar zur Frage des OP?
AnoE
@AnoE, dein Vorschlag macht Sinn. Hätte ich dagegen als Kommentar zur Frage des OP geschrieben, wäre dies möglicherweise weniger angemessen als eine eigenständige Antwort. Tatsächlich wies meine Antwort implizit auf Umwegen darauf hin, dass Alan Turing keine physische Turing-Maschine in ihrer strengen Interpretation gebaut hatte. Die erste Behauptung betonte nur die Tatsache, dass Turing-Maschinen allgegenwärtig sind. (Ich war und denke über eine weitere Behauptung nach, die auch die Verbreitung von Turing-kompletten Maschinen zeigt, was diesen Kommentar noch weniger attraktiv machen würde.)
John L.
Wenn ich vorschlagen darf, könnten Sie spezifischer über "es gibt viele Arten von TMs" sein. Ein "TM" ist die spezifische Sache mit dem Kopf, dem Band und den Symbolen. Die anderen Maschinen entsprechen dem, sind aber nicht gleich. Ein Code-Cracker ist sicherlich kein TM, obwohl er hinsichtlich seiner Rechenleistung gleichwertig ist. OP fragt anscheinend nicht, ob Turing einen Computer gebaut hat, sondern ob er ein tatsächliches TM gebaut hat (mit einem Lese- / Schreibkopf, einer Band ...).
AnoE
8

Dies ist ein perfekter Ort und eine perfekte Zeit, um sich auf das eigentliche Papier zu beziehen, in dem die Turing-Maschine zuerst beschrieben wird. Ein Link ist hier:

https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf

Natürlich ist er bescheidener, deshalb nennt er es die "automatische Maschine". Es gibt keine wirkliche Maschine, nur ein Tier der Fantasie.

Soweit wir wissen, hat Turing noch nie versucht, die "automatische Maschine" zu bauen. Er war jedoch äußerst einflussreich bei der Herstellung einer Reihe anderer Maschinen. Das bekannteste Beispiel ist die Bombe aus dem Zweiten Weltkrieg, mit der Nazi-Deutschland-Reißverschlüsse gebrochen wurden.

Leider wurde die breite Öffentlichkeit erst lange nach seinem Tod auf seine Leistungen aufmerksam gemacht. (Er soll sich umgebracht haben, nachdem er als verurteilter Homosexueller brutal einer chemischen Sterilisation unterzogen worden war).

Ghellquist
quelle
Es gibt eine zugänglichere Erklärung, die er geschrieben hat. Ich fand, ich habe einen Spiegel davon gehostet, da es schwer zu finden war: "Turing, Alan M. (1936), Über berechenbare Zahlen, mit einer Anwendung auf das Entscheidungsproblem, Proceedings of the London Mathematical Society, Ser. 2-42, 230-265. " Wenn ich jetzt darauf verlinke, erinnere ich mich daran, dass der Online-Link zum Turing Machine-Simulator, den ich 2005 dort eingefügt habe, sehr veraltet ist (Java!). Ich frage mich, was ein guter Ersatzlink wäre.
HostileFork sagt, vertraue SE
3

Das TM existiert nur auf Papier. Es ist ein theoretisches Rechenmodell. Es kann eigentlich nicht gebaut werden (weil das Band unendlich lang ist).

Die Antwort lautet also: Nein, Turing hat im wirklichen Leben nie ein TM gebaut, weil er es nicht kann.


Bitte argumentieren Sie nicht weiter: "Wir können eine Turing-Maschine bauen, nur dass sie kein unendliches Band hat, denn per Definition hat ein TM ein unendlich langes Band. Wenn es kein unendlich langes Band hat, dann ist es kein." Turingmaschine. So einfach ist das.

Ich bin mir völlig bewusst, dass Leute "TMs mit endlichen Bändern" erstellt haben, und ich bezweifle auch nicht die Nützlichkeit davon (dh begrenzte Automaten): Tatsächlich können wir bei einem ausreichend langen Band im Grunde alle praktisch interessanten Dinge berechnen (die Turing sind) berechenbar). Aber für jede natürliche Zahlnwird es ein TM geben, das notwendigerweise ein Band mit einer Länge erfordern würde n+1zu simulieren, so gibt es nie ein "groß genug" Band. (Überlegen Sie warum.)

Wenn Sie einen Schritt zurücktreten, gibt es leicht TMs, die wir nicht mit endlichen Ressourcen erstellen oder simulieren können. Nehmen Sie das TM, das im ersten Schritt ein * schreibt, nach rechts geht und im zweiten Schritt zwei * schreibt usw. Dieses TM kann ohne unendlich viel Speicher nicht erstellt oder sogar simuliert werden.

xuq01
quelle
6
Es ist durchaus möglich, eine Turingmaschine zu bauen. Das Band muss nicht unendlich lang sein: Sie müssen nur jedes Mal etwas mehr hinzufügen, wenn die Maschine das Ende erreicht.
David Richerby
2
@Pilpel Ich glaube nicht, dass er tatsächlich etwas gebaut hat. Turing war ein reiner Mathematiker und arbeitete ausschließlich auf Papier.
xuq01
2
@ xuq01 <s> Natürlich auch seine Maschinen. </ s>
Draconis
2
Es gibt echte Turingmaschinen, außer dass sie nicht über unbegrenzten Speicher verfügen (und daher nur einen begrenzten Satz von Programmen und Eingabewerten berechnen können). Sehen Sie dieses erstaunliche Video einer echten Turingmaschine: youtube.com/watch?v=E3keLeMwfHY
allo
3
@Pilpel Das bemerkenswerteste Gerät, das Turing gebaut hat, war die Bombe , die keine universelle Rechenmaschine ist und ziemlich unabhängig von dem ist, was wir "Turing-Maschine" nennen.
Konrad Rudolph
0

Hier ist ein Video mit einer echten Turing-Maschine. Es ist ganz nett und hat mir geholfen, es nicht mehr nur als mathematisches Modell zu betrachten:

https://www.youtube.com/watch?v=E3keLeMwfHY

user5193682
quelle