To receive notifications about scheduled maintenance, please subscribe to the mailing-list gitlab-operations@sympa.ethz.ch. You can subscribe to the mailing-list at https://sympa.ethz.ch

Commit fdd00857 authored by Theo von Arx's avatar Theo von Arx
Browse files

Add Halting Problem

parent 6f353c8e
...@@ -26,6 +26,9 @@ ...@@ -26,6 +26,9 @@
\usepackage{trfsigns} \usepackage{trfsigns}
\usepackage{subcaption} \usepackage{subcaption}
% Programm code
\usepackage{listings}
\makeindex \makeindex
......
...@@ -224,7 +224,30 @@ Definition: Eine Touring Maschine (TM) ist ein 7-Tuple $M = (Q, \Sigma, \Gamma, ...@@ -224,7 +224,30 @@ Definition: Eine Touring Maschine (TM) ist ein 7-Tuple $M = (Q, \Sigma, \Gamma,
Ein String $x$ ist akzeptiert von $M$, wenn, nachdem $x$ auf das Tape geschrieben wurde und der Tape Kopf der TM auf die Position am weitesten links gesetzt und die TM laufen gelassen wurde, M schlussendlich den akzeptierenden Zustand erreicht. Ein String $x$ ist akzeptiert von $M$, wenn, nachdem $x$ auf das Tape geschrieben wurde und der Tape Kopf der TM auf die Position am weitesten links gesetzt und die TM laufen gelassen wurde, M schlussendlich den akzeptierenden Zustand erreicht.
\subsection{Decidability?, Halting-Problem?} \subsection{Decidability}
A function is computable if there is an algorithm (according to the Church-Turing-Thesis a Turing machine is sufficient) that computes the function (in finite time).
\subsubsection{Halting-Problem}
The halting problem is an example of an undecidable problem. Essentially, you cannot write a computer program that decides whether another computer program ever terminates (or has an infinite loop) on some given input.
In pseudo code, we would like to have:
\begin{lstlisting}
procedure halting(program, input) {
if program(input) terminates
then return true
else return false
}
\end{lstlisting}
\begin{lstlisting}
procedure test(program) {
if halting(program, program) == true
then loop forever
else return
}
\end{lstlisting}
Proof, that there exists no such program: Run \texttt{test(test)}. The output of this program is not well defined.
\subsection{Beispiele - Kontextfreie Grammatiken} \subsection{Beispiele - Kontextfreie Grammatiken}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment