Der Satz von Rice
Prof. Dr. Berthold V¨ocking Lehrstuhl Informatik 1 Algorithmen und Komplexit¨at
RWTH Aachen
6. November 2009
Wdh: 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}
Wdh: Unentscheidbarkeit der Diagonalsprache
Satz:
Die Diagonalsprache D ist nicht rekursiv.
Beweis durch Diagonalisierung.
Es folgt:
Satz:
Das Komplement der Diagonalsprache ¯D ist nicht rekursiv.
Zur Erinnerung:
D¯ = {0,1}∗\D
= {w ∈ {0,1}∗|w =wi und Mi akzeptiert w}.
Wdh: Unentscheidbarkeit des Halteproblems
Satz:
Das Halteproblem H ist nicht rekursiv.
Beweis: (Unterprogrammtechnik)
Wir zeigen: Wenn H rekursiv ist, dann ist auch ¯D rekursiv.
Aber wir wissen bereits, dass ¯D nicht rekursiv ist.
Folglich ist auchH nicht rekursiv
Wdh: Unentscheidbarkeit des Halteproblems
Illustration:Aus MH konstruieren wir MD¯.
<M > wi i
<M > wi i
reject accept
w=wi
w accept
reject
MH
MD
U
Wdh: Unentscheidbarkeit des speziellen Halteproblems
Satz:
Das spezielle Halteproblem H ist nicht rekursiv.
Beweis: (Unterprogrammtechnik)
Wir zeigen: Wenn H rekursiv ist, dann ist auchH rekursiv.
Aber wir wissen bereits, dass H nicht rekursiv ist.
Folglich ist auchH nicht rekursiv
Wdh: Unentscheidbarkeit des speziellen Halteproblems
Illustration:Aus M konstruieren wir MH.
w*
<M >
<M> w accept
reject (Syntax)
x
reject accept
MH
Mε
Eigenschaften von Mw∗
FallsMw∗ die Eingabeerh¨alt, so schreibt sie das Wortw aufs Band und simuliert die TM M mit der Eingabe w.
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 R die Menge der von TM berechenbaren partiellen Funktionen und S 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.
Satz von Rice – Anwendungsbeispiele
Beispiel 1:
Sei S ={fM |fM()6=⊥}.
Dann ist
L(S) = { hMi | M berechnet eine Funktion ausS}
= { hMi | }
=
Gem¨aß Satz von Rice ist nicht entscheidbar.
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 | }
Diese Sprache ist auch als das allgemeine Halteproblem Hall
bekannt.
Gem¨aß Satz von Rice ist Hall nicht entscheidbar.
Satz von Rice – Beweis (Vereinbarungen)
Satz von Rice – Beweis (Erl¨auterungen)
Satz von Rice – Beweis (Beschreibung von M
)
Satz von Rice – Beweis (Beschreibung von M
∗)
Satz von Rice – Beweis (Illustration von M
)
Satz von Rice – Beweis (Korrektheit)
w ∈H ⇒
⇒ M akzeptiert w
Satz von Rice – Beweis (Korrektheit)
w 6∈H ⇒
⇒ M verwirft w
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?