35. Berechenbarkeit

Turingmaschinen sind sehr allgemeine Konstrukte. Glaubenssatz:

Church’sche These: Die Klasse der “intuitiv” berechenbaren Funktionen stimmt mit der der Turing-berechenbaren Funktionen überein oder: Turing-Maschinen können alles, was Computer können (die Umkehrung ist sofort offensichtlich, wenn wir ein Programm zur Simulation einer Turing-Maschine schreiben können, und das geht schon für recht simple Systeme, z.B. TEX).

Dabei heißt eine (partielle) Funktion f*→Σ*Turing-berechenbar, wenn es eine (deterministische) Turing-Maschine M gibt, so dass f(x) = y genau dann, wenn Sx * →#Zy# mit Z Endzustand von M.

Wir verwenden das Symbol * → hier etwas schlampig – es soll hier natürlich heißen “es gibt eine Zustandsfolge, die die linke in die rechte Seite überführt”. Wichtig ist, dass keine Aussage über das Verhalten der Maschine an den Stellen gemacht wird, an denen f nicht definiert ist.

Die charakteristische Funktion χM einer Menge MN ist

{ 1  x ∈ M
χM  : N →  {0,1}     χM  (x ) =   0  x<ignored>⁄∈< /ignored>∉M

die halbe charakteristische Funktion χM ist

{
χ‘M  : N →  {0,1}     χ‘M (x) =   1       x ∈ M
                                  undef   x<ignored>⁄∈< /ignored>∉M

Beispiel: Sei L eine Chomsky-0-Sprache. Für jedes wL stoppt eine Turingmaschine mit L= L(M). Also sind die charakteristischen Funktionen

  • χL:L→{0,1} konstant eins, also berechenbar;
  • χ¯L*→{0,1} nicht berechenbar, weil für x∈Σ*\L das Verhalten von M nicht definiert ist
  • χL*→{0,1} berechenbar, weil das Verhalten nur für xL entscheidend ist.

Eine Sprache L heißt entscheidbar, wenn ihre charakteristische Funktion berechenbar ist, semi-entscheidbar, wenn ihre halbe charakteristische Funktion berechenbar ist.

Eine Sprache L heißt rekursiv aufzählbar, wenn L= ∅ oder eine (totale) berechenbare Funktion f:ℕ →Σ* existiert, so dass L= {f(1),f(2),}.

Satz: L rekursiv aufzählbar ⇔L semi-entscheidbar.

Beweisidee: “⇒”: Der Algorithmus prüft einfach alle f(i) durch.

“⇐”: Wir definieren zunächst w:ℕ →Σ* (das geht, weil Sternbildung sehr simpel und Σ endlich ist). Sei χL durch den Algorithmus M realisiert. Wir nehmen ein Wort aL als “default” und definieren eine Funktion

{ w(x)   M (w (x)) stoppt in y Schritten
˜f(x,y ) =   a      sonst

Wenn wir die zwei Parameter von f in eine natürliche Zahl verpacken (es gibt rekursiv berechenbare Funktionen, die das können), haben wir die gewünschte Aufzählungsfunktion.

Anmerkung: Der Unterschied zwischen rekursiver Aufzählbarkeit und Abzählbarkeit ist, dass bei der Abzählbarkeit nicht die Berechenbarkeit der Bijektion gefordert ist (wichtig bei Teilmengenbildung!).


Markus Demleitner

Copyright Notice