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
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
- 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.
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
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
- Ein konstanter Operator ist genau dann effektiv, wenn die Zielfunktion berechenbar ist, bspw.
die Nachfolgerfunktion.
- Identität:
.
- Links-Shift:
.
- Auswertung an der Stelle
:
.
Eigenschaften
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
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
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
- 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 (englisch).
- Sharma Jain et al.: Systems That Learn. 2nd Auflage. MIT Press, Cambridge, Massachusetts 1999, ISBN 0-262-10077-0, S. 19 (englisch).
- Hartley Rogers, Jr.: Theory of Recursive Functions and Effective Computability. McGraw-Hill, Cambridge, Massachusetts 1987, ISBN 0-262-68052-1, S. 145–149 (englisch).