Vorlesung
Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Bernhard Beckert
Institut für Informatik
Sommersemester 2007
B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 1 / 271
Dank
Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von
Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der TU Clausthal)
Ihnen beiden gilt mein herzlicher Dank.
– Bernhard Beckert, April 2007
B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 2 / 271
Teil V
1 Determinierte Turing-Maschinen (DTMs)
2 Varianten von Turing-Maschinen
3 Indeterminierte Turing-Maschinen (NTMs)
4 Universelle determinierte Turing-Maschinen
5 Entscheidbar/Aufzählbar
6 Determinierte Turing-Maschinen entsprechen Typ 0
7 Unentscheidbarkeit
Akzeptierbarkeit und Entscheidbarkeit
Akzeptieren
Eine DTMakzeptierteine SpracheL, wenn sie für jedes Eingabe-Wortw∈Lirgendwann hält
für jedes Wortv 6∈Lunendlich lang rechnet oder hängt
Entscheiden
Eine DTMentscheideteine SpracheL, wenn sie
für jedes Eingabe-Wortw∈Lhält mit dem BandinhaltY (“Yes”) für jedes Wortv 6∈Lhält mit dem BandinhaltN(“No”)
Akzeptierbarkeit und Entscheidbarkeit
Definition 13.1 (Entscheidbar)
Lsei eine Sprache überΣ0mit#,N,Y6∈Σ0. M= (K,Σ,δ,s)sei eine DTM mitΣ0⊆Σ. M entscheidetL, falls für allew∈Σ∗0gilt:
s,#w#`∗M
h,#Y# fallsw∈L h,#N# sonst
Lheißtentscheidbar, falls es eine DTM gibt, dieLentscheidet.
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 213 / 271
Akzeptierbarkeit und Entscheidbarkeit
Definition 13.2 (Akzeptierbar)
Lsei eine Sprache überΣ0mit#,N,Y6∈Σ0. M= (K,Σ,δ,s)sei eine DTM mitΣ0⊆Σ. Makzeptiertein Wortw∈Σ∗0,
fallsMbei Inputwhält.
Makzeptiert die SpracheL, falls für allew∈Σ∗0gilt:
Makzeptiertw genau dann wenn w∈L
Lheißtakzeptierbar(oder auchsemi-entscheidbar), falls es eine DTM gibt, dieLakzeptiert.
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 214 / 271
Rekursiv aufzählbar
Definition 13.3 (Rekursiv Aufzählbar (recursively enumerable)) Lsei eine Sprache überΣ0mit#,N,Y6∈Σ0.
M= (K,Σ,δ,s)sei eine DTM mitΣ0⊆Σ.
MzähltLauf, falls es einen ZustandqB∈Kgibt (denBlinkzustand), so daß:
L={w∈Σ∗0| ∃u∈Σ∗:s,#`∗MqB,#w#u}
Lheißtrekursiv aufzählbar, falls es eine DTM gibt, dieLaufzählt.
Rekursiv aufzählbar
Achtung:aufzählbar6=abzählbar.
Unterschied
Mabzählbar: Es gibt eine surjektive Abbildung der natürlichen Zahlen aufM Maufzählbar: Diese Abbildung kann von einer Turing-Maschine berechnet
werden.
Wegen Endlichkeit der Wörter und des Alphabets sind alle Sprachen abzählbar.
Aber nicht alle Sprachen sind aufzählbar.
Rekursiv aufzählbar: Beispiele
Beispiel 13.4 (Rekursiv aufzählbar aber nicht entscheidbar) Folgende Mengen sind rekursiv aufzählbar abernichtentscheidbar:
Die Menge der Gödelisierungen aller haltenden Turing-Maschinen Die Menge aller terminierenden Programme
Die Menge aller allgemeingültigen prädikatenlogischen Formeln
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 217 / 271
Akzeptierbar gleich rekursiv aufzählbar
Satz 13.5 (Akzeptierbar = Rekursiv Aufzählbar)
Eine Sprache ist genau dann rekursiv aufzählbar, wenn sie akzeptierbar ist.
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 218 / 271
Akzeptierbar gleich rekursiv aufzählbar
Beweis
“⇒”
SeiLrekursiv aufzählbar
Es gibt also eine DTMML, dieLaufzählt.
Zu zeigen:List akzeptierbar.
Akzeptierbar gleich rekursiv aufzählbar
Beweis (Fortsetzung)
Wir konstruieren ausMLeine 2-DTMM, dieLakzeptiert:
Mwird gestartet mit
s0, #w#
# Msimuliert auf Band 2 die MaschineML.
WennMLdenBlinkzustandqBerreicht, dann enthält Band 2 vonMein Wort
#w0#u mitw0∈L.
Akzeptierbar gleich rekursiv aufzählbar
Beweis (Fortsetzung)
Nach erreichen des Blinkzustands:
Mvergleichtwundw0.
Fallsw=w0, dann hältM:w∈L.
Ansonsten simuliertMauf Band 2 weiter die Arbeit vonML. WennMLhält, ohne das Wortwauf Band 2 erzeugt zu haben, gerätMin eine Endlosschleife.
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 221 / 271
Akzeptierbar gleich rekursiv aufzählbar
Beweis (Fortsetzung)
“⇐”
SeiLakzeptierbar
Es gebe also eine DTMML, dieLakzeptiert.
Zu zeigen:List rekursiv aufzählbar.
Wir konstruieren eine DTMM, dieLrekursiv aufzählt.
Grundidee:
die Wörter ausΣ∗der Reihe nach aufzählen jedes Wort der MaschineMLvorlegen
wennMLdas Wort akzeptiert, in den BlinkzustandqBgehen
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 222 / 271
Akzeptierbar gleich rekursiv aufzählbar
Beweis (Fortsetzung)
Problem: MLakzeptiert, sie entscheidet nicht.
WennMLein Wort nicht akzeptiert, rechnet sie unendlich.
Lösung: Wir betrachten die Rechnung vonMLzu allen Wörtern ausΣ∗ gleichzeitig.
Akzeptierbar gleich rekursiv aufzählbar
Beweis (Fortsetzung)
Σ∗={w1,w2,w3, . . .} (in lexikalischer Reihenfolge aufgezählt).
Dann rechnetMso:
Im ersten Durchlauf berechne den ersten Rechenschritt vonMLfürw1. Im zweiten Durchlauf berechne
die ersten zwei Rechenschritte vonMLfürw1, einen Rechenschritt fürw2.
Im dritten Durchlauf berechne drei Rechenschritte fürw1, zwei fürw2und einen fürw3und so weiter.
Immer wieder bei der Startkonfiguration anfangen: So müssen wir uns den Bandinhalt der Rechnung vonMLzuwi nachjSchritten nicht merken.
Akzeptierbar gleich rekursiv aufzählbar
Beweis (Fortsetzung) WennMso rechnet, dann gilt:
Mfängt für jedeswi∈Σ∗in endlicher Zeit (nämlich imi-ten Durchlauf) an, die Arbeit vonMLzuwi zu simulieren, und
fallswi ∈Lund fallsML, gestartet mits,#wi#, injSchritten einen Haltezustand erreicht, dann erreichtMnach endlicher Zeit (nämlich im i+j-ten Durchlauf) den Haltezustand vonMLin der Rechnung zuwi.
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 225 / 271
Akzeptierbar gleich rekursiv aufzählbar
Beweis (Ende)
WennMbei Simulation vonMLzur Eingabenwi auf eine Haltekonfiguration trifft, dann istwi∈L.
Mnimmt dann eine Konfiguration
qB,#wi#ui ein –qBist der Blinkzustand.
In der Nebenrechnungui steht, welche Teilrechnung vonMLals nächste zu simulieren ist.
Also zähltMdiew∈Σ∗auf, für dieMLhält, und das sind gerade die w∈L.
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 226 / 271
Entscheidbarkeit und Akzeptierbarkeit
Satz 13.6 (Entscheidbar und akzeptierbar) Jede entscheidbare Sprache ist akzeptierbar.
Beweis
SeiLeine entscheidbare Sprache undMeine DTM, dieLentscheidet.
Dann wirdLakzeptiert von der DTMM0,
die zunächstMsimuliert und danach in eine Endlosschleife geht, fallsMmit h,#N#endet.
Entscheidbarkeit und Akzeptierbarkeit
Satz 13.7 (Komplement einer entscheidbaren Sprache ist entscheidbar) Das Komplement einer entscheidbaren Sprache ist entscheidbar.
Beweis
SeiLeine entscheidbare Sprache undMeine DTM, dieLentscheidet.
Dann wirdLentschieden von einer DTMM0, die genau wieMrechnet
und nur am Schluß die AntwortenYundNvertauscht.
Entscheidbarkeit und Akzeptierbarkeit
Satz 13.8 (Charakterisierung von Entscheidbarkeit) Eine Sprache L ist genau dann entscheidbar, wenn sie und ihr Komplement akzeptierbar sind.
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 229 / 271
Entscheidbarkeit und Akzeptierbarkeit
Beweis
“⇒”
SeiList entscheidbar.
Zu zeigen:LundLsind akzeptierbar.
List entscheidbar, also istLakzeptierbar List entscheidbar, also istLentscheidbar List entscheidbar, also istLakzeptierbar
B. Beckert – Grundlagen d. Theoretischen Informatik: Entscheidbar/Aufzählbar SS 2007 230 / 271
Entscheidbarkeit und Akzeptierbarkeit
Beweis (Fortsetzung)
“⇐”
SeienLundLakzeptierbar.
Zu zeigen:List entscheidbar.
SeiM1eine DTM, dieLakzeptiert.
SeiM2eine DTM, dieLakzeptiert.
Daraus konstruieren wir eine 2-DTMM, dieLentscheidet:
Mwird gestartet mit s0,#w#
#
Entscheidbarkeit und Akzeptierbarkeit
Beweis (Ende)
M simuliert abwechselnd
einen Schritt vonM1auf Band 1 und einen Schritt vonM2auf Band 2.
Das tutM, bis entwederM1oderM2hält.
Eine von beiden muss halten:wgehört entweder zuLoder zuL.
WennM1hält, dann hältMmit
#Y#auf Band 1 und
#auf Band 2.
WennM2hält, dann hältMmit
#N#auf Band 1 und
#auf Band 2.
Teil V
1 Determinierte Turing-Maschinen (DTMs)
2 Varianten von Turing-Maschinen
3 Indeterminierte Turing-Maschinen (NTMs)
4 Universelle determinierte Turing-Maschinen
5 Entscheidbar/Aufzählbar
6 Determinierte Turing-Maschinen entsprechen Typ 0
7 Unentscheidbarkeit
B. Beckert – Grundlagen d. Theoretischen Informatik: Determinierte Turing-Maschinen entsprechen Typ 0 SS 2007 233 / 271
Rekursiv Aufzählbar = Typ 0
Zur Erinnerung
Formale Sprachen sind vomTyp 0, wenn sie durch beliebige Grammatiken (keinerlei Einschränkungen) erzeugt werden können.
B. Beckert – Grundlagen d. Theoretischen Informatik: Determinierte Turing-Maschinen entsprechen Typ 0 SS 2007 234 / 271
Rekursiv Aufzählbar = Typ 0
Satz 14.1 (Rekursiv aufzählbar = Typ 0) Die rekursiv aufzählbaren Sprachen
(also die durch DTMn akzeptierbaren Sprachen)
sind genau die durch beliebige Grammatiken erzeugten Sprachen (also die vom Typ 0).
Beweisidee
Zu jeder Turing-Maschine kann eine Grammatik konstruiert werden, deren Ableitungsschritte die Rechenschritte der TM simulieren (spezielle Variable markiert Position des Schreib-/Lesekopfes).
Zu jeder Grammatik kann eine indeterminierte Turing-Maschine (und damit auch eine DTM) konstruiert werden, deren Rechenschritte den Ableitungsschritten der Grammatik entsprechen.