Turing-Maschine-Simulator
Muss ich design eine Turing-Maschine-Simulator in C++, nimmt in einer Eingabe-Datei, dass geht so etwas wie dieses:
Q:q1,q2,q3,q4
A:0,1
Z:0,1,x
T:q1,0,q2,x,R
T:q1,1,q2,x,R
T:q2,0,q2,0,R
...
S:q1
F:q3,q4
Wobei Q Staaten, die Eine ist die input-Werte, Z-Band-alphabet, S ist der Startzustand, F ist annehmen und ablehnen von Staaten.
Braucht es zu verarbeiten eine Eingabe, wo es dauert in der Anzahl der Eingänge, die Eingangs-strings und annehmen oder ablehnen.
Wenn es also Eingabe ist:
3
0,#,1,1
1,1
0,1,0
die Ausgabe drucken würde Sie sich die Schritte, und ob es akzeptiert oder ablehnt.
Muss ich erstellen Sie eine TM, die führt arithmetische Operationen, führt string-Operationen, und ein weiteres meiner Wahl.
Jede Hilfe, wie, um loszulegen ist geschätzt.
- Was hast du bisher?
- Welche Ansätze haben Sie bereits so weit ? Was schlagen Sie vor und brauchen Hilfe ? Was ist die Frage wirklich ... du willst das wir deine Hausaufgaben machen ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie zu imitieren, um eine Datei Kompressor: es ist gegeben ein string von Zeichen und komprimiert sich wiederholende Sequenzen, die in Gruppen von 8 (hinzufügen von größeren Gruppen wäre eine lineare Menge von mehr Zeilen code, mehr Charaktere nehmen würde, eine exponentielle Menge an Zeilen mehr code durch jeden Buchstaben brauchen, um zu reagieren, um jeden möglichen Buchstaben.)
Die Maschine nimmt die Vorderseite des Bandes läuft dann den ganzen Weg auf der Rückseite. es 'isst' Zeichen setzen werden, wie Zeichen in einer erweiterten pool. Wenn das limit erreicht ist, wird das Ende des Bandes erreicht ist, oder einen anderen Charakter-Typ erreicht ist, die Maschine druckt, wie weit es gekommen ist, dann beginnt häufen sich die neuen Charaktere.
Kann man nach der Lektüre der RNA-base-Paare zu erstellen Aminosäuren in der Zellbiologie. Der Benutzer gibt eine Zeichenkette aus, die ausschließlich von a,c,g und u. Die Maschine liest die Linie nach unten, bis es liest die start-codon "a,u,g", an welcher Stelle es beginnt die übersetzung der RNA in Aminosäuren. es tut dies, bis er das Ende der Zeichenkette oder bis ein stoppcodon erreicht wird ("LF", "UGA", "UAG"). Wenn es erreicht ein stop-codon, geht es nach unten die saite, bis es liest sich ein weiteres start-codon oder die Zeichenkette beendet. Lesen Aminosäure-Sequenz resultiert in einer akzeptieren, und es ist nicht notwendig, um zu erreichen ein stop-codon (wie in der Biologie). Jedoch, eine Zeichenfolge ohne start-codon wird in einem ablehnen-Anweisung.
Das erste Beispiel zeigt mehrere Charakter-Verzögerung, einem start-codon, dann Aminosäuren, bis ein Stopp-codon, dann mehr ungenutzte Zeichen, dann Abschluss.
Das zweite Beispiel zeigt ein start-codon, Mitte codon ein Stopp-codon, Füller, ein weiteres start-codon, und codons, bis string-Abschluss
Das Dritte Beispiel zeigt, kein start-codon und eine REJECT-Zustand.