Theory: Turing Machine
Turing Machine

Unbeschränkte Sprachen lassen sich mit der Turing Machine (Turing Maschine) erkennen und überprüfen. Die TM unterliegt keiner Einschränkung bezüglich Speicherplatz oder Abarbeitung. Es handelt sich somit um eine Verallgemeinerung eines LBA (Linear Bounded Automaton), indem die Speicherbeschränkung aufgehoben wird. Jedes Feld des Bandes kann gelesen und verändert werden. Damit ist das Band vergleichbar mit dem Hauptspeicher eines modernen Rechners - mit dem Unterschied, dass Hauptspeicher von endlicher Grösse sind. Die TM ist praktisch nicht umsetzbar. Es handelt sich vielmehr um ein theoretisches Modell eines Rechners.

Eine TM besteht aus folgenden Komponenten:
Aus einer Kontrolleinheit mit einem Schreib-/ Lesekopf sowie einem einseitig unbegrenzten Band (Tape). Die Kontrolleinheit kann, wie beim FSA, endlich viele interne Zustände annehmen. Das Band dient zur Eingabe und Speicherung. Es ist in einzelne Felder unterteilt, die jeweils genau ein Zeichen aufnehmen können. Der Schreib-/ Lesekopf kann jeweils ein Feld lesen oder überschreiben. Das Band oder der Schreib-/ Lesekopf lassen sich um eine Position nach links oder rechts verschieben. Die TM wird folgendermassen dargestellt (nach [Stu95], S.185):
 


Formal wird die TM als 6-Tupel (S,I,B,S0,F,T) definiert, wobei
 S = endliche Menge von Zuständen (States)
 I = Eingabealpabet (input alphabet)
 B = Bandalphabet (tape alphabet)
 S0= Startzustand (Initial state)
 F = Endzustand (final state), wobei F Teil der Menge S ist
 T = Zustandsübergangsfunktion (transition function): Zustand x Bandsymbol x {L,R}
             -> (neuer) Zustand x (neues) Bandsymbol

 L und R bedeuten "gehe nach links", bzw. "gehe nach rechts"

Die TM unterscheidet zwischen dem Eingabealphabet und dem Bandalphabet. Das Eingabealphabet umfasst die Zeichen, die von "aussen" durch irgendeinen nicht näher spezifizierten Mechanismus auf das Band geschrieben werden können. Das Bandalphabet dagegen beinhaltet alle Zeichen, die die Maschine lesen und verarbeiten kann. Diese Menge umfasst neben dem Eingabealphabet in jedem Fall noch das Leersymbol *, welches einen leeren Feldinhalt anzeigt. (aus [Stu95], S.185). Da die TM einen Output generiert (=Resultat auf dem Speicherband), ist sie somit auch ein Transducer, ohne dass der Automat erweitert wird.