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.
86 KAPITEL 3. TURINGMASCHINEN<br />
3. Die Sprache {a n b n c n ; n ≥ 1} (siehe Beispiel 4 <strong>in</strong> Abschnitt 3.2.5 und Satz 1<br />
<strong>in</strong> Abschnitt 3.2.5).<br />
Beispiel 2. E<strong>in</strong>e Sprache Lcode, die nicht rekursiv aufzählbar ist.<br />
Es ist nicht möglich, e<strong>in</strong> ” natürliches“ Beispiel e<strong>in</strong>er nicht rekursiv aufzählbaren<br />
Sprache zu f<strong>in</strong>den, da alle ” natürlichen“ Beispiele durch irgende<strong>in</strong>en Algorithmus<br />
beschrieben werden. Aber vorausgesetzt, dass wir e<strong>in</strong>e Codierung für alle TM mit<br />
dem Bandalphabet {0, 1} haben (e<strong>in</strong>e solche Codierung wird <strong>in</strong> Kapitel 5.1 ausführlich<br />
beschrieben), können wir e<strong>in</strong>e konkrete Sprache, die nicht rekursiv aufzählbar<br />
ist, konstruieren. Wir nehmen also an, dass es für jede Tur<strong>in</strong>gmasch<strong>in</strong>e M mit Bandalphabet<br />
{0, 1} e<strong>in</strong> Wort c(M) über {0, 1} gibt, sodass der Code c(M) die Sprache<br />
der Tur<strong>in</strong>gmasch<strong>in</strong>e M vollständig beschreibt. Das heißt, dass für alle Tur<strong>in</strong>gmasch<strong>in</strong>en<br />
M und M ′ gilt:<br />
c(M) = c(M ′ ) ⇒ L(M) = L(M ′ ).<br />
Mit Lcode bezeichnen wir die Sprache aller Codewörter w = c(M) solcher Tur<strong>in</strong>gmasch<strong>in</strong>en<br />
M, die ihr eigenes Codewort nicht akzeptieren:<br />
Lcode = {w; w = c(M) für e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e M mit w /∈ L(M)}.<br />
Diese Sprache ist nicht rekursiv aufzählbar.<br />
Beweis. Die Annahme, dass es e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e ˆ M mit L( ˆ M) = Lcode gibt,<br />
führt zu e<strong>in</strong>em Widerspruch. Für das Codewort ˆw = c( ˆ M) dieser Masch<strong>in</strong>e ˆ M<br />
zeigen wir nämlich, dass (a) aus ˆw /∈ Lcode folgt ˆw ∈ Lcode und (b) aus ˆw ∈ Lcode<br />
folgt ˆw /∈ Lcode. Dann ist weder ˆw ∈ Lcode noch ˆw /∈ Lcode wahr.<br />
Zu (a): Da ˆw /∈ L( ˆ M) und ˆw = c( ˆ M), folgt aus der Def<strong>in</strong>ition von Lcode, dass<br />
ˆw ∈ Lcode.<br />
Zu (b): Da ˆw ∈ Lcode, gibt es M mit ˆw = c(M) und ˆw /∈ L(M). Aus c(M) = c( ˆ M)<br />
folgt aber L(M) = L( ˆ M); es gilt also ˆw /∈ L( ˆ M) = Lcode.<br />
Bemerkung 1. Jede rekursive Sprache ist selbstverständlich rekursiv aufzählbar,<br />
und jede kontextfreie Sprache ist rekursiv, wie sofort bewiesen wird.<br />
REGULÄR<br />
KONTEXTFREI<br />
REKURSIV<br />
REKURSIV AUFZÄHLBAR<br />
ALLE SPRACHEN<br />
Beispiel 4 <strong>in</strong> Abschnitt 3.2.5 zeigt, dass die Sprache L = {a n b n c n ; n ≥ 1} rekursiv<br />
(aber nicht kontextfrei) ist. E<strong>in</strong> Beispiel e<strong>in</strong>er Sprache, die rekursiv aufzählbar aber<br />
nicht rekursiv ist, wird <strong>in</strong> Kapitel 5 vorgeführt. Dort zeigen wir, dass e<strong>in</strong> solches<br />
Beispiel die Sprache<br />
Lhalt<br />
aller Wörter c(M)w ist, wobei M e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e und w e<strong>in</strong> E<strong>in</strong>gabewort ist,