Eine Turing-Maschine, die mit ihrem Lese- / Schreibkopf auf derselben Zelle des exakt gleichen Bandes in einen zuvor angetroffenen Zustand zurückkehrt, wird in einer Schleife gefangen. Eine solche Maschine hält nicht an.
Kann jemand ein Beispiel für eine ununterbrochene Maschine nennen, die keine Schleife ausführt?
x^2
wox
Zyklen zwischen-100
und100
und dem Radfahren mit einem Modulo durchgeführt werden und angehalten werden, wenn das Ergebnis negativ ist. Es könnte berechnen,x%2
wo x von null bis unendlich reicht und anhalten, wenn das Ergebnis gleich 2 ist. In der Assemblersprache haben / while / for-Schleifen alle einen bedingten Sprung, aber der bedingte Sprung allein bedeutet wenig.Antworten:
Betrachten Sie das TM, das den Bandkopf immer nach rechts bewegt und bei jedem Schritt ein spezielles Symbol für ein nicht leeres Band druckt. Dies bedeutet, dass der TM niemals anhält, da er sich immer nach rechts bewegt und einen Zustand niemals wiederholt, da sich der Bandkopf nach k Schritten über der k-ten Zelle der Maschine befindet. Infolgedessen unterscheidet sich jede Konfiguration der Maschine von allen anderen, und die Maschine macht immer eine Schleife.
Wir konnten auch nicht konstruktiv die Existenz solcher Maschinen zeigen. Nehmen wir an, dass jedes TM, das niemals anhält, irgendwann eine Schleife bildet. Dies bedeutet, dass, wenn Sie ein TM an einem String w starten , eines der folgenden Ereignisse eintreten kann:M w
In diesem Fall wäre das Halteproblem wie folgt zu entscheiden. Wenn ein TM und eine Zeichenfolge w gegeben sind , simulieren Sie M auf w , und schreiben Sie an jedem Punkt den Inhalt des Bandes, den aktuellen Zustand und die aktuelle Bandposition aus. Wenn es sich bei dieser Konfiguration um ein Duplikat handelt, wird die Ausgabe "nicht angehalten". Andernfalls wird "angehalten" ausgegeben , wenn M auf w anhält. Da eine davon garantiert irgendwann eintritt, wird dieser Prozess immer beendet, sodass wir einen Algorithmus für das Stopp-Problem haben, von dem wir wissen, dass er nicht existiert.M w M w M w
Hoffe das hilft!
quelle
Eine Turing-Maschine, die alle Nachkommastellen von π (oder einen anderen nicht terminierenden Bruch in einer beliebigen Basis) berechnet, hält niemals an und kann nur eine endliche Anzahl von Malen zum Schreiben auf jede Zelle veranlasst werden. Natürlich wäre die Tatsache, dass es keinen Übergang zu einem Stillstand gibt, ein totes Werbegeschenk, aber es ist zumindest ein natürliches Beispiel.
Ein interessanterer (aber auch mehrdeutiger) Fall wäre eine Turing-Maschine, die iterativ die Collatz-Funktion für ihre Eingabe berechnet, endet genau dann, wenn es die ganze Zahl 1 erhält. Die berühmte Collatz-Vermutung
quelle
pi
. Ein TM könnte anhalten, wenn das Quadrat einer beliebigen Zifferpi
genau 7 entspricht.Betrachten Sie eine nicht stoppende Turing-Maschine, die den Schreib- / Lesekopf niemals nach links bewegt.
quelle
Wenn dies wahr wäre, dann wäre das Halteproblem entscheidbar. Sie würden einfach jedes (Band-, Status-) Paar aufzeichnen, das Sie beim Ausführen der Turing-Maschine gesehen haben, und die Maschine würde entweder anhalten (in diesem Fall stoppt sie offensichtlich), oder Sie sehen ein Paar, das Sie zuvor gesehen haben, in welchem Fall die Maschine hört nicht auf.
Da das Problem des Anhaltens nicht entschieden werden kann, kann dies nicht zutreffen. (Siehe andere Beispiele für Zählerbeispiele.)
quelle