Rekursionssatz: Mathematischer Satz

Die Rekursionssätze sind drei Resultate der Theoretischen Informatik, genauer der Berechenbarkeitstheorie, von Kleene, Rogers und Case.

Sie beschreiben selbstreferenzielle Eigenschaften berechenbarer Funktionen. Dies wird durch algorithmische Modifikation natürlicher Zahlen erreicht, die einerseits als Codierungen von Programm-Quelltexten und andererseits als Funktionsargumente dienen. Trotz der sehr unterschiedlich gelagerten Aussagen sind alle drei Sätze formal äquivalent, aus jedem von ihnen lassen sich die jeweils anderen beiden herleiten. Die Rekursionssätze folgen allesamt aus dem Smn-Theorem, das ebenfalls zuerst von Kleene bewiesen wurde.

Rekursionssatz von Kleene

Der Rekursionssatz von Kleene (engl.: Kleene's recursion theorem, KRT) wurde bereits 1938 von Stephen Cole Kleene bewiesen und erschien 1952 in dessen Introduction to Metamathematics. Diese Fassung begründet auch die Bezeichnung als Rekursionsatz, da sie sich ursprünglich auf ein rekursiv definiertes Notationssystem für Ordinalzahlen bezog, lange bevor in der Berechenbarkeitstheorie rekursiv ein Synonym für berechenbar wurde.

Nicht-konstruktive Fassung

    Für jede partiell berechenbare Funktion Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  existiert dann ein Index Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz , so dass Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz .

Konstruktive Fassung

    Tatsächlich gibt es sogar eine total berechenbare Funktion Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  streng monoton wachsend, so dass gilt Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz .

Für jede mögliche Berechnung Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  gibt es also ein Programm Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz , das diese Berechnung auf dem eigenen Quelltext ausführt. Eine Codierung dieses selbstreferenziellen Programmes lässt sich sogar effektiv aus einem Index Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  für die gewünschte Berechnung bestimmen. Die nicht-konstruktive Fassung folgt also aus der konstruktiven durch die Setzung Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz .

Fixpunktsatz von Kleene

Der Fixpunktsatz von Kleene (engl. häufig: Rogers' fixed-point theorem) ist eine einfachere Version des oben stehenden Rekursionssatzes, die 1967 von Hartley Rogers jr. angegeben wurde. Es zeigte sich schnell, dass der Satz sogar äquivalent zur ursprünglichen Aussage ist.

Nicht-konstruktive Fassung

    Für jede total berechenbare Funktion Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  existiert ein Index Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz , so dass Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz .

Konstruktive Fassung

    Mit der zusätzlichen Setzung Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz , falls Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz , lässt sich die Aussage auch auf partielles Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  verallgemeinern.
    In diesem Fall gibt es dann erneut eine total berechenbare Funktion Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  streng monoton wachsend, so dass gilt Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz .

Der Fixpunktsatz besagt also, dass sich zu jeder (berechenbaren) Quelltext-Manipulation ein Programm findet, dem die Modifikation nichts ausmacht. Das heißt, der Quelltext wird zwar modifiziert, dies hat aber für die Funktion des Programms, das durch diesen Quelltext dargestellt wird, keine Auswirkungen. Da sich also die Semantik des Programms nicht ändert, spricht man auch von einem semantischen Fixpunkt der syntaktischen Programmtransformation. Wieder lässt sich ein solcher Fixpunkt effektiv aus einem Index für die betrachtete Manipulation bestimmen. Tatsächlich gibt es für jede Modifikation sogar unendlich viele semantische Fixpunkte.

Operator-Rekursionssatz

Der Operator-Rekursionssatz (engl.: operator recursion theorem, ORT) von John Case aus dem Jahre 1974 behandelt eine scheinbar allgemeinere Fassung der oben angegebenen Rekursionssätze. Er beschreibt dabei eine Eigenschaft berechenbarer Operatoren, das sind Abbildungen Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  zwischen partiellen (nicht notwendigerweise berechenbaren) Funktionen, die durch eine Turing-Maschine realisiert werden.

    Für jeden berechenbaren Operator Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  existiert eine total berechenbare Funktion Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  streng monoton wachsend, so dass gilt Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz .

Der wesentliche Unterschied zu der Fassung von Kleene ist, dass ORT nicht nur einen einzigen selbstreferenziellen Index, sondern gleich unendlich viele Gödel-Nummern Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  liefert, die alle – bildlich gesprochen – ihrer selbst und aller anderen Indizes gewahr sind. Außerdem greift der Operator-Rekursionssatz direkt auf der Ebene berechenbarer Funktionen, während die obigen Versionen Quelltext-Manipulationen behandeln. Tatsächlich folgt aber auch die Fassung von Case aus dem ursprünglichen Rekursionssatz von Kleene und ist damit zu diesem äquivalent.

Anwendungen

Die Rekursionssätze sind eine beliebte Quelle für (Gegen-)Beispiele in der Berechenbarkeitstheorie und der algorithmischen Lerntheorie. Sie werden gerne als Hilfssätze in Beweisen verwendet, wenn man die Existenz einer bestimmten berechenbaren Funktion zeigen will.

Zum Beispiel folgt die Existenz eines Quines – eines Programms, das seinen eigenen Quelltext ausgibt – sehr einfach aus der Fixpunkt-Variante. Dazu definiert man die Modifikatorfunktion so, dass die gesuchte Funktion ein Fixpunkt ist. Im Fall der Quines wäre das bspw. die Funktion, die ein Programm zurückgibt, das den gerade eingegebenen Quelltext ausgibt (Pseudocode):

f(x): return "return " + x 

Der Fixpunkt ist dann ein Quine.

Umgekehrt lässt sich durch die Rekursionssätze auch die Nicht-Berechenbarkeit bestimmter Funktionen zeigen. Dazu nimmt man an, die betrachtete Abbildung sei doch berechenbar, dann ist durch sie eine Quelltext-Manipulation oder ein berechenbarer Operator erklärt. Die daraus folgende Existenz selbstreferenzieller Indizes oder Funktionen kann dann genutzt werden, um einen Widerspruch zu konstruieren.

So liefert der Rekursionssatz von Kleene einen alternativen Beweis für die Unentscheidbarkeit des Halteproblems Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz : Angenommen es sei doch entscheidbar, dann ist sein Komplement rekursiv aufzählbar. Das heißt, es gibt eine partiell berechenbare Funktion Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz , die genau dann für Eingabe Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  hält (definiert ist), wenn Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz  nicht hält. Aus dem Rekursionssatz von Kleene folgt nun die Existenz eines Programmes Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz , so dass Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz . Insgesamt also Rekursionssatz: Rekursionssatz von Kleene, Fixpunktsatz von Kleene, Operator-Rekursionssatz , ein Widerspruch.

Siehe auch

Literatur

  • Robert I. Soare: Recursively Enumerable Sets and Degrees. Springer, Berlin 1987. ISBN 0387152997
  • Christos H. Papadimitriou: Computational Complexity. Addison-Wesley Publishing Company, 1994. ISBN 0-201-53082-1

Einzelnachweise

Tags:

Rekursionssatz von KleeneRekursionssatz Fixpunktsatz von KleeneRekursionssatz Operator-Rekursionssatz AnwendungenRekursionssatz Siehe auchRekursionssatz LiteraturRekursionssatz EinzelnachweiseRekursionssatzAlgorithmusBerechenbare FunktionBerechenbarkeitstheorieCodierungNatürliche ZahlenQuelltextSelbstreferenzialitätSmn-TheoremStephen Cole KleeneTheoretische Informatik

🔥 Trending searches on Wiki Deutsch:

Moisés AriasSerbienBerlinIn Berlin wächst kein OrangenbaumElon MuskHeiliges Römisches ReichMaxine KazisHessenSigmund FreudBridgertonMoulin RougeDua LipaIsabella LeongBundeswehrFelicitas WollVoyager 1Jan BöhmermannThe Moody BluesChristina ApplegateChristian LindnerANZAC DayThüringenMilena StraubeThe Gentlemen (Fernsehserie, 2024)Hans ZimmerCillian MurphyBulgarienWeimarer RepublikListe der IPA-ZeichenSandra BullockAntónio de Oliveira SalazarTimothée ChalametJankel AdlerJeffrey DahmerImmanuel KantSüdtirolEchte MehlbeereVorstadtweiberChallengers – RivalenAlexander der GroßeRusslandEishockey-Weltmeisterschaft der Herren 2024Bud SpencerIndienBMW 3erWish (2023)Michael RollDeutsche BahnRonnie O’SullivanInstagramDie Mumie (1999)August SchmölzerSoriculus beibengensisHarvey KeitelDeutsches KaiserreichDamsel (2024)Künstliche IntelligenzTesla, Inc.Griechisches AlphabetMord mit AussichtXVideosDavid BowieDeclan RiceKölnPeriodensystemTaking Sides – Der Fall Furtwängler15. JuniAlexander BommesGrönlandhaiAll of Us StrangersNekrolog 2024ParisNasenschildListe der größten AuslegerbrückenRyan GoslingPolizistenmord von Heilbronn🡆 More