Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
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.