Skip to main content

[DE] Betrachtung des Widerspruchsbeweis des speziellen Halteproblems nach Vossen und Witt

· 6 min read

Oft wird der Nachweis, dass das Halteproblem nicht entscheidbar ist, in der Fachliteratur (Schöning [📖Sch08, 119 f.], Asteroth und Baier [📖BA02, 106 f.], Sipser [📖Sip12, 216 f.]) mithilfe einer Turingmaschine und einem Widerspruchsbeweis gezeigt, in etwa:

Angenommen,

K′={w∈Σ∗∣w=⟨T⟩,T stoppt bei Eingabe w}K' = \{w \in \Sigma^* | w = \langle T \rangle, \text{$T$ stoppt bei Eingabe $w$}\}

ist entscheidbar.

Sei T′T' ist die Turingmaschine, die K′K' entscheidet.
Sei w=⟨T⟩w = \langle T \rangle die Codierung1 einer Turingmaschine, die wie folgt arbeitet:

  • TT simuliert das Verhalten von T′T' bei der Eingabe ww:
    • TT stoppt, wenn T′T' die Eingabe ww verwirft (w∉K′w \notin K')
    • TT stoppt nicht, wenn T′T' die Eingabe ww akzeptiert (w∈K′w \in K')

Damit folgt: TT stoppt bei Eingabe ww ⇔\Leftrightarrow T′T' verwirft ww ⇔\Leftrightarrow w∉K′w \notin K' ⇔\Leftrightarrow TT stoppt nicht

Widerspruch!

Bei Vossen und Witt wird der Beweis anhand unentscheidbarer Mengen gezeigt - hierzu wird in dem Abschnitt über Berechenbarkeit die Abzählbarkeit von Turingmaschinen und analog dazu die Standardnummerierung von P\mathcal{P}2 als theoretischer Unterbau festgelegt, um darauf aufbauend den Nachweis der Semi-Entscheidbarkeit und Unentscheidbarkeit zu führen. Im Folgenden findet sich die Beweisführung nach Vossen und Witt [📖VW16, 360 ff.] mit ergänzenden Kommentaren.

Die Standardnummerierung ist festgelegt als:

(N0,P,φ)(\mathbb{N}_0, \mathcal{P}, \varphi)
  • N0\mathbb{N}_0: Die Menge aller Turingmaschinen (ein i∈N0i \in \mathbb{N}_0 repräsentiert die Gödelnummer einer Turingmaschine), wobei T\mathcal{T} die Menge aller normierten Turingmaschinen ist. Die Abbildung h:N0→Th: \mathbb{N}_0 \rightarrow \mathcal{T} ist definiert durch h(i)={T,falls p(τ(T))=iTω,sonsth(i) = \begin{cases} T, & \text{falls } p(\tau(T)) = i\\ T_{\omega}, & \text{sonst} \end{cases} bildet also auf eine natürliche Zahl eine Turingmaschine ab.
  • P\mathcal{P}: Die Menge aller berechenbaren Funktionen.
  • φ:N0→P\varphi: \mathbb{N}_0 \rightarrow \mathcal{P} ist eine Abzählung aller berechenbaren Funktionen. φ\varphi ist festgelegt durch φ(i)=f⇔fh(i)=f\varphi(i) = f \Leftrightarrow f_{h(i)} = f Die berechenbare Funktion φ(i)\varphi(i) wird also durch die ii-te Turingmaschine berechnet.

Die Standardnummerierung ist im Folgenden die Grundlage für die Formulierung von Entscheidbarkeitsproblemen bei Mengen.

Das spezielle Halteproblem​

Zunächst wird das spezielle Halteproblem (auch Selbstanwendbarkeitsproblem) betrachtet.
Vossen und Witt definieren es über folgende Menge:

K={i∣i∈Def(φi)}K = \{i \mid i \in \text{Def}(\varphi_i)\}

KK enthält alle Nummern von Turingmaschinen, die, angewendet auf sich selbst, anhalten:

  • ii ist die Codierung einer Turingmaschine.
  • φi\varphi_i ist die berechenbare Funktion, die von der Turingmaschine p(τ(T))=ip(\tau(T)) = i berechnet wird.
  • Def(φi)\text{Def}(\varphi_i) ist der Definitionsbereich der Funktion φi\varphi_i, also alle erlaubten Eingaben.
  • i∈Def(φi)i \in \text{Def}(\varphi_i) bedeutet: Die Codierung ii der Turingmaschine p(τ(T))=ip(\tau(T)) = i, die φi\varphi_i berechnet, ist eine erlaubte Eingabe.

Vossen und Witt definieren KK als die "Menge aller Turingmaschinen, die, [...] anhalten."
Das bedeutet, dass von einer entscheidbaren Menge ausgegangen wird:
Es wird angenommen, dass sowohl KK als auch K‾\overline{K} semi-entscheidbar sind und die charakteristische Funktion χK\chi_K von KK berechenbar ist.

Mit Satz 10.7 formulieren Vossen und Witt den Kern des Selbstanwendbarkeitsproblems, nämlich, dass KK zwar semi-entscheidbar, aber nicht entscheidbar ist:

Satz 10.7: [📖VW16, 361]
  • KK ist rekursiv aufzählbar
  • KK ist nicht entscheidbar

Damit wird behauptet:

  • KK ist semi-entscheidbar, da rekursiv-aufzählbar.
    Wenn KK semi-entscheidbar ist, ist auch die semi-charakteristische Funktion von KK, χK′\chi'_K, berechenbar.
    Wenn KK semi-entscheidbar und damit rekursiv aufzählbar ist, dann gilt äquivalent dazu: KK ist der Definitionsbereich einer berechenbaren Funktion g:N0→N0g: \mathbb{N}_{0} \rightarrow \mathbb{N}_0 (s. Folgerung 10.2 [📖VW16, 356]). Es reicht also aus, eine solche Funktion anzugeben, um die Semi-Entscheidbarkeit und damit auch die rekursive Aufzählbarkeit nachzuweisen.
  • Wenn KK entscheidbar ist, dann ist auch die charakteristische Funktion χK\chi_K berechenbar: χK\chi_K gibt 11 aus, wenn die Turingmaschine TT angewendet auf i=p(τ(T))i = p(\tau(T)) anhält (also wenn φi(i)\varphi_i(i) berechnet wird); und ansonsten ist χK(i)=0\chi_K(i) = 0, wenn TT nicht anhält3.

Beweisführung​

Der Beweis wird wie folgt geführt:

a) Vossen und Witt definieren die Funktion f:N0→N0f: \mathbb{N}_0 \rightarrow \mathbb{N}_0 durch

f(i)=uφ(i,i)f(i) = u_{\varphi}(i, i)

Bei uφu_{\varphi} handelt es sich um die universelle Funktion von (N0,P,φ)(\mathbb{N}_0, \mathcal{P}, \varphi):

uφ:N0×N0→N0definiert durchuφ(i,x)=φi(x)u_{\varphi} : \mathbb{N}_0 \times \mathbb{N}_0 \rightarrow \mathbb{N}_0 \quad \text{definiert durch} \quad u_{\varphi} (i, x) = \varphi_i(x)

uφ(i,j)u_{\varphi}(i, j) berechnet die ii-te berechenbare Funktion für die Eingabe jj.

Mit ff als berechenbare Funktion kann gezeigt werden:

i∈K⇔i∈Def(φi)(Definition K)⇔(i,i)∈Def(uφ)(Definition uφ)⇔i∈Def(f)(Definition f)\begin{align} i \in K &\Leftrightarrow i \in \text{Def}(\varphi_i) \quad \text{(Definition $K$)}\\ &\Leftrightarrow (i, i) \in \text{Def}(u_{\varphi}) \quad \text{(Definition $u_{\varphi}$)}\\ &\Leftrightarrow i \in \text{Def}(f) \quad \text{(Definition $f$)} \end{align}

womit K=Def(f)K = \text{Def}(f) ist und damit KK rekursiv-aufzählbar und semi-entscheidbar ist.

b) Angenommen, KK ist entscheidbar. Dann ist χK\chi_K berechenbar.
Vossen und Witt definieren eine berechenbare (Hilfs-)Funktion

g:N0→N0g: \mathbb{N}_0 \rightarrow \mathbb{N}_0

durch

g(x)={uφ(x,x)+1,falls χK(x)=10,falls χK(x)=0g(x) = \begin{cases} u_{\varphi}(x, x) + 1, & \text{falls }\chi_K(x) = 1\\ 0, & \text{falls }\chi_K(x) = 0 \end{cases}

gg ist total berechenbar: Wenn χK(x)=1\chi_K(x) = 1, dann ist x∈Def(φx)x \in \text{Def}(\varphi_x), und damit ist uφ(x,x)+1=φx(x)+1u_\varphi(x, x) + 1 = \varphi_x(x) + 1.

Da gg total berechenbar ist (g∈R⊂Pg \in \mathcal{R} \subset \mathcal{P}), muss es ein p∈N0p \in \mathbb{N}_0 geben mit g=φpg = \varphi_p. Es folgt

g(x)=φp(x)∀x∈N0g(x) = \varphi_p(x) \quad \forall x \in \mathbb{N}_0

Für g(p)g(p) werden nun zwei Fälle untersucht:

  • Fall 1: g(p)=0g(p) = 0

    g(p)=0⇔χK(p)=0(Entscheidbarkeit K)⇔p∉K⇔p∉Def(φp)(g=φp)⇔p∉Def(g)⇔g(p)=⊥(Widerspruch zu g total berechenbar)\begin{align} g(p) = 0 &\Leftrightarrow \chi_K(p) = 0 \quad \text{(Entscheidbarkeit $K$)}\\ & \Leftrightarrow p \notin K \\ & \Leftrightarrow p \notin \text{Def}(\varphi_p) \quad \text{($g = \varphi_p$)}\\ & \Leftrightarrow p \notin \text{Def}(g) \\ & \Leftrightarrow g(p) = \bot \quad \text{(Widerspruch zu $g$ total berechenbar)} \end{align}

    womit insgesamt die widersprüchliche Aussage folgt:

    g(p)=0⇔g(p)=⊥g(p) = 0 \Leftrightarrow g(p) = \bot
  • Fall 2: g(p)=uφ(p,p)+1g(p) = u_{\varphi}(p,p) + 1

    g(p)=uφ(p,p)+1(Definition g)=φp(p)+1(uφ(p,p)=φp(p))=g(p)+1(φp=g)\begin{align} g(p) &= u_{\varphi}(p, p) + 1 \quad \text{(Definition $g$)}\\ &= \varphi_p(p) + 1 \quad \text{($u_{\varphi}(p, p) = \varphi_p(p)$)}\\ &= g(p) + 1 \quad \text{($\varphi_p = g$)} \end{align}

    womit insgesamt die widersprüchliche Aussage folgt:

    g(p)=g(p)+1g(p) = g(p) + 1

Insgesamt wird durch den Beweis gezeigt: Die Anwendung von gg auf pp - also von gg auf sich selbst (wegen g=φp=fh(p),φp(p)=uφ(p,p)g = \varphi_p = f_{h(p)}, \varphi_p(p) = u_{\varphi}(p, p)) - führt in jedem Fall zu einem Widerspruch.
Damit ist gezeigt, dass χK\chi_K nicht berechenbar und folglich KK nicht entscheidbar ist.

info

Mit dem Wissen um die Unentscheidbarkeit und der Semi-Entscheidbarkeit von KK ist es nun möglich, eine Funktion ff anzugeben, mit der sich KK auf HH reduzieren lässt, so dass K≤fHK \leq_f H. Da KK unentscheidbar ist, ist auch HH unentscheidbar. Es muss gezeigt werden, dass auch HH semi-entscheidbar ist, da dies nicht allein aus der Reduktion von KK auf HH folgt (vgl. Satz 10.5 [📖VW16, 358] sowie Folgerung 10.3 [📖VW16, 359]). Der Beweis erfolgt analog zum Nachweis der rekursiven Aufzählbarkeit von KK mit Satz 10.8 [📖VW16, 363].

Footnotes​

  1. Anstatt Gödelnummer wird im Folgenden auch einfach der Begriff Codierung verwendet, wobei streng genommen τ(T)\tau(T) die Codierung einer normierten Turingmaschine ist, bevor ihr eine Gödelnummer zugewiesen wird ↩

  2. P\mathcal{P} bezeichnet die Menge der partiell-rekursiven Funktionen. Es gilt PR⊂R⊂P\mathcal{PR} \subset \mathcal{R} \subset \mathcal{P}, mit PR\mathcal{PR} als die Menge der primitiv-rekursiven Funktionen, die eine echte Teilmenge der total berechenbaren Funktionen R\mathcal{R} sind ↩

  3. der Widerspruch liest sich hier bereits heraus. ↩


References

  1. [Sch08]: Schöning, Uwe: Theoretische Informatik - Kurzgefasst (2008), Spektrum Akademischer Verlag [BibTeX]
  2. [BA02]: Asteroth, Alexander and Baier, Christel: Theoretische Informatik (2002), Pearson Deutschland [BibTeX]
  3. [Sip12]: Sipser, Michael: Introduction to the Theory of Computation (2012), Cengage Learning [BibTeX]
  4. [VW16]: Vossen, Gottfried and Witt, Kurt-Ulrich: Grundkurs Theoretische Informatik (2016), Springer Vieweg, 10.1007/978-3-8348-2202-4 [BibTeX]