annotate notes/tex/computation.tex @ 31:777563904120

tenth sheet and notes
author Markus Kaiser <markus.kaiser@in.tum.de>
date Sun, 29 Jun 2014 16:58:20 +0200
parents b56fe50e0132
children 24d446e2f94c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1 \defineUnit{tmdefinition}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
2 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
3 \frametitle{Turingmaschinen}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
4 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
5
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
6 \begin{definition}[Turingmaschine]
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
7 Eine deterministische \structure{Turingmaschine (TM)} ist ein Tupel $M = (Q, \Sigma, \Gamma, \delta, q_0, \square, F)$ aus einer/einem
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
8 \begin{itemize}
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
9 \item endlichen Menge von \structure{Zuständen} $Q$
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
10 \item endlichen \structure{Eingabealphabet} $\Sigma$
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
11 \item endlichen \structure{Bandalphabet} $\Gamma$ mit $\Sigma \subset \Gamma$
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
12 \item \structure{Übergangsfunktion} $\delta : Q \times \Gamma \to Q \times \Gamma \times \left\{ L, R, N \right\}$
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
13 \item \structure{Startzustand} $q_0 \in Q$
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
14 \item \structure{Leerzeichen} $\square \in \Gamma \setminus \Sigma$
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
15 \item Menge von \structure{Endzuständen} $F \subseteq Q$
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
16 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
17 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
18 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
19 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
20
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
21 \defineUnit{tmvisualisierung}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
22 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
23 \frametitle{Turingmaschinen}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
24 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
25
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
26 \begin{definition}[Turingmaschine]
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
27 Eine deterministische \structure{Turingmaschine (TM)} ist ein Tupel $M = (Q, \Sigma, \Gamma, \delta, q_0, \square, F)$ aus einer/einem
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
28 \begin{itemize}
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
29 \item \structure{Übergangsfunktion} $\delta : Q \times \Gamma \to Q \times \Gamma \times \left\{ L, R, N \right\}$
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
30 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
31 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
32
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
33 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
34
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
35 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
36 \begin{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
37 % Tape
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
38 \begin{scope}[start chain, node distance=0]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
39 \node[on chain] {\ldots};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
40 \node[tape] {$\square$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
41 \node[tape] (l) {$\square$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
42 \node[tape] {$0$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
43 \node[tape] {$1$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
44 \node<1>[tape, active] (a){$0$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
45 \node<2>[tape] (a){$1$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
46 \node<1>[tape] (b){$0$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
47 \node<2>[tape, active] (b){$0$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
48 \node[tape] {$\square$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
49 \node[on chain] {\ldots};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
50 \end{scope}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
51
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
52 % Head
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
53 \node<1> [head,yshift=-4mm] at (a.south) (head) {$q_0$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
54 \node<2> [head,yshift=-4mm] at (b.south) (head) {$q_1$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
55
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
56 % Machine
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
57 \node[machine, below=1.5cm of l] (machine) {Programm};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
58 \draw[every edge] (machine) .. controls (3.5, -2) .. (head.south);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
59
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
60 % Example-Transition
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
61 \node[yshift=5mm] at (current bounding box.north) {$\delta(q_0, 0) = (q_1, 1, R)$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
62 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
63 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
64 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
65 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
66
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
67 \defineUnit{tmkonfiguration}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
68 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
69 \frametitle{Turingmaschinen}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
70 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
71
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
72 \begin{definition}[Konfiguration]
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
73 Eine \structure{Konfiguration} ist ein Tripel $(\alpha, q, \beta) \in \Gamma^* \times Q \times \Gamma^*$. \\
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
74 Dies modelliert eine TM mit:
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
75 \begin{itemize}
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
76 \item \structure{Bandinhalt} $\ldots\square\alpha\beta\square\ldots$
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
77 \item \structure{Zustand} $q$
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
78 \item Kopf auf dem \structure{ersten Zeichen} von $\beta\square$
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
79 \end{itemize}
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
80 Die \structure{Startkonfiguration} bei Eingabe $w \in \Sigma^*$ ist $(\epsilon, q_0, w)$.
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
81 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
82
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
83 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
84
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
85 \only<1> {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
86 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
87 \begin{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
88 % Tape
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
89 \begin{scope}[start chain, node distance=0]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
90 \node[on chain] {\ldots};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
91 \node[tape] {$\square$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
92 \node[tape] (l) {$\square$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
93 \node[tape] {$0$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
94 \node[tape] {$1$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
95 \node[tape] (a){$1$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
96 \node[tape, active] (b){$0$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
97 \node[tape] {$\square$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
98 \node[on chain] {\ldots};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
99 \end{scope}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
100
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
101 % Head
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
102 \node [head,yshift=-4mm] at (b.south) (head) {$q_1$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
103
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
104 % Machine
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
105 \node[below=1.5cm of l] (machine) {};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
106 \draw[every edge, dashed] (machine) .. controls (3.5, -2) .. (head.south);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
107
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
108 % Example-Transition
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
109 \node[yshift=5mm] at (current bounding box.north) {$(011,q_1,0)$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
110 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
111 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
112 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
113
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
114 \only<2> {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
115 \begin{definition}[Akzeptanz]
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
116 Eine TM $M$ \structure{akzeptiert} die Sprache
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
117 \[ L(M) = \left\{ w \in \Sigma^* \mid \exists \alert{f \in F}, \alpha, \beta \in \Gamma^* . (\epsilon, q_0, w) \rightarrow_M^* (\alpha, \alert{f}, \beta) \right\} \]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
118 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
119 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
120 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
121 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
122
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
123 \defineUnit{ndtm}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
124 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
125 \frametitle{Nichtdeterministische TM}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
126 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
127
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
128 \begin{definition}[Nichtdeterministische Turingmaschine]
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
129 Eine \structure{nichtdeterministische} Turingmaschine (TM) ist ein Tupel $M = (Q, \Sigma, \Gamma, \delta, q_0, \square, F)$ aus einer/einem
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
130 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
131 \item \ldots
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
132 \item \structure{Übergangsfunktion} $\delta : Q \times \Gamma \to \mathcal{P} \left( Q \times \Gamma \times \left\{ L, R, N \right\} \right)$
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
133 \item \ldots
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
134 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
135 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
136
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
137 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
138
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
139 \begin{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
140 Zu jeder nichtdeterministischen TM $N$ gibt es eine deterministische TM $M$ mit \alert{$L(N) = L(M)$}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
141 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
142 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
143 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
144
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
145 \defineUnit{lba}{%
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
146 \begin{frame}
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
147 \frametitle{Linear Beschränkte Automaten}
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
148
30
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
149 \begin{definition}[Linear Beschränkte Automat]
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
150 Eine TM heißt \structure{linear beschränkt (LBA)}, wenn sie den Bereich des Bandes, auf dem das Eingabewort steht, niemals verlässt.
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
151 \end{definition}
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
152
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
153 \vfill
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
154
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
155 \begin{theorem}[]
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
156 Die \structure{linear beschränkten NDTMs} akzeptieren genau die Klasse der \alert{kontextsensitiven Sprachen (Typ 1)}.
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
157 \end{theorem}
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
158 \end{frame}
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
159 }
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
160
30
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
161 \defineUnit{queueautomaten}{%
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
162 \begin{frame}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
163 \frametitle{Queue-Automaten}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
164
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
165 \begin{definition}[Queue-Automat]
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
166 Ein \structure{Queue-Automat (QA)} ist ein Tupel $M = (Q, \Sigma, \Gamma, \delta, q_0, Z_0, F)$ die analog zu Kellerautomaten definiert sind.
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
167 \begin{itemize}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
168 \item \structure{Übergangsfunktion} $\delta : Q \times \left( \Sigma \cup \{\epsilon\} \right) \times \Gamma \to P(Q \times \Gamma^*)$
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
169 \end{itemize}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
170 Im Gegensatz zu PDAs werden neue Symbole \alert{hinten} angefügt.
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
171 \end{definition}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
172
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
173 \begin{example}[]
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
174 Gegeben sei die Konfiguration $(q, a, \structure{x\alpha})$ eines Queue-Automaten und ein Schritt der Übergangsfunktion.
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
175 \begin{align}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
176 \delta(q, a, \structure{x}) &= (q^\prime, \alert{yz}) \\
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
177 \intertext{Dann ergibt sich die folgende Transition.}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
178 (q, a, \structure{x\alpha}) &\to (q^\prime, \epsilon, \structure{\alpha}\alert{yz})
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
179 \end{align}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
180 \end{example}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
181
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
182 \begin{theorem}[]
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
183 Queue-Automaten sind genauso mächtig wie Turingmaschinen.
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
184 \end{theorem}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
185 \end{frame}
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
186 }
b56fe50e0132 nineth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 27
diff changeset
187
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
188 \defineUnit{chomsky}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
189 \begin{frame}[c]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
190 \frametitle{Chomsky-Hierarchie}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
191 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
192
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
193 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
194 \begin{tikzpicture}[auto]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
195 \tikzstyle{rect} = [thick];
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
196 \tikzstyle{caption} = [align=left, anchor=north west];
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
197
3
624c6e0e4383 first slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 1
diff changeset
198 \chomsky{tumlightblue}{}{0}{Alle formalen Sprachen};
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
199 \chomsky{tumred}{}{1}{Typ 0 - Rekursiv aufzählbar\\Grammatik\\Turingmaschine, WHILE-Programm, $\mu$-rekursive Funktion};
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
200 \chomsky{tumblue}{}{2}{Typ 1 - Kontextsensitiv\\Längenmonotone Grammatik\\Linear Beschränkter Automat (LBA)};
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
201 \chomsky{tumorange}{}{3}{Typ 2 - Kontextfrei\\Links nur ein Nichtterminal\\Kellerautomat (PDA)};
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
202 \chomsky{tumgreen}{}{4}{Typ 3 - Regulär\\Links- / Rechtsreguläre Grammatik\\DFA, NFA, RE};
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
203 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
204 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
205 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
206 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
207
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
208 \defineUnit{berechenbarkeit}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
209 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
210 \frametitle{Berechenbarkeit}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
211 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
212
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
213 \begin{definition}[Intuitive Berechenbarkeit]
6
efd13093bd47 use structures instead of alerts
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 3
diff changeset
214 Eine Funktion $f : \N^k \to \N$ heißt \structure{intuitiv berechenbar}, wenn es einen Algorithmus gibt, der bei Eingabe $(n_1, \ldots, n_k) \in \N^k$
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
215 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
216 \item nach \alert{endlich vielen Schritten} mit Ergebnis $f(n_1, \ldots, n_k)$ hält, falls $f(\ldots)$ definiert ist,
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
217 \item und \alert{nicht terminiert}, falls $f(\ldots)$ nicht definiert ist.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
218 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
219 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
220
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
221 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
222
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
223 \begin{block}{Churchsche These (nicht beweisbar)}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
224 Turing-Maschinen können genau \alert{alle} intuitiv berechenbaren Funktionen berechnen.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
225 \end{block}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
226 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
227 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
228
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
229 \defineUnit{berechenbarkeitbeispiel}{%
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
230 \begin{frame}[t]
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
231 \frametitle{Berechenbarkeit}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
232 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
233
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
234 \begin{example}[Berechenbarkeit]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
235 Sind die folgenden Funktionen intuitiv berechenbar?
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
236
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
237 \begin{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
238 f_1(n) &= \begin{cases}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
239 1 & \text{falls $n$ prim}\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
240 0 & \text{sonst}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
241 \end{cases} \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
242 f_2(n) &= \begin{cases}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
243 1 & \text{falls $n$ die ersten $n$ Ziffern von $\pi$ darstellt}\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
244 0 & \text{sonst}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
245 \end{cases} \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
246 f_3(n) &= \begin{cases}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
247 1 & \text{falls in $\pi$ $n$ Nullen am Stück vorkommen}\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
248 0 & \text{sonst}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
249 \end{cases}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
250 \end{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
251 \end{example}
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
252
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
253 \only<2> {
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
254 \vfill
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
255
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
256 \begin{center}
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
257 Alle drei Funktionen sind intuitiv berechenbar.
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
258 \end{center}
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
259 }
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
260 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
261 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
262
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
263 \defineUnit{pr}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
264 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
265 \frametitle{Primitive Rekursion}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
266 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
267
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
268 \begin{definition}[Basisfunktionen der PR]
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
269 Die Menge der \structure{primitiv rekursiven (PR)} Funktionen ist induktiv definiert. Die Basisfunktionen sind die
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
270 \begin{description}[Projektionsfunktion\quad]
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
271 \item[konstante Funktion] $f(x) = 0$
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
272 \item[Nachfolgerfunktion] $s(n) = n + 1$
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
273 \item[Projektionsfunktion] $\pi_i^k : \N^k \to \N, i \in [k]$
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
274 \end{description}
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
275 \[ \pi_i^k(x_1, \ldots, x_k) = x_i \]
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
276 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
277
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
278 \vfill
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
279
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
280 \begin{definition}[Komposition]
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
281 Seien $g$ und $h_i$ \structure{PR} und $\bar{x} = (x_1, \ldots, x_n)$.\\
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
282 Dann ist auch die \structure{Komposition $f$} PR.
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
283 \[ f(\bar{x}) = \alert{g(h_1(\bar{x}), \ldots, h_k(\bar{x}))} \]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
284 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
285 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
286 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
287
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
288 \defineUnit{prrekursion}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
289 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
290 \frametitle{Primitive Rekursion}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
291 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
292 \begin{block}{Basisfunktionen und Komposition}
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
293 Die folgenden Funktionen sind schon als \structure{primitiv rekursiv} bekannt.
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
294 \begin{description}[Projektionsfunktion\quad]
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
295 \item[konstante Funktion] $f(x) = 0$
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
296 \item[Nachfolgerfunktion] $s(n) = n + 1$
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
297 \item[Projektionsfunktion] $\pi_i^k : \N^k \to \N, i \in [k]$
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
298 \item[Komposition] $f(\bar{x}) = g(h_1(\bar{x}), \ldots, h_k(\bar{x}))$
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
299 \end{description}
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
300 \end{block}
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
301
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
302 \vfill
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
303
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
304 \begin{definition}[Primitive Rekursion]
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
305 Das Schema der \structure{primitiven Rekursion} erzeugt aus $g$ und $h$ die neue Funktion \structure{$f$}.
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
306 \begin{align*}
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
307 f(0, \bar{x}) &= g(\bar{x}) \\
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
308 f(\alert{m + 1}, \bar{x}) &= h(f(\alert{m}, \bar{x}), \alert{m}, \bar{x})
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
309 \end{align*}
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
310 $f$ ist ebenfalls \structure{primitiv rekursiv}.
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
311 \end{definition}
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
312 \end{frame}
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
313 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
314
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
315 \defineUnit{prprogramme}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
316 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
317 \frametitle{PR-Programme}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
318 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
319
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
320 Unter anderem diese Programme sind laut Vorlesung oder Übung PR:
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
321 \begin{itemize}
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
322 \item $succ(x) = x + 1$
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
323 \item $pred(x) = \max \left\{ 0, x - 1 \right\}$
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
324 \item \alert{$add(x, y) = x + y$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
325 \item \alert{$x \dot{-} y = \max \left\{ 0, x - y \right\}$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
326 \item \alert{$mult(x, y) = x \cdot y$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
327 \item $div(x, y) = x \div y$ (Ganzzahldivision)
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
328 \item $pow(x, y) = x^y$
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
329 \item Die restliche einfache Arithmetik\ldots
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
330 \vfill
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
331 \item $tower(n) = 2^{2^{2^{\iddots}}}$ mit $tower(4) = 2^{16}$
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
332 \item $sqr(x) = x^2$
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
333 \item $sqrt(x) = \sqrt{x}$
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
334 \item $c(x), p_1(x), p_2(x)$ (Cantorsche Paarungsfunktion)
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
335 \item $ifthen(n, a, b) = \begin{cases} a & n \neq 0 \\ b & n = 0 \end{cases}$
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
336 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
337 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
338 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
339
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
340 \defineUnit{prerweitert}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
341 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
342 \frametitle{Erweitertes PR-Schema}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
343 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
344
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
345 \begin{definition}[Erweitertes PR-Schema]
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
346 Das \structure{erweiterte Schema der primitiven Rekursion} erlaubt
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
347 \begin{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
348 f(0, \bar{x}) &= t_0 \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
349 f(m + 1, \bar{x}) &= t
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
350 \end{align*}
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
351 wobei $t_0$ und $t$ \structure{Terme} sind für die gilt
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
352 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
353 \item $t_0$ enthält nur PR-Funktionen und die $x_i$
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
354 \item $t$ enthält nur \alert{$f(m, \bar{x})$}, PR Funktionen, \alert{$m$} und die $x_i$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
355 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
356 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
357
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
358 \vfill
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
359
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
360 \begin{theorem}
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
361 Das erweiterte Schema der primitiven Rekursion führt nicht aus \structure{PR} heraus.
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
362 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
363 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
364 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
365
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
366 \defineUnit{tmif}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
367 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
368 \frametitle{Programmieren mit TMs}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
369 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
370
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
371 Sind $f_1$ und $f_2$ Endzustände von $M$, so bezeichnet
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
372 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
373 \begin{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
374 \node (M) at (0, 0) {$M$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
375 \node[above right=0.2cm and 1cm of M] (M1) {$M_1$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
376 \node[below right=0.2cm and 1cm of M] (M2) {$M_2$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
377 \coordinate[right of=M1] (M1s);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
378 \coordinate[right of=M2] (M2s);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
379
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
380 \draw[every edge] (-1, 0) -- (M);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
381 \draw[every edge] (M) -- node[above left] {$f_1$} (M1);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
382 \draw[every edge] (M) -- node[below left] {$f_2$} (M2);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
383 \draw[every edge] (M1) -- (M1s);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
384 \draw[every edge] (M2) -- (M2s);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
385 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
386 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
387 eine \alert{Fallunterscheidung}.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
388 \begin{example}[Band=0?]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
389 \begin{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
390 \delta(q_0, 0) &= (q_0, 0, R) \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
391 \delta(q_0, \square) &= (ja, \square, L) \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
392 \delta(q_0, a) &= (nein, a, N) \qquad \text{für } a \neq 0, \square
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
393 \end{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
394 \end{example}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
395 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
396 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
397
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
398 \defineUnit{while}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
399 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
400 \frametitle{WHILE-Programme}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
401 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
402
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
403 \begin{definition}[WHILE-Programm]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
404 Syntax von \alert{WHILE-Programmen}.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
405 Es ist $X \in \left\{ x_0, x_1, \ldots \right\}$ und $C \in \N$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
406 \begin{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
407 P &\rightarrow X := X + C \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
408 &\mid X := X - C \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
409 &\mid P; P \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
410 &\mid \alert{\mathbf{WHILE}\ X \neq 0 \ \mathbf{DO}\ P \ \mathbf{END}} \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
411 &\mid \textcolor{gray}{\mathbf{LOOP}\ X \ \mathbf{DO}\ P \ \mathbf{END}} \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
412 &\mid \textcolor{gray}{\mathbf{IF}\ X = 0 \ \mathbf{DO}\ P \ \mathbf{ELSE}\ Q \ \mathbf{END}}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
413 \end{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
414 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
415
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
416 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
417 \item Ausgabe steht in $x_0$, Eingaben in $x_1, \ldots, x_n$, Rest ist 0.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
418 \item Semantik wie erwartet.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
419 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
420 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
421 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
422
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
423 \defineUnit{goto}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
424 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
425 \frametitle{GOTO-Programme}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
426 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
427
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
428 \begin{definition}[GOTO-Programm]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
429 Syntax von \alert{GOTO-Programmen}.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
430 Es ist $X \in \left\{ x_0, x_1, \ldots \right\}$ und $C \in \N$. \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
431 Alle Anweisungen haben eine Markierung \alert{$M_1 : A_1; M_2 : A_2$}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
432 \begin{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
433 P &\rightarrow X := X + C \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
434 &\mid X := X - C \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
435 &\mid P; P \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
436 &\mid \mathbf{GOTO}\ M_i \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
437 &\mid \mathbf{IF}\ X = 0 \ \mathbf{GOTO}\ M_i \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
438 &\mid \mathbf{HALT}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
439 \end{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
440 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
441
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
442 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
443 \item Ausgabe steht in $x_0$, Eingaben in $x_1, \ldots, x_n$, Rest ist 0.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
444 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
445 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
446 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
447
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
448 \defineUnit{loop}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
449 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
450 \frametitle{LOOP-Programme}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
451 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
452
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
453 \begin{definition}[LOOP-Programm]
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
454 Syntax von \structure{LOOP-Programmen}.\\
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
455 Es ist $X \in \left\{ x_0, x_1, \ldots \right\}$ und $C \in \N$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
456 \begin{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
457 P &\rightarrow X := X + C \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
458 &\mid X := X - C \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
459 &\mid P; P \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
460 &\mid \mathbf{LOOP}\ X \ \mathbf{DO}\ P \ \mathbf{END} \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
461 &\mid \textcolor{gray}{\mathbf{IF}\ X = 0 \ \mathbf{DO}\ P \ \mathbf{ELSE}\ Q \ \mathbf{END}}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
462 \end{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
463 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
464
31
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
465 \vfill
777563904120 tenth sheet and notes
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 30
diff changeset
466
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
467 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
468 \item Ausgabe steht in $x_0$, Eingaben in $x_1, \ldots, x_n$, Rest ist 0.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
469 \item $\mathbf{LOOP}\ x_i \ \mathbf{DO}\ P \ \mathbf{END}$ führt $P$ genau $n$ mal aus, wobei $n$ der Anfangswert von $x_i$ ist. \alert{Zuweisungen an $x_i$ in $P$ ändern die Anzahl der Durchläufe nicht.}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
470 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
471 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
472 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
473
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
474 \defineUnit{prmax}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
475 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
476 \frametitle{Beschränkte Operationen}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
477 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
478 \begin{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
479 Ein Prädikat $P$ ist \alert{PR}, wenn es eine PR Funktion $\hat{P}$ gibt mit
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
480 \[\hat{P}(x) = 1 \Longleftrightarrow P(x)\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
481 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
482
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
483 \begin{definition}[Beschränkte Operationen]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
484 Ist $P$ PR, dann auch
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
485 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
486 \item der \alert{beschränkte max-Operator}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
487 \[\max \left\{ x \alert{\leq n} \mid P(x) \right\}, \quad \max \left\{ \emptyset \right\} = 0\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
488 \item der \alert{beschränkte Existenzquantor}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
489 \[\exists x \alert{\leq n}. P(x)\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
490 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
491 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
492 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
493 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
494
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
495 \defineUnit{murekursion}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
496 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
497 \frametitle{$\mu$-Rekursion}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
498 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
499
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
500 \begin{definition}[$\mu$-Operator]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
501 Sei $f: \N^{k+1} \to \N$ eine Funktion.\\Der \alert{$\mu$-Operator} definiert eine neue Funktion $\mu f : \N^k \to \N$:
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
502 \[(\mu f)(\bar{x}) := \begin{cases} \min \left\{ n \in \N \mid \alert{f (n, \bar{x}) = 0}\right\} & \text{falls } n \text{ existent\alert{$^*$}} \\ \perp & \text{sonst}\end{cases}\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
503 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
504
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
505 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
506
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
507 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
508 \item \alert{$^*$}Für alle \alert{$m \leq n$} muss $f$ definiert sein: $f(m, \bar{x}) \neq \perp$
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
509 \item PR + $\mu$ = $\mu$-Rekursion
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
510 \item In Pseudocode:
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
511 \begin{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
512 \mu f(\bar{x}) &= find(0, \bar{x}) \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
513 find(n, \bar{x}) &= \mathbf{if}\ f(n, \bar{x}) = 0 \ \mathbf{then}\ n \ \mathbf{else}\ find(n+1, \bar{x})
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
514 \end{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
515 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
516 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
517 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
518
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
519 \defineUnit{modelluebersetzungen}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
520 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
521 \frametitle{Übersetzungen}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
522 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
523
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
524 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
525 \begin{tikzpicture}[node distance=2.5cm]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
526 \node (WH) {WHILE};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
527 \node (GO) [above left of = WH] {GOTO};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
528 \node (TM) [above right of = WH] {TM};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
529 \node (LO) [below of = WH] {LOOP};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
530 \node (PR) [left of = LO] {PR};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
531 \node (MR) [left of = WH] {$\mu$R};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
532
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
533 \draw [every edge, ->] (LO) -- (WH);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
534 \draw [every edge, ->] (PR) -- (MR);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
535 \draw [every edge, tumgreen, <->] (LO) -- (PR);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
536 \draw [every edge, tumgreen, <->] (WH) -- (MR);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
537 \draw [every edge, <->] (WH) -- (GO);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
538 \draw [every edge, ->] (WH) -- (TM);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
539 \draw [every edge, ->] (TM) -- (GO);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
540 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
541 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
542
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
543 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
544
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
545 LOOP kann in WHILE \alert{übersetzt} werden, WHILE ist also \alert{mindestens so mächtig} wie LOOP (sogar mächtiger).
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
546 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
547 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
548
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
549 \defineUnit{entscheidbarkeit}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
550 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
551 \frametitle{Entscheidbarkeit}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
552 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
553
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
554 \begin{definition}[Entscheidbarkeit]
6
efd13093bd47 use structures instead of alerts
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 3
diff changeset
555 Eine Menge $A$ heißt \structure{entscheidbar} gdw ihre \alert{charakteristische Funktion}
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
556 \[ \chi_A(x) := \begin{cases}1 & \text{falls } x \in A \\ 0 & \text{falls } x \not \in A \end{cases} \]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
557 berechenbar ist.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
558 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
559
6
efd13093bd47 use structures instead of alerts
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 3
diff changeset
560 \vfill
efd13093bd47 use structures instead of alerts
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 3
diff changeset
561
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
562 \begin{definition}[Semi-Entscheidbarkeit]
6
efd13093bd47 use structures instead of alerts
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 3
diff changeset
563 Eine Menge $A$ heißt \structure{semi-entscheidbar} gdw
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
564 \[ \chi'_A(x) := \begin{cases}1 & \text{falls } x \in A \\ \perp & \text{falls } x \not \in A \end{cases} \]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
565 berechenbar ist.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
566 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
567 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
568 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
569
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
570 \defineUnit{breduktion}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
571 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
572 \frametitle{Reduzierbarkeit}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
573 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
574
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
575 \begin{definition}[Reduzierbarkeit]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
576 Eine Menge $A \subseteq \Sigma^*$ ist \alert{reduzierbar} auf eine Menge $B \subseteq \Gamma^*$ gdw es eine totale und berechenbare Funktion $f:\Sigma^* \to \Gamma^*$ gibt mit
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
577 \[\forall w \in \Sigma^*. w \in A \Longleftrightarrow f(w) \in B\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
578 Wir schreiben dann \alert{$A \leq B$}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
579 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
580
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
581 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
582
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
583 \structure{Intuition}:
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
584 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
585 \item $B$ ist \alert{mindestens so schwer} zu lösen wie $A$
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
586 \item Ist $A$ unlösbar, dann auch $B$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
587 \item Ist $B$ lösbar, dann erst recht $A$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
588 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
589 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
590 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
591
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
592 \defineUnit{spezielleshalteproblem}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
593 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
594 \frametitle{Spezielles Halteproblem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
595 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
596
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
597 \begin{definition}[Spezielles Halteproblem]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
598 Gegeben ein \structure{Wort} $w \in \left\{ 0, 1 \right\}^*$.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
599 Hält \alert{$M_w$} bei Eingabe \alert{$w$}?
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
600 \[\alert{K} := \left\{ w \mid M_w[w]\downarrow \right\}\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
601 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
602
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
603 \begin{theorem}[]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
604 Das spezielle Halteproblem ist \alert{nicht entscheidbar}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
605 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
606
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
607 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
608
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
609 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
610 \item Hält eine Turingmaschine mit sich selbst als Eingabe?
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
611 \item $w$ ist die \structure{Gödelisierung} von $M_w$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
612 \item $K$ ist semi-entscheidbar, $\overline{K}$ \alert{nicht}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
613 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
614 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
615 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
616
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
617 \defineUnit{halteproblem}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
618 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
619 \frametitle{Allgemeines Halteproblem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
620 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
621
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
622 \begin{definition}[Allgemeines Halteproblem]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
623 Gegeben \structure{Wörter} $w, x \in \left\{ 0, 1 \right\}^*$.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
624 Hält \alert{$M_w$} bei Eingabe \alert{$x$}?
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
625 \[\alert{H} := \left\{ w\#x \mid M_w[x]\downarrow \right\}\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
626 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
627
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
628 \begin{theorem}[]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
629 Das allgemeine Halteproblem ist \alert{nicht entscheidbar}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
630 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
631
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
632 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
633
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
634 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
635 \item Es ist $K \leq H$. Warum?
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
636 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
637 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
638 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
639
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
640 \defineUnit{aufzaehlbarkeit}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
641 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
642 \frametitle{Rekursive Aufzählbarkeit}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
643 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
644
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
645 \begin{definition}[Rekursiv aufzählbar]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
646 Eine Menge $A$ heißt \alert{rekursiv aufzählbar} wenn $A = \emptyset$ oder es eine \alert{berechenbare} totale Funktion $f : \N \to A$ gibt, so dass
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
647 \[A = \left\{ f(0), f(1), \ldots \right\} = \bigcup_{n \in \N} \left\{ f(n) \right\}\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
648 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
649
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
650 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
651
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
652 \structure{Äquivalent:}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
653 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
654 \item $A$ rekursiv aufzählbar
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
655 \item $A$ semi-entscheidbar, also $\chi'_A$ berechenbar
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
656 \item $A=L(M)$ für eine TM $M$
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
657 \item $A$ ist Bild oder Urbild einer berechenbaren Funktion
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
658 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
659 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
660 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
661
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
662 \defineUnit{rice}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
663 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
664 \frametitle{Satz von Rice}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
665 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
666
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
667 \begin{theorem}[Rice]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
668 Sei $F$ eine Menge berechenbarer Funktionen.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
669 Sei weder $F = \emptyset$ noch $F = \text{alle ber. Funktionen}$ (\alert{$F$ nicht trivial}).\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
670 Dann ist \alert{unentscheidbar}, ob die von einer gegebenen TM $M_w$ berechnete Funktion in $F$ ist, also ob \alert{$\varphi_w \in F$}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
671 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
672
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
673 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
674 \item Nicht-triviale \alert{semantische} Eigenschaften von Programmen sind unentscheidbar.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
675 \item \alert{Termination} ist unentscheidbar.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
676 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
677
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
678 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
679
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
680 \structure{Rice-Shapiro:}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
681 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
682 \item Termination ist nicht semi-entscheidbar.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
683 \item Nicht-Termination ist nicht semi-entscheidbar.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
684 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
685 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
686 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
687
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
688 \defineUnit{pcp}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
689 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
690 \frametitle{PCP}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
691 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
692
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
693 \begin{definition}[Postsches Korrespondenzproblem]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
694 Gegeben \structure{endliche Folge} $(x_1, y_1), \ldots, (x_k, y_k)$ mit $x_i, y_i \in \Sigma^+$.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
695 Gibt es eine \alert{Folge von Indizes} $i_1, \ldots, i_n \in \left\{ 1, \ldots, k \right\}$ mit \alert{\[x_{i_1}, \ldots, x_{i_n} = y_{i_1}, \ldots, y_{i_n}\]}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
696 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
697
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
698 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
699
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
700 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
701 \begin{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
702 \begin{scope}[start chain, node distance=2em]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
703 \node[tape, active] {\pcp{$x_i$}{$y_i$}};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
704 \node[tape] (a) {\pcp{$001$}{$00$}};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
705 \node[tape] (b) {\pcp{$10$}{$11$}};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
706 \node[tape] (c) {\pcp{$1$}{$01$}};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
707 \end{scope}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
708 \node[below of=a] {$1$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
709 \node[below of=b] {$2$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
710 \node[below of=c] {$3$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
711 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
712 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
713
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
714 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
715
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
716 \begin{theorem}[]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
717 Das PCP ist \alert{unentscheidbar}, aber semi-entscheidbar.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
718 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
719 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
720 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
721
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
722 \defineUnit{pcpbeispiel}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
723 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
724 \frametitle{PCP lösen}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
725 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
726
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
727 \begin{block}{Idee}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
728 \alert{Mögliche Lösungen} aufzählen, richtige Lösungen identifizieren
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
729 \end{block}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
730
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
731 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
732 \begin{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
733 \begin{scope}[start chain, node distance=2em]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
734 \node[tape, active] {\pcp{$x_i$}{$y_i$}};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
735 \node[tape] (a) {\pcp{$001$}{$00$}};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
736 \node[tape] (b) {\pcp{$01$}{$10$}};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
737 \node[tape] (c) {\pcp{$1$}{$11$}};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
738 \end{scope}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
739 \node[below of=a] {$1$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
740 \node[below of=b] {$2$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
741 \node[below of=c] {$3$};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
742 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
743
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
744 \vspace{2em}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
745
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
746 \begin{tikzpicture}[grow=right, level distance = 2cm]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
747 \tikzstyle{every node} = []
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
748 \tikzstyle{residual} = [rectangular, thin, fill=tumgreen!10, font=\scriptsize]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
749 \tikzstyle{edge from parent} = [every edge]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
750
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
751 \tikzstyle{level 1} = [sibling distance = 1.7cm]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
752 \tikzstyle{level 2} = [sibling distance = 1.1cm]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
753
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
754 \node[residual] {}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
755 child {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
756 node[residual] {\pcp{$1$}{}}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
757 child {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
758 node[residual] {\pcp{$1$}{}}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
759 child {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
760 node[residual] {\pcp{$1$}{}}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
761 child {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
762 node[residual]{$\ldots$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
763 edge from parent
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
764 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
765 edge from parent
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
766 node[below] {$2$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
767 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
768 child {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
769 node[residual, active] {\pcp{}{}}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
770 edge from parent
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
771 node[above] {$3$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
772 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
773 edge from parent
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
774 node[below] {$2$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
775 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
776 child {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
777 node[residual, active] {\pcp{}{}}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
778 edge from parent
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
779 node[above] {$3$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
780 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
781 edge from parent
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
782 node[below] {$1$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
783 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
784 child {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
785 node[residual]{\pcp{}{$1$}}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
786 child {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
787 node[residual]{\pcp{}{$11$}}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
788 child {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
789 node[residual]{$\ldots$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
790 edge from parent
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
791 node[above] {$3$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
792 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
793 edge from parent
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
794 node[above] {$3$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
795 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
796 edge from parent
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
797 node[above] {$3$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
798 };
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
799
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
800 \uncover<2>{\node at (10cm, 0) {$L = \left\{ (12^*3)^+ \right\}$};}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
801 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
802 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
803 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
804 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
805
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
806 \defineUnit{time}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
807 \begin{frame}[t]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
808 \frametitle{$TIME$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
809 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
810
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
811 \begin{definition}[$TIME$]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
812 Wir bezeichnen die minimale Anzahl der Schritte, bis eine \structure{DTM} $M$ mit Eingabe $w$ hält als $\alert{time_M(w)} \in \N \cup \left\{ \infty \right\}$.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
813 \vspace{1em}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
814 Sei $f : \N \to \N$ total. Dann ist
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
815 \begin{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
816 \alert{TIME(f(n))} := \{ A \subseteq \Sigma^* \mid \exists &\structure{DTM}\ M. A = L(M) \wedge \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
817 &\forall w \in \Sigma^*. \structure{time_M(w) \leq f(|w|)} \}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
818 \end{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
819 die Klasse der \structure{in Zeit $f(n)$} von einer \structure{DTM} entscheidbaren Sprachen.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
820 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
821
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
822 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
823
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
824 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
825 \item $TIME(\Oh(n))$ enthält alle "\structure{linearen Probleme}".
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
826 \item Also alle Probleme, für die ein Linearzeitalgorithmus existiert.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
827 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
828 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
829 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
830
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
831 \defineUnit{ntime}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
832 \begin{frame}[t]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
833 \frametitle{$NTIME$}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
834 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
835
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
836 \begin{definition}[$NTIME$]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
837 Wir bezeichnen die minimale Anzahl der Schritte, bis eine \structure{NTM} $M$ mit Eingabe $w$ hält als $\alert{ntime_M(w)} \in \N$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
838 \[ \alert{ntime_M(w)} := \begin{cases} \text{minimale Schrittanzahl} & \text{falls } w \in L(M) \\ 0 & \text{falls } w \not \in L(M)\end{cases} \]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
839 Dann ist
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
840 \begin{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
841 \alert{NTIME(f(n))} := \{ A \subseteq \Sigma^* \mid \exists &\structure{NTM}\ M. A = L(M) \wedge \\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
842 &\forall w \in \Sigma^*. \structure{ntime_M(w) \leq f(|w|)} \}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
843 \end{align*}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
844 die Klasse der \structure{in Zeit $f(n)$} von einer \structure{NTM} entscheidbaren Sprachen.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
845 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
846 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
847 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
848
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
849 \defineUnit{pundnp}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
850 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
851 \frametitle{P und NP}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
852 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
853
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
854 \begin{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
855 \alert{P} ist die Menge aller von einer \structure{DTM} in polynomieller Zeit entscheidbaren Sprachen.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
856 \[\alert{P}:= \bigcup_{p\text{ Polynom}} TIME(p(n)) = \bigcup_{k \in \N} TIME(\alert{\Oh(n^k)}) \]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
857 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
858
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
859 \begin{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
860 \alert{NP} ist die Menge aller von einer \structure{NTM} in polynomieller Zeit entscheidbaren Sprachen.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
861 \[\alert{NP}:= \bigcup_{p\text{ Polynom}} NTIME(p(n)) = \bigcup_{k \in \N} NTIME(\alert{\Oh(n^k)}) \]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
862 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
863 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
864 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
865
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
866 \defineUnit{verifikator}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
867 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
868 \frametitle{Verifikator}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
869 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
870
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
871 \begin{definition}[Verifikator]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
872 Sei $M$ eine \structure{DTM} mit $L(M) \subseteq \left\{ w\# c \mid w \in \Sigma^*, c \in \Delta^* \right\}$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
873 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
874 \item Falls $w\#c \in L(M)$, dann heißt $c$ \alert{Zertifikat} für $w$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
875 \item $M$ ist ein \alert{polynomiell beschränkter Verifikator} für
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
876 \[\left\{ \structure{w \in \Sigma^*} \mid \exists c \in \Delta^* . w\#c \in L(M) \right\}\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
877 falls $time_M(w\#c) \leq p(|w|)$ für ein Polynom $p$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
878 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
879 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
880
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
881 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
882 \item \structure{NTM} rät Lösung (Zertifikat), \structure{DTM} probiert sie aus.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
883 \item Verifizieren (wahrscheinlich) einfacher als Lösung finden.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
884 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
885
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
886 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
887
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
888 \begin{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
889 \alert{$A \in NP$} gdw es einen pol. beschränkten Verifikator für A gibt.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
890 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
891 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
892 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
893
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
894 \defineUnit{preduktion}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
895 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
896 \frametitle{Polynomielle Reduzierbarkeit}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
897 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
898
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
899 \begin{definition}[Polynomielle Reduzierbarkeit]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
900 Eine Menge $A \subseteq \Sigma^*$ ist \alert{polynomiell reduzierbar} auf eine Menge $B \subseteq \Gamma^*$ gdw es eine totale und \structure{von einer DTM in polynomieller Zeit} berechenbare Funktion $f:\Sigma^* \to \Gamma^*$ gibt mit
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
901 \[\forall w \in \Sigma^*. w \in A \Longleftrightarrow f(w) \in B\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
902 Wir schreiben dann \alert{$A \leq_P B$}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
903 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
904
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
905 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
906
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
907 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
908 \item Die Relation $\leq_P$ ist \structure{transitiv}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
909 \item P und NP sind \structure{nach unten abgeschlossen}:
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
910 \[A \leq_P B \in P/NP \Longrightarrow A \in P/NP\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
911 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
912 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
913 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
914
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
915 \defineUnit{npvollstaendigkeit}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
916 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
917 \frametitle{NP-Vollständigkeit}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
918 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
919
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
920 \begin{definition}[NP-Schwere]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
921 Eine Sprache $L$ heißt \alert{NP-schwer} (NP-hart) wenn sich \structure{alle Sprachen} in NP auf $L$ reduzieren lassen.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
922 \[\forall A \in NP. A \leq_P L\]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
923 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
924
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
925 \begin{definition}[NP-Vollständigkeit]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
926 Eine Sprache $L$ heißt \alert{NP-vollständig} wenn $L$ \structure{NP-schwer} ist und \structure{$L \in NP$}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
927 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
928
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
929 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
930
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
931 \structure{Fragen}:
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
932 \begin{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
933 \item Gibt es überhaupt NP-vollständige Sprachen?
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
934 \item Gibt es eine NP-vollständige Sprache in $P$?
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
935 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
936 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
937 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
938
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
939 \defineUnit{sat}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
940 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
941 \frametitle{SAT}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
942 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
943
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
944 \begin{definition}[Aussagenlogik]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
945 Syntax der \alert{Aussagenlogik}.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
946 \begin{description}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
947 \item[Formeln] $F \rightarrow \neg F \mid (F \wedge F) \mid (F \vee F) \mid X$
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
948 \item[Variablen] $X \rightarrow x \mid y \mid z \mid \ldots$
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
949 \end{description}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
950 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
951
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
952 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
953
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
954 \begin{definition}[SAT]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
955 Gegeben eine \structure{aussagenlogische Formel} $F$.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
956 Ist $F$ \alert{erfüllbar}, also gibt es eine Belegung der Variablen in $F$, sodass $F$ gilt?
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
957 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
958
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
959 \begin{theorem}[Cook 1971]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
960 $\mathbf{SAT}$ ist \alert{NP-vollständig}.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
961 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
962 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
963 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
964
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
965 \defineUnit{3col}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
966 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
967 \frametitle{3COL}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
968 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
969
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
970 \begin{definition}[3COL]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
971 Gegeben ein \structure{Graph} $G = (V, E)$.\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
972 Gibt es eine \alert{Färbung der Knoten} $V$ mit $3$ Farben, so dass keine zwei benachbarten Knoten die gleiche Farbe haben?
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
973 \end{definition}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
974
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
975 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
976
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
977 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
978 \begin{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
979 \tikzstyle{red} = [fill=tumred!50]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
980 \tikzstyle{green} = [fill=tumgreen!50]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
981 \tikzstyle{blue} = [fill=tumblue!50]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
982 \tikzstyle{vertex} = [draw, circle, thin, blue]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
983 \tikzstyle{edge} = [draw, thick]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
984
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
985 \foreach \name/\angle/\dist/\col in {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
986 ia/18/0.8cm/blue, ib/90/0.8cm/red, ic/162/0.8cm/red, id/234/0.8cm/green, ie/306/0.8cm/green,
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
987 oa/18/1.6cm/red, ob/90/1.6cm/blue, oc/162/1.6cm/green, od/234/1.6cm/red, oe/306/1.6cm/blue} {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
988 \node<1>[vertex] (\name) at (\angle:\dist) {};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
989 \node<2>[vertex, \col] (\name) at (\angle:\dist) {};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
990 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
991
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
992 \foreach \a/\b in {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
993 ia/oa, ib/ob, ic/oc, id/od, ie/oe,
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
994 oa/ob, ob/oc, oc/od, od/oe, oe/oa,
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
995 ia/ic, ic/ie, ie/ib, ib/id, id/ia} {
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
996 \draw[edge] (\a) -- (\b);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
997 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
998 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
999 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1000
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1001 \begin{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1002 Es ist \alert{$\mathbf{3COL} \leq_P \mathbf{SAT}$} und $\alert{\mathbf{SAT}} \leq_P \mathbf{3SAT} \alert{\leq_P \mathbf{3COL}}$.
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1003 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1004 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1005 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1006
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1007 \defineUnit{typ0sprachen}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1008 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1009 \frametitle{Typ 0 Sprachen}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1010 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1011
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1012 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1013 \begin{tikzpicture}[node distance=2.5cm]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1014 \node (WH) {WHILE};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1015 \node (GO) [above left of = WH] {GOTO};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1016 \node (TM) [above right of = WH] {TM};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1017 \node (MR) [left of = WH] {$\mu$R};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1018
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1019 \draw [every edge, tumgreen, <->] (WH) -- (MR);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1020 \draw [every edge, <->] (WH) -- (GO);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1021 \draw [every edge, ->] (WH) -- (TM);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1022 \draw [every edge, ->] (TM) -- (GO);
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1023 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1024 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1025
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1026 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1027
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1028 \begin{theorem}[]
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1029 Sei $A$ formale Sprache, dann ist äquivalent:
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1030 \vspace{1em}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1031 \begin{itemize}
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1032 \item $A$ ist \structure{Typ 0 Sprache}
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1033 \item $A$ \structure{rekursiv aufzählbar}
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1034 \item $A$ \structure{semi-entscheidbar}, also $\chi'_A$ berechenbar
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1035 \item $A=L(M)$ für eine \structure{TM $M$}
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1036 \item $A$ ist \structure{Bild oder Urbild} einer berechenbaren Funktion
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1037 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1038 \end{theorem}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1039 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1040 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1041
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1042 \defineUnit{spracheigenschaften}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1043 \begin{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1044 \frametitle{Spracheigenschaften}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1045 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1046
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1047 \begin{itemize}
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1048 \item Abschlusseigenschaften
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1049 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1050 \begin{table}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1051 \begin{tabu}to \textwidth{X[c]|ccccc}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1052 & Schnitt & Vereinigung & Komplement & Produkt & Stern \\ \tabucline{}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1053 REG & ja & ja & ja & ja & ja\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1054 CFL & nein & ja & nein & ja & ja\\
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1055 CSL & ja & ja & ja & ja & ja\\
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1056 TM & \structure{ja} & \structure{ja} & \structure{nein} & \structure{ja} & \structure{ja}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1057 \end{tabu}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1058 \end{table}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1059
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1060 \vfill
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1061
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1062 \begin{itemize}
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1063 \item Entscheidbarkeit
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1064 \end{itemize}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1065 \begin{table}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1066 \begin{tabu}to \textwidth{X[c]|cccc}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1067 & Wortproblem & Leerheit & Äquivalenz & Schnittproblem\\ \tabucline{}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1068 DFA & $\Oh(n)$ & ja & ja & ja\\
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1069 CFG & $\Oh(n^3)$ & ja & nein & nein\\
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1070 CSL & $\Oh(2^n)$ & nein & nein & nein\\
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1071 TM & \structure{nein} & \structure{nein} & \structure{nein} & \structure{nein}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1072 \end{tabu}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1073 \end{table}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1074 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1075 }
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1076
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1077 \defineUnit{formalesprachen}{%
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1078 \begin{frame}[c]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1079 \frametitle{Formale Sprachen}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1080 \setbeamercovered{dynamic}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1081
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1082 \begin{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1083 \begin{tikzpicture}[auto]
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1084 \tikzstyle{rect} = [thick];
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1085 \tikzstyle{caption} = [align=left, anchor=north west];
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1086
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1087 \definecolor{hannahyellow}{HTML}{FFB81C}
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1088 \langclass{brown}{}{0}{Formale Sprache $\subseteq \Sigma^*$};
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1089 \langclass{tumblue}{}{1}{Typ 0 - Semi-Entscheidbar};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1090 \langclass{tumgreen}{}{2}{Entscheidbar};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1091 \langclass{violet}{}{3}{LOOP, PR};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1092 \langclass{tumred}{}{4}{NP};
27
f7bcd68a0c12 eigth sheet and notes; add hierarchy slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents: 6
diff changeset
1093 \langclass{hannahyellow}{dashed}{5}{P};
1
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1094 \langclass{tumgreen!40!black}{}{6}{Typ 2 - Kontextfrei};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1095 \langclass{tumlightblue!80!black}{}{7}{Typ 3 - Regulär};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1096 \langclass{tumblue!20!black}{}{8}{Endlich};
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1097 \end{tikzpicture}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1098 \end{center}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1099 \end{frame}
a9275b863a0d add old slides
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
diff changeset
1100 }