Satz von Rice

Satz von Rice

Beim Satz von Rice handelt es sich um ein Ergebnis der Theoretischen Informatik. Benannt wurde der Satz nach Henry Gordon Rice. Er besagt, dass es unmöglich ist, irgendeinen nichttrivialen Aspekt des funktionalen Verhaltens einer Turingmaschine (oder eines Algorithmus in einem anderen Algorithmenmodell) algorithmisch zu entscheiden.

Es ist zwar möglich, eine Eigenschaft eines speziellen Algorithmus zu beweisen, und dies lässt sich auch automatisieren, doch es gibt kein allgemeines Verfahren, das für jeden Algorithmus feststellen kann, ob die von ihm beschriebene Funktion eine gewünschte Eigenschaft hat.

Inhaltsverzeichnis

Formale Fassung

Es sei R die Klasse aller Turing-berechenbaren Funktionen und S eine beliebige nichttriviale (das bedeutet S ≠ ø und S ≠ R) Teilmenge davon. Außerdem ist eine Kodierung, die einem Codewort w die dadurch codierte Turingmaschine Mw zuordnet, vorausgesetzt. Dann ist die Sprache

C(S) = { w | die von Mw berechnete Funktion liegt in S }

nicht entscheidbar.

Aus "die von Mw berechnete Funktion liegt in S" folgt, dass äquivalente Turingmaschinen entweder beide in C(S) liegen oder keine von beiden. Man sagt auch, dass S eine semantische Eigenschaft von Turingmaschinen ist.

Beispiele

Aus dem Satz von Rice folgt beispielsweise, dass es keinen Algorithmus gibt, der für jede Turingmaschine entscheidet, ob sie für jede Eingabe hält. S ist hierbei die Menge aller totalen (überall definierten) Funktionen.

Ebenso ist es nicht entscheidbar, ob eine Turingmaschine eine vorgegebene Funktion berechnet. S enthält dann nur diese eine Funktion. Daraus folgt, dass erst recht das Problem der Programmäquivalenz nicht entscheidbar ist.

Auch lässt es sich nicht entscheiden, ob die berechnete Funktion etwa injektiv, surjektiv oder monoton ist.

Beweisidee

Der Beweis arbeitet mit einer Reduktion des speziellen Halteproblems auf C(S) für ein beliebiges nicht triviales S. Er wird hier durch Pseudocode skizziert.

Es sei S eine nichttriviale Teilmenge von R. Da der Übergang zum Komplement keinen Unterschied für die Entscheidbarkeit macht, kann man ohne Beschränkung der Allgemeinheit annehmen, dass die überall undefinierte Funktion \bot nicht in S enthalten ist. Sei f eine beliebige Funktion aus S. (An dieser Stelle geht ein, dass S nicht trivial ist.) Ferner werde f durch die Turingmaschine Mf berechnet.

Nun betrachtet man für einen beliebigen Algorithmus Mw den folgenden Algorithmus:

function Nw(x):
simuliere Mw mit Eingabe w
simuliere Mf mit Eingabe x und gib das Ergebnis aus


Er hat folgende Eigenschaften:

  • Der Übergang von Mw zu Nw ist berechenbar. Es gibt also eine berechenbare Funktion g, so dass Mg(w) = Nw für alle w gilt.
  • Falls Mw bei Eingabe von w terminiert, berechnet Nw dieselbe Funktion wie Mf, also f. Andernfalls berechnet Nw die überall undefinierte Funktion \bot. Aufgrund der getroffenen Annahmen bedeutet das, dass die von Nw berechnete Funktion genau dann in S liegt, wenn Mw bei Eingabe von w terminiert.

Wenn es nun einen Algorithmus für die Sprache C(S) gäbe, so würde man durch Davorschalten eines Algorithmus für g zu einem Algorithmus zur Lösung des speziellen Halteproblems gelangen. Da dies nicht möglich ist, kann C(S) nicht entscheidbar sein.

Siehe auch


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Liste von Sätzen der Informatik — Inhaltsverzeichnis A B C D E F G H I J K L M N O P Q R S T U V W X Y Z C Satz von Cook: Es existiert eine Teilmenge von …   Deutsch Wikipedia

  • Universität von Virginia — Die Rotunda, das Wahrzeichen der University of Virginia Thomas Jefferson …   Deutsch Wikipedia

  • Theoretische informatik — Mindmap zu einem Teilbereich der Theoretischen Informatik Die Theoretische Informatik beschäftigt sich mit der Abstraktion, Modellbildung und grundlegenden Fragestellungen, die mit der Struktur, Verarbeitung, Übertragung und Wiedergabe von… …   Deutsch Wikipedia

  • Theoretische Informatik — Mind Map zu einem Teilbereich der Theoretischen Informatik Die Theoretische Informatik beschäftigt sich mit der Abstraktion, Modellbildung und grundlegenden Fragestellungen, die mit der Struktur, Verarbeitung, Übertragung und Wiedergabe von… …   Deutsch Wikipedia

  • Entscheidbare Sprache — Eine Formale Sprache heißt rekursiv (entscheidbar), wenn eine Turingmaschine M existiert, die auf alle Eingaben hält, d.h HM = L Die Nicht Rekursivität einer Sprache kann man mittels Satz von Rice nachweisen. Wenn es keine Turingmaschine gibt,… …   Deutsch Wikipedia

  • Automatische Speicherbereinigung — Garbage Collection (GC, auch Automatische Speicherbereinigung oder Freispeichersammlung) ist ein Fachbegriff aus der Softwaretechnik. Er steht für ein Verfahren zur regelmäßigen automatischen Wiederverfügbarmachung von nicht mehr benötigtem… …   Deutsch Wikipedia

  • Entscheidbar — In der theoretischen Informatik heißt eine Eigenschaft auf einer Menge entscheidbar (auch: rekursiv ableitbar), wenn es ein Entscheidungsverfahren für sie gibt. Ein Entscheidungsverfahren ist ein Algorithmus, der für jedes Element der Menge… …   Deutsch Wikipedia

  • Finalisierung — Garbage Collection (GC, auch Automatische Speicherbereinigung oder Freispeichersammlung) ist ein Fachbegriff aus der Softwaretechnik. Er steht für ein Verfahren zur regelmäßigen automatischen Wiederverfügbarmachung von nicht mehr benötigtem… …   Deutsch Wikipedia

  • Garbage-Collection — (GC, auch Automatische Speicherbereinigung oder Freispeichersammlung) ist ein Fachbegriff aus der Softwaretechnik. Er steht für ein Verfahren zur regelmäßigen automatischen Wiederverfügbarmachung von nicht mehr benötigtem Speicher und anderen… …   Deutsch Wikipedia

  • Garbage-Collector — Garbage Collection (GC, auch Automatische Speicherbereinigung oder Freispeichersammlung) ist ein Fachbegriff aus der Softwaretechnik. Er steht für ein Verfahren zur regelmäßigen automatischen Wiederverfügbarmachung von nicht mehr benötigtem… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”