Aufzählungsoperator
# Aufzählungsoperator

Aufzählungsoperatoren (engl.: enumeration operator) sind in der theoretischen Informatik, genauer in der Berechenbarkeitstheorie, bestimmte berechenbare Abbildungen zwischen Mengen natürlicher Zahlen. Sie sind damit eine Verallgemeinerung von berechenbaren Operatoren. Aufzählungsoperatoren definieren eine Reduktion zwischen den beteiligten Mengen.

## Definition

### Aufzählungsoperator

Es sei $\{D_{i}\}_{i\in \mathbb {N} }$ eine effektive Nummerierung aller endlichen Teilmengen von $\mathbb {N}$ (bspw. $D_{i}=\{x_{1};x_{2};\dots ;x_{n}\}$ für $i=2^{x_{1}}+2^{x_{2}}+\dots +2^{x_{n}}$). Weiter sei $\langle \cdot ;\cdot \rangle \colon \mathbb {N} ^{2}\to \mathbb {N}$ eine berechenbare Kodierungsfunktion für Paare natürlicher Zahlen.

* Eine Abbildung $\Psi \colon {\mathcal {P}}(\mathbb {N} )\to {\mathcal {P}}(\mathbb {N} )$ zwischen Teilmengen natürlicher Zahlen heiße Aufzählungsoperator, falls es eine rekursiv aufzählbare Menge $S\subseteq \mathbb {N}$ gibt, so dass für beliebige Mengen $A\subseteq \mathbb {N}$ gilt: $x\in \Psi (A)\Leftrightarrow \exists i\colon (D_{i}\subseteq A\land \langle i;x\rangle \in S)$.

Aufzählungsoperatoren lassen sich offenbar von Turing-Maschinen realisieren: Die entsprechende Maschine erhält von einer externen Quelle – zum Beispiel einem menschlichen Nutzer – immer größere, endliche Teilmengen von $A$ als Eingabe. Parallel dazu durchsucht sie den Suchraum $S$ nach passenden Einträgen $\langle i;x\rangle$, wird ein solcher gefunden lautet die Ausgabe $x$. Nach und nach wird so die gesamte Menge $\Psi (A)$ aufgezählt.

### Aufzählbare Reduktion

* Eine Menge $B\subseteq \mathbb {N}$ heiße aufzählbar reduzierbar auf $A$ (engl.: enumeration reducible), $B\preceq _{e}A$, falls es einen Aufzählungsoperator $\Psi$ gibt, so dass $\Psi (A)=B$ gilt.

Ist eine Aufzählung der Menge $A$ gegeben (sei diese berechenbar oder nicht), so vermittelt der Operator $\Psi$ auch eine Aufzählung von $B$ (vgl. Reduktion (Theoretische Informatik)). Es folgt, dass die Menge $B$ rekursiv aufzählbar in $A$ ist (vgl. Orakel-Turingmaschine), die Umkehrung gilt im Allgemeinen nicht. Aufzählungsoperatoren bilden daher stets rekursiv aufzählbare Mengen wieder auf rekursiv aufzählbare Mengen ab, dies motiviert die Bezeichnung.

## Beispiele

Es gibt einige triviale Aufzählungsoperatoren, zum Beispiel die Identität $\Psi ^{I}(A)=A$ oder den Links-Shift $\Psi ^{L}(A)=\{a+1|a\in A\}$. Konstante Operatoren sind genau dann Aufzählungsoperatoren, wenn die Zielmenge rekursiv aufzählbar ist, wie etwa $\Psi ^{c;K}(A)=K$ für das spezielle Halteproblem $K$. Auch andere berechenbare Manipulationen der Eingabemengen können durch Aufzählungsoperatoren vermittelt werden, $\Psi ^{\pi _{2}}(A)=\{y|\exists x\colon \langle x;y\rangle \in A\}$.

Die eigentliche Intention der obigen Definition ist aber ein berechenbares Analogon zu induktiven Definitionen zu schaffen. Eine Menge induktiver Gleichungen könnte beispielsweise wie folgt lauten (vgl. Fibonacci-Folge):

    $f(0)=0;$
    $f(1)=1;$
    $f(n+2)=f(n)+f(n+1).$

Dies lässt sich in einen Aufzählungsoperator $\Psi _{f}$ für die Graphen möglicher Lösungen $f$ umformulieren, indem man explizit den zugrunde liegenden Suchraum $S$ angibt. Zur besseren Lesbarkeit werden hier direkt die endlichen Mengen $D_{i}$ statt ihrer Kodnummern $i$ verwendet. Außerdem werden die Elemente der Zielmenge als kodierte Paare natürlicher Zahlen aufgefasst. Notwendig enthält $S$ dann die Elemente $\langle \emptyset ;(0;0)\rangle$ und $\langle \emptyset ;(1;1)\rangle$, da jede Lösung auf Grund der ersten beiden Gleichungen die $0$ und die $1$ jeweils auf sich selbst abbilden muss. Außerdem enthalte $S$ für beliebige natürliche Zahlen $n;m;k\in \mathbb {N}$ jeweils das Paar $\langle \{(n;m);(n+1;k)\};(n+2;m+k)\rangle$. Dies realisiert die dritte Gleichung, denn ist durch die Eingabemenge nun die Information bekannt, dass für die angepeilte Lösung $n\mapsto m$ und $n+1\mapsto k$ gilt, dann erzwingt $\Psi _{f}$ auch $n+2\mapsto m+k$ für die Ausgabemenge.

## Eigenschaften

* Es gibt eine effektive Nummerierung $\{\Psi _{p}\}_{p\in \mathbb {N} }$ aller Aufzählungsoperatoren, diese ergibt sich sofort aus der kanonischen Nummerierung aller rekursiv aufzählbaren Mengen.

Für einen Aufzählungsoperator $\Psi$, Mengen $A;B\subseteq \mathbb {N}$ und natürliche Zahlen $x$ gilt:

* Monotonie: $A\subseteq B\Rightarrow \Psi (A)\subseteq \Psi (B)$.
* Kompaktheit: $x\in \Psi (A)\Rightarrow \exists D\subset _{\text{fin}}A\colon x\in \Psi (D)$.

Aus der Kompaktheit folgt außerdem, dass Aufzählungsoperatoren als Abbildungen stetig sind, wenn man die Potenzmenge ${\mathcal {P}}(\mathbb {N} )$ mit der Topologie versieht, die durch die Basismengen $\{A\subseteq \mathbb {N} |D_{i}\subset _{\text{fin}}A\}_{i\in \mathbb {N} }$ erzeugt wird.

* Es gibt eine total berechenbare Funktion $g$, so dass $\forall p;q\colon \Psi _{g(\langle p;q\rangle )}=\Psi _{p}\circ \Psi _{q}$.
   * Insbesondere ist also die Klasse der Aufzählungsoperatoren unter Komposition abgeschlossen.
* Wie alle Reduktionen ist $\preceq _{e}$ eine Präordnung auf ${\mathcal {P}}(\mathbb {N} )$, die Relation also insbesondere transitiv.
* Die Truth-table-Reduktion (und damit auch die Many-one-Reduktion) impliziert die aufzählbare Reduktion, $B\preceq _{1}A\Rightarrow B\preceq _{m}A\Rightarrow B\preceq _{tt}A\Rightarrow B\preceq _{e}A$.

Die Implikationen sind dabei jeweils strikt.

* Die aufzählbare Reduktion und die Turing-Reduktion sind dagegen unvergleichbar.

## Berechenbare Operatoren

Eine Menge $A\subseteq \mathbb {N}$ natürlicher Zahlen heiße rechtseindeutig, falls gilt: $\langle x;y\rangle ;\langle x;z\rangle \in A\Rightarrow y=z$. Es bezeichne ${\mathfrak {P}}$ die Menge aller partiellen Abbildungen $\psi \colon \mathbb {N} \rightsquigarrow \mathbb {N}$ natürlicher Zahlen. Identifiziert man eine Funktion $\psi \in {\mathfrak {P}}$ mit ihrem Graphen, so erlaubt $\langle \cdot ;\cdot \rangle$ diese als Teilmenge der natürlichen Zahlen aufzufassen. Dadurch ist eine Einbettung ${\mathfrak {P}}\hookrightarrow {\mathcal {P}}(\mathbb {N} );\ \psi \mapsto \{\langle x;\psi (x)\rangle |x\in \operatorname {dom} (\psi )\}$ erklärt. Ihr Bild besteht gerade aus den rechtseindeutigen Mengen.

Gilt nun für einen Aufzählungsoperator $\Psi ({\mathfrak {P}})\subseteq {\mathfrak {P}}$, überführt er also rechtseindeutige Mengen wieder in rechtseindeutige, so ist die Einschränkung $\Psi |_{\mathfrak {P}}$ ein berechenbarer Operator. Auf diese Weise erhält man alle berechenbaren Operatoren. Notwendig bildet $\Psi$ dann auch berechenbare Funktionen wieder auf berechenbare ab.

## Rekursionssatz

Es gibt einen Rekursionssatz für Aufzählungsoperatoren. Dieser ist schwächer als der entsprechende Satz für berechenbare Operatoren, weshalb er in der englischen Literatur auch gelegentlich als weak recursion theorem bezeichnet wird.

* Für jeden Aufzählungsorperator $\Psi$ gibt es eine rekursiv aufzählbare Menge $F\subseteq \mathbb {N}$ derart, dass $F$ ein Fixpunkt ist, $\Psi (F)=F$, und jeder Fixpunkt von $\Psi$ die Menge $F$ enthält.
* Ist $\Psi |_{\mathfrak {P}}$ sogar ein berechenbarer Operator, so gibt es eine partiell berechenbare Funktion $\psi$, so dass $\Psi (\psi )=\psi$ und jeder rechtseindeutige Fixpunkt von $\Psi$ die Funktion $\psi$ als Einschränkung besitzt.

Der Fixpunkt $F$ lässt sich sogar explizit angeben: Es sei $F_{0}=\emptyset$ und für jede natürliche Zahl $k$ sei $F_{k+1}=F_{k}\cup \Psi (F_{k})$, dann ist $\textstyle F=\bigcup _{k}F_{k}$. Der zweite Teil folgt nun aus dem ersten durch die Beobachtung, dass in diesem Fall die Menge $F$ rechtseindeutig ist.

Betrachtet man beispielsweise den oben definierten Operator $\Psi _{f}$, so erhält man als den kleinsten Fixpunkt den Graphen der durch die Gleichungen eindeutig definierten Fibonacci-Funktion $\operatorname {fib}$. Ein weiterer, allerdings nicht mehr rechtseindeutiger, Fixpunkt ist die Menge $\{\langle x;y\rangle |y\leq \operatorname {fib} (x)\}$, da auch sie den obigen Gleichungen genügt. Der Fixpunkt enthält offenbar den Graphen von $\operatorname {fib}$ als Teilmenge.

## Quellen

* Sharma Jain et al.: Systems That Learn. 2nd Auflage. MIT Press, Cambridge, Massachusetts 1999, ISBN 0-262-10077-0, S. 19 (englisch).
* Stephen C. Kleene: Introduction to Metamathematics. North-Holland Publishing Company, New York City, New York 1952, S. 352–353 (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).
