Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mehr zeug von mika h23 #14

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions sol/thinf/f23t1/a4.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
\subsubsectionwithauthor[author={Mika Landeck},email={mika.landeck@fau.de}]{Aufgabe 4: Komplexität}

\paragraph{(a)}m
Die NP-Härte von $SC$ wird durch eine polynomielle Reduktion auf das bereits als NP-vollständig deklarierte Problem $2VDP$ nachgewiesen. Dazu wird eine totale und berechenbare Funktion $f$ benötigt, die Probleme aus $2VDP$ als kodierte Wörter auf Probleme aus $SC$ abbildet:

Sei $f:\Sigma^*\rightarrow \Sigma^*$ definiert über

$f(w)=\begin{cases}
c(V,E\cup \{(s_2,t_1),(t_2,s_1)\},(s_2,t_1),(t_2,s_1))&, falls\ w=c(V,E,s_1,s_2,t_1,t_2)\\
&mit\ einem\ Graph\ G=(V,E)\\
&und\ s_1,s_2,t_1,t_2 \in V\\
\varepsilon &, sonst
\end{cases}$

Die hinter der Konstruktion liegende Idee wird durch folgende Grafik veranschaulicht:

\includegraphics[width=0.5\textwidth]{./sol/thinf/f23t1/skizze_reduktion.png}

$f$ ist offensichtlich total. Außerdem lässt sich eine DTM konstruieren, die $f$ in polynomieller Laufzeit berechnet:
\begin{itemize}
\item Syntaxcheck, ob $w=c(V,E,s_1,s_2,t_1,t_2)$ mit einem Graph $G=(V,E)$ und $s_1,s_2,t_1,t_2 \in V$ (in $O(|V|+|E|)=O(n)$)
\item Passendes zusammensetzen der Ausgabe zu $c(V,E\cup \{(s_2,t_1),(t_2,s_1)\},(s_2,t_1),(t_2,s_1))$ (in $O(1)$)
\end{itemize}

Es bleibt noch zu zeigen, dass $w \in 2VDP \Leftrightarrow f(w) \in SC$ gilt. Dies beweisen folgende Äquivalenzumformungen ($\forall w \in \Sigma^*$):
\begin{align*}
w \in 2VDP \Longleftrightarrow\ &w=c(V,E,s_1,s_2,t_1,t_2)\ mit\ Graph\ G=(V,E)\ und\ s_1,s_2,t_1,t_2 \in V\\
&\wedge\ \exists\ Pfade\ p_1=s_1...s_2\ und\ p_2=t_1...t_2\ in\ G: \forall\ u \in p_1,\ v \in p_2: u\neq v\\
\Leftrightarrow\ &f(w)=c(V,E\cup \{(s_2,t_1),(t_2,s_1)\}=E',(s_2,t_1),(t_2,s_1))\ mit\ Graph\\
&\ G'=(V,E')\ und\ s_1,s_2,t_1,t_2 \in V\ \wedge\ \exists\ Pfade\ p_1=s_1...s_2\ und\ p_2=t_1...t_2\ in\ G':\\
&\ \forall\ u \in p_1,\ v \in p_2: u\neq v\\
\Leftrightarrow\ &f(w)=c(V,E',(s_2,t_1),(t_2,s_1))\ mit\ Graph\ G'=(V,E')\ und\ (s_2,t_1),(t_2,s_1) \in E'\\
&\ \wedge\ \exists\ Pfad\ p=s_1...s_2t_1...t_2s_1\ in\ G':\ \forall\ n,m \leq k:=|p| : p_n\neq p_m,\ außer\ p_1=p_k \\
\Leftrightarrow\ &f(w) \in SC
\end{align*}
\textit{Informelle Beschreibung: Zusammensetzen der zwei knoten-disjunkten Pfade über zwei neue Kanten, die jeweils die Endpunkte verbinden, zu einem einfachen Kreis.}

Somit gilt $2VDP \leq_p SC$ und da $2VDP$ NP-vollständig ist, muss $SC$ NP-hart sein.

Um noch zu zeigen, dass $SC$ in NP liegt, muss eine NTM skizziert werden, die $SC$ in polynomieller Zeit entscheidet:
\begin{enumerate}
\item Starte mit einem leeren Pfad durch den Graphen ($O(1)$).
\item Rate nun aus den vom letzten Knoten aus erreichbaren Knoten, die noch nicht im Pfad vorkommen (außer dem Startknoten), nichtdeterministisch den nächsten Knoten des Pfades, sodass am Ende (falls dieser existiert) ein Simple Circle gefunden wird ($O(n)$).
\item Wiederhole den vorherigen Schritt solange, bis der Startknoten wieder erreicht wird - in diesem Fall wurde eine Lösung gefunden $\Rightarrow$ halten und akzeptieren - oder keine weiteren Knoten hinzugefügt werden können - in diesem Fall gibt es keine Lösung $\Rightarrow$ halten und nicht akzeptieren ($O(n)$).
\end{enumerate}

Es folgt, dass $SC$ in NP liegt und somit NP-vollständig ist.

\paragraph{(b)}m
Folgender Algorithmus löst USC:
\begin{enumerate}
\item Überprüfe, ob $e_1 = e_2$.
\item Falls $e_1 = e_2$ und $e_1=(e_1',e_1''),\ e_2=(e_2',e_2'')$ starte A unter Eingabe $e_1',e_1'',e_2'',e_2'$ \begin{itemize}
\item Falls A eine Lösung ausgibt, ist der Pfad $p=p_1\circ p_2$ eine Lösung von USC
\item Falls A keine Lösung findet, gibt es auch für USC keine Lösung
\end{itemize}
\item Falls $e_1 \neq e_2$ und $e_1=(e_1',e_1''),\ e_2=(e_2',e_2'')$ starte A unter Eingabe $e_1'',e_2'',e_2',e_1'$ \begin{itemize}
\item Falls A eine Lösung ausgibt, ist der Pfad $p=p_1\circ e_2'e_2''\circ p_2\circ e_1'e_1''$ eine Lösung von USC
\item Falls A keine Lösung findet, gibt es auch für USC keine Lösung
\end{itemize}
\end{enumerate}
\textit{Anmerkung: $\circ $ meint hier die Aneinanderreihung oder Konkatenation von Pfaden. Dabei werden die Knoten in den Pfaden zusammen hintereinander geschrieben, wobei der letzte Knoten des ersten Pfades mit dem ersten Knoten des zweiten Pfades übereinstimmen muss und nur einmal nidergeschrieben wird. Bsp.: $abc\circ cde=abcde,\ \forall a,b,c,d,e \in V$.}

\textbf{Laufzeitanalyse:}\\
Die Überprüfung in Schritt 1, das Starten von A sowie die Überprüfung und Rückgabe in Schritt 2 und 3 laufen jeweils in $O(1)$. Der Durchlauf von A in Schritt 2 und 3 hat höchstens eine polynomielle Laufzeit in der Größe der Eingabe, da U2VDP in $\mathcal{P}$ liegt.\\
Somit hat der beschriebene Algorithus insgesamt höchstens eine polynomielle Laufzeit in der Größe der Eingabe.

Folglich liegt USC in $\mathcal{P}$.

5 changes: 5 additions & 0 deletions sol/thinf/h23t1.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
\subsection{H23T1}
\input{sol/thinf/h23t1/a2}
\input{sol/thinf/h23t1/a3}
\input{sol/thinf/h23t1/a4}
\input{sol/thinf/h23t1/a5}
Binary file added sol/thinf/h23t1/Ableitungsbaum.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sol/thinf/h23t1/CYK-Pyramide.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sol/thinf/h23t1/DEA zu Klammersprache.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sol/thinf/h23t1/DEA_T1_A1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added sol/thinf/h23t1/Tabellenfüllverfahren.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
108 changes: 108 additions & 0 deletions sol/thinf/h23t1/a1.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
\subsubsectionwithauthor[author={Mika Landeck},email={mika.landeck@fau.de}]{Aufgabe 1: Reguläre Sprachen}
\paragraph{(a)}
$L_a = \{w \in \Sigma^* | \nexists u,u' \in \Sigma^*: w =u(ab)u'\} = ((b|c)^*(a^*c)^*(b|c)^*)^*a^*$

\textbf{Erklärung}: \\
Alle Wörter in $L_a$ setzen sich aus Teilworten zusammen, die eine zusammenhängendes Teilwort beliebiger Länge aus $a$'s enthalten. Vor und nach dem $a$-Block dürfen beliebige Wörter aus $b$'s und $c$'s vorkommen (deshalb $(b|c)^*$ in regulären Ausdruck). Sobald ein $a$ erscheint, dürfen weitere $a$'s folgen (deshalb $a^*$ in regulären Ausdruck) oder ein $c$ (deshalb folgt auf $a^*$ immer das $c$, außer am Ende des Wortes). Es müssen auch gar keine $a$'s vorkommen (dehalb sind alle Bestandteile, in denen $a$'s vorkommen, mit $^*$ versehen).

\paragraph{(b)}
$L_b = L(M) = a^*|(a^* ba^* ba^* ba^* ba^*)^*$.

\textbf{Begründung}: \\
Anfangs befinden wir uns in einem Endzustand, der beliebig viele weitere $a$'s zulässt (deshalb $a^*$ in regulären Ausdruck).\\
Verlässt man diesen Endzustand über ein $b$, muss ein Zyklus mit genau vier $b$'s durchlaufen werden, zwischen denen jeweils beliebig viele $a$'s liegen dürfen, bevor wieder der Endzustand erreicht wird (deshalb $a^* ba^* ba^* ba^* ba^*$ in regulären Ausdruck). Dieser Zyklus kann beliebig oft durchlaufen werden (deshalb das $^*$ bei der rechten Klammer im regulären Ausdruck).

\paragraph{(c)}
Zur besseren Übersicht wird zunächst die \textbf{Zustandsübergangs-Tabelle} des Automaten aufgestellt:\\
\begin{tabular}{|c|c|c|}
\hline
\textbf{Zustand} & \textbf{0} & \textbf{1} \\
\hline
0 & 1 & 3 \\
\hline
1 & 0 & 6 \\
\hline
2 & 1 & 4 \\
\hline
3 & 4 & 4 \\
\hline
4 & 4 & 5 \\
\hline
5 & 0 & 5 \\
\hline
6 & 0 & 5 \\
\hline
\end{tabular}

Um die Erreichbarkeit aller Zustände zu überprüfen wird eine \textbf{Zeugentabelle} angefertigt:\\
\begin{tabular}{l|ccccccc}
\textbf{Zustand} & 0 & 1 & 2 & 3 & 4 & 5 & 6 \\
\hline
\textbf{Zeuge} & $\epsilon$ & 0 & - & 1 & 11 & 111 & 01 \\
\end{tabular}
Zustand 2 ist also nicht erreichbar, deshalb entfällt er im minimierten Automaten.

Nun wird das bekannte \textbf{Tabellenfüllverfahren} zur Bestimmung äquivalenter Zustände durchgeführt:

\includegraphics[scale=0.7]{Tabellenfüllverfahren.png}

Da Zusatnd 4 der einzige Endzustand ist, werden zunächst alle Zustandspaare in der Tabelle, die 4 und einen weiteren Zustand enthalten, mit $X_0$ markiert.

Die weiteren Markierungen in der Tabelle gehen aus folgender Tabelle hervor, welche die Übergänge der Zustandspaare angibt:

\begin{tabular}{c|c|c|l}
\textbf{Zustandspaar} & \textbf{0} & \textbf{1} & \textbf{Erläuterung} \\
\hline
(0,1) & (0,1) & (3,6) & Eingabe 1: (3,6) führt zu X3. Ergänze X5. \\
\hline
(0,3) & (1,4) & (3,4) & Eingabe 0: (1,4) führt zu X0. Ergänze X1. \\
\hline
(1,3) & (0,4) & (4,6) & Eingabe 0: (0,4) führt zu X0. Ergänze X4. \\
\hline
(0,5) & (0,1) & (3,5) & Eingabe 0: (3,5) führt zu X2. Ergänze X6. \\
\hline
(1,5) & (0,0) & (5,6) & \\
\hline
(3,5) & (0,4) & (4,5) & Eingabe 0: (0,4) führt zu X0. Ergänze X2. \\
\hline
(0,6) & (0,1) & (3,5) & Eingabe 1: (3,5) führt zu X2. Ergänze X7. \\
\hline
(1,6) & (0,0) & (5,6) & \\
\hline
(3,6) & (0,4) & (4,5) & Eingabe 0: (0,4) führt zu X0. Ergänze X3. \\
\hline
(6,5) & (0,0) & (5,5) & \\
\end{tabular}

Die Zuständspaare 1, 5 und 6 bleiben nach wiederholtem Durchlaufen und Überprüfen unmarkiert. Folglich liegen 1, 5 und 6 in der selben Äquivalentsklasse und bilden im minimietern Automaten den Zustand $[1,5,6]$. Insgesamt ergeben sich also folgende Äquivalenzklassen als Zustände für den minimierten Automaten: $[0],[1,5,6],[3],[4]$

Der minimierte Automat $A'$ sieht also folgendermaßen aus: \\
$A' = (\{[0],[1,5,6],[3],[4] \},\{0,1\},\delta, [0], \{[4]\})$

\begin{figure}[ht]
\begin{minipage}[t]{.4\textwidth}
\hspace*{25pt}
mit $\delta$:

\hspace*{25pt}
\begin{tabular}{|l|l|l|}
\hline
\textbf{Zustand} & \textbf{0} & \textbf{1} \\
\hline
[0] & [1,5,6] & [3] \\
\hline
[1,5,6] & [0] & [1,5,6] \\
\hline
[3] & [4] & [4] \\
\hline
[4] & [4] & [1,5,6] \\
\hline
\end{tabular}
\end{minipage}
\begin{minipage}[t]{.57\textwidth}
\vspace*{0pt}
\hspace*{20pt}
\includegraphics[scale=0.35]{DEA_T1_A1.png}
\end{minipage}
\end{figure}

35 changes: 35 additions & 0 deletions sol/thinf/h23t1/a2.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
\subsubsectionwithauthor[author={Mika Landeck},email={mika.landeck@fau.de}]{Aufgabe 2: Kontextfreie Sprachen}

\paragraph{(a)}
Ja, das Wort \glqq abba\grqq\ ist mit $G$ ableitbar und liegt somit in $L(G)$, wie mit dem CYK-Algorithmus nachgewiesen werden kann:

\begin{center}
\includegraphics[scale=0.45]{CYK-Pyramide.png}
\end{center}

Der Ableitungsbaum lässt sich aus der Tabelle ablesen:

\begin{center}
\includegraphics[scale=0.7]{Ableitungsbaum.png}
\end{center}

\paragraph{(b)}
\begin{enumerate}[label=\roman*.]
\item
Es gilt: $K\cdot R = \{k\circ r\ |\ \forall k \in K, r \in R\}$

Die regulären Sprachen sind eine Teilmenge der kontextfreien Sprachen.
Also ist auch $R$ kontextfrei. Kontextfreie Sprachen sind abgeschlossen unter \emph{Verkettung}: \\
Sei $G_1 = (N_1, \Sigma_1, P_1, S_1)$ die kontextfreie Grammatik, welche $K$ erzeugt, und $G_2 = (N_2, \Sigma_2, P_2, S_2)$ die kontextfreie Grammatik, welche $R$ erzeugt. Dann kann eine kontextfreie Grammatik $G$ konstruiert werden, welche die Verkettung von $K$ und $R$ erzeugt:\\
Man ergänze dafür ein neues Startsymbol $S$, sowie eine neue Produktionsregel $S \rightarrow S_1S_2$ und erhält $G = (N_1 \cup N_2 \cup \{S\}, \Sigma_1 \cup \Sigma_2, P_1 \cup P_2 \cup \{S \rightarrow S_1S_2\}, S)$.\\
Da $L(G)=K\cdot R$ ist diese Sprache kontextfrei.

Die Aussage ist also wahr.

\item
$L'$ ist bekanntermaßen nicht kontextfrei. Die Sprache $K = \{a^n\ |\ n \in \mathbb{N}_0\}$ über dem Alphabet $\Sigma = \{a,b,c\}$ ist regulär - denn es gilt $K = a^*$, also gibt es einen regulären Ausdruck für $K$ - und somit auch kontextfrei.\\
Allerdings gilt auch für $K \circ L' = \{a^nb^mc^m\ |\ n,m \in \mathbb{N}_0\}$, das die Sprache regulär, mit Ausdruck: $K \circ L'= a^*(bc)^*$, und somit kontextfrei ist.

Dieses Gegenbeispiel beweist, dass die Aussage falsch ist.

\end{enumerate}
48 changes: 48 additions & 0 deletions sol/thinf/h23t1/a3.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
\subsubsectionwithauthor[author={Mika Landeck},email={mika.landeck@fau.de}]{Aufgabe 3: Chomsky-Hierarchie}

\paragraph{(a)}
$L_1 = \{ w \in L: vor\ jedem\ (\ stehen\ mehr\ [\ als\ ] \}$

\begin{quote}
\textbf{Pumpinglemma für kontextfreie Sprachen} \\
Ist $L$ eine kontextfreie Sprache, so gilt: \\
$\exists p \in \mathbb{N}: \forall z \in L, |z| \geq p:$ \\
$\exists u,v,w,x,y \in \Sigma^*: z = uvwxy$ mit
\begin{enumerate}
\item $|vx| \geq 1$
\item $|vwx| \leq p$
\item $\forall i \in \mathbb{N} : uv^{i}wx^{i}y \in L$
\end{enumerate}
\end{quote}

Nehmen wir an $L_1$ sei kontextfrei, dann können wir das Pumpinglemma anwenden und folgern:

Sei $p \in \mathbb{N}$ die Pumpingzahl. Wir wählen $z = [^p(]^p)] \in L_1$ mit $|z| = 2p+2 > p$.\\
Aus $|vwx| \leq p$ und $|vx| \geq 1$ ergeben sich für die Form von $vwx$ folgende Fälle:
\begin{enumerate}
\item $v=[^k$ und $x=[^l$ mit $p \geq k+l \geq 1$
\item $v=[^k$ und $x=[^l(]^m$ mit $p-1 \geq k+l+m \geq 0$
\item $v=[^k(]^l$ und $x=]^m$ mit $p-1 \geq k+l+m \geq 0$
\item $v=]^l$ und $x=]^m$ mit $p \geq l+m \geq 1$
\item $v=]^l$ und $x=]^m)$ mit $p-1 \geq l+m \geq 0$
\end{enumerate}

In Fall 1 ist $uv^2wx^2y=[^{p+k+l}(]^{p}) \notin L_1$, da $p+k+l > p$ und somit liegt keine korrekte Klammerung mehr vor.\\
In Fall 2 ist $uv^2wx^2y=[^{p+k}(]^{m}[^{l}(]^{p}) \notin L_1$, da zwei $($ und nur eine $)$ vorkommen. Somit liegt keine korrekte Klammerung vor.\\
In Fall 3 ist $uv^2wx^2y=[^{p}(]^{l}[^{k}(]^{p+m}) \notin L_1$, da zwei $($ und nur eine $)$ vorkommen. Somit liegt keine korrekte Klammerung vor.\\
In Fall 4 ist $uv^2wx^2y=[^{p}(]^{p+l+m}) \notin L_1$, da $p+l+m > p$ und somit liegt keine korrekte Klammerung mehr vor.\\
In Fall 5 ist $uv^2wx^2y=[^{p}(]^{p+l})]^{m}) \notin L_1$, da zwei $)$ und nur eine $($ vorkommen. Somit liegt keine korrekte Klammerung vor.

Das ist ein Widerspruch zur Annahme $L_1$ sei kontextfrei. $\Rightarrow L_1$ ist nicht kontextfrei $\Rightarrow L_1$ ist nicht regulär, da die regulären Sprachen eine Teilmenge der kontextfreien Sprachen bilden.

\vspace{0.3cm}
\paragraph{(b)}
$L_2 = \{ w \in L: auf\ jede\ \ddot{o}ffnende\ Klammer\ folgt\ direkt\ eine\ schließende\ Klammer \}$

Zu $L_2$ lässt sich folgender DEA bauen, der sie akzeptiert:
\begin{center}
\includegraphics[scale=0.5]{DEA zu Klammersprache.png}
\end{center}

Somit ist $L_2$ regulär und damit auch kontextfrei, denn die regulären Sprachen sind eine Teilmenge der kontextfreien Sprachen.

68 changes: 68 additions & 0 deletions sol/thinf/h23t1/a4.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
\subsubsectionwithauthor[author={Mika Landeck},email={mika.landeck@fau.de}]{Aufgabe 4: Entscheidbarkeit}


\paragraph{(a)}
$L_{1}$ ist nicht entscheidbar.

Die Nicht-Entscheidbarkeit von $L_1$ wird durch eine Reduktion auf das bereits als unentscheidbar bekannte allgemeine Halteproblem $L_2$ nachgewiesen (siehe (b)). Dazu wird eine totale und berechenbare Funktion $f$ benötigt, für die $f(w) \in L_1 \Leftrightarrow w \in L_2$ gilt. Sei $f:\Sigma^*\rightarrow \Sigma^*$ definiert über:

$f(w)=\begin{cases}
\langle M' \rangle &\text{falls $w=\langle M \rangle$ für TM $M$}\\
0 &\text{sonst}
\end{cases}$

Dabei ist $M'$ eine TM, die $2^{|\langle N \rangle|}$ Schritte vollführt, ohne irgendetwas zu berechnen, und dann $M$ auf der Eingabe $\langle N \rangle$ simuliert.

Die Funktion $f$ ist offensichtlich total. Außerdem lässt sich $f$ berechnen:
\begin{itemize}
\item Syntaxcheck der Eingabe auf $\langle M \rangle$
\item $2^{|\langle N \rangle|}$ Übergänge ohne irgendetwas zu verändern (außer den Zuständen zum zählen)
\item Simulieren von $M$ auf $\langle N \rangle$ (universelle Turingmaschine).
\end{itemize}

Es bleibt noch zu zeigen, dass $w \in L_2 \Leftrightarrow f(w) \in L_1$ gilt. Dies beweisen folgende Äquivalenzumformungen ($\forall w \in \Sigma^*$):
\begin{align*}
w \in L_2 \Longleftrightarrow\ &w = \langle M \rangle \text{ mit TM } M \text{ hält auf } \langle N \rangle \\
\Leftrightarrow\ &f(w) = \langle M' \rangle \text{ mit TM } M' \text{ hält auf } \langle N \rangle \text{ nach mindestens } 2^{|\langle N \rangle|} \text{ Schritten}\\
\Leftrightarrow\ &f(w) \in L_1
\end{align*}
Somit gilt $L_2 \leq L_1$ und da $L_2$ unentscheidbar ist, muss auch $L_1$ unentscheidbar sein.


\paragraph{(b)}
$L_{2}$ ist nicht entscheidbar.

Die Nicht-Entscheidbarkeit von $L_2$ wird durch eine Reduktion auf das bereits als unentscheidbar bekannte Halteproblem $L_{halt}=\{\langle M \rangle w | M \text{ ist TM, die auf } w \text{ hält} \}$ nachgewiesen. Dazu wird eine totale und berechenbare Funktion $f$ benötigt, für die $f(w) \in L_2 \Leftrightarrow w \in L_{halt}$ gilt. Sei $f:\Sigma^*\rightarrow \Sigma^*$ definiert über:

$f(w)=\begin{cases}
\langle M' \rangle &\text{falls $w=\langle M \rangle v$ für TM $M$ und $v \in \Sigma^*$}\\
0 &\text{sonst}
\end{cases}$

Dabei ist $M'$ eine TM, die auf $\langle N \rangle$ hält, genau dann wenn $M$ auf $v$ hält. $M'$ lässt sich wie folgt konstruieren:
\begin{itemize}
\item Überprüfung der Eingabe $u$. Falls $u \neq \langle N \rangle$ in Endlosschleife laufen.
\item Ansonsten löschen der Eingabe und schreiben von $v$ aufs Band.
\item Simulieren von $M$ auf $v$. Falls $M$ auf $v$ hält, hält auch $M'$.
\end{itemize}

Die Funktion $f$ ist offensichtlich total. Außerdem kann $f$ ihr Bild $M'$ nach dem eben beschriebenen Vorgehen berechnen und ist somit berechenbar (löschen von $\langle M \rangle v$ und schreiben von $\langle M' \rangle$ aufs Band).

Es bleibt noch zu zeigen, dass $w \in L_{halt} \Leftrightarrow f(w) \in L_2$ gilt. Dies beweisen folgende Äquivalenzumformungen ($\forall w \in \Sigma^*$):
\begin{align*}
w \in L_{halt} \Longleftrightarrow\ &w = \langle M \rangle v \text{ mit TM } M \text{ hält auf } v \\
\Leftrightarrow\ &f(w) = \langle M' \rangle \text{ mit TM } M' \text{ hält auf } \langle N \rangle \\
\Leftrightarrow\ &f(w) \in L_2
\end{align*}

Somit gilt $L_{halt} \leq L_2$ und da $L_{halt}$ unentscheidbar ist, muss auch $L_2$ unentscheidbar sein.


\paragraph{(c)}
$L_3$ ist entscheidbar.

Da $L(N)=\Sigma^*$ muss $N$ auf jedem $w \in \Sigma^*$ halten, um dieses zu akzeptieren. Folglich ist die Menge der Worte über $\Sigma$, auf denen $N$ nicht hält, die leere Menge. Man kann $L_3$ also umschreiben zu:\\
$L_3= \{\langle M\rangle | M\ h\ddot{a}lt\ auf\ mindestens\ einem\ w \in \varnothing \}$

Da es kein solches $w$ gibt, kann es auch kein $M$ geben, welches auf $w$ hält. Folglich ist $L_3 = \varnothing$ und somit regulär und auch entscheidbar.

Loading