Turing-Maschine (1)


Die Turing-Maschine ist ein Gedankenmodell einer Maschine, das von Alan Turing bereits 1936 eingeführt wurde, um Algorithmen und Fragen der Berechenbarkeit und Entscheidbarkeit zu untersuchen. Für praktische Anwendungen war es nicht gedacht (und ist auch dafür nicht besonders geeignet, wohl aber für theoretische Untersuchungen).

Die Turingmaschine ist leicht zu verstehen, wenn wir von dem berühmten Marsfahrzeug "Pathfinder" ausgehen und es nur geringfügig vereinfachen und verallgemeinern. Wir betrachten die Marsoberfläche als unendlich ausgedehnt, fahren aber nur in einer festen Richtung in einzelnen Schritten hin und her; dabei entnehmen wir als Proben Zeichen aus einem festen Zeichensatz und hinterlassen auch entsprechende Spuren, die wir später wieder lesen können.

Genauer: wir betrachten ein unendlich langes Band aus einzelnen Zellen, die Zeichen aus einem Alphabet, dem Bandalphabet B tragen. Ein Zeichen davon, das Leerzeichen z, ist ausgezeichnet; damit sind alle Zellen beschriftet bis auf einen endlich langen Ausschnitt. Anfangs stehen dort nur Zeichen aus einer Teilmenge von B, dem Eingabealphabet IB, welches z nicht enthält. Als Steuerung unseres "Fahrzeugs" verwenden wir einen endlichen Automaten mit der Zustandsmenge Q und dem Anfangszustand q0Q. Die Übergangstafel des Automaten beschreibt, was die Maschine tun kann: abhängig vom aktuellen Zustand q und dem gerade gelesenen Zeichen x bekommen wir einen neuen Zustand q', ein Zeichen x', das an die Stelle des gerade gelesenen Zeichens auf das Band geschrieben wird, und eine der drei Aktionen L (gehe einen Schritt nach links), R (gehe nach rechts) und H (halte an; fertig!).

Wir setzen die Turing-Maschine auf ein vorbereitetes Band an (meist auf das linke Ende des nichtleeren Abschnitts); sie kann jeweils das Zeichen lesen und überschreiben, auf dem sie gerade steht. Sie führt, gesteuert durch ihr "Programm" in der Übergangstafel, eine Reihe von Operationen aus und bleibt schließlich stehen, wenn sie die Aktion H erreicht; dann steht das "Ergebnis" der Berechnung auf dem Band. Es kann auch vorkommen, daß sie nicht  stehen bleibt: dann gibt es kein  Ergebnis, weil die Berechnung nicht endet. Die Maschine kann auch "steckenbleiben", wenn sie in der Steuertafel ein leeres Feld findet, in dem keine Reaktion vorgegeben ist; das ist ein Fehlerfall, und auch hier gibt es kein sinnvolles Ergebnis.


zurück | Inhalt | Index | vor | Vorlesung

Klaus Lagally, 22. Februar 2000, 19:36