Im E1 ist ein Satz Rice umgefallen (Satz von Rice)

| Back to Overview

Partielle Funktionen

Zu verstehen was eine partielle Funktion ist, ist der erste wichtige Schritt den Satz von Rice anzuwenden. Also...

Eine partielle Funktion ist eine Funktion, die von einer Turingmaschine MM berechnet wird. (fM:ΣΣf_M: \Sigma^* \to \Sigma^*). Da MM nicht immer anhalten muss gilt:
> fM(x)={y, falls M bei Eingabe x mit Ausgabe y anha¨lt(undefiniert), falls M bei Eingabe x nicht anha¨ltf_M(x) = \begin{cases} y &\text{, falls M bei Eingabe x mit Ausgabe y anhält} \\ \perp \text{(undefiniert)} &\text{, falls M bei Eingabe x nicht anhält} \end{cases}

Satz von Rice

Der dolle Satz von Rice lautet wie folgt (ist wirklich wichtig):

Sei R\mathcal{R} die Menge der berechenbaren partiellen Funktionen und S\mathcal{S} eine Teilmenge von R\mathcal{R} mit SR\emptyset \subsetneq \mathcal{S} \subsetneq \mathcal{R}. Dann ist die Sprache


L(S)={MM berechnet eine Funktion aus S}\begin{aligned} L(\mathcal{S}) = \{⟨M⟩ | M \text{ berechnet eine Funktion aus } \mathcal{S}\} \end{aligned}
unentscheidbar.

Oke also Aussagen über die Funktion, die eine Turingmaschine berechnet sind immer unentscheidbar.

Die Beweise von Satz von Rice sind eigentlich alle sehr leicht und kurz, aber man muss hier besonders Vorsichtig sein, ob ihr den Satz überhaupt anwenden dürft.

Ihr müsst folgende Schritte beachten:

  • Stellt zunächst formal eure Sprache auf (also LL).
  • Stellt dann eure Funktionsmenge S\mathcal{S} auf. (Hier müsst ihr darauf Achten, das es tatsächlich par. Funktion sind)
    • Eigenschaften von Automaten wie {MM ist TM}\{ \langle M \rangle \mid M \text{ ist TM} \} sind keine Funktionen.
  • Zeigen das S\emptyset \subsetneq \mathcal{S} ist.
  • Zeigen das SR\mathcal{S} \subsetneq \mathcal{R} ist.
  • Von L(S)={MM berechnet eine Funktion aus S}=...=LL(S) = \{\langle M \rangle \mid M \text{ berechnet eine Funktion aus } \mathcal{S} \} = ... = L kommen.
  • Schreiben: Also ist LL nach dem Satz von Rice unentscheidbar.

Fertig. Aber wie gesagt aufpassen wie in der Übung, ob es sich wirklich um die Funktion, die die TM berechnet handelt, oder um eine Eigenschaft der TM.