Turingmaschine Typ 2
# Turingmaschine Typ 2

Eine Turingmaschine Typ 2 ist eine Erweiterung einer Turingmaschine. Sie entstand aus dem Bestreben heraus, das effektive Rechnen mit reellen Zahlen auf eine ähnlich verlässliche Grundlage zu stellen, wie dies für das Rechnen mit natürlichen Zahlen durch die Turingmaschine bereits gegeben ist. Man lässt als Ein- und Ausgaberaum jeweils sowohl endliche Zeichenketten als auch unendliche Zeichenketten zu. Es ergeben sich vier verschiedene Möglichkeiten:

* $\Sigma ^{*}\longrightarrow \Sigma ^{*}$
* $\Sigma ^{\omega }\longrightarrow \Sigma ^{*}$
* $\Sigma ^{*}\longrightarrow \Sigma ^{\omega }$
* $\Sigma ^{\omega }\longrightarrow \Sigma ^{\omega }$

Hierbei sind die $\Sigma ^{*}$ die endlichen und $\Sigma ^{\omega }$ die unendlichen Zeichenketten über einem geeigneten Alphabet $\Sigma$.

Dabei müssen 1. und 2. nach endlicher Zeit halten, 3. und 4. laufen unendlich lange, müssen aber auch unendlich oft etwas auf das Ausgabeband schreiben.

Des Weiteren darf man auf dem Eingabeband nur nach rechts gehen und nur lesen, und auf dem Ausgabeband nur schreiben und nur nach rechts gehen. So stellt man sicher, dass man nach einer endlichen Zeit bereits ein endliches Anfangsstück der Ausgabe erhält, das nicht mehr verändert wird.

Beispiele

* Aus 1. ergibt sich die klassische Turingmaschine.
* Die Maschinen zu 2. berechnen alle Arten von Test ($<,>$, etc.)
* Zu 3. zählen unter anderem 0-stellige Maschinen, die eine Zahl berechnen (zum Beispiel $\pi$), oder auch Maschinen, die reelle Folgen $f:\subseteq \mathbb {N} \longrightarrow \mathbb {R} :f(n):=(a_{n})_{n\in \mathbb {N} }$ (mit $a_{n}\in \mathbb {R}$) liefern (dann natürlich nicht 0-stellig).
* Zu 4. gehören dann solche Maschinen, die berechenbare, d. h. stetige, Funktionen $f:\subseteq \mathbb {R} ^{n}\longrightarrow \mathbb {R}$ verarbeiten können.

## Darstellungen/Notationen

Um mit Turingmaschinen rechnen zu können, muss man die Objekte, auf denen gerechnet werden soll (zum Beispiel natürliche Zahlen, rationale Zahlen, reelle Zahlen …), für die Turingmaschine in geeigneter Form benennen. Für endlich darstellbare Objekte (wie zum Beispiel die natürlichen und rationalen Zahlen) reicht im Prinzip ein Zeichen. Man spricht hierbei von Notation.

Eine Notation einer Menge $M$ ist eine surjektive (möglicherweise partielle) Funktion

    $\nu :\subseteq \Sigma ^{*}\longrightarrow M$.

Komplizierter wird es bei unendlichen Objekten (kontinuumsmächtigen Objekten). Hier benötigt man mindestens zwei Zeichen. Man spricht dann von Darstellung (bzw. Repräsentation).

Eine Darstellung einer Menge $M$ ist eine surjektive (möglicherweise partielle) Funktion

    $\delta :\subseteq \Sigma ^{\omega }\longrightarrow M$.

Eine solche Darstellung der reellen Zahlen, die sich als sehr brauchbar erwiesen hat, ist die Cauchydarstellung der reellen Zahlen.

## Cauchydarstellung der reellen Zahlen

Es sei $\Sigma$ ein Alphabet mit mindestens zwei Zeichen und $\Sigma ^{\omega }$ die unendliche Zeichenketten über dem Alphabet $\Sigma$. Es gelte per Definition ${\bar {w_{i}}}:=\nu _{\mathbb {Q} }(w_{i})$, wobei $\nu _{\mathbb {Q} }$ eine Notation der rationalen Zahlen sei. Das heißt also, dass $w_{i}$ eine endliche Zeichenkette ist und $\nu _{\mathbb {Q} }(w_{i})$ die zugehörige rationale Zahl. Man sagt auch $w_{i}$ ist der Name von $\nu _{\mathbb {Q} }(w_{i})$.

$\iota$ ist eine Funktion, die endliche Zeichenketten eindeutig hintereinander schreibt.

$\rho _{C}:\subseteq \Sigma ^{\omega }\longrightarrow \mathbb {R}$: $\rho _{C}(p)=x:\Longleftrightarrow \exists w_{0},w_{1},\ldots \in$ Def$(\nu _{\mathbb {Q} })$, so dass $p=\iota (w_{0})\iota (w_{1})\ldots$, und $|{\bar {w_{i}}}-{\bar {w_{k}}}|\leq 2^{-i}$ für $i<k$ (Cauchykriterium)

und $x=\lim _{i\rightarrow \infty }{\bar {w_{i}}}$

Das heißt, der Name einer reellen Zahl (bezüglich der Cauchydarstellung) besteht aus einer Folge rationaler Zahlen bzw. einer Folge der Namen rationaler Zahlen. Diese Folge konvergiert gegen die zu benennende reelle Zahl und zwar mit einer Mindestgeschwindigkeit (eine schnell konvergierende Folge). Diese Konvergenzgeschwindigkeit ist tatsächlich eine notwendige Voraussetzung, da nach endlicher Zeit etwas auf das Ausgabeband der Typ-2-Maschine geschrieben werden muss und nicht mehr verändert werden darf und so ein Mindestmaß an Information vorliegen muss. Dies wird durch das Cauchykriterium garantiert.

Aufgrund der Konstruktion sind nur abzählbar viele reelle Zahlen darstellbar.

## Der Cantorraum

Um zu sehen, welche Art von Funktionen mit der Typ-2-Maschine berechenbar sind, führt man eine Metrik $d_{C}$ auf $\Sigma ^{\omega }$ ein (siehe auch Metrischer Raum):

Seien $p,q\in \Sigma ^{\omega }$. Dann sei $d_{C}(p,q)=2^{\min\{i|p(i)\neq q(i)\}}$, falls $p\neq q$ und $d_{C}(p,q)=0$ sonst. Damit wird $(\Sigma ^{\omega },d_{C})$ zu einem metrischen Raum, dem Cantorraum. Es zeigt sich, dass so genau die stetigen Funktionen berechenbar sind.

## Funktionendarstellung

Sei $A\subseteq \mathbb {R} ^{n}$. Um mit einer stetigen Funktion $f:\subseteq A\longrightarrow \mathbb {R}$ auf einer Turingmaschine Typ 2 rechnen zu können, muss diese auch durch einen Namen dargestellt werden. Hierzu muss man noch eine Notation der offenen rationalen Kugeln einführen. Die Notation einer solchen n-dimensionalen offenen Kugel ist definiert durch:

$I^{n}\langle v,w\rangle :=B\left([\nu _{\mathbb {Q} }]^{n}(v),2^{-\nu _{\mathbb {N} }(w)}\right)$

Hierbei ist $\nu _{\mathbb {Q} }$ eine Notation der rationalen Zahlen, $\nu _{\mathbb {N} }$ eine Notation der natürlichen Zahlen und $B(x,\varepsilon ):=\{y\in \mathbb {R} ||x-y|<\varepsilon \}$ (die offenen Kugeln mit Radius $\varepsilon$). $\langle v,w\rangle$ ist die Cantorsche Tupelfunktion.

Weiterhin sei $C(A,\mathbb {R} ):=\{f:\subseteq \mathbb {R} ^{n}\longrightarrow \mathbb {R} |f$ ist stetig und $Def(f)=A\$.

Ein solcher Name kann folgendermaßen dargestellt werden (es gibt mehrere dazu äquivalente Darstellungen):

$\delta ^{A}(p):=f\Longleftrightarrow$

$\exists v_{0},v_{1},\ldots \in Def(I^{n})$ und $\exists w_{0},w_{1},\ldots \in Def(I)$

mit $p=\iota (\langle v_{0},w_{0}\rangle )\iota (\langle v_{1},w_{1}\rangle ),\ldots$

und $\forall w\in Def(I^{n})$ gilt

$f^{-1}[I^{1}(w)]=A\cap \bigcup _{\{i\in \mathbb {N} |w_{i}=w\}}I^{n}((v_{i})$

für $p\in \Sigma ^{\omega },f:\subseteq \mathbb {R} ^{n}\longrightarrow \mathbb {R}$ mit $Def(f)=A$.

Ein solcher Name einer Funktion $f$ ist also eine Liste aller offenen Mengen $f^{-1}[I^{1}(w)]$, bei der alle diese Mengen in dieser Liste als Vereinigung von Kugeln $I^{n}(v)$ aufgelistet werden.

