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.

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,

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!