Theory: Turing Machine
Turing Machine mit n-Speicherbände

Die TM lässt sich beliebig um zusätzliche Speicherbände erweitern. Das Prinzip einer solchen n-Speicherband TM (n-tape TM) bleibt jedoch identisch wie die einfache TM. Ebenfalls ändert sich nichts an der Sprachmächtigkeit. Sie kann aber die Abarbeitung effizienter durchführen als eine TM mit einem Speicherband. Dies lässt sich an einem einfachen Beispiel veranschaulichen (aus [Lin97], S. 270):

Die kontextfreie Sprache L = {an bn , n >= 1 } wird mit der einfachen TM wie folgt überprüft::

Es wird das erste a links "abgehakt", indem das Band mit einem anderen Symbol (z. Bsp. x) ersetzt wird. Dann wandert der         Schreib-Lese-Kopf nach rechts bis zum ersten b und ersetzt dies mit einem y. Dann wandert der Schreib-Lese-Kopf zurück zum nächsten a, ersetzt dies mit einem x, dann wandert der Kopf wiederum nach rechts zum nächsten b, etc. Es wird somit jedes a mit dem entsprechenden b abgehakt. Wenn am Schluss keine a's oder b's übrig bleiben, d.h. die Anzahl identisch ist, gehört der Inputstring zur Sprache L.

Diese Überprüfung lässt sich mit einem 2-tape TM einfacher bewerkstelligen:

Alle a's werden auf das zweite Bank kopiert, d.h. man arbeitet sich von links nach rechts vor. Wenn die b's erreicht worden sind, werden diese gegen die kopierten a's auf dem zweiten Band abgestimmt: Man liest die b's auf dem ersten Band in Richtung rechts, während man gleichzeitig die a's auf dem zweiten Band in Richtung links liest. Bleibt kein Zeichen übrig, gehört der Input zur Sprache L.
Dieser Vorgang ist effizienter, da keine Hin-und Herbewegung notwendig ist.

Dasselbe lässt sich auch mit einer kontextsensitiven Sprache der Form an bn cn bewerkstelligen.

Siehe dazu die Beispiele für die 1-Tape TM und 2-Tape TM, sowie die Übungen 2 (kontextfreie Sprachen erkennen) und 5 (kontextsensitive Sprachen erkennen).

Im JFLAP befindet sich nebst der einfachen TM auch eine TM mit zwei Speicherbänden (2-Tape-TM). Die Notation findest Du hier.