turing maschine

Post Reply
Message
Author
dazee

turing maschine

#1 Post by dazee »

Hey,
ich bräuchte mal eure hilfe, also meine aufgabe ist es eine TuringMaschine zu schreiben, die addieren kann.

Ich habe mir so gedacht:

ich mache 3 "bänder" mit random zahlen (0,1) und lasse sie in je eine externe datei speichern, soweit so gut aber wie kann ich die TM definierern also ihre funktion, ich würde mich freuen wenn ihr mir nicht die ganze lösung sagt sondern nur Hilfen zum weiterkommen

Mit freundlich Grüßen
dazee

Marco Gerber

#2 Post by Marco Gerber »

guten Tag

Es geht sogar mit nur einem Band ;}

Du brauchst zuerst einmal eine Moeglichkeit, die Regeln (Grammatik) zu definieren.
Eine Turingmaschine ist ja ein 7-Tupel der Form:

(Eingabealphabet, Stackalphabet, Zustandsmenge, Uebergangsrelation, Leerzeichen, Start-, Stoppzustand).

Die Uebergangsrelation kannst du nun als das 6-Tupel betrachten.


Nun stellt sich die Frage, ob es vielleicht besser waere, eine Universelle Turingmaschine zu programmieren, welche zwar mehr Aufwand erfordert, aber wesentlich intressanter ist ;}

Hier ein Gedanke zur einfachen Turingmaschine:
Die Uebergangsrelationen wuerde ich alphanumerisch darstellen, und sie dann parsen.
Fuer die eigentliche interne Struktur wuerde ich mit Funktionszeigern auf die Zustaende arbeiten, welche seinerseits Funktionen darstellen.
So kannst du jede einzelne Uebergangsrelation als unabhaengige Funktion implementieren.

Das ganze hat den Vorteil, dass du dich dann wirklich lediglich auf die Definition der Grammatik beschraenken kannst.


Viel Spass dabei... (ist eine interessante Aufgabe !)

Marco

Post Reply