18.09.2013 Aufrufe

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

4.1. RAM 101<br />

2. READ<br />

3. STORE ∗2<br />

4. IF R0 = m GOTO 7<br />

5. SUCC 2<br />

6. GOTO 2<br />

Teil 2 (<strong>in</strong> den gesprungen wird, falls die E<strong>in</strong>gabe m ist) beg<strong>in</strong>nt damit, das der Kopf<br />

nach l<strong>in</strong>ks gestellt wird (:= 4) und der Zustand q0 (:= 0) ist.<br />

Dann werden die e<strong>in</strong>zelnen Zeilen der Übergangstabelle programmiert. In dem Fall,<br />

dass ke<strong>in</strong> Übergang existiert, wird zu Teil 3 (Ausgabe) gesprungen.<br />

Teil 3 des Programms schreibt , , . . ., bis es auf die Zahl := m<br />

(d.h. auf das Endsymbol @) stößt. Dann hält es:<br />

Zeile Befehl<br />

k LOAD !3<br />

k + 1 STORE 4 [Am Anfang: = 3]<br />

k + 2 LOAD 2<br />

k + 3 WRITE<br />

k + 4 SUCC 2<br />

k + 5 IF R0 = m GOTO (k + 7)<br />

k + 6 GOTO (k + 2)<br />

k + 7 STOP<br />

Beispiel 7. RAM-Simulation e<strong>in</strong>er e<strong>in</strong>fachen TM.<br />

Die folgende TM realisiert die Funktion SUCC:<br />

M = ({q0, q1}, {|, @}, δ, q0, q1)<br />

mit den folgenden Übergängen<br />

(1) (q0, |) → (q0, R)<br />

(2) (q0, @) → (q1, |)<br />

(3) (q1, |) → (q1, R)<br />

(4) (q1, #) → (q1, @)<br />

Die Simulation hat die drei oberen Teile, wobei Teil 2 wie folgt die vier Übergänge<br />

simuliert:<br />

Zeile Befehl Kommentar<br />

7. LOAD !3<br />

8. STORE 2 Initialposition des Kopfes (+ 3)<br />

9. LOAD ∗2 n R0 steht das momentan gelesene Symbol<br />

10. IF R1 = 0 GOTO a a-Übergänge (1), (2) (Zustand q0)<br />

11. IF R0 = 1 GOTO b Hier Zustand q1, b-Übergang (3)<br />

12. IF R0 = 0 GOTO c Hier Zustand q1, c-Übergang (4)<br />

13. GOTO k Zustand q1, Symbol @-Sprung <strong>in</strong> den Teil 3<br />

a = 14. IF R0 = 1 GOTO d d-Übergang (1)<br />

15. IF R0 = 2 GOTO e e-Übergang (2)<br />

d = 16. SUCC 2 Kopf nach rechts<br />

GOTO 9<br />

e = 17. LOAD !1 Statt @ = 2 wird | = 1 geschrieben<br />

18. STORE ∗2<br />

19. STORE 1 Zustand q1<br />

20. GOTO 9.<br />

b = 21. SUCC 2 Kopf nach rechts<br />

22. GOTO 9.<br />

c = 23. LOAD !2<br />

24. STORE ∗2<br />

25. GOTO k Also ist Zeile k = 26 der Anfang von Teil 3

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!