mirror of
https://github.com/janishutz/eth-summaries.git
synced 2025-11-25 18:44:24 +00:00
89 lines
5.2 KiB
TeX
89 lines
5.2 KiB
TeX
\newsection
|
|
\subsection{Mehrband-Turingmaschinen und Church'sche These}
|
|
Die Turingmaschinen sind das Standardmodell der Berechenbarkeitstheorie, aber benötigen einige Modifikationen, um wirklich geeignet zu sein
|
|
(da das Von-Neumann Modell physisch unterschiedliche CPU, Eingabemedium und Speicher für Programme und Daten fordert, aber die TM ein gemeinsames Eingabemedium und Speicher hat).
|
|
|
|
Eine $k$-Band-Turingmaschine (für $k \in \N_0$) hat folgende Komponenten:
|
|
\begin{itemize}
|
|
\item eine endliche Kontrolle (= Programm)
|
|
\item ein endliches Band mit einem Lesekopf
|
|
\item $k$ Arbeitsbänder, jedes mit eigenem Lese-/Schreibkopf
|
|
\end{itemize}
|
|
Zu Beginn ist die MTM in folgender Situation:
|
|
\begin{itemize}
|
|
\item Das Eingabeband enthält $\cent w \$$, wobei $\cent$ und $\$$ die linke / rechte Seite der Eingabe markieren
|
|
\item Der Lesekopf des Eingabebands zeigt auf $\cent$
|
|
\item Alle Arbeitsbänder beinhalten $\cent \text{\textvisiblespace\textvisiblespace} \ldots$ und deren Lese-/Schreibköpfe zeigen auf $\cent$
|
|
\item Die endliche Kontrolle ist im Anfangszustand $q_0$
|
|
\end{itemize}
|
|
Alle $k + 1$ Köpfe dürfen sich während der Berechnung in beide Richtungen bewegen (solange das nicht out-of-bounds geht).
|
|
Zudem darf der Lesekopf nicht schreiben, also beleibt der Inhalt des Eingabebands gleich.
|
|
|
|
Gleich wie bei einer TM ist das Arbeitsalphabet der Arbeitsbänder $\Gamma$ und alle Felder der Arbeitsbänder sind von links nach rechts nummeriert, wobei $0$ bei $\cent$ liegt.
|
|
|
|
Eine Konfiguration einer $k$-Band-TM $M$ ist $(q, w, i, u_1, i_1, u_2, i_2, \ldots, u_k, i_k) \in Q \times \word \times \N \times (\Gamma^* \times \N)^k$,
|
|
wobei $q$ der Zustand ist, der Inhalt des Eingabebands ist $\cent w \$$, der Lesekopf zeigt auf das $i$-te Feld,
|
|
für $j \in \{ 1, 2, \ldots, k \}$ ist der Inhalt des $j$-ten Bandes $\cent u_k \text{\textvisiblespace} \ldots$ und $i_j \leq |u_j|$ ist die Position des Feldes.
|
|
|
|
Ein Berechnungsschritt von $M$ kann mit
|
|
\rmvspace
|
|
\begin{align*}
|
|
\delta: Q \times (\Sigma \cup \{ \cent, \$ \}) \times \Gamma^k \rightarrow Q \times \{ L, R, N \} \times (\Gamma \times \{ L, R, N \})^k
|
|
\end{align*}
|
|
|
|
\drmvspace
|
|
dargestellt werden, wobei die Argumente $(q, a, b_1, \ldots, b_k)$ der aktuelle Zustand $q$, das gelesene Eingabesymbol $a$ und die $k$ Symbole $b_i \in \Gamma$,
|
|
auf welchen die Köpfe der Arbeitsbänder stehen.
|
|
|
|
Die Eingabe $w$ wird von $M$ akzeptiert, falls $M$ den Zustand $\qacc$ erreicht und falls $M$ den Zustand $\qrej$ erreicht oder nicht terminiert, wird die Eingabe verworfen.
|
|
|
|
\vspace{0.3cm}
|
|
\hrule
|
|
\vspace{0.2cm}
|
|
|
|
Wir sagen, dass eine Maschine $A$ äquivalent zu einer Maschine $B$ ist, falls für jede Eingabe $x \in \wordbool$ gilt:
|
|
$A \text{ $<$property$>$ } x \Longleftrightarrow B \text{ $<$property$>$ } x$ mit
|
|
$<$property$> \ \in \{ \text{akzeptiert}, \text{ verwrift}, \text{ arbeitet unendlich lange auf} \}$, also ist $L(A) = L(B)$
|
|
|
|
\inlinelemma Zu jeder TM $A$ existiert eine zu $A$ äquivalente $1$-Band-TM $B$
|
|
|
|
\inlinelemma Zu jeder Mehrband-Turingmaschine $A$ existiert eine zu $A$ äquivalente TM $B$
|
|
|
|
Die Beweise dazu finden sich auf Seite 107, beziehungsweise Seite 109 (= 121 \& 123 im PDF).
|
|
|
|
In diesem Kurs müssen wir glücklicherweise meist nicht Beweise der Äquivalenz durchführen, wie auch nicht dass die TM die gewünschte Tätigkeit realisiert.
|
|
|
|
\inlinedef Zwei Maschinenmodelle (Maschinenklassen) $\mathcal{A}$ und $\mathcal{B}$ sind äquivalent wenn beides zutrifft:
|
|
\begin{enumerate}[label=(\roman*)]
|
|
\item für jede Maschine $A \in \mathcal{A}$ eine zu $A$ äquivalente Maschine $B \in \mathcal{B}$ existiert
|
|
\item für jede Maschine $C \in \mathcal{B}$ eine zu $C$ äquivalente Maschine $D \in \mathcal{A}$ existiert
|
|
\end{enumerate}
|
|
|
|
\inlinetheorem Die Maschinenmodelle von Turingmaschinen und Mehrband-Turingmaschinen sind äquivalent
|
|
|
|
\inlineproof Impliziert von Lemmas \ref{lemma:4-1} und \ref{lemma:4-2}
|
|
|
|
Um zu beweisen, dass Turing-Maschinen äquivalent zu höheren Programmiersprachen sind argumentiert man über die Existenz eines Interpreters für TM.
|
|
|
|
|
|
% ────────────────────────────────────────────────────────────────────
|
|
\subsubsection{Church'sche These}
|
|
\begin{center}
|
|
\fbox{
|
|
\parbox{16cm}{
|
|
\textit{Die Turingmaschinen sind die Formalisierung des Begriffes ``Algorithmus'', das heisst,
|
|
die Klasse der rekursiven Sprachen (der entscheidbaren Entscheidungsproblem)
|
|
stimmt mit der Klasse der algorithmisch (automatisch) erkennbaren Sprache überein
|
|
}
|
|
}
|
|
}
|
|
\end{center}
|
|
Die These ist nicht beweisbar, da dazu der Begriff des Algorithmus formalisiert werden müsste, was er bekanntlich nicht ist.
|
|
|
|
Dies führt zu einer interessanten Situation, in welcher es \textit{theoretisch} möglich wäre, dass jemand ein stärkeres Modell findet, als die TM sind,
|
|
eines nämlich, welches Entscheidungsprobleme lösen kann, die die TM nicht kann.
|
|
|
|
Wir nehmen also (wie in vielen Bereichen der Physik (die Relativitätstheorie ist ein gutes Beispiel) und Mathematik) und postulieren sie als Axiom.
|
|
|
|
\shade{Orange}{Fun fact} Die Church'sche These ist das Einzige informatikspezifische Axiom.
|