Der Satz von Rice Rekursive Aufz¨ ahlbarkeit
Prof. Dr. Berthold V¨ocking Lehrstuhl Informatik 1 Algorithmen und Komplexit¨at
RWTH Aachen
4. November 2010
Bisher betrachtete Probleme
Die Diagonalsprache:
D = {w ∈ {0,1}∗ |w =wi und Mi akzeptiertw nicht}
Das Halteproblem:
H = {hMiw |M h¨alt auf w} Das spezielle Halteproblem:
H = {hMi |M h¨alt auf Eingabe }
Alle diese Problem sind nicht rekursiv. Was haben diese Problem gemeinsam?
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 2 / 29
Von TM berechnete Funktionen sind partielle Funktionen
Da TM nicht auf jeder Eingabe halten, berechnen sie
”partielle Funktionen“. Das k¨onnen wir wie folgt formalisieren:
Die von einer TMM berechnete Funktion ist von der Form fM :{0,1}∗ → {0,1}∗∪ {⊥} .
Das Zeichen ⊥steht dabei f¨ur undefiniertund bedeutet, dass die Maschine nicht h¨alt.
Im Fall von Entscheidungsproblemen vereinfacht sich die Funktion zu
fM :{0,1}∗→ {0,1,⊥} .
Dabei steht 0 f¨ur Verwerfen, 1 f¨ur Akzeptierenund ⊥f¨ur Nicht-Halten.
Satz von Rice
Satz:
Sei Rdie Menge der von TM berechenbaren partiellen Funktionen undS eine Teilmenge von Rmit∅ 6=S 6=R. Dann ist die Sprache
L(S) ={ hMi | M berechnet eine Funktion ausS}
nicht rekursiv.
In anderen Worten: Aussagen ¨uber die von einer TM berechneten Funktion sind nicht entscheidbar.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 4 / 29
Satz von Rice – Anwendungsbeispiele
Beispiel 1:
Sei S ={fM |fM()6=⊥}.
Dann ist
L(S) = { hMi |M berechnet eine Funktion ausS}
= { hMi |M h¨alt auf Eingabe }
= H
Gem¨aß Satz von Rice ist H nicht entscheidbar.
(Aber das wussten wir ja schon ;-)
Satz von Rice – Anwendungsbeispiele
Beispiel 2:
Sei S ={fM | ∀w ∈ {0,1}∗ :fM(w)6=⊥}.
Dann ist
L(S) = { hMi |M berechnet eine Funktion ausS}
= { hMi |M h¨alt auf jeder Eingabe}
Diese Sprache ist auch als das allgemeine Halteproblem Hall bekannt.
Gem¨aß Satz von Rice ist Hall nicht entscheidbar.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 6 / 29
Satz von Rice – Beweis
Beweis:
Wir nutzen die Unterprogrammtechnik. Aus einer TMML(S), die L(S) entscheidet, konstruieren wir eine TMM, die das spezielle HalteproblemH entscheidet.
Einige Vereinbarungen:
Sei u die ¨uberall undefinierte Funktion.
O.B.d.A.u 6∈S.
Sei f eine Funktion ausS. Sei N eine TM, die f berechnet.
f S R
u
Bemerkung: Im Falleu∈S betrachten wir ¯S =R \S stattS und zeigen die Unentscheidbarkeit vonL(¯S) = ¯L(S). Aus der Unentscheidbarkeit von
¯L(S) folgt dann die Unentscheidbarkeit von L(S).
Satz von Rice – Fortsetzung Beweis
Die TMM mit UnterprogrammML(S) arbeitet wie folgt 1) Falls die Eingabe nicht aus einer korrekten G¨odelnummer
besteht, verwirft M die Eingabe.
2) Sonst berechnetM aus der Eingabe hMi die G¨odelnummer der TM M∗ (n¨achste Folie).
3) Starte ML(S) mit der Eingabe hM∗i und akzeptiere (verwerfe) genau dann, wenn ML(S) akzeptiert (verwirft).
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 8 / 29
Satz von Rice – Fortsetzung Beweis
Verhalten vonM∗ auf Eingabe x
Schritt A: Simuliere das Verhalten von M bei Eingabe auf einer f¨ur diesen Zweck reservierten Spur.
Schritt B: Simuliere das Verhalten von N auf x, stoppe sobald N stoppt und ¨ubernehme die Ausgabe.
Satz von Rice – Fortsetzung Beweis
Korrektheit:
Bei Eingabe vonw =hMi gilt:
w ∈H ⇒ M h¨alt auf
⇒ M∗ berechnet f
f∈S
⇒ hM∗i ∈L(S)
⇒ ML(S) akzeptiert hM∗i
⇒ M akzeptiertw w 6∈H ⇒ M h¨alt nicht auf
⇒ M∗ berechnet u
u6∈S⇒ hM∗i 6∈L(S)
⇒ ML(S) verwirft hM∗i
⇒ M verwirftw
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 10 / 29
Satz von Rice – Weitere Anwendungsbeispiele
Beispiel 3:
Sei L17=
{ hMi | M berechnet bei Eingabe der Zahl 17 die Zahl 42}.
Es istL17=L(S) f¨ur S ={fM |fM(bin(17)) =bin(42)}.
Somit ist diese Sprache gem¨aß dem Satz von Rice nicht entscheidbar.
Beispiel 4:
Sei H17=
{ hMi | Auf jeder Eingabe stoppt M nach≤17 Schritten}.
Uber diese Sprache sagt der Satz von Rice nichts aus!!!¨ IstH17 entscheidbar?
Semi-Entscheidbarkeit
Eine SpracheL wird von einer TMM entschieden, wenn M auf jeder Eingabe h¨alt, und
M genau die W¨orter ausLakzeptiert.
Eine SpracheL, f¨ur die eine TM existiert, die Lentscheidet, wird alsrekursivoder auch als entscheidbarbezeichnet.
Eine SpracheL wird von einer TMM erkannt, wenn M jedes Wort aus Lakzeptiert, und
M kein Wort akzeptiert, das nicht in L enthalten ist.
Def: Eine SpracheL, f¨ur die eine TM existiert, die Lerkennt, wird alssemi-entscheidbarbezeichnet.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 12 / 29
Beispiel
Das Halteproblem
H = {hMiw |M h¨alt auf w} . ist nicht entscheidbar.
Behauptung:Das Halteproblem ist jedoch semi-entscheidbar.
Folgendes TM-Programm erkenntH:
Erh¨altM0 eine Eingabe der FormhMiw so simuliert M0 die TMM mit Eingabew, und akzeptiert, falls M auf w h¨alt.
Syntaktisch inkorrekte Eingaben werden vonM0 verworfen.
Aufz¨ ahler, Rekursive Aufz¨ ahlbarkeit – Definition
EinAufz¨ahler f¨ur eine Sprache L⊆Σ∗ ist eine Variante einer TM mit einem angeschlossenenDruckerim Sinne eines zus¨atzlichen Ausgabebandes, auf dem sich der Kopf nur nach rechts bewegt.
Gestartet mit leerem Arbeitsband, gibt der Aufz¨ahler alle W¨orter ausL(m¨oglicherweise mit Wiederholungen) auf dem Drucker aus.
Die ausgegebenen W¨orter sind dabei durch ein Zeichen getrennt, das nicht in Σ enthalten ist.
Definition
Eine Sprache, f¨ur die es einen Aufz¨ahler gibt, heißt rekursiv aufz¨ahlbar.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 14 / 29
Aufz¨ ahler – Illustration
blubblubblub . . .
blablabla hihihi
. . .
D R U C K E R
. . A r b e i t s b a n d . . . A r b e i t s b a n d . . . A r b e i t s b a n d . . . A r b e i t s b a (Zustand & Kopfpos.)
S T E U E R U N G
rekursiv aufz¨ ahlbar = semi-entscheidbar
Satz
Eine SpracheList genau dann semi-entscheidbar, wenn sie rekursiv aufz¨ahlbar ist.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 16 / 29
Beweis: L ist rekursiv aufz¨ ahlbar ⇒ L ist semi-entscheidbar
SeiA ein Aufz¨ahler f¨urL. Wir konstruieren eine TMM, dieL erkennt.
Bei Eingabew arbeitet M wie folgt:
M simuliert Amit Hilfe einer Spur, die die Rolle des Druckers
¨ubernimmt.
Wenn immer ein neues Wort gedruckt worden ist, vergleicht M dieses Wort mit w und akzeptiert bei ¨Ubereinstimmung.
Korrektheit:
Fallsw ∈L, so wird w irgendwann gedruckt und somit vonM akzeptiert.
Falls w 6∈L, so wird w nicht gedruckt und somit nicht akzeptiert.
Beweis: L ist semi-entscheidbar ⇒ L ist rekursiv aufz¨ ahlbar
Sei nunM eine TMM, dieLerkennt. Wir konstruieren einen Aufz¨ahler Af¨urL.
Programm vonA:
Fori = 1,2,3, . . .
Simuliere i Schritte von M auf jedem Wort ausw1, . . . ,wi. Wird dabei eines der Worte akzeptiert, so drucke es aus.
Korrektheit:
Adruckt offensichtlich nur W¨orter ausLaus. Aber druckt er auch alle W¨orter ausL aus?
Sei wk ein Wort ausL.
Dann wird wk von M nach einer endlichen Anzahl von Schritten, sagen wir nachtk vielen Schritten, akzeptiert.
D.h. wk wird vonAausgedruckt, und zwar in jeder Iteration i ≥max{k,tk}.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 18 / 29
Schnitte von Sprachen
Satz
a) Wenn die SprachenL1 und L2 rekursiv sind, so ist auch die SpracheL1∩L2 rekursiv.
b) Wenn die SprachenL1 und L2 rekursiv aufz¨ahlbar sind, so ist auch die Sprache L1∩L2 rekursiv aufz¨ahlbar.
Schnitte von Sprachen – Beweis a)
SeienM1 und M2 zwei TM, dieL1 bzw. L2 entscheiden.
TMM, dieL1∩L2 entscheidet:
Auf Eingabe w, simuliert M zun¨achst das Verhalten vonM1
auf w und dann das Verhalten von M2 auf w.
Falls M1 und M2 das Wort w akzeptieren, so akzeptiert auch M; sonst wirdw von M verworfen.
Korrektheit:
Falls w ∈L1∩L2, so wirdM aktzeptiert.
Sonst wird w verworfen.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 20 / 29
Schnitte von Sprachen – Beweis b)
Seien nunM1 undM2 zwei TM, dieL1 bzw. L2 erkennen.
TMM, dieL1∩L2 erkennt:
Auf Eingabe w, simuliert M zun¨achst das Verhalten vonM1 auf w und dann das Verhalten von M2 auf w.
Falls M1 und M2 akzeptieren, so akzeptiert auchM. Wir verwenden dieselbe TMM wie in a)
Korrektheit:
Falls w ∈L1∩L2, so wirdM von w akzeptiert.
Sonst wird w nicht akzeptiert.
Vereinigungen von Sprachen
Satz
a) Wenn die SprachenL1 und L2 rekursiv sind, so ist auch die SpracheL1∪L2 rekursiv.
b) Wenn die SprachenL1 und L2 rekursiv aufz¨ahlbar sind, so ist auch die Sprache L1∪L2 rekursiv aufz¨ahlbar.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 22 / 29
Vereinigungen von Sprachen – Beweis a)
SeienM1 und M2 zwei TM, dieL1 bzw. L2 entscheiden.
TMM, dieL1∪L2 entscheidet
Auf Eingabe w, simuliert M zun¨achst das Verhalten vonM1 auf w und dann das Verhalten von M2 auf w.
Falls M1 oder M2 akzeptieren, so akzeptiert auchM. Sonst verwirft M die Eingabe.
Korrektheit:
Falls w ∈L1∪L2, so wirdw von M1 oderM2 und somit auch von M akzeptiert.
Sonst verwerfen M1 undM2, so dass auch M verwirft.
Vereinigungen von Sprachen – Beweis b)
Seien nunM1 undM2 zwei TM, dieL1 bzw. L2 erkennen.
Welches Problem tritt auf, wenn wir die Simulation aus a) einfach
¨ubernehmen?
Idee:Simuliere M1 und M2 parallel statt sequentiell ...
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 24 / 29
Vereinigungen von Sprachen – Beweis b)
SeienM1 und M2 zwei TM, dieL1 bzw. L2 entscheiden.
TMM, dieL1∪L2 entscheidet
Wir nehmen o.B.d.A. an, dass M ¨uber zwei B¨ander verf¨ugt.
Auf Band 1 wirdM1 auf w simuliert.
Auf Band 2 wirdM2 auf w simuliert.
Sobald ein Schritt erreicht wird, in demM1 oderM2
akzeptieren, so akzeptiert auch M.
Korrektheit:
Falls w ∈L1∪L2, so wirdw von M1 oderM2 und somit auch von M akzeptiert.
Sonst wird w nicht akzeptiert.
” 2 × rekursiv aufz¨ ahlbar = rekursiv“
Lemma∗
SeienL⊆Σ∗und ¯L= Σ∗\Lrekursiv aufz¨ahlbar. Dann istLrekursiv.
Beweis:Seien M und ¯M Maschinen, dieL bzw. ¯L erkennen.
Die TMM0 entscheidetLdurch eine parallele Simulation vonM und M¯ auf der Eingabew:
M0 akzeptiertw, sobald M akzeptiert.
M0 verwirftw, sobald ¯M akzeptiert.
Da entwederw ∈Loderw 6∈L, tritt eines dieser Ereignisse nach endlicher Zeit ein, so dass die Terminierung vonM0 sichergestellt
ist.
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 26 / 29
Komplemente von Sprachen
Beobachtung 1:
Wenn die SpracheLrekursiv ist, so ist auch ¯Lrekursiv, da wir das Ak- zeptanzverhalten einer TMM, dieMentscheidet invertieren k¨onnen.
Beobachtung 2:
Die Menge der rekursiv aufz¨ahlbaren Sprachen ist hingegen nicht gegen Komplementbildung abgeschlossen.
Beispiel:
H ist rekursiv aufz¨ahlbar.
W¨are ¯H ebenfalls rekursiv aufz¨ahlbar, so w¨areH nach Lemma ∗rekursiv.
Also ist ¯H nicht rekursiv aufz¨ahlbar.
Schlussfolgerung
Korollar
F¨ur jede SpracheLgilt eine der vier folgenden Eigenschaften.
1 List rekursiv und sowohlLals auch ¯Lsind rekursiv aufz¨ahlbar.
2 L ist rekursiv aufz¨ahlbar, aber ¯L ist nicht rekursiv aufz¨ahlbar
3 L¯ ist rekursiv aufz¨ahlbar, aberL ist nicht rekursiv aufz¨ahlbar
4 sowohl Lals auch ¯L sind nicht rekursiv aufz¨ahlbar
Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 28 / 29
Berechenbarkeitslandschaft
Probleme mit rek.
aufz. Komplement rekursive
Probleme rek. aufz. Probleme
z.B.
H
z.B.D
nicht rek. aufz. Probleme, deren Komplement ebenfalls nicht rek. aufz. ist z.B.