[TI] Cleaner structure

This commit is contained in:
2025-12-29 11:58:11 +01:00
parent e909c263e7
commit 48de9c445e
37 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
% Starts on Page 94 (= 108 in PDF)
\subsection{Das Modell der Turingmaschine}
Eine Turingmaschine (oft auch Turing-Maschine geschrieben) besteht informell aus
\begin{enumerate}[label=(\roman*)]
\item einer endlichen Kontrolle, die das Programm enthält
\item einem Arbeitsband unendlicher Länge (das es Erlaubt, im Vergleich zum EA, Daten zu speichern)
\item einem Lese-/Schreibkopf, der sich in beide Richtungen auf dem Band bewegen kann
\end{enumerate}
Formaler:
\begin{definition}[]{Turingmaschine (TM)}
Eine \bi{Turingmaschine} ist eine $7$-Tupel $M = (Q, \Sigma, \Gamma, \delta, q_0, \qacc, \qrej)$, wobei:
\begin{enumerate}[label=(\roman*)]
\item $Q$ ist die \bi{Zustandsmenge}
\item $\Sigma$ ist das \bi{Eingabealphabet} mit $\cent, \textvisiblespace \notin \Sigma$
\item $\Gamma$ ist das \bi{Arbeitsalphabet} mit $\Sigma \subseteq \Gamma$, $\cent, \textvisiblespace \in \Gamma$ und $\Gamma \cap Q = \emptyset$
($\cent$ = Startmarker, $\textvisiblespace$ = Blanksymbol)
\item $\delta : (Q - \{ \qacc, \qrej \}) \times \Gamma \longrightarrow Q \times \Gamma \times \{ L, R, N \}$ ist die \bi{Übergangsfunktion von $M$},
wobei $\{ L, R, N \}$ die möglichen Bewegunsrichtungen des Lese-/Schreibkopfs sind
und hat die Eigenschaft $\delta(q, \cent) \in Q \times \{ \cent \} \times \{ R, N \}$ für alle $q \in Q$
\item $q_0$ ist der \bi{Anfangszustand}
\item $\qacc$ ist der \bi{akzeptierende Zustand} (genau einer in jedem $M$)
\item $\qrej$ ist der \bi{verwerfende Zustand} (genau einer in jedem $M$)
\end{enumerate}
Eine \bi{Konfiguration} $C$ von $M$ ist ein Element aus $\text{Konf}(M) = \{ \cent \} \cdot \Gamma^* \cdot Q \cdot \Gamma^+ \cup Q \cdot \{ \cent \} \cdot \Gamma^+$
(wobei $\cdot$ die Konkatenation ist)
Eine \bi{Startkonfiguration} für ein Eingabewort $x$ ist $q_0\cent x$
Ein \bi{Schritt von $M$} ist eine Relation $\bigvdash{M}{}$ auf der Menge der Konfigurationen, also $\bigvdash{M}{} \subseteq \text{Konf}(M) \times \text{Konf}(M)$.
$\mathcal{L}_{RE} = \{ L(M) \divides M \text{ ist eine Turingmaschine} \}$
Der Rest der Definition findet sich auf Seiten 96 - 98 (= Seiten 110 - 112 im PDF)
\end{definition}
Turingmaschinen, die immer halten, repräsentieren Algorithmen, die immer terminieren und die richtige Ausgabe liefern.
Rekursive Sprachen und entscheidbare Entscheidungsprobleme sind algorithmisch erkennbar, respektive lösbar.
Es gibt auch definitionen der TM, die ohne Startmarker $\cent$ auskommen, bei denen ist das Arbeitsband in beide Richtungen unendlich.
Graphisch stellt man Turingmaschinen folgendermassen dar:
Wir haben wieder einen Graphen mit gerichteten Kanten.
Für $\delta(q, a) = (p, b, X)$ mit $q, p \in Q$, $a, b \in \Sigma$ und $X \in \{ L, R, N \}$ werden die Kanten mit folgendem Format beschriftet:
$q \rightarrow a, X$.
Mit einem TM die Sprache $\{ 0^n 1^n \divides n \in \N \}$ erkennen kann man nun, indem man jeweils das linkeste und rechteste Symbol durch ein anderes Symbol ersetzt,
beispielsweise, wenn das Eingabealphabet $\Sigma = \{ 0, 1 \}$, dann könnte man $\Gamma$ das Symbol $2$ hinzufügen, mit dem man jedes bearbeitete Symbol ersetzt.
Im Buch wird als Beispiel auf Seite 99ff (= Seite 114ff im PDF) ein komplexeres Wort gewählt,
bei welchem ein Zeichen $a \in \alphabetbool$ durch $(a, B) \in \alphabetbool \times \{ A, B \}$ ersetzt wird,
da wir zwei Phasen haben und zwischen denen unterscheiden wollen können.
% 113

View File

@@ -0,0 +1,88 @@
\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.

View File

@@ -0,0 +1,43 @@
\newpage
\subsection{Nichtdeterministische Turingmaschinen}
Die Ideen sind hier sehr ähnlich wie der Übergang zwischen deterministischen und nichtdeterministischen Endlichen Automaten.
\begin{definition}[]{Nichtdeterministische Turingmaschine (NTM)}
\begin{scriptsize}
Hier werden nur die wichtigsten Unterschiede aufgezeigt. Formale Definition auf Seiten 113ff. (= Seiten 127ff im PDF) im Buch.
\end{scriptsize}
Die Übergangsfunktion geht wieder in die Potenzmenge, also gilt:
\rmvspace
\begin{align*}
\delta : (Q - \{ \qacc, \qrej \}) \times \Gamma \rightarrow \mathcal{P}(Q \times \Gamma \times \{ L, R, N \})
\end{align*}
\rmvspace
und $\delta(p, \cent) \subseteq (\{ (q, \cent, X) \divides q \in Q, X \in \{R, N\} \})$\\
Die von der NTM $M$ akzeptierte Sprache ist:
\rmvspace
\begin{align*}
L(M) = \{ w \in \word \divides q_0\cent w \bigvdash{M}{*}y\qacc z \text{ für irgendwelche } y, z \in \Gamma^* \}
\end{align*}
\end{definition}
Ein gutes Beispiel für eine NTM findet sich auf Seiten 114ff. im Buch (= Seite 128ff. im PDF)
\begin{definition}[]{Berechnungsbaum}
Ein Berechnungsbaum $T_{M, x}$ von $M$ (eine NTM) auf $x$ (Wort aus Eingabealphabet von $M$) ist ein (potentiell un)gerichteter Baum mit einer Wurzel:
\begin{enumerate}[label=\textit{(\roman*)}]
\item Jeder Knoten von $T_{M, x}$ ist mit einer Konfiguration beschriftet
\item Die Wurzel ist der einzige Knoten mit $\deg_{\text{in}}(v) = 0$, ist die Startkonfiguration $q_0\cent x$
\item Jeder mit $C$ beschriftete Knoten hat genauso viele Kinder wie $C$ Nachfolgekonfigurationen hat und die Kinder sind mit diesen Nachfolgekonfigurationen markiert.
\end{enumerate}
\end{definition}
Diese Bäume können natürlich auch für nichtdeterministischen MTM verwendet werden.
Im Vergleich zu den Berechnungsbäumen von NEA sind die Bäume von NTM nicht immer endlich.
\inlinetheorem Sei $M$ eine NTM. Dann existiert eine TM $A$, so dass $L(M) = L(A)$
und falls $M$ keine unendlichen Berechnungen auf Wörtern aus $(L(M))^C$ hat, dann hält $A$ immer.
\inlineproof Auf Seite 117 im Buch (= 131 im PDF). Die Idee zur Umwandlung von $M$ in die TM $A$ ist, dass $A$ Breitensuche im Berechnungsbaum von $M$ durchführt.