<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Satz_von_Rice</id>
	<title>Satz von Rice - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Satz_von_Rice"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Satz_von_Rice&amp;action=history"/>
	<updated>2026-06-21T02:54:34Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Satz_von_Rice&amp;diff=272089&amp;oldid=prev</id>
		<title>imported&gt;Reinhard Kraasch am 2. Dezember 2025 um 15:50 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Satz_von_Rice&amp;diff=272089&amp;oldid=prev"/>
		<updated>2025-12-02T15:50:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der &amp;#039;&amp;#039;&amp;#039;Satz von Rice&amp;#039;&amp;#039;&amp;#039; ist ein Ergebnis der [[Theoretische Informatik|Theoretischen Informatik]]. Benannt wurde der Satz nach [[Henry Gordon Rice]], der ihn 1953 veröffentlichte.&amp;lt;ref&amp;gt;{{Literatur|Autor=Henry Gordon Rice|Titel=Classes of recursively enumerable sets and their decision problems|Sammelwerk = Transactions of the American Mathematical Society|Band = 74|Jahr = 1953|Seiten=358-366|DOI=10.2307/1990888}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
Er besagt, dass es unmöglich ist, eine beliebige [[Trivialität#Komplexität (Theoretische Informatik)|nicht-triviale Eigenschaft]] der erzeugten Funktion einer [[Turing-Maschine]] (oder eines [[Algorithmus]] in einem anderen [[Berechenbarkeit]]smodell) algorithmisch zu [[Entscheidbarkeit|entscheiden]].&lt;br /&gt;
&lt;br /&gt;
Für spezielle Klassen von Algorithmen ist es zwar möglich,&amp;amp;nbsp;– auch automatisiert&amp;amp;nbsp;– einzelne Eigenschaften nachzuweisen,&lt;br /&gt;
es gibt jedoch kein allgemeines Verfahren, das für jeden Algorithmus feststellen kann, ob die von ihm beschriebene Funktion ein gewünschtes, in einer üblichen [[formale Sprache|formalen Sprache]] gegebenes Verhalten zeigt.&lt;br /&gt;
&lt;br /&gt;
== Satz ==&lt;br /&gt;
Es sei &amp;lt;math&amp;gt;\mathcal P&amp;lt;/math&amp;gt; die Menge aller [[Partielle Funktion|partiellen]] [[Berechenbare Funktion|Turing-berechenbaren Funktionen]] und &amp;lt;math&amp;gt;\mathcal S \subsetneq \mathcal P&amp;lt;/math&amp;gt; eine nicht-leere, echte Teilmenge davon.&lt;br /&gt;
Außerdem sei eine [[Nummerierung (Informatik)|effektive Nummerierung]] vorausgesetzt, die einer [[Natürliche Zahlen|natürlichen Zahl]] &amp;lt;math&amp;gt;n \in \N&amp;lt;/math&amp;gt; die dadurch codierte Turing-Maschine &amp;lt;math&amp;gt;M_n&amp;lt;/math&amp;gt; zuordnet.&lt;br /&gt;
&lt;br /&gt;
Dann ist die Menge &amp;lt;math&amp;gt;\mathcal C(\mathcal S) = \left\{ n \mid \text{die von }M_n\text{ berechnete Funktion liegt in } \mathcal S \right\}&amp;lt;/math&amp;gt; nicht [[Entscheidbarkeit|entscheidbar]].&lt;br /&gt;
&lt;br /&gt;
Nach Konstruktion liegen Indizes äquivalenter Turing-Maschinen entweder alle in &amp;lt;math&amp;gt;\mathcal C( \mathcal S)&amp;lt;/math&amp;gt; oder alle im [[Komplement (Mengenlehre)|Komplement]].&lt;br /&gt;
Man sagt auch, dass &amp;lt;math&amp;gt;\mathcal S&amp;lt;/math&amp;gt; eine [[Semantik| semantische]] Eigenschaft von Turing-Maschinen beschreibt, entsprechend heißt &amp;lt;math&amp;gt;\mathcal C ( \mathcal S)&amp;lt;/math&amp;gt; eine [[semantische Menge]].&lt;br /&gt;
&lt;br /&gt;
== Anwendungen ==&lt;br /&gt;
&lt;br /&gt;
Aus dem Satz von Rice folgt beispielsweise, dass es keinen Algorithmus gibt, der für jede Turing-Maschine entscheidet, ob sie für jede Eingabe hält oder nicht. &amp;lt;math&amp;gt;\mathcal S = \mathcal R&amp;lt;/math&amp;gt; ist hierbei die Menge aller [[Totale Funktion|total]] berechenbaren Funktionen.&lt;br /&gt;
&lt;br /&gt;
Ebenso ist es nicht entscheidbar, ob eine Turing-Maschine eine vorgegebene Funktion &amp;lt;math&amp;gt;f \in \mathcal P&amp;lt;/math&amp;gt; berechnet. &amp;lt;math&amp;gt;\mathcal S = \{f\}&amp;lt;/math&amp;gt; enthält dann nur diese eine Funktion.&lt;br /&gt;
Daraus folgt, dass erst recht das Problem der [[Programmäquivalenz]] nicht entscheidbar ist.&lt;br /&gt;
&lt;br /&gt;
Auch lässt sich nicht entscheiden, ob die berechnete Funktion etwa [[Injektivität|injektiv]], [[Surjektivität|surjektiv]], [[Monotone Abbildung|monoton]] oder [[Konstante Funktion|konstant]] ist.&lt;br /&gt;
&lt;br /&gt;
== Beweisidee ==&lt;br /&gt;
&lt;br /&gt;
Der Beweis ist eine [[Reduktion (Theoretische Informatik)|Many-One-Reduktion]] des speziellen [[Halteproblem]]s &amp;lt;math&amp;gt;K&amp;lt;/math&amp;gt; auf &amp;lt;math&amp;gt;\mathcal C(\mathcal S)&amp;lt;/math&amp;gt; für ein beliebiges nicht-triviales &amp;lt;math&amp;gt;\mathcal S&amp;lt;/math&amp;gt;.&lt;br /&gt;
Er wird hier durch [[Pseudocode]] skizziert.&lt;br /&gt;
&lt;br /&gt;
Es sei &amp;lt;math&amp;gt;\emptyset \neq \mathcal S \subsetneq \mathcal P&amp;lt;/math&amp;gt; nicht-trivial.&lt;br /&gt;
Wir können ohne Einschränkung annehmen, dass die überall undefinierte Funktion &amp;lt;math&amp;gt;\bot&amp;lt;/math&amp;gt; nicht in &amp;lt;math&amp;gt;\mathcal S&amp;lt;/math&amp;gt; liegt, sonst gehe man zum Komplement über.&lt;br /&gt;
Sei weiter &amp;lt;math&amp;gt;f \in \mathcal S&amp;lt;/math&amp;gt; eine beliebige, fest gewählte Funktion (hier geht ein, dass &amp;lt;math&amp;gt;\mathcal S&amp;lt;/math&amp;gt; nicht-trivial ist), die durch die Turing-Maschine &amp;lt;math&amp;gt;M_f&amp;lt;/math&amp;gt; berechnet werde.&lt;br /&gt;
&lt;br /&gt;
Man betrachte für eine beliebige Turing-Maschine &amp;lt;math&amp;gt;M_n&amp;lt;/math&amp;gt; den folgenden Algorithmus:&lt;br /&gt;
&lt;br /&gt;
:Funktion &amp;lt;math&amp;gt;N_n(x)&amp;lt;/math&amp;gt;:&lt;br /&gt;
::simuliere &amp;lt;math&amp;gt;M_n&amp;lt;/math&amp;gt; mit Eingabe &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;&lt;br /&gt;
::simuliere anschließend &amp;lt;math&amp;gt;M_f&amp;lt;/math&amp;gt; mit Eingabe &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt;&lt;br /&gt;
::Ausgabe&lt;br /&gt;
&lt;br /&gt;
Er hat folgende Eigenschaften:&lt;br /&gt;
*Die [[Gödelnummer]] von &amp;lt;math&amp;gt;N_n&amp;lt;/math&amp;gt; ist aus &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; berechenbar. Dies geschehe durch die Funktion &amp;lt;math&amp;gt;g \in \mathcal P&amp;lt;/math&amp;gt;, d.&amp;amp;nbsp;h. &amp;lt;math&amp;gt;\forall x:n \in \N \colon M_{g(n)}(x) = N_n(x)&amp;lt;/math&amp;gt;&lt;br /&gt;
*Falls &amp;lt;math&amp;gt;M_n&amp;lt;/math&amp;gt; auf der Eingabe &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; terminiert, berechnet &amp;lt;math&amp;gt;N_n&amp;lt;/math&amp;gt; dieselbe Funktion wie &amp;lt;math&amp;gt;M_f&amp;lt;/math&amp;gt;, also gerade &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; und damit eine Funktion aus &amp;lt;math&amp;gt;\mathcal S&amp;lt;/math&amp;gt;.&lt;br /&gt;
*Andernfalls berechnet &amp;lt;math&amp;gt;N_n&amp;lt;/math&amp;gt; die überall undefinierte Funktion &amp;lt;math&amp;gt;\bot&amp;lt;/math&amp;gt;, also gemäß obiger Annahme eine Funktion aus dem Komplement von &amp;lt;math&amp;gt;\mathcal S&amp;lt;/math&amp;gt;.&lt;br /&gt;
*Nach Voraussetzung liegt also die von &amp;lt;math&amp;gt;N_n&amp;lt;/math&amp;gt; berechnete Funktion genau dann in &amp;lt;math&amp;gt;\mathcal S&amp;lt;/math&amp;gt;, wenn die Berechnung von &amp;lt;math&amp;gt;M_n(n)&amp;lt;/math&amp;gt; terminiert.&lt;br /&gt;
&lt;br /&gt;
Wäre nun &amp;lt;math&amp;gt;\mathcal C (\mathcal S)&amp;lt;/math&amp;gt; durch eine Turing-Maschine &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; entscheidbar, so würde man durch Davorschalten eines Algorithmus für &amp;lt;math&amp;gt;g&amp;lt;/math&amp;gt; schließlich zu einem Algorithmus zur Lösung des speziellen Halteproblems gelangen, genauer hätte man für jede natürliche Zahl &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt;, dass &amp;lt;math&amp;gt;M_n&amp;lt;/math&amp;gt; hält auf &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; genau dann wenn &amp;lt;math&amp;gt;M&amp;lt;/math&amp;gt; auf &amp;lt;math&amp;gt;g(n)&amp;lt;/math&amp;gt; die Ausgabe 1 hat, das heißt feststellt, dass &amp;lt;math&amp;gt;g(n)&amp;lt;/math&amp;gt; in &amp;lt;math&amp;gt;\mathcal C (\mathcal S)&amp;lt;/math&amp;gt; liegt.&lt;br /&gt;
Da dies nicht möglich ist, kann &amp;lt;math&amp;gt;\mathcal C (\mathcal S)&amp;lt;/math&amp;gt; nicht entscheidbar sein.&lt;br /&gt;
&lt;br /&gt;
== Analogon für rekursiv aufzählbare Eigenschaften ==&lt;br /&gt;
Auf eine analoge Weise lassen sich die [[rekursiv aufzählbar]]en (r.&amp;amp;nbsp;a.) semantischen Eigenschaften von Turing-Maschinen&lt;br /&gt;
charakterisieren.&amp;lt;ref&amp;gt;Rogers 1967, 324&amp;lt;/ref&amp;gt; Sei &amp;lt;math&amp;gt;\mathcal S \subseteq \mathcal P(\N)&amp;lt;/math&amp;gt; ein [[Mengensystem|System]] von r.&amp;amp;nbsp;a. Mengen.&lt;br /&gt;
Dann ist die [[Indexmenge (Berechenbarkeitstheorie)|Indexmenge]]&lt;br /&gt;
:&amp;lt;math&amp;gt;\mathcal C(\mathcal S) = \left\{ n \mid \text{die von }M_n\text{ erkannte Menge liegt in }\mathcal S \right\}&amp;lt;/math&amp;gt;&lt;br /&gt;
genau dann selbst r.&amp;amp;nbsp;a., wenn es eine r.&amp;amp;nbsp;a. Menge &amp;lt;math&amp;gt;\mathcal{D}&amp;lt;/math&amp;gt; von [[Gödelnummer]]n&lt;br /&gt;
endlicher Mengen mit folgender Eigenschaft gibt:&lt;br /&gt;
:&amp;lt;math&amp;gt;\forall A \subseteq \N \colon A \in S \Leftrightarrow (A \text{ rekursiv aufzählbar}\ \land\ \exists D \subseteq_{\text{fin}} \N \colon (\#D \in \mathcal{D} \wedge D \subseteq A))&amp;lt;/math&amp;gt;&lt;br /&gt;
Das heißt, &amp;lt;math&amp;gt;\mathcal S&amp;lt;/math&amp;gt; enthält genau die rekursiv aufzählbaren Mengen, die eine endliche Teilmenge &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt; haben, deren Gödelnummer &amp;lt;math&amp;gt;\#D&amp;lt;/math&amp;gt; in &amp;lt;math&amp;gt;\mathcal{D}&amp;lt;/math&amp;gt; liegt.&lt;br /&gt;
&lt;br /&gt;
Dass eine solche Menge &amp;lt;math&amp;gt;\mathcal C(\mathcal S)&amp;lt;/math&amp;gt; rekursiv aufzählbar ist, ist leicht einzusehen. Man startet dazu nacheinander die Berechnungen aller Turingmaschinen und gleichzeitig eine Aufzählung von &amp;lt;math&amp;gt;\mathcal{D}&amp;lt;/math&amp;gt;. Immer wenn es eine Turing-Maschine &amp;lt;math&amp;gt;M_n&amp;lt;/math&amp;gt; gibt, die bereits alle Elemente einer schon aufgezählten endlichen Menge &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt; ausgegeben hat, gibt man &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; aus. Dass alle anderen Mengen nicht rekursiv aufzählbar sein können, lässt sich ähnlich dem Satz von Rice durch die Unlösbarkeit des Halteproblems zeigen.&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
*{{Literatur | Autor= [[Hartley Rogers]]| Titel= Theory of recursive functions and effective computability| Verlag= McGraw-Hill| Jahr=1967 }}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Berechenbarkeitstheorie]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Reinhard Kraasch</name></author>
	</entry>
</feed>