Touringmaschine

Neue Frage »

Auf diesen Beitrag antworten »
Pillemann Touringmaschine

So.. ich bruache eine Turingmaschine, die folgende Prozedur erfüllen soll:

Sie erkennt alle möglichen Palindrome...
bestehend aus nullen und einsen!

also:
10101 : klappt
110: klappt nicht

schonmal danke im vorraus
 
Auf diesen Beitrag antworten »
Tobias

Wir sind hier kein Hausaufgabendienstleister.
Auf diesen Beitrag antworten »
JROppenheimer

Die Formulierung ist schon geil: "So ich brauche" .... geil, das kenn ich so nicht mal von meinem Arbeitgeber .... und der bezahlt mich großes Grinsen großes Grinsen großes Grinsen
Auf diesen Beitrag antworten »
orkano

____________
|"""""""""""""""|
|""""""o""""""""|
|___________|_________|=

^
|
Turingmaschine mit An-Knopf und Stecker, die Palindrome erkennt.
Ich hoffe sehr, dir geholfen zu haben!
 
Auf diesen Beitrag antworten »
ed209

Und wo führt man die Palindrome nun ein?
Auf diesen Beitrag antworten »
blackdrake

Gib uns doch mal deinen Ansatz.

Übrigens: Die Palindrome sollen auf dem Band liegen? Wo befindet sich der Lese/Schreibkopf im Ausgangszustand? In der "Mitte" des Palindroms (sofern Anzahl gerade)? - Andernfalls?



____________--(*)
|"""""""""""""""'|
|_____________|""""""o""""""""|
|___________|_________|=

^ Papiereinzugsfach dazugebaut... für Palindromeingabe
Auf diesen Beitrag antworten »
blackdrake

Quelle: w w w. matheprisma. d e / Module / Turing / index . htm?19

Kann ein Palindrom bestehend aus A und B erkennen.

(z1 ,_) ---> (z2 ,#,R) [Markierung setzen, um später eine Antwort anzuzeigen]
(z2 ,A) ---> (z3 ,_,R) ['A' löschen, in Zustand '3' wechseln, nach rechts laufen]
(z2 ,B) ---> (z4 ,_,R) ['B' löschen, in Zustand '4' wechseln, nach rechts laufen]
(z2 ,_) ---> (z7 ,_,L) [Kein Zeichen mehr auf dem Band]
(z3 ,A) ---> (z3 ,A,R) [Nach rechts laufen bis zum ersten Leerzeichen]
(z3 ,B) ---> (z3 ,B,R) [Nach rechts laufen bis zum ersten Leerzeichen]
(z3 ,_) ---> (z5 ,_,L) [Ende der Zeichenkette erreicht; nun ein Feld nach links]
(z4 ,A) ---> (z4 ,A,R) [Nach rechts laufen bis zum ersten Leerzeichen]
(z4 ,B) ---> (z4 ,B,R) [Nach rechts laufen bis zum ersten Leerzeichen]
(z4 ,_) ---> (z6 ,_,L) [Ende der Zeichenkette erreicht; nun ein Feld nach links]
(z5 ,A) ---> (z11,_,L) ['A' erwartet und 'A' gelesen; nun'A' löschen und nach links]
(z5 ,B) ---> (z12,_,L) ['A' erwartet aber 'B' gelesen; kein Palindrom!]
(z5 ,_) ---> (z7 ,_,L) [Kein Zeichen mehr auf dem Band; Palindrom!]
(z6 ,A) ---> (z12,_,L) ['B' erwartet aber 'A' gelesen; kein Palindrom!]
(z6 ,B) ---> (z11,_,L) ['B' erwartet und 'B' gelesen; nun 'B' löschen und nach links]
(z6 ,_) ---> (z7 ,_,L) [Kein Zeichen mehr auf dem Band; Palindrom!]
(z7 ,#) ---> (z8 ,_,R) [Markierung gefunden; Markierung löschen]
(z7 ,_) ---> (z7 ,_,L) [Nach links laufen bis zur Markierung]
(z8 ,_) ---> (z9 ,J,R) ['J' auf das Band schreiben]
(z9 ,_) ---> (z10,A,H) ['A' auf das Band schreiben]
(z11,A) ---> (z11,A,L) [Nach links laufen bis zum Leerzeichen]
(z11,B) ---> (z11,B,L) [Nach links laufen bis zum Leerzeichen]
(z11,_) ---> (z2 ,_,R) [Lesekopf eine Position nach rechts verschieben]
(z12,#) ---> (z13,_,R) [Markierung gefunden; Markierung löschen]
(z12,A) ---> (z12,_,L) [Alles löschen bis zur Markierung]
(z12,B) ---> (z12,_,L) [Alles löschen bis zur Markierung]
(z12,_) ---> (z12,_,L) [Nach links laufen bis zur Markierung]
(z13,_) ---> (z14,N,R) ['N' auf das Band schreiben]
(z14,_) ---> (z15,E,R) ['E' auf das Band schreiben]
(z15,_) ---> (z16,I,R) ['I' auf das Band schreiben]
(z16,_) ---> (z17,N,H) ['N' auf das Band schreiben]

Dort gibt's sogar einen Java-Simulator
 
Neue Frage »
Antworten »


Verwandte Themen