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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

78 KAPITEL 3. TURINGMASCHINEN<br />

Diese Tur<strong>in</strong>gmasch<strong>in</strong>e hält auf jede E<strong>in</strong>gabe (e<strong>in</strong>e wichtige Eigenschaft, wie wir<br />

später erfahren werden) und akzeptiert genau die E<strong>in</strong>gaben, deren letztes Symbol<br />

0 oder 5 ist.<br />

Def<strong>in</strong>ition. Für jede Tur<strong>in</strong>gmasch<strong>in</strong>e M = (Q, Σ, δ, q0, F) bezeichnen wir mit<br />

L(M)<br />

die Sprache aller Wörter über Σ, die M akzeptiert.<br />

Beispiel 3. E<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e, die die Sprache aller Wörter<br />

[a n b n c n ] für n ≥ 1<br />

über Σ = {a, b, c, [, ]} akzeptiert. (Diese Sprache ist nicht kontextfrei – beweisen sie<br />

es!)<br />

Wir simulieren den folgenden primitiven Algorithmus:<br />

(i) lösche e<strong>in</strong> a und gehe nach rechts, solange e<strong>in</strong> a gelesen wird,<br />

(ii) lösche e<strong>in</strong> b und gehe nach rechts, solange e<strong>in</strong> b gelesen wird,<br />

(iii) lösche e<strong>in</strong> c und gehe nach l<strong>in</strong>ks; am Ende:<br />

(iv) akzeptiere genau dann, wenn alle Felder zwischen [ und ] leer s<strong>in</strong>d.<br />

Schritt (i) wird wie folgt implementiert:<br />

1. (q0, [ ) → (q1,R)<br />

2. (q1, a) → (q2, #)<br />

3. (q2, #) → (q2,R)<br />

4. (q2, a) → (q2,R)<br />

Schritt (ii) analog:<br />

5. (q2, b) → (q3, #)<br />

6. (q3, #) → (q3,R)<br />

7. (q3, b) → (q3,R)<br />

und Schritt (iii) wie folgt:<br />

8. (q3, c) → (q4, #)<br />

9. (q4, x) → (q4,L) für x = #, a, b<br />

10. (q4, [ ) → (q1,R)<br />

11. (q1, #) → (q1,R)<br />

Schritt (iv) entspricht der Situation, <strong>in</strong> der im Zustand q1 am Ende das Symbol ]<br />

gelesen wird:<br />

12. (q1, ] ) → (qF , ] )<br />

Das heißt, dass die folgende TM:<br />

M = ({q0, q1, q2, q3, q4, qF }, {a, b, c, [, ]}, δ, q0, qF),<br />

mit δ durch 1. bis 12. gegeben, die Sprache {[a n b n c n ] ; n ≥ 1} akzeptiert.<br />

Beispiel e<strong>in</strong>er Berechnung: das Wort [aac] wird wie folgt berechnet:<br />

(q0, [aac] ) ⊢ (q0, [aac] ) ⊢ (q1, [#ac] ) ⊢ (q1, [#ac] ) ⊢ (q1, [#ac] )<br />

und die TM hält, denn es ist ke<strong>in</strong> Übergang (q1, c) →? def<strong>in</strong>iert. Das Wort [aac]<br />

wird also nicht akzeptiert.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!