• Keine Ergebnisse gefunden

Der Satz von Rice

N/A
N/A
Protected

Academic year: 2021

Aktie "Der Satz von Rice"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2017/2018, SS 2018

Titel der Veranstaltung

Der Satz von Rice

Wir benötigen die folgenden Aussagen:

a) Die Hintereinanderausführung von berechenbaren Funktionen ist berechenbar.

b) Es sei A ⊆ N gegeben. A ist genau dann entscheidbar, wenn die charakteristische Funktion χ A : N −→ N mit

χ A ( x ) =

( 1 , falls xA, 0 , falls x /A berechenbar ist.

c) Wenn eine Menge A ⊆ N entscheidbar ist, dann ist auch ihr Komplement N \ A entscheidbar.

Es sei M 0 , M 1 , M 2 , . . . eine Aufzählung aller Algorithmen. ϕ 0 , ϕ 1 , ϕ 2 , . . . seien die zugehö- rigen berechneten Funktionen.

Definition: Eine Menge von Indizes J ⊆ N respektiert Funktionen, wenn für alle i, j ∈ N die Aussage

iJ, ϕ i = ϕ j = ⇒ jJ gilt.

Beispiel: Offenbar respektieren die folgenden Indexmengen Funktionen.

a) A = {i | 7 liegt im Wertebereich von ϕ i } , b) B = {i | ϕ i ist total } ,

c) C = {i | ϕ i ist überall undefiniert } ,

d) D = {i | ϕ i = ξ} für eine gegebene partielle Funktion ξ : N → N.

Die Menge E = {i | ϕ i ( i ) ist definiert } respektiert Funktionen hingegen nicht. Man kann

zeigen, dass ein Index e existiert, für den der Definitionsbereich von ϕ e nur aus dem

Element e besteht. D. h., es existiert ein Algorithmus, der genau dann terminiert, wenn er

seine eigene Beschreibung als Eingabe erhält. Es sei e 0 ein Index mit e 0 6 = e und ϕ e

0

= ϕ e .

Ein solcher Index e 0 existiert offenbar. Dann gelten eE , ϕ e = ϕ e

0

und e 0/ E .

(2)

Satz: (Henry Gordon Rice, 1953) Es sei J ⊆ N eine Menge von Indizes, die Funktionen respektiert. Dann gilt

J ist entscheidbar ⇐⇒ J = ∅ oder J = N .

Beweis (durch Reduktion auf die Unentscheidbarkeit des Halteproblems):

Die Beweisrichtung „ ⇐ =“ ist trivial. Die Richtung „= ⇒ “ zeigen wir durch Kontrapo- sition. Es sei eine Indexmenge J mit ∅ ( J ( N gegeben. Wir müssen zeigen, dass J nicht entscheidbar ist. Es sei ν die überall undefinierte Funktion. y sei ein Index von ν , d. h.

ϕ y = ν .

1. Fall: y /J . x sei ein Index aus J 6 = ∅ . θ sei die Funktion mit dem Index x , d. h.

ϕ x = θ . Es ist θ 6 = ν , sonst würde ϕ x = θ = ν = ϕ y gelten. Dies hätte yJ zur Folge, da J Funktionen respektiert. Damit liegen alle Indizes von θ in J . Die Indizes von ν liegen nicht in J .

Für jeden Index i ∈ N sei der Algorithmus P ( i ) für die Eingabe x ∈ N wie folgt definiert.

1. Schritt: Berechne ϕ i ( i ).

2. Schritt: Gib θ ( x ) aus.

Wenn ϕ i ( i ) nicht definiert ist, terminiert dieser Algorithmus nicht. f ( i ) sei der Index des Programms P ( i ). Offenbar gilt die Aussage

ϕ f(i) =

( θ, falls ϕ i ( i ) definiert ist, ν, falls ϕ i ( i ) undefiniert ist.

Also gilt f ( i ) = x oder f ( i ) = y . Da ϕ i berechenbar ist, ist also auch f berechenbar. Für alle i ∈ N zeigen wir die Behauptung

f ( i ) ∈ J ⇐⇒ ϕ i ( i ) ist definiert.

Wenn ϕ i ( i ) definiert ist, dann gilt ϕ f(i) = θ . Da der Index x von θ in J liegt, folgt f ( i ) ∈ J . Hier geht die Voraussetzung der Respektierung ein. Entweder gilt ϕ f(i) = θ oder ϕ f(i) = ν . Da der Index y von ν nicht in J liegt, folgt aus der Voraussetzung f ( i ) ∈ J die Aussage ϕ f (i) = θ . Deshalb ist ϕ i ( i ) definiert.

Es sei χ J die charakteristische Funktion von J . Dann gilt wegen der obigen Behauptung für die Funktion χ Jf : N → { 0 , 1 } die Aussage

χ J ( f ( i )) =

( 1 , falls ϕ i ( i ) definiert ist, 0 , sonst.

Die Funktion χ Jf beschreibt genau das spezielle Halteproblem und ist daher nicht berechenbar. Da f berechenbar ist, kann χ J nicht berechenbar sein, d. h., J ist nicht entscheidbar. Damit ist der 1. Fall bewiesen.

2. Fall: yJ . Wir betrachten die Indexmenge N \ J . Für diese Menge gilt y / ∈ N \ J . Wie im 1. Fall kann dann gezeigt werden, dass N \ J nicht entscheidbar ist. Also ist auch J nicht entscheidbar. Damit ist dieser Satz bewiesen.

– 2 –

(3)

Beispiel: Da die Indexmengen A, B, C und D aus dem obigen Beispiel nicht leer und ungleich N sind sowie Funktionen respektieren, sind die folgenden Probleme nicht ent- scheidbar.

a) Gibt ein beliebiger Algorithmus für eine geeignete Eingabe die Zahl 7 aus?

b) Hält ein beliebiger Algorithmus bei jeder Eingabe?

c) Hält ein beliebiger Algorithmus bei keiner Eingabe?

d) Berechnet ein beliebiger Algorithmus die gegebene partielle Funktion ξ : N → N?

Die Definition und der Satz können auf n -stellige Indexmengen J ⊆ N n , n ≥ 2 , übertragen werden. Man erhält beispielsweise, dass die Menge { ( i, j ) | ϕ i = ϕ j } Funktionen respektiert und daher nicht entscheidbar ist. Also ist das Äquivalenzproblem für Algorithmen nicht entscheidbar. Es ist also so gut wie kein Problem algorithmisch lösbar.

Erinnerung: Das spezielle Halteproblem ist ein Spezialfall des allgemeinen Halteproblems:

Der Algorithmus erhält seine eigene Beschreibung als Eingabe (sog. „Diagonalisierung“).

Dieses Halteproblem ist auch unentscheidbar. Es gibt also keinen Algorithmus, der das folgende Verhalten besitzt:

• Eingabe: Algorithmus A als Zeichenkette z(A).

• Ausgabe:

1, falls A bei Eingabe von z(A) terminiert.

0, falls A bei Eingabe von z(A) nicht terminiert.

Dirk W. Hoffmann, Grenzen der Mathematik: Die Tragweite des Satzes von Rice ist enorm! In einem Rundumschlag macht er die Hoffnung zunichte, irgendeine nichttriviale funktionale Eigenschaft über Turing-Maschinen algorithmisch entscheiden zu können. Die Grenzen, die uns dieser Satz auferlegt, reichen tief in die Praxis der realen Software- Entwicklung hinein. So folgt daraus unmittelbar, dass es keinen Algorithmus geben kann, der für ein beliebiges Programm verifiziert, ob es sich entsprechend seiner Spezifikation verhält. Selbst so einfache Probleme wie die Frage nach der Existenz von Endlosschleifen entziehen sich einer algorithmischen Lösung. Seine Allgemeinheit macht den Satz von Rice zu einer der wertvollsten Aussagen der Berechenbarkeitstheorie.

– 3 –

Referenzen

ÄHNLICHE DOKUMENTE

Induktionsvoraussetzung beide Folgen werden durch Programm in der behaupteten Weise mit höchstens n+m Schleifendurchläufen gemischt. Da jede Operation nur Elemente hinten an

Diese Bedingung ist erfüllt, wenn sowohl a für die Zahl 1 steht, als auch b für die Zahl 3 steht, oder wenn f gleich der Folge [1,2] ist, falls eine der ersten beiden Bedin-

In der Informatik wird auch eine formale Definition benötigt, zum Beispiel zum Nachweis, dass für ein bestimmtes Problem kein Algorithmus existiert.. 1.1 Vom Algorithmus zum

Daraus folgt, dass Jesus im Einklang mit römischen Straf- und Strafverfahrens- recht von Pilatus behandelt worden ist und die Kreuzigung somit im Einklang mit dem damaligen

” Verdoppelungsstrategie“, d.h., er setzt im k-ten Spiel einen Einsatz von 2 k−1 Euro und bricht das Spiel ab, wenn er erstmals gewinnt.. (i) Nehmen Sie an, dass der Spieler

h. eine private Vereinigung frei von jedweder politischen Einflußnahme durch offizielle Stellen wie Regie- rungen usw.), die sich zum Ziel gesetzt hat, Entwicklungshilfe auf

Per Zu- fall wurden alle Teilnehmer in zwei Grup- pen eingeteilt, die sich nicht im Hinblick auf die Aufgabe, sondern nur in Hinblick auf die Instruktion unterschieden: „Den

In einem Beh¨ alter mit einer durchl¨ assigen Trennwand a, wird der Druck auf beiden Seiten der Trennwand durch entsprechende Bewegung des Kolbens konstant gehalten.. Gas aus der