Historische Gründe für die Einführung von Turing Machine als primäres Berechnungsmodell.

44

Ich verstehe, dass Turings Modell zum "Standard" bei der Beschreibung von Berechnungen geworden ist. Ich möchte wissen, warum dies der Fall ist - das heißt, warum das TM-Modell weit verbreiteter ist als andere theoretisch äquivalente Modelle (meines Wissens nach), zum Beispiel Kleenes μ-Rekursion oder der Lambda-Kalkül (ich verstehe) dass erstere erst später aufgetaucht sind und letztere ursprünglich nicht speziell als Berechnungsmodell entworfen wurden, aber es zeigt, dass von Anfang an Alternativen bestanden haben).

Ich kann mir nur vorstellen, dass das TM-Modell die Computer, die wir tatsächlich haben, besser repräsentiert als die Alternativen. Ist das der einzige Grund?

Evan
quelle
1
Während sie nicht direkt zum selben Thema gehören, untersuchen die Fragen cstheory.stackexchange.com/questions/625/… und cstheory.stackexchange.com/questions/1117/… die Beziehung zwischen TMs und dem Kalkül und haben einige historische Aspekte Elemente. λ
Suresh Venkat
Ja, ich habe die gesehen. Ich verstehe die wörtliche Geschichte der verschiedenen Theorien ziemlich gut, aber ich interessiere mich mehr für die Entwicklungen im Laufe der Zeit, die zu den aktuellen "Vorlieben" auf diesem Gebiet geführt haben, wenn Sie so wollen.
Evan
2
Eigentlich gibt es Modelle, die (wohl) näher an realen Computern liegen, siehe diese Frage . Im Allgemeinen hängt das beste Modell von den Bedürfnissen ab und sie unterscheiden sich von einem Bereich zum anderen.
Kaveh

Antworten:

46

Dies scheint im Kontext (einiger Bereiche) der Informatik zuzutreffen, jedoch nicht generell.

Ein Grund hat mit der These der Kirche zu tun. Der Hauptgrund dafür ist, dass einige Experten wie Godel nicht der Meinung waren, dass die Argumente, mit denen frühere / andere Rechenmodelle genau das intuitive Rechenkonzept erfassen, überzeugend sind. Church hatte verschiedene Argumente, die Godel jedoch nicht überzeugten. Auf der anderen Seite Turings Analyse wurde überzeugend für Gödel so als angenommen wurde das Modell für eine effektive Berechnung. Die Äquivalenzen zwischen verschiedenen Modellen werden später bewiesen (glaube ich von Kleene).

λμ

μλ. Siehe auch diese Papiere von Viggo Stoltenberg-Hansen und John V. Tucker I , II .)

Einige Ressourcen für die weitere Lektüre:

Robert I. Soare hat eine Reihe von Artikeln über die Geschichte dieser Entwicklungen, ich persönlich mag die im Handbuch der Berechenbarkeitstheorie. Weitere Informationen finden Sie in den Referenzen in diesem Dokument.

Eine weitere gute Ressource ist Neil Immermans Artikel zur Berechnungsfähigkeit von SEP, siehe auch den Artikel zur Church-Turing-These von B. Jack Copeland.

Gödels gesammelte Werke enthalten viele Informationen zu seinen Ansichten. Speziell Einführungen in seine Artikel sind äußerst gut geschrieben.

Kleenes " Metamathematik " ist ein sehr schönes Buch.

Wenn Sie immer noch nicht zufrieden sind, überprüfen Sie die Archive der FOM-Mailingliste. Wenn Sie im Archiv keine Antwort finden, senden Sie eine E-Mail an die Mailingliste.

Kaveh
quelle
Bitte lassen Sie mich wissen, wenn ich etwas falsch gemacht habe.
Kaveh
1
Wow, das sind tolle Infos. Vielen Dank für die Ressourcen, ich werde sie überprüfen (ich hatte vor, Metamathematics zu lesen - ich werde es in die Warteschlange stellen).
Evan
Gern geschehen, hoffentlich habe ich mich nicht geirrt. :)
Kaveh
Es gab kürzlich einen Vortrag von Robert Soare bei INI. Nach meinem Verständnis ist der Hauptgrund für den Wechsel von rekursiven Funktionen und der Rekursionstheorie zu Turing-Modell und Berechenbarkeit für ihn folgender: Es ist schwer zu verstehen und in der Rekursionstheorie zu arbeiten, bis zu dem Punkt, an dem niemand verstand, was vor sich ging, außer In einigen Fällen erleichterte die Änderung der Berechenbarkeit das Verständnis und die Wiederbelebung des Gebiets erheblich.
Kaveh
19

Ich möchte die Behauptung, dass TMs das primäre Berechnungsmodell sind, schwächen oder zumindest auf eine andere Dimension der Frage hinweisen. Es ist klar, dass TMs in den komplexeren und algorithmisch orientierten Teilen der Informatik dominieren, in Theorie und Praxis der Programmiersprache jedoch nicht besonders dominieren. Es gibt verschiedene Gründe dafür, aber der vielleicht wichtigste ist, dass TMs oder Programme, die auf TMs laufen (anders als z. B. Lambda-Kalküle oder Prozess-Kalküle), nicht algebraisch aufgebaut sind. Dies macht es schwierig, Typentheorien zu entwickeln, die die Hauptstütze der Programmiersprachtheorie waren.

Martin Berger
quelle
2
Auch TM-Programme, auch Übergangstabellen genannt, sind nicht wirklich lesbar.
Raphael
13

Eines der schönen Dinge an Turing-Maschinen ist, dass sie auf Strings anstatt auf natürlichen Zahlen oder Lambda-Termen arbeiten, weil die Eingabe und Ausgabe vieler Probleme auf natürliche Weise als Strings formuliert werden können. Ich weiß jedoch nicht, ob dies ein „historischer“ Grund ist oder nicht.

Tsuyoshi Ito
quelle
13

Neben der Tatsache, dass Turing-Maschinen ein überzeugendes Modell der Stift-Papier-Berechnung sind (der „intuitive Begriff der Berechnung“), denke ich, dass sie eine Reihe von Merkmalen besitzen, die häufig nützlich sind, insbesondere wenn Theoreme über sie bewiesen werden:

  • Sie sind formal leicht zu beschreiben und haben eine einfache operative Semantik.
  • es ist einfach, ihre zeitliche und räumliche Komplexität konkret zu definieren;
  • Realistischere (und komplexere) Modelle elektronischer Computer, z. B. Maschinen mit wahlfreiem Zugriff, können von TMs mit einem polynomiellen Overhead simuliert werden und umgekehrt.
Antonio E. Porreca
quelle
Manchmal scheint die Möglichkeit der Beschreibung die Nützlichkeit von TMs zu beeinträchtigen, da sich Beschreibungen schnell in einfache englische Erklärungen verwandeln können, wenn Sie nicht aufpassen (zumindest, wenn ich nicht aufpasse ... Zugegeben, ich bin ein Anfänger).
Evan
Ihre Gründe schließen beispielsweise Registriermaschinen nicht aus.
Raphael
Nun, das hängt von dem genauen Begriff „Registriermaschine“ ab, den Sie in Betracht ziehen. Zum Beispiel können diejenigen, die nur Inkrement-, Dekrement- und Sprungoperationen haben, keine TMs in Polynomzeit simulieren.
Antonio E. Porreca
1
λλ
Ich bin auf der PL-Seite, aber die reine Lambda-Rechnung ist kein offensichtliches Modell der arithmetischen Berechnung (denken Sie an die Vorgängerfunktion). In der Lambda-Rechnung haben Sie weniger in der Definition, aber es erfordert mehr Aufwand, die Implikationen der Definition zu verstehen.
Blaisorblade
0

Es war das erste, das Wirkung gezeigt hat, und hat sich daher insbesondere in der Komplexitätstheorie bewährt. Das ist ein schwacher Grund, aber die Leute arbeiten so. Wir arbeiten zuerst an alten offenen Problemen, anstatt neue zu deklarieren.

Raphael
quelle
8
"Wir arbeiten zuerst an alten offenen Problemen, anstatt neue zu deklarieren." <- Ich denke, wenn überhaupt, ist das Gegenteil der Fall, insbesondere in einem Bereich, in dem die alten Fragen äußerst schwierig sind. Es gibt zum Beispiel relativ wenige Leute, die in der Schaltungskomplexität arbeiten (obwohl es jetzt vielleicht mehr gibt!). Die Leute müssen an Problemen arbeiten, die sie lösen können, um etwas zu veröffentlichen. Dies führt zu einem ständigen Strom neu deklarierter lösbarer Probleme.
Aaron Sterling
Ich war ein bisschen voreilig in meinem Wortlaut. Ich habe das Gefühl, dass sich die Leute oft eher an ein etabliertes Modell halten, als ein neues zu bauen (und seine grundlegenden Eigenschaften zu beweisen), wenn es keinen überwältigenden Grund dafür gibt. Dieses Gefühl könnte offensichtlich ausgeschaltet sein. Insbesondere gibt es natürlich Menschen, die in erster Linie auf die Jagd nach Models gehen.
Raphael
Nun, Lambda-Kalkül kam zuerst. Aber Turing zeigte, dass Turing-Maschinen die Grundlagen von Menschen, die Berechnungen durchführen, genau modellieren. Dies wurde nur für die Lambda-Rechnung durchgeführt, um die Gleichwertigkeit zu beweisen. Darüber hinaus gilt diese Äquivalenz nur für Berechnungen erster Ordnung: cstheory.stackexchange.com/q/1117/989 - Daten höherer Ordnung sind auf Papier nicht wirklich vorhanden. Es existiert nicht einmal im Gedächtnis des Computers, kann aber perfekt simuliert werden.
Blaisorblade