Mathematik online lernen im Mathe-Forum. Nachhilfe online
Startseite » Forum » Turingmaschine

Turingmaschine

Universität / Fachhochschule

Sonstiges

Tags: Sonstiges

 
Antworten Neue Frage stellen Im Forum suchen
Neue Frage
guguli

guguli aktiv_icon

14:54 Uhr, 16.10.2010

Antworten
Hallo zusammen,
ich habe forlgende fragestellung (sieh Bild) und ehrlich gesagt ich verstehe sie erst gar nicht, kann mir einer Pls helfen diese aufgabe zu lösen?!

THx

Unbenannt
Online-Nachhilfe in Mathematik
Antwort
teppich

teppich aktiv_icon

15:55 Uhr, 16.10.2010

Antworten
Wo tauchen denn die Probleme auf? Bei der Definition einer Turingmaschine, beim binären Rechnen oder beim Aufstellen der Überführungsfunktion?

guguli

guguli aktiv_icon

16:08 Uhr, 16.10.2010

Antworten
Also alles ist für mich irgendwie total unverständlich. hab den skript schon paar mal durchgelesen kann aber diese aufgabe trotzdem net lösen.
es wär nett wenn du mir schritt für schritt erklären würdest was da zutun ist. ich weiss das ist viel arbeit :-)...
THX

Antwort
teppich

teppich aktiv_icon

16:42 Uhr, 16.10.2010

Antworten
Es ist kaum Arbeit, eher der Formalismus ist etwas schwieriger. Es gibt reichlich leicht unterschiedliche Definitionen einer Turingmaschine, deswegen verzichte ich hier darauf, eine anzugeben. Ich beschränke mich auf die δ-Funktion, die letztendlich den Algorithmus abarbeitet.

(a) Der Algorithmus ist denkbar einfach:
1. starte ganz links
2. solange kein "blank"-Symbol gelesen wird: invertiere das aktuelle Bit und gehe nach rechts
3. wird ein "blank"-Symbol gelesen sind wir fertig
(oft muss vorher noch getestet werden, ob die Eingabe im korrekten Format vorliegt)

Deine Anfangssituation bei w=11001 ist:
#11001# Zustand: q0
Wir berechnen also δ(q0,1)=(q0,0,R), denn statt der gelesenen 1 schreiben wir eine 0 aufs Band, bleiben im gleichen Zustand und gehen ein Feld nach rechts.
Nach einem Schritt ist die Situation die folgende:
#01001# Zustand: q0

Ich hoffe das Prinzip ist deutlich geworden. Der Kern bei solchen Aufgaben ist, einen Algorithmus zu finden, der die umzusetzende Berechnung durchführt. Hier hat δ nur drei Eingabefälle:
δ(q0,0)=(q0,1,R) "im Zustand q0 eine 1 gelesenbleibe in q0, schreibe eine 0 und gehe nach rechts"
δ(q0,1)=
δ(q0,#)=


(b) Hinweis: Um eine Binärzahl mit 16 zu multiplizieren, muss man nur vier Nullen anhängen.
guguli

guguli aktiv_icon

18:58 Uhr, 16.10.2010

Antworten
zu δ(q0 ,# )=(F,0,N)
F= endzustand
das soll heissen p0 kann kein # lesen denn sonst das Wort würde da enden nud somit ist es nicht in der Sprache enthalten????
Antwort
teppich

teppich aktiv_icon

19:05 Uhr, 16.10.2010

Antworten
Fast richtig, sobald die Maschine ein # liest, sind wir fertig. Bei dir wird in diesem Fall jedoch das erste # mit einer 0 überschrieben, womit bei dir "wʹ und eine zuätzliche 0" auf dem Band stünden.
Wählst du statt dessen δ(q0,#)=(F,#,N), so steht nur wʹ auf dem Band.
guguli

guguli aktiv_icon

19:41 Uhr, 16.10.2010

Antworten
also ich find es ist besser dass ich dir erstmal schreibe wie ich tm überhaupt lese so kannste mich wahrscheinlich besser korrigieren :-) also siehe Bild erst mal

δ(q0,0)=(q0,0,R) im zustand q0 wird eine 0 gelesen, bleibt in q0, schreibt eine 0 und geht nach rechts weiter
δ(q0,1)=(q0,1,R) im zustand q0 wird eine 1 gelesen geht zu q1 über und nach rechts weiter
δ(q0,B)=(q,B,N)q0 kann nihct zu Endzustand über die Sorache enthält mindestens eine 1.
δ(q1,0)=(q1,0,R) im zustand q1 wird eine 0 gelesen bleibt in q1, schreibt eine 0 und geht nach rechts weiter
δ(q1,1)=(q1,1, R)im zustand q1 wird eine 1 gelesen bleib in q1 und schreibt eine 1 und nach rechts weiter
δ(q1,B)=(q2,B,L) Hier wird ein B gelesen(ende des wortes) geht über zu q2 schreibt einB und geht nach links
δ(q2,0)=(q2,1,L) im zustand q2 eine 1 gelesen bleibt in q2, schreibt eine 0 und geht weiter nach links
δ(q2,1)=(q3,0, L)im zustand q2 wird eine 0 gelesengeht zu q3 über und schreibt eine 0 dann geht weiter nach Links
δ(q2,B)=(q,0,N)q2 kann net zu Endzustand übergehen, denn das wort ist nihct in der sprache enthalten.
δ(q3,0)=(q3, 0,L)im zustand q3 wird eine 0 gelesen bleibt in q3 und schreibt eine 0 dann geht weiter nach links
δ(q3,1)=(q3,1,L) im zustand q3 wird eine 1 gelesen bleibt in q3, schreibt eine 1 und geht nach links weiter
δ(q3,B)=(q,B, R)im zustand q3 wird ein B gelesen , wir befinden uns am Anfang des Wortes und gehen wir weiter nach Rechts.

also meiner Meinung nach beschreibt diese TM eine Funktion:
{0n1m0b1a|n,b,a0,m1}

Unbenannt
Antwort
teppich

teppich aktiv_icon

20:20 Uhr, 16.10.2010

Antworten
Soweit ich das sehe, prüft die TM, ob die Eingabe eine 1 enthält und invertiert dann binär:

in q0: laufe nach rechts bis zur ersten 1 von links und wechsle in q1; Ende, falls vorher # gelesen
in q1: laufe nach rechts bis zum ersten #, wechsle in q2
in q2: laufe nach links bis zur ersten 1 und invertiere alle Zeichen binär, wechsle in q2; Ende, falls # gelesen
in q3: laufe nach links bis zum ersten # und invertiere alle Zeichen binär, wechsle in Endzustand
guguli

guguli aktiv_icon

20:37 Uhr, 16.10.2010

Antworten
ist dann die Sprache die ich geschrieben habe denn richtig????
guguli

guguli aktiv_icon

11:15 Uhr, 18.10.2010

Antworten
hey,
sicher, dass in q2 invertiert wird??? und falls ja wie kann denn die Funktion aussehen????

mfG
Antwort
teppich

teppich aktiv_icon

18:05 Uhr, 18.10.2010

Antworten
Wenn die TM im Zustand q2 ist und eine 0 liest, schreibt sie eine 1 zurück. Wird eine 1 gelesen, kommt eine 0 zurück aufs Band und die TM wechselt in den Zustand q3.


Seien Σ={0,1} das Eingabealphabet und wΣ* ein Eingabewort.
Enthält w eine 1, dann steht am Ende auf dem Band wʹ (das bitweise Komplement);
enthält w keine 1, dann steht am Ende auf dem Band wʹ=w (unverändertes Eingabewort).
Diese Frage wurde automatisch geschlossen, da der Fragesteller kein Interesse mehr an der Frage gezeigt hat.