Mercurial > 13ss.theoinf
annotate notes/tex/ue01_notes.tex @ 7:95760b319e91
exact times; title
author | Markus Kaiser <markus.kaiser@in.tum.de> |
---|---|
date | Tue, 30 Apr 2013 01:31:39 +0200 |
parents | 73037b3dde60 |
children | 90ffda7e20c7 |
rev | line source |
---|---|
2 | 1 \documentclass[compress, german, t]{beamer} |
2 | |
3 \usepackage[ngerman,english]{babel} | |
4 \uselanguage{German} | |
5 \languagepath{German} | |
6 | |
7 \usepackage[T1]{fontenc} | |
8 \usepackage[utf8]{inputenc} | |
9 | |
10 \usepackage{helvet} | |
11 \usepackage{url} | |
12 \usepackage{listings} | |
13 \usepackage{xcolor} | |
14 \usepackage{tikz} | |
15 \usepackage{pgfplots} | |
16 \usetikzlibrary{automata} | |
17 \usetikzlibrary{calc} | |
18 \usetikzlibrary{shapes.geometric} | |
19 \usepackage{tabu} | |
20 | |
21 \usepackage{beamerthemeLEA2} | |
22 | |
23 \newcommand{\N} {\mathbb{N}} % natürliche Zahlen | |
24 \newcommand{\Z} {\mathbb{Z}} % ganze Zahlen | |
25 \newcommand{\R} {\mathbb{R}} % reelle Zahlen | |
26 \newcommand{\Prob} {\mathrm{P}} % Wahrscheinlichkeit | |
27 \newcommand{\Oh} {\mathcal{O}} % O-Notation (Landau-Symbole) | |
28 \newcommand{\mycite}[1]{\textcolor{tumgreen}{[#1]}} | |
29 | |
30 \tikzstyle{every edge} = [draw,very thick,->,>=latex] | |
31 \tikzstyle{every state} = [circle,thick,draw,fill=tumblue!10] | |
32 | |
7 | 33 \title{Übung 1: Sprachen und Automaten} |
2 | 34 \subtitle{Theoretische Informatik Sommersemester 2013} |
35 \author{\href{mailto:markus.kaiser@in.tum.de}{Markus Kaiser}} | |
36 | |
37 \begin{document} | |
38 | |
39 \begin{frame} | |
40 \titlepage | |
41 \end{frame} | |
42 | |
43 \begin{frame} | |
3
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
44 \frametitle{Organisatorisches} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
45 |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
46 \begin{itemize} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
47 \item Mail: \href{mailto:tutor@zfix.org}{tutor@zfix.org} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
48 \item Web: \href{tutor.zfix.org}{tutor.zfix.org} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
49 \vfill |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
50 \item Wann? |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
51 \begin{itemize} |
7 | 52 \item Dienstag 10:15-11:45 00.08.038 |
53 \item Dienstag 12:05-13:35 00.08.038 | |
3
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
54 \end{itemize} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
55 \item Übungsablauf, Aufgabentypen |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
56 \item Hausaufgaben |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
57 \begin{itemize} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
58 \item Abgabe am Montag 14h, \alert{allein} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
59 \item Rückgabe in der \alert{richtigen} Übung |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
60 \item Notenbonus für 40\% der Punkte, 40\% in der zweiten Hälfte |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
61 \end{itemize} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
62 \item Klausur |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
63 \begin{itemize} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
64 \item Endterm: Mi 31.07. 11.30-14h |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
65 \item Wiederholung: Do 26.09. 11-13.30h |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
66 \end{itemize} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
67 \end{itemize} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
68 \end{frame} |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
69 |
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
70 \begin{frame} |
2 | 71 \frametitle{Was ist Theoinf?} |
72 | |
73 Aus der VL | |
74 \vspace{1em} | |
75 | |
76 \begin{itemize} | |
77 \item Automatentheorie | |
78 \begin{itemize} | |
79 \item Rechner mit endlichem oder kellerartigem Speicher | |
80 \end{itemize} | |
81 \vspace{0.5em} | |
82 \item Grammatiken | |
83 \begin{itemize} | |
84 \item Syntax von Programmiersprachen | |
85 \end{itemize} | |
86 \vspace{0.5em} | |
87 \item Berechenbarkeitstheorie | |
88 \begin{itemize} | |
89 \item Untersuchung der Grenzen, was Rechner prinzipiell können | |
90 \end{itemize} | |
91 \vspace{0.5em} | |
92 \item Komplexitätstheorie | |
93 \begin{itemize} | |
94 \item Untersuchung der Grenzen, was Rechner mit begrenzten Ressourcen können | |
95 \end{itemize} | |
96 \end{itemize} | |
97 \end{frame} | |
98 | |
99 \begin{frame} | |
100 \frametitle{Grundlegendes} | |
101 | |
102 \begin{definition} | |
103 \begin{itemize} | |
104 \item Ein \alert{Alphabet} $\Sigma$ ist eine endliche Menge. | |
105 \item Ein \alert{Wort} über $\Sigma$ ist eine endliche Folge von Zeichen. | |
106 \item Eine Teilmenge $L \subseteq \Sigma^*$ ist eine \alert{formale Sprache} | |
107 \end{itemize} | |
108 \end{definition} | |
109 | |
110 \vfill | |
111 | |
112 \begin{definition}[Operationen auf Sprachen] | |
113 \begin{itemize} | |
114 \item $\alert{AB} = \left\{ uv \mid u \in A \wedge v \in B \right\}$ | |
115 \item $\alert{A^n} = \left\{w_1 \ldots w_n \mid w_1 \ldots w_n \in A \right\}$,\qquad $A^0 = \{\epsilon\}$ | |
116 \item $\alert{A^*} = \bigcup_{n \in \N_0} A^n$ | |
117 \end{itemize} | |
118 \end{definition} | |
119 \end{frame} | |
120 | |
121 \begin{frame} | |
122 \frametitle{DFA} | |
123 | |
124 \begin{definition}[Deterministischer endlicher Automat] | |
125 Ein \alert{DFA} ist ein Tupel $M = (Q, \Sigma, \delta, q_0, F)$ aus einer/einem | |
126 \begin{itemize} | |
127 \item endlichen Menge von \alert{Zuständen} $Q$ | |
128 \item endlichen \alert{Eingabealphabet} $\Sigma$ | |
129 \item totalen \alert{Übergangsfunktion} $\delta : Q \times \Sigma \mapsto Q$ | |
130 \item \alert{Startzustand} $q_0 \in Q$ | |
131 \item Menge von \alert{Endzuständen} $F \subseteq Q$ | |
132 \end{itemize} | |
133 \end{definition} | |
134 | |
135 \vfill | |
136 \pause | |
137 | |
138 \begin{center} | |
139 \begin{tikzpicture}[shorten >=1pt, node distance = 3cm, auto, bend angle=20, initial text=] | |
140 \node[state, initial] (q0) {$q_0$}; | |
141 \node[state, accepting] (q1) [right of = q0] {$q_1$}; | |
142 \node[state] (q2) [right of = q1] {$q_2$}; | |
143 | |
144 \draw[->] (q0) edge [loop above] node {0} (q0); | |
145 \draw[->] (q2) edge [loop above] node {1} (q2); | |
146 \draw[->] (q0) edge [bend left] node {1} (q1); | |
147 \draw[->] (q1) edge [bend left] node {1} (q0); | |
148 \draw[->] (q1) edge [bend left] node {0} (q2); | |
149 \draw[->] (q2) edge [bend left] node {0} (q1); | |
150 \end{tikzpicture} | |
151 \end{center} | |
152 \end{frame} | |
153 | |
154 \begin{frame} | |
155 \frametitle{NFA} | |
156 \begin{definition}[Nicht-Deterministischer endlicher Automat] | |
157 Ein \alert{NFA} ist ein Tupel $N = (Q, \Sigma, \delta, q_0, F)$ mit | |
158 \begin{itemize} | |
159 \item $Q, \Sigma, q_0, F$ wie ein DFA | |
160 \item \alert{Übergangsfunktion} $\delta : Q \times \Sigma \mapsto P(Q)$ | |
161 \end{itemize} | |
162 \end{definition} | |
163 | |
164 \vfill | |
165 \pause | |
166 | |
167 \begin{center} | |
168 \begin{tikzpicture}[shorten >=1pt, node distance = 3cm, auto, bend angle=20, initial text=] | |
169 \node[state, initial] (q0) {$q_0$}; | |
170 \node[state, accepting] (q1) [right of = q0] {$q_1$}; | |
171 | |
172 \draw[->] (q0) edge [loop above] node {0,1} (q0); | |
173 \draw[->] (q0) edge node {1} (q1); | |
174 \end{tikzpicture} | |
175 \end{center} | |
176 \end{frame} | |
177 | |
178 \begin{frame} | |
179 \frametitle{$\epsilon$-NFA} | |
180 \begin{definition}[NFA mit $\epsilon$-Übergängen] | |
181 Ein \alert{$\epsilon$-NFA} ist ein Tupel $N = (Q, \Sigma, \delta, q_0, F)$ mit | |
182 \begin{itemize} | |
183 \item $Q, \Sigma, q_0, F$ wie ein DFA | |
184 \item \alert{Übergangsfunktion} $\delta : Q \times \left( \Sigma \cup \{\epsilon\} \right) \mapsto P(Q)$ | |
185 \end{itemize} | |
186 \end{definition} | |
187 | |
188 \vfill | |
189 \pause | |
190 | |
191 \begin{center} | |
192 \begin{tikzpicture}[shorten >=1pt, node distance = 3cm, auto, bend angle=30, initial text=] | |
193 \node[state] (q1) {$q_1$}; | |
194 \node[state, initial] (q0) [left of = q1] {$q_0$}; | |
195 \node[state, accepting] (q2) [right of = q1] {$q_2$}; | |
196 | |
197 \draw[->] (q0) edge [red] node {$\epsilon$} (q1); | |
198 \draw[->] (q1) edge [loop above] node {0,1} (q1); | |
199 \draw[->] (q1) edge node {1} (q2); | |
200 \draw[->] (q0) edge [bend right, red] node {$\epsilon$} (q2); | |
201 \end{tikzpicture} | |
202 \end{center} | |
203 \end{frame} | |
204 | |
205 \begin{frame} | |
206 \frametitle{Automaten} | |
207 \begin{block}{Übergangsfunktionen} | |
208 Die Automaten $A = (Q, \Sigma, \delta, q_0, F)$ unterscheiden sich nur durch ihre Übergangsfunktionen. | |
209 | |
210 \begin{description} | |
211 \item[DFA] $\delta : Q \times \Sigma \mapsto Q$ | |
212 \item[NFA] $\delta : Q \times \Sigma \mapsto \alert{P(Q)}$ | |
213 \item[$\epsilon$-NFA] $\delta : Q \times \alert{\left( \Sigma \cup \{\epsilon\} \right)} \mapsto \alert{P(Q)}$ | |
214 \end{description} | |
215 \end{block} | |
216 | |
217 \vfill | |
218 | |
219 \begin{theorem} | |
220 \alert{DFA}, \alert{NFA} und \alert{$\epsilon$-NFA} sind gleich mächtig und lassen sich ineinander umwandeln. | |
221 \end{theorem} | |
222 \end{frame} | |
223 | |
224 \begin{frame} | |
225 \frametitle{Tutoraufgabe 3} | |
226 | |
227 \begin{center} | |
228 \begin{tikzpicture}[shorten >=1pt, node distance = 3cm, auto, bend angle=20, initial text=] | |
229 \node[state, initial] (q0) {$q_0$}; | |
230 \node[state, accepting] (q1) [above right of = q0] {$q_1$}; | |
231 \node[state] (q2) [right of = q1] {$q_2$}; | |
232 \node[state] (q3) [below right of = q0] {$q_3$}; | |
233 \node[state] (q4) [right of = q3] {$q_4$}; | |
234 | |
235 \draw[->] (q0) edge node {0} (q1); | |
236 \draw[->] (q0) edge node {1} (q3); | |
237 | |
238 \draw[->] (q1) edge [loop above] node {0} (q1); | |
239 \draw[->] (q2) edge [loop right] node {1} (q2); | |
240 \draw[->] (q4) edge [loop right] node {0} (q4); | |
241 | |
242 \draw[->] (q1) edge [bend left] node {1} (q2); | |
243 \draw[->] (q2) edge [bend left] node {0} (q1); | |
244 \draw[->] (q3) edge [bend left] node {0,1} (q4); | |
245 \draw[->] (q4) edge [bend left] node {1} (q3); | |
246 \end{tikzpicture} | |
247 \end{center} | |
248 \end{frame} | |
3
73037b3dde60
add organisatorical slide
Markus Kaiser <markus.kaiser@in.tum.de>
parents:
2
diff
changeset
|
249 |
2 | 250 \end{document} |