You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

196 lines
6.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{multicol}
\usepackage{booktabs}
\usepackage{pstricks}
\usepackage{pst-node}
\usepackage[paper=a4paper,left=30mm,right=20mm,top=20mm,bottom =25mm]{geometry}
\usepackage[
pdftitle={Berechenbarkeits.- Komplex.Th.},
pdfsubject={Mitschrift der Vorlesung "Berechenbarkeits.- Komplex.Th." an der HTW-Aalen, bei Herrn Thierauf.},
pdfauthor={Thomas Battermann},
pdfkeywords={Berechenbarkeits.- Komplex.Th.},
pdfborder={0 0 0}
]{hyperref}
\usepackage{tabularx}
%\usepackage{graphicx}
\usepackage{color}
\usepackage{lastpage}
\usepackage{fancyhdr}
\setlength{\parindent}{0ex}
\setlength{\parskip}{2ex}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\definecolor{darkgreen}{rgb}{0,0.5,0}
\definecolor{darkblue}{rgb}{0,0,0.5}
\pagestyle{fancy} %eigener Seitenstil
\fancyhf{} %alle Kopf- und Fußzeilenfelder bereinigen
\fancyhead[L]{Berechenbarkeits.- Komplex.Th.} %Kopfzeile links
\fancyhead[C]{Semester 3} %zentrierte Kopfzeile
\fancyhead[R]{WS 2011/2012} %Kopfzeile rechts
\renewcommand{\headrulewidth}{0.4pt} %obere Trennlinie
\fancyfoot[C]{Seite \thepage\ von \pageref{LastPage}}
\renewcommand{\footrulewidth}{0.4pt} %untere Trennlinie
\newcommand{\spa}{\hspace*{4mm}}
\newcommand{\defin}{\textcolor{darkgreen}{\textbf{Def.: }}}
\newcommand{\rrfloor}{\right\rfloor}
\newcommand{\llfloor}{\left\lfloor}
\title{Berechenbarkeits.- Komplex.Th.}
\author{Mitschrift von Thomas Battermann}
\date{3. Semester}
\begin{document}
\pagestyle{empty}
\maketitle\thispagestyle{empty}
\tableofcontents\thispagestyle{empty}
\newpage
\pagestyle{fancy}
\setcounter{page}{1}
\section{Turingmaschinen}
Eingabe und Arbeitsband
\begin{tabular}{c|c|c|c|c|c|c}
\hline
& \color{orange}{\(x_1\)} & \(x_2\) & \(x_3\) && \(x_n\) & \\
\hline
\end{tabular}
{\color{orange}Lese- Schreibkopf}
Abhängig vom Zustand und vom gelesenen Zeichen auf dem Band kann die Maschine:
\begin{itemize}
\item den Zustand wechseln
\item das gelesene Zeichen überschreiben
\item den Lese-Schreib-Kopf um \( \lt 1\) Feld auf dem Band nach links oder rechts bewegen.
\end{itemize}
Formal:\\
Ein \underline{Turingmaschine} (TM) M hat 8 Komponenten,\\
\spa \( M = (Z, \Sigma, \Gamma, \delta, Z_0, Z_a, Z_V,\Box ) \)\\
wobei:
\begin{itemize}
\item \(Z\) Zustände
\item \(\Sigma\) Eingabealphabet
\item \(\Gamma\) Arbeitalphabet
\item \(Z_0\) Anfangszustand
\item \(Z_a\) akzeptierender Zustand
\item \(Z_V\) verwerfender Zustand
\item \(\Box\) Blank \( \in \Rho \) \(\Sigma\)
\end{itemize}
Die Übergangsfunktion S,\\
\spa \( \delta: Z \times \Gamma \to Z \times \Gamma \times \{ L,N,R \} \)\\
D.\,h. typische Anweisung ist\\
\spa \( \delta(z,a) = (Z',b,x) \)\\
Wenn M im Zustand z ist und das Zeichen a liest, dann wechselt M in den Zustand \(Z'\), überschreibt a mit b und bewegt den Lese-Schreibkopf um ein Feld nach links, falls \( X=L\)
\begin{itemize}
\item um ein Feld nach rechts, falls \( X=R\)
\item bleibt stehen, falls \( X=N\)
\end{itemize}
Rechnung von M auf Eingabe \( x = x_1 … x_n \in \Sigma^x \):\\
Initial steht x auf dem Eingabeband und der Lese-Schreibkopf auf dem 1. Zeichen \(x_1\) .\\
Links und rechts der Eingabe steht \(\Box\) auf allen Feldern (Beidseitig unbeschränktes Band).\\
Anfangszustand ist \(Z_0\)
Dann fährt die Maschine Schritte gemäß \(\delta\). Die Rechnung stoppt, wenn \(Z_a\) oder \( Z_V\) erreicht wird. x wird akzeptiert, falls \(Z_a\) erreicht wird, sonst wird x verworfen.
Die von \underline{M akzeptierte Sprache} ist\\
\spa \( L(M) = \{ x \in \Sigma* \mid M \text{ akzeptiert } x \} \)
Bsp. Sei \( \Sigma = \{ 0,1 \} \)\\
\spa Berechne \(f(x) = x+1 \)\\
\begin{tabular}{c|c|c|c|c}
\hline
\(\Box\) & 1& 0 & 1 & \(\Box\) \\
\hline
\end{tabular} \( \to \)
\begin{tabular}{c|c|c|c|c}
\hline
\(\Box\) & 1& 1 & 0 & \(\Box\) \\
\hline
\end{tabular}
Der berechnete Funktionswert ist definiert als das Wort \( \in \Sigma* \) von der Position des Lese-Schreibkopfs nach rechts, bis zu 1. Blank.\\
In \(Z_a\).
\( \sigma(Z_0,0) = (Z_0, 0, R) \)\\
\( \sigma(Z_0,1) = (Z_0, 1, R) \)\\
\( \sigma(Z_0,\Box) = (Z_1, \Box, L) \)\\
\( \sigma(Z_1,0) = (Z_2, 1, L) \)\\
\( \sigma(Z_1,1) = (Z_1, 0, L) \)\\
\( \sigma(Z_2,0) = (Z_2, 0, L) \)\\
\( \sigma(Z_2,1) = (Z_2, 1, L) \)\\
\( \sigma(Z_2,\Box) = (Z_a, \Box, R) \)\\
\( \sigma(Z_1,\Box) = (Z_a, 1, N) \)
Als Diagramm
% TODO
\( L = \{ 0^{2^n} \mid n \ge 0 \} \)\\
\( 0, 00, 0^4, 0^8, …\)
\begin{tabular}{c|c|c|c|c|c}
\hline
& 0 & 0 & 0 & 0 & \\
\hline
\end{tabular}
\begin{enumerate}
\item Vorschlag: Zähle\\
\begin{tabular}{c|c|c|c|c|c}
\hline
& \( \not0\) & 0 & … 0 & \( \Box \) & 0\\
\hline
\end{tabular}
\item Vorschlag:\\
\begin{enumerate}
\item streiche jede 2. Null, teste dabei, ob Anzahl gerade
\item iteriere Schritt 1\\
bis nur noch eine Null bleibt.\\
% TODO: Diagramm
\( 0000 \to 0x0x \to 0xxx \)
\end{enumerate}
\end{enumerate}
\subsection{Erweiterungen}
\subsubsection{Mehrband-Turingmaschine}
Turingmaschine mit fester Anzahl k von Bändern. Davon eins ausgezeichnet für die Eingabe.\\
\( \delta: Z \times \Gamma^k \to Z \times \Gamma^k \times \{ L,N,R \}^k \)
Bsp.:\\
\( \delta(Z,a,b) = \delta(Z', c,d,L,R) \)
Bsp.: \( L = \left\{ w \# w \mid w \in \{0,1\}^k \right\} \)\\
\( 100\#100 \to x00\#x00\)
\underline{2-Band-Turingmaschine}\\
kopiert w auf 2. Band\\
\spa \( \delta(Z_0, a, \Box) = (Z_0,a,a,R,R) \) für \( a \in \{1,0\}\)\\
\spa \( \delta(Z_0, \#,\Box) = (Z_1, \#,\Box, N,L) \)\\
\spa \( \delta(Z_1, \#,\Box) = (Z_1, \#,a, N,L)\)\\
\spa \( \delta(Z_1, \#,\Box) = (Z_2, \#,\Box,R,R) \)\\
\spa \( \delta(Z_2, a,a) = (Z_2,a,a,R,R) \)\\
\spa \( \delta(Z_2, \Box,\Box) = (Z_a, \Box,\Box,N,N) \)
Alles was fehlt geht nach \( Z_V \)
\subsubsection{Nichtdeterministische Turingmaschine (NTM)}
Definiert wie Turingmaschine, mit:\\
\spa \( \delta: Z\times \Gamma \to \mathcal{P}(Z \times \Gamma \times \{ L,N,R \}) \)\\
z.\,B. \( \delta(Z,a) = \{ (Z_1,b,L) , (Z_2,c,N) \} \)
M akzeptiert x, falls es eine akzeptierende Rechnung gibt.
\end{document}