• Keine Ergebnisse gefunden

Der Satz von Rice Rekursive Aufz¨ahlbarkeit

N/A
N/A
Protected

Academic year: 2022

Aktie "Der Satz von Rice Rekursive Aufz¨ahlbarkeit"

Copied!
29
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Der Satz von Rice Rekursive Aufz¨ ahlbarkeit

Prof. Dr. Berthold V¨ocking Lehrstuhl Informatik 1 Algorithmen und Komplexit¨at

RWTH Aachen

4. November 2010

(2)

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 }

Alle diese Problem sind nicht rekursiv. Was haben diese Problem gemeinsam?

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 2 / 29

(3)

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.

(4)

Satz von Rice

Satz:

Sei Rdie Menge der von TM berechenbaren partiellen Funktionen undS 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.

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 4 / 29

(5)

Satz von Rice – Anwendungsbeispiele

Beispiel 1:

Sei S ={fM |fM()6=⊥}.

Dann ist

L(S) = { hMi |M berechnet eine Funktion ausS}

= { hMi |M h¨alt auf Eingabe }

= H

Gem¨aß Satz von Rice ist H nicht entscheidbar.

(Aber das wussten wir ja schon ;-)

(6)

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 |M h¨alt auf jeder Eingabe}

Diese Sprache ist auch als das allgemeine Halteproblem Hall bekannt.

Gem¨aß Satz von Rice ist Hall nicht entscheidbar.

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 6 / 29

(7)

Satz von Rice – Beweis

Beweis:

Wir nutzen die Unterprogrammtechnik. Aus einer TMML(S), die L(S) entscheidet, konstruieren wir eine TMM, die das spezielle HalteproblemH entscheidet.

Einige Vereinbarungen:

Sei u die ¨uberall undefinierte Funktion.

O.B.d.A.u 6∈S.

Sei f eine Funktion ausS. Sei N eine TM, die f berechnet.

f S R

u

Bemerkung: Im FalleuS betrachten wir ¯S =R \S stattS und zeigen die Unentscheidbarkeit vonL(¯S) = ¯L(S). Aus der Unentscheidbarkeit von

¯L(S) folgt dann die Unentscheidbarkeit von L(S).

(8)

Satz von Rice – Fortsetzung Beweis

Die TMM mit UnterprogrammML(S) arbeitet wie folgt 1) Falls die Eingabe nicht aus einer korrekten G¨odelnummer

besteht, verwirft M die Eingabe.

2) Sonst berechnetM aus der Eingabe hMi die G¨odelnummer der TM M (n¨achste Folie).

3) Starte ML(S) mit der Eingabe hMi und akzeptiere (verwerfe) genau dann, wenn ML(S) akzeptiert (verwirft).

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 8 / 29

(9)

Satz von Rice – Fortsetzung Beweis

Verhalten vonM auf Eingabe x

Schritt A: Simuliere das Verhalten von M bei Eingabe auf einer f¨ur diesen Zweck reservierten Spur.

Schritt B: Simuliere das Verhalten von N auf x, stoppe sobald N stoppt und ¨ubernehme die Ausgabe.

(10)

Satz von Rice – Fortsetzung Beweis

Korrektheit:

Bei Eingabe vonw =hMi gilt:

w ∈H ⇒ M h¨alt auf

⇒ M berechnet f

f∈S

⇒ hMi ∈L(S)

⇒ ML(S) akzeptiert hMi

⇒ M akzeptiertw w 6∈H ⇒ M h¨alt nicht auf

⇒ M berechnet u

u6∈S⇒ hMi 6∈L(S)

⇒ ML(S) verwirft hMi

⇒ M verwirftw

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 10 / 29

(11)

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?

(12)

Semi-Entscheidbarkeit

Eine SpracheL wird von einer TMM entschieden, wenn M auf jeder Eingabe h¨alt, und

M genau die W¨orter ausLakzeptiert.

Eine SpracheL, f¨ur die eine TM existiert, die Lentscheidet, wird alsrekursivoder auch als entscheidbarbezeichnet.

Eine SpracheL wird von einer TMM erkannt, wenn M jedes Wort aus Lakzeptiert, und

M kein Wort akzeptiert, das nicht in L enthalten ist.

Def: Eine SpracheL, f¨ur die eine TM existiert, die Lerkennt, wird alssemi-entscheidbarbezeichnet.

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 12 / 29

(13)

Beispiel

Das Halteproblem

H = {hMiw |M h¨alt auf w} . ist nicht entscheidbar.

Behauptung:Das Halteproblem ist jedoch semi-entscheidbar.

Folgendes TM-Programm erkenntH:

Erh¨altM0 eine Eingabe der FormhMiw so simuliert M0 die TMM mit Eingabew, und akzeptiert, falls M auf w h¨alt.

Syntaktisch inkorrekte Eingaben werden vonM0 verworfen.

(14)

Aufz¨ ahler, Rekursive Aufz¨ ahlbarkeit – Definition

EinAufz¨ahler f¨ur eine Sprache L⊆Σ ist eine Variante einer TM mit einem angeschlossenenDruckerim Sinne eines zus¨atzlichen Ausgabebandes, auf dem sich der Kopf nur nach rechts bewegt.

Gestartet mit leerem Arbeitsband, gibt der Aufz¨ahler alle W¨orter ausL(m¨oglicherweise mit Wiederholungen) auf dem Drucker aus.

Die ausgegebenen W¨orter sind dabei durch ein Zeichen getrennt, das nicht in Σ enthalten ist.

Definition

Eine Sprache, f¨ur die es einen Aufz¨ahler gibt, heißt rekursiv aufz¨ahlbar.

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 14 / 29

(15)

Aufz¨ ahler – Illustration

blubblubblub . . .

blablabla hihihi

. . .

D R U C K E R

. . A r b e i t s b a n d . . . A r b e i t s b a n d . . . A r b e i t s b a n d . . . A r b e i t s b a (Zustand & Kopfpos.)

S T E U E R U N G

(16)

rekursiv aufz¨ ahlbar = semi-entscheidbar

Satz

Eine SpracheList genau dann semi-entscheidbar, wenn sie rekursiv aufz¨ahlbar ist.

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 16 / 29

(17)

Beweis: L ist rekursiv aufz¨ ahlbar ⇒ L ist semi-entscheidbar

SeiA ein Aufz¨ahler f¨urL. Wir konstruieren eine TMM, dieL erkennt.

Bei Eingabew arbeitet M wie folgt:

M simuliert Amit Hilfe einer Spur, die die Rolle des Druckers

¨ubernimmt.

Wenn immer ein neues Wort gedruckt worden ist, vergleicht M dieses Wort mit w und akzeptiert bei ¨Ubereinstimmung.

Korrektheit:

Fallsw ∈L, so wird w irgendwann gedruckt und somit vonM akzeptiert.

Falls w 6∈L, so wird w nicht gedruckt und somit nicht akzeptiert.

(18)

Beweis: L ist semi-entscheidbar ⇒ L ist rekursiv aufz¨ ahlbar

Sei nunM eine TMM, dieLerkennt. Wir konstruieren einen Aufz¨ahler Af¨urL.

Programm vonA:

Fori = 1,2,3, . . .

Simuliere i Schritte von M auf jedem Wort ausw1, . . . ,wi. Wird dabei eines der Worte akzeptiert, so drucke es aus.

Korrektheit:

Adruckt offensichtlich nur W¨orter ausLaus. Aber druckt er auch alle W¨orter ausL aus?

Sei wk ein Wort ausL.

Dann wird wk von M nach einer endlichen Anzahl von Schritten, sagen wir nachtk vielen Schritten, akzeptiert.

D.h. wk wird vonAausgedruckt, und zwar in jeder Iteration i ≥max{k,tk}.

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 18 / 29

(19)

Schnitte von Sprachen

Satz

a) Wenn die SprachenL1 und L2 rekursiv sind, so ist auch die SpracheL1∩L2 rekursiv.

b) Wenn die SprachenL1 und L2 rekursiv aufz¨ahlbar sind, so ist auch die Sprache L1∩L2 rekursiv aufz¨ahlbar.

(20)

Schnitte von Sprachen – Beweis a)

SeienM1 und M2 zwei TM, dieL1 bzw. L2 entscheiden.

TMM, dieL1∩L2 entscheidet:

Auf Eingabe w, simuliert M zun¨achst das Verhalten vonM1

auf w und dann das Verhalten von M2 auf w.

Falls M1 und M2 das Wort w akzeptieren, so akzeptiert auch M; sonst wirdw von M verworfen.

Korrektheit:

Falls w ∈L1∩L2, so wirdM aktzeptiert.

Sonst wird w verworfen.

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 20 / 29

(21)

Schnitte von Sprachen – Beweis b)

Seien nunM1 undM2 zwei TM, dieL1 bzw. L2 erkennen.

TMM, dieL1∩L2 erkennt:

Auf Eingabe w, simuliert M zun¨achst das Verhalten vonM1 auf w und dann das Verhalten von M2 auf w.

Falls M1 und M2 akzeptieren, so akzeptiert auchM. Wir verwenden dieselbe TMM wie in a)

Korrektheit:

Falls w ∈L1∩L2, so wirdM von w akzeptiert.

Sonst wird w nicht akzeptiert.

(22)

Vereinigungen von Sprachen

Satz

a) Wenn die SprachenL1 und L2 rekursiv sind, so ist auch die SpracheL1∪L2 rekursiv.

b) Wenn die SprachenL1 und L2 rekursiv aufz¨ahlbar sind, so ist auch die Sprache L1∪L2 rekursiv aufz¨ahlbar.

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 22 / 29

(23)

Vereinigungen von Sprachen – Beweis a)

SeienM1 und M2 zwei TM, dieL1 bzw. L2 entscheiden.

TMM, dieL1∪L2 entscheidet

Auf Eingabe w, simuliert M zun¨achst das Verhalten vonM1 auf w und dann das Verhalten von M2 auf w.

Falls M1 oder M2 akzeptieren, so akzeptiert auchM. Sonst verwirft M die Eingabe.

Korrektheit:

Falls w ∈L1∪L2, so wirdw von M1 oderM2 und somit auch von M akzeptiert.

Sonst verwerfen M1 undM2, so dass auch M verwirft.

(24)

Vereinigungen von Sprachen – Beweis b)

Seien nunM1 undM2 zwei TM, dieL1 bzw. L2 erkennen.

Welches Problem tritt auf, wenn wir die Simulation aus a) einfach

¨ubernehmen?

Idee:Simuliere M1 und M2 parallel statt sequentiell ...

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 24 / 29

(25)

Vereinigungen von Sprachen – Beweis b)

SeienM1 und M2 zwei TM, dieL1 bzw. L2 entscheiden.

TMM, dieL1∪L2 entscheidet

Wir nehmen o.B.d.A. an, dass M ¨uber zwei B¨ander verf¨ugt.

Auf Band 1 wirdM1 auf w simuliert.

Auf Band 2 wirdM2 auf w simuliert.

Sobald ein Schritt erreicht wird, in demM1 oderM2

akzeptieren, so akzeptiert auch M.

Korrektheit:

Falls w ∈L1∪L2, so wirdw von M1 oderM2 und somit auch von M akzeptiert.

Sonst wird w nicht akzeptiert.

(26)

” 2 × rekursiv aufz¨ ahlbar = rekursiv“

Lemma∗

SeienL⊆Σund ¯L= Σ\Lrekursiv aufz¨ahlbar. Dann istLrekursiv.

Beweis:Seien M und ¯M Maschinen, dieL bzw. ¯L erkennen.

Die TMM0 entscheidetLdurch eine parallele Simulation vonM und M¯ auf der Eingabew:

M0 akzeptiertw, sobald M akzeptiert.

M0 verwirftw, sobald ¯M akzeptiert.

Da entwederw ∈Loderw 6∈L, tritt eines dieser Ereignisse nach endlicher Zeit ein, so dass die Terminierung vonM0 sichergestellt

ist.

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 26 / 29

(27)

Komplemente von Sprachen

Beobachtung 1:

Wenn die SpracheLrekursiv ist, so ist auch ¯Lrekursiv, da wir das Ak- zeptanzverhalten einer TMM, dieMentscheidet invertieren k¨onnen.

Beobachtung 2:

Die Menge der rekursiv aufz¨ahlbaren Sprachen ist hingegen nicht gegen Komplementbildung abgeschlossen.

Beispiel:

H ist rekursiv aufz¨ahlbar.

W¨are ¯H ebenfalls rekursiv aufz¨ahlbar, so w¨areH nach Lemma ∗rekursiv.

Also ist ¯H nicht rekursiv aufz¨ahlbar.

(28)

Schlussfolgerung

Korollar

F¨ur jede SpracheLgilt eine der vier folgenden Eigenschaften.

1 List rekursiv und sowohlLals auch ¯Lsind rekursiv aufz¨ahlbar.

2 L ist rekursiv aufz¨ahlbar, aber ¯L ist nicht rekursiv aufz¨ahlbar

3 L¯ ist rekursiv aufz¨ahlbar, aberL ist nicht rekursiv aufz¨ahlbar

4 sowohl Lals auch ¯L sind nicht rekursiv aufz¨ahlbar

Berthold V¨ocking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexit¨at 4. November 2010 28 / 29

(29)

Berechenbarkeitslandschaft

Probleme mit rek.

aufz. Komplement rekursive

Probleme rek. aufz. Probleme

z.B.

H

z.B.

D

nicht rek. aufz. Probleme, deren Komplement ebenfalls nicht rek. aufz. ist z.B.

H

all

Referenzen

ÄHNLICHE DOKUMENTE

Zeigen Sie, dass die Menge der Primzahlen (als Teilmenge von N 0 ) entscheidbar ist.. (Es reicht, eventuell ben¨otigte Turing-Maschinen informal

Wir haben bisher Relationen betrachtet, die entweder primitiv rekursiv oder rekursiv entscheidbar waren... Dann ist f (~ x) = µy.S~ xy berechenbar und hat als Definitionsbereich

Wenn es f¨ ur die Sprache L einen Aufz¨ ahler gibt, so wird L als rekursiv aufz¨ ahlbar bezeichnet..

Wenn es f¨ ur die Sprache L einen Aufz¨ ahler gibt, so wird L als rekursiv aufz¨ ahlbar bezeichnet..

Eine Sprache L ist rekursiv aufz¨ ahlbar, falls ein Aufz¨ ahler A existiert, der jedes Wort in L (mindestens einmal) druckt, und.. der kein Wort druckt, das nicht in L

Wenn es f¨ ur die Sprache L einen Aufz¨ ahler gibt, so wird L als rekursiv aufz¨ ahlbar bezeichnet..

Satz (Rekursive Aufz¨ ahlbarkeit ⇔ Semi-Entscheidbarkeit) Eine Sprache L ist genau dann rekursiv aufz¨ ahlbar,.. wenn L

Immer wenn die Simulation eines der Worte akzeptiert, druckt der Aufz¨ ahler dieses Wort