25.11.2014 Aufrufe

11. Juli und 13. Juli 2006

11. Juli und 13. Juli 2006

11. Juli und 13. Juli 2006

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2.6 Halteproblem, Unentscheidbarkeit, Reduzierbarkeit<br />

Definition<br />

(a) Eine Menge A ⊆ Σ ∗ heißt entscheidbar, falls<br />

ihre charakteristische Funktion χ A : Σ ∗ → {0,1}<br />

berechenbar ist:<br />

{<br />

1, falls w ∈ A<br />

χ A (w) :=<br />

0, falls w ∉ A<br />

(b) Eine Menge A ⊆ Σ ∗ heißt semi-entscheidbar,<br />

falls die Funktion χ ′ A : Σ∗ → {0,1} berechenbar<br />

ist:<br />

{<br />

χ ′ 1, falls w ∈ A<br />

A (w) := <strong>und</strong>efiniert, falls w ∉ A<br />

zu (a):<br />

w<br />

Alg.<br />

✛✘<br />

❙ ✱<br />

✱ ❙❙<br />

✚✙ ✱<br />

✛✘<br />

✱<br />

“Ja”<br />

❙ ✱<br />

✱ ❙❙<br />

✚✙<br />

“Nein”<br />

zu (b):<br />

w<br />

Alg.<br />

???<br />

✛✘<br />

❏ ✱<br />

✱<br />

✱ ❏❏<br />

✚✙<br />

“Ja”<br />

175


Satz<br />

Eine Sprache A ⊆ Σ ∗ ist entscheidbar gdw.<br />

A <strong>und</strong> A (= Σ ∗ A) semi-entscheidbar sind.<br />

Beweis:<br />

“⇒”: klar<br />

“⇐”: Semi-Entscheidungsverfahren M 1 für A<br />

Semi-Entscheidungsverfahren M 2 für A<br />

Entscheidungsverfahren für A:<br />

INPUT(x);<br />

FOR s := 1,2,3, . . . DO<br />

IF M 1 (x) stoppt in s Schritten<br />

THEN OUTPUT(1) END;<br />

IF M 2 (x) stoppt in s Schritten<br />

THEN OUTPUT(0) END;<br />

END.<br />

✷<br />

176


Definition<br />

Eine Sprache A ⊆ Σ ∗ heißt rekursiv aufzählbar,<br />

falls A = ∅ oder falls es eine totale <strong>und</strong> berechenbare<br />

Funktion f : N → Σ ∗ gibt mit<br />

A = {f(0), f(1), f(2), . . .}.<br />

Sprechweise: f zählt A auf.<br />

Beachte: Für i ≠ j ist f(i) = f(j) möglich.<br />

Satz<br />

Eine Sprache ist rekursiv aufzählbar gdw.<br />

sie semi-entscheidbar ist.<br />

Beweis:<br />

“⇒”: Sei f : N → Σ ∗ total <strong>und</strong> berechenbar mit<br />

A = { f(n) | n ≥ 0 }.<br />

Semi-Entscheidungsverfahren für A:<br />

INPUT(x);<br />

FOR n := 1,2, . . . DO<br />

IF f(n) = x THEN OUTPUT(1) END;<br />

END<br />

177


“⇐”: Sei M ein Semi-Entscheidungsverfahren für<br />

A ≠ ∅.<br />

Sei a ∈ A.<br />

Algorithmus für ˆf : N → Σ ∗ :<br />

INPUT(n);<br />

x := e(n); y := f(n);<br />

IF M(x) stoppt in y Schritten mit Ausgabe 1<br />

THEN OUTPUT(x) ELSE OUTPUT(a)<br />

END<br />

Dann: ˆf : N → Σ ∗ total, berechenbar mit ˆf(N) ⊆ A.<br />

Bei x ∈ A gibt es y ≥ 1 mit M(x) stoppt in y<br />

Schritten mit Ausgabe 1.<br />

Dann: ˆf(c(x, y)) = x, d.h. ˆf(N) = A.<br />

✷<br />

178


Folgerung<br />

Für eine Sprache A ⊆ Σ ∗ sind die folgenden<br />

Aussagen äquivalent:<br />

(1.) A ist rekursiv aufzählbar.<br />

(2.) A ist semi-entscheidbar.<br />

(3.) A ist Sprache vom Typ 0.<br />

(4.) A = T(M) für eine Turingmaschine M.<br />

(5.) χ ′ A<br />

ist berechenbar.<br />

(6.) A ist Definitionsbereich einer berechenbaren<br />

Funktion.<br />

(7.) A ist Wertebereich einer berechenbaren<br />

Funktion.<br />

Beweis:<br />

(1.) <br />

<br />

(2.)<br />

<br />

(5.)<br />

<br />

(6.)<br />

Satz<br />

(7.) : Def. von rek. aufz.<br />

Def. semi-entsch.<br />

klar<br />

Berechenbarkeit<br />

<br />

(4.) <br />

(3.) : Satz<br />

179


Eine Kodierung von TMen<br />

M = (Z,Σ,Γ, δ, z 0 , ✷, E) ↦→ w M ∈ {0,1} ∗<br />

Seien Z = {z 0 , z 1 , . . . , z n },<br />

Γ = {a 0 , a 1 , . . . , a k }<br />

mit ✷ = a 0 ,0 = a 1 ,1 = a 2 <strong>und</strong> # = a 3 ,<br />

<strong>und</strong> E = {z n−j , . . . , z n } für ein j ≥ 0.<br />

δ : Z × Γ → Z × Γ × {L, R, N}<br />

δ(z i , a j ) = (z i ′, a j ′, y) ↦→ w i,j,i ′ ,j ′ ,y :=<br />

mit m =<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

##bin(i)#bin(j)#bin(i ′ )#bin(j ′ )#bin(m)<br />

0 falls y = L,<br />

1 falls y = R,<br />

2 falls y = N.<br />

w ′ M ∈ {0,1,#}∗ : alle w i,j,i ′ ,j ′ ,y hintereinander<br />

h : {0,1,#} ∗ → {0,1} ∗ : 0 ↦→ 00,1 ↦→ 01,# ↦→ 11<br />

Dann: w M := h(w ′ m)<br />

180


Sei ˆM die triviale TM, die nie stoppt.<br />

Zuordnung {0,1} ∗ → {TMen} : w ↦→ M w<br />

mit M w :=<br />

{<br />

M, falls w = wM<br />

ˆM, sonst<br />

Definition<br />

Das spezielle Halteproblem (Selbstanwendungsproblem)<br />

ist die Sprache<br />

K = { w ∈ {0,1} ∗ | M w hält bei Eingabe w an }.<br />

Satz<br />

Das spezielle Halteproblem ist nicht entscheidbar.<br />

181


Beweis:<br />

Ang.: K ist entscheidbar,<br />

d.h. ∃ TM M : M berechnet χ K .<br />

M ′ :<br />

start M “Band = 0?”<br />

nein<br />

ja<br />

stop<br />

Dann: M ′ stoppt gdw. M liefert Ergebnis 0.<br />

Damit: M ′ hält bei Eingabe w M ′ an<br />

gdw. M liefert bei Eingabe w M ′ Ergebnis 0<br />

gdw. χ K (w M ′) = 0<br />

gdw. w M ′ ∉ K<br />

gdw. M wM ′ hält bei Eingabe w M ′ nicht an<br />

gdw. M ′ hält bei Eingabe w M ′ nicht an.<br />

✷<br />

182


Definition<br />

Seien A ⊆ Σ ∗ <strong>und</strong> B ⊆ Γ ∗ .<br />

A ist auf B reduzierbar (A ≤ B), wenn es eine<br />

totale <strong>und</strong> berechenbare Funktion f : Σ ∗ → Γ ∗<br />

gibt, sodass für alle x ∈ Σ ∗ folgendes gilt:<br />

x ∈ A gdw. f(x) ∈ B.<br />

Lemma<br />

Gilt A ≤ B <strong>und</strong> ist B entscheidbar, so ist auch A<br />

entscheidbar.<br />

Beweis:<br />

f : Σ ∗ → Γ ∗ Reduktion von A auf B.<br />

Ist χ B berechenbar, so ist χ B ◦ f berechenbar<br />

{ }<br />

1 falls f(x) ∈ B<br />

χ B (f(x)) =<br />

0 falls f(x) ∉ B<br />

{ }<br />

1 falls x ∈ A<br />

=<br />

= χ<br />

0 falls x ∉ A A (x).<br />

Also ist A entscheidbar.<br />

✷<br />

Analog für Semi-Entscheidbarkeit.<br />

183


Weitere unentscheidbare Probleme<br />

Definition<br />

Das (allgemeine) Halteproblem ist die Sprache<br />

H = { w#x | M w hält bei Eingabe x an }.<br />

Satz<br />

Das Halteproblem H ist nicht entscheidbar.<br />

Beweis: z.z.: K ≤ H.<br />

Definiere f(w) := w#w.<br />

f ist total <strong>und</strong> berechenbar.<br />

Für alle w ∈ {0,1} ∗ :<br />

w ∈ K gdw. M w hält bei Eingabe w an<br />

gdw. w#w ∈ H.<br />

✷<br />

184


Definition<br />

Das Halteproblem auf leerem Band ist die Sprache<br />

H 0 = { w | M w angesetzt auf das leere Band hält }.<br />

Satz<br />

Das Halteproblem auf leerem Band H 0 ist nicht<br />

entscheidbar.<br />

Beweis: z.z.: H ≤ H 0 .<br />

f : w#x ↦→ M : Schreibe x auf’s Band<br />

↓<br />

Simuliere M w mit Eingabe x<br />

f ist berechenbare Funktion, die zu einer totalen,<br />

berechenbaren Funktion ergänzt werden kann:<br />

f(y) := w ˆM für alle y ∉ {0,1}∗ · # · {0,1} ∗ .<br />

Dann :<br />

w#x ∈ H gdw.<br />

gdw.<br />

M w hält bei Eingabe x<br />

M angesetzt auf das leere Band hält<br />

gdw. f(w#x) ∈ H 0 . ✷<br />

185


Satz (Rice)<br />

Sei R die Klasse aller Turing-berechenbaren<br />

Funktionen. Sei S ⊆ R mit ∅ ̸= S ≠ R.<br />

Dann ist die Sprache<br />

C(S) = { w | M w berechnet eine Funktion in S }<br />

unentscheidbar.<br />

Beispiele:<br />

(a) S 1 := { f ∈ R | f ist eine konstante Funktion }<br />

C(S 1 ) = { w | M w ber. eine konstante Funktion }<br />

(b) S 2 := { f ∈ R | f ist die Identitätsfunktion }<br />

C(S 2 ) = { w | M w ber. die Identitätsfunktion }<br />

(c) S 3 := { f ∈ R | f ist primitiv rekursiv }<br />

C(S 3 ) = { w | M w ber. eine prim. rek. Funktion }<br />

Alle diese Sprachen sind nicht entscheidbar.<br />

Bemerkung:<br />

Das Äquivalenzproblem für TMen:<br />

Ä = { u#v | M u <strong>und</strong> M v berechnen dieselbe Funktion }<br />

Dann: H ≤ Ä, aber nicht Ä ≤ H.<br />

Ä hat einen höheren Grad der Unentscheidbarkeit.<br />

186

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!