TM sim
TM Sim ist ein interaktivier Simulator für eine Turingmaschine. Dieser Turingmschinensimulator kann eine Turingmaschine simulieren, indem selbstdefinierte Programme ausgeführt, oder schon fertige Programme geladen (siehe Program library) werden. Somit ist es möglich die in der Theorie konstruierten Turingmaschinen in der Praxis arbeiten zu sehen und mit verschiedenen Eingaben zu testen.




ReadMe
Der Simulator ist intuitiv zu bedienen. Folgende Schritte sind nötig, um ein Programm zu starten:
  1. Zustände definieren: Mit einem Klick auf das grüne Plus neben den states Z, kann ein neuer Zustand angegeben werden. Um den Zustand zu bestätigen, wird außerhalb der Eingabe geklickt.
  2. Alphabetsymbole definieren: Mit einem Klick auf das grüne Plus neben dem input alphabet Σ, kann ein neues Symbol angegeben werden. Um das Symbol zu bestätigen, wird außerhalb der Eingabe geklickt.
  3. Startzustand wählen: Mit einem Klick auf das rote Fragezeichen in der Definition von M, wird der Auswahlmodus aktiviert. Anschließend wird mit einem Klick auf den entsprechenden Zustand in Z, der Zustand ausgewählt.
  4. Endzustände wählen: Mit einem Klick auf E in der Definition von M, wird der Auswahlmodus aktiviert. Anschließend wird mit einem Klick auf den entsprechenden Zustand in Z, der Zustand ausgewählt. Mit einem Doppelklick auf einen Zustand in E, wird dieser wieder entfernt.
  5. Übergangsfunktion definieren: Mit einem Klick auf den entsprechenden Eintrag für den Zustand und Eingabesymbol, wird eine Auswahl aktiviert. Hier können der entsprechende Folgezustand, das zu schreibende Symbol und die Bewegungsrichtung des Kopfes ausgewählt werden. Dies wird mit einem Klick auf den grünen Haken bestätigt.
Das so eingegebene Programm wird über den Schalter go gestartet und kann während der Berechnung über stop angehalten werden. Die Eingabe kann entweder durch anklicken der einzelnen Bandzellen geschehen, oder für längere Eingaben in input getätigt werden. Leerzeichen entsprechen dabei dem Blankzeichen.
Über die Speicherfunktion kann ein geschiebenes Programm online gespeichert werden. Dazu wird ein Link ausgegeben, unter dem man sein Programm nach dem Speichern laden kann. Sollte ein interessantes Programm entstanden sein, was in die Programmbibliothek aufgenommen werden soll, einfach den Link mit einer kleinen Beschreibung per eMail zusenden.


Program library

Omega (infinite loop)
Die Turingmaschine Omega, die eine Endlosschleife simuliert.

Binary deleter
Eine Turingmschine, die eine zusammenhängende binäre Eingabe (Σ ={0, 1}) komplett vom Band löscht.

Binary successor
Eine Turingmaschine, die die Successor-Funktion (also den Nachfolger) für binäre Eingaben berechnet, also den Wert der Eingabe um 1 erhöht.

Binary predecessor
Eine Turingmaschine, die die Predecessor-Funktion (also den gesättigten Vorgänger) für binäre Eingaben berechnet, also den Wert der Eingabe um 1 verringert.

Binary addition
Eine Turingmaschine, die zwei binäre Zahlen addiert und das Ergebnis auf das Band schreibt. Beide Zahlen müssen durch ein blank getrennt sein.

Binary Palindrom
Eine Turingmschine, die prüft, ob eine binäre Eingabe ein Palindrom ist. Ist die Eingabe ein Palindrom, so endet die Berechnung mit Zustand zY, sonst mit Zustand zE.