Berechenbarer Operator

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Berechenbare Operatoren (auch: effektive Operatoren; engl.: recursive operator, effective operator) sind in der theoretischen Informatik, genauer in der Berechenbarkeitstheorie, Manipulationen partieller Funktionen, die durch Turing-Maschinen realisiert werden. Berechenbare Funktionale sind durch Turing-Maschinen vermittelte Zuordnungen von Funktionen zu natürlichen Zahlen. Berechenbare Funktionale werden benötigt, um berechenbare Operatoren mathematisch exakt zu definieren. Neben ihrer eigenständigen Bedeutung in der Berechenbarkeitstheorie bilden berechenbare Operatoren die technische Grundlage der algorithmischen Lerntheorie. Berechenbare Operatoren bilden einen Spezialfall der Aufzählungsoperatoren.

Definition[Bearbeiten | Quelltext bearbeiten]

Es bezeichne im Folgenden die Menge aller partiellen Abbildungen natürlicher Zahlen, bezeichne die Teilmenge der totalen Funktionen. Weiter sei eine berechenbare Kodierungsfunktion für endliche Tupel natürlicher Zahlen (bspw. die Cantorsche Paarungsfunktion). Identifiziert man eine Funktion mit ihrem Graphen, so erlaubt wiederum, diese als Teilmenge der natürlichen Zahlen aufzufassen: .

Intuitive Fassung[Bearbeiten | Quelltext bearbeiten]

  • Ein Operator heiße berechenbar, falls es eine Turing-Maschine gibt, die für beliebige (nicht notwendigerweise selbst berechenbare) Aufzählungen des Graphens als Eingabe ihrerseits den Graphen von aufzählt.
  • Er heiße total berechenbar bzw. allgemein berechenbar (engl.: total recursive, general recursive), falls er zusätzlich totale Funktionen wieder in totale Funktionen überführt, .

Für diese Definition muss die Arbeitsweise einer Turing-Maschine leicht modifiziert werden: Statt einer einzelnen natürlichen Zahl erhält sie nun sukzessive immer längere, endliche Anfangsstücke der entsprechenden Aufzählung von als Eingabe. Diese Definition lässt sich leicht (bspw. durch multiple Eingabebänder) auf Operatoren für beliebige Stelligkeiten erweitern.

Formale Fassung[Bearbeiten | Quelltext bearbeiten]

Es sei eine effektive Nummerierung aller partiellen Funktionen mit endlichem Definitionsbereich. Für jede rekursiv aufzählbare Menge sei eine berechenbare Aufzählung mit Bildmenge bzw. fixiert.

  • Ein Funktional heiße berechenbar, falls es eine rekursiv aufzählbare Menge gibt, so dass für alle partielle Funktionen und natürliche Zahlen gilt: .

In diesem Fall ist dann für das erste solche Tripel , das von aufgezählt wird.

  • heiße total berechenbar wenn es berechenbar und für totale Funktionen selbst total ist, also .

Entsprechendes gilt für Funktionale .

  • Ein Operator heiße berechenbar falls es ein berechenbares Funktional derart gibt, dass für beliebige partielle Funktionen und natürliche Zahlen gilt: .
  • heiße total berechenbar, falls der Operator totale Funktionen auf totale abbildet, .

Analog werden Operatoren durch Funktionale definiert.

Erläuterung[Bearbeiten | Quelltext bearbeiten]

Durch die Nummerierung der erhält die rekursiv aufzählbare Menge den Charakter eines Suchraums. Zur Berechnung des entsprechenden Funktionals wird nach Einträgen zu endlichen Einschränkungen der Funktion gesucht. Falls kein passender Eintrag gefunden wird, terminiert die Berechnung nie und das Funktional bleibt an dieser Stelle undefiniert. Die Fixierung der aufzählenden Prozedur sichert, dass wohldefiniert ist.

Die Eingabefunktion wird von einer externen Quelle zur Verfügung gestellt, weshalb weder die Funktion selbst noch die gewählte Aufzählung berechenbar zu sein braucht. Dies lässt sich so interpretieren, dass die Turing-Maschine während der Berechnung einen menschlichen Nutzer zur Eingabe immer neuer Paare auffordert. In anderen Worten lernt die Turing-Maschine die Eingabefunktion und transformiert diese gleichzeitig. Die obige Definition sichert, dass das Ergebnis dieser Manipulation nicht von der Reihenfolge abhängt in der der Graph von präsentiert wird.

Während effektive Operatoren stets total sind, braucht dies für die zugrunde liegenden Funktionale nicht zu gelten, denn ggf. gibt es nicht-totale Funktionen im Bild des Operators. Es ist daher zu beachten, dass es Operatoren gibt, die total und berechenbar sind, aber nicht total berechenbar im Sinne der Definition. Ein Beispiel ist der konstante Operator, der jede Funktion auf die überall undefinierte Funktion abbildet, dieser ist berechenbar mit der Wahl .

Beispiele[Bearbeiten | Quelltext bearbeiten]

  • Ein konstanter Operator ist genau dann effektiv, wenn die Zielfunktion berechenbar ist, bspw. die Nachfolgerfunktion.
  • Identität: .
  • Links-Shift: .
  • Auswertung an der Stelle : .

Eigenschaften[Bearbeiten | Quelltext bearbeiten]

Es bezeichne die Klasse der berechenbaren Funktionen und analog die Teilmenge der total berechenbaren Abbildungen. Außerdem sei eine effektive Nummerierung von (bspw. die Gödel-Nummerierung aller deterministischen Turing-Maschinen), daher ist durch die kanonische Nummerierung aller rekursiv aufzählbaren Mengen gegeben.

Aus der obigen Definition ergeben sich sofort einige wichtige Eigenschaften:

  • Es gibt eine effektive Nummerierung aller berechenbaren Operatoren, nämlich durch die Setzung .
  • Für jeden berechenbaren Operator gibt es eine total berechenbare Funktion , so dass .
    • Insbesondere überführen berechenbare Operatoren berechenbare Funktionen wieder in berechenbare Funktionen, , dies motiviert die Bezeichnung.
    • Für allgemein berechenbare Operatoren gilt zusätzlich .
  • Die Komposition (allgemein) berechenbarer Operatoren ist wieder (allgemein) berechenbar.
    • Es gibt sogar eine total berechenbare Funktion , so dass .

Für berechenbare Operatoren , partielle Funktionen und natürliche Zahlen gilt:

  • Monotonie: .
  • Kompaktheit: .
  • Stetigkeit: .

Eigentlich sind Kompaktheit und Stetigkeit zwei Formulierungen derselben Eigenschaft. Der Begriff Kompaktheit stellt dabei auf die Kompaktheitssätze der mathematischen Logik ab. Stetigkeit dagegen weist darauf hin, dass berechenbare Operatoren tatsächlich als Abbildungen stetig sind, wenn man mit der Topologie versieht, die durch die Basismengen erzeugt wird.

Operator-Rekursionssatz[Bearbeiten | Quelltext bearbeiten]

Das fundamentale Theorem über berechenbare Operatoren ist der Operator-Rekursionssatz von John Case:

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

Der Satz liefert anschaulich gesprochen unendlich viele Programme berechenbarer Funktionen, die sich allesamt ihrer selbst und der durch beschriebenen Transformation gewahr sind.

Aufzählbare Reduktion[Bearbeiten | Quelltext bearbeiten]

Seien partielle Funktionen.

  • Die Abbildung heiße aufzählbar reduzierbar auf (engl.: enumeration reducible to) bzw. partiell berechenbar in , , falls es einen berechenbaren Operator gibt, so dass .

Die Reduktion definiert eine Präordnung auf der Menge , insbesondere ist die Relation transitiv. Für je zwei berechenbare Funktionen gilt dabei , außerdem gibt es in keine Funktion die bzgl. echt unter der Klasse der berechenbaren Abbildungen liegt. Beides lässt sich leicht mittels konstanter Operatoren (s. o.) zeigen.

Für total berechenbare Abbildungen gilt sogar, dass genau dann berechenbar in ist, wenn der Graph von (als Menge natürlicher Zahlen) Turing-reduzierbar auf den Graphen von ist, . Im Allgemeinen ist die aufzählbare Reduktion aber mit der Turing-Reduktion unvergleichbar.

Quellen[Bearbeiten | Quelltext bearbeiten]

  • John W. Case: Periodicity in Generations of Automata. In: Mathematical Systems Theory. 8. Jahrgang, Nr. 1. Springer-Verlag, 1974, S. 15–32, doi:10.1007/BF01761704.
  • Sharma Jain et al.: Systems That Learn. 2nd Auflage. MIT Press, Cambridge, Massachusetts 1999, ISBN 0-262-10077-0, S. 19.
  • Hartley Rogers, Jr.: Theory of Recursive Functions and Effective Computability. McGraw-Hill, Cambridge, Massachusetts 1987, ISBN 0-262-68052-1, S. 145–149.