updated
authorChristian Urban <urbanc@in.tum.de>
Mon, 08 Oct 2018 11:35:04 +0100
changeset 573 711bbc480998
parent 572 4a1739f256fd
child 574 bd4f144326c7
updated
handouts/ho03.pdf
handouts/ho03.tex
slides/slides02.pdf
slides/slides02.tex
slides/slides03.pdf
slides/slides03.tex
Binary file handouts/ho03.pdf has changed
--- a/handouts/ho03.tex	Fri Oct 05 11:07:57 2018 +0100
+++ b/handouts/ho03.tex	Mon Oct 08 11:35:04 2018 +0100
@@ -1536,38 +1536,38 @@
 
 Still to be done\bigskip
 
-\noindent
-By now you are probably fed up with this text. It is now way too long
-for one lecture, but there is still one aspect of the
-automata-regular-expression-connection I like to describe. Perhaps by
-now you are asking yourself: Where have the derivatives gone? Did we
-just forget them?  Well, they have a place in the picture of
-calculating a DFA from the regular expression.
-
-To be done
+%\noindent
+%By now you are probably fed up with this text. It is now way too long
+%for one lecture, but there is still one aspect of the
+%automata-regular-expression-connection I like to describe. Perhaps by
+%now you are asking yourself: Where have the derivatives gone? Did we
+%just forget them?  Well, they have a place in the picture of
+%calculating a DFA from the regular expression.
 
-\begin{center}
-\begin{tikzpicture}
-  [level distance=25mm,very thick,auto,
-   level 1/.style={sibling distance=30mm},
-   level 2/.style={sibling distance=15mm},
-   every node/.style={minimum size=30pt,
-                    inner sep=0pt,circle,draw=blue!50,very thick,
-                    fill=blue!20}]
-  \node {$r$} [grow=right]
-  child[->] {node (cn) {$d_{c_n}$}
-    child { node {$dd_{c_nc_n}$}}
-    child { node {$dd_{c_nc_1}$}}
-    %edge from parent node[left] {$c_n$}
-  }
-  child[->] {node (c1) {$d_{c_1}$}
-    child { node {$dd_{c_1c_n}$}}
-    child { node {$dd_{c_1c_1}$}}
-    %edge from parent node[left] {$c_1$}
-  };
-  %%\draw (cn) -- (c1) node {\vdots}; 
-\end{tikzpicture}  
-\end{center}
+%To be done
+%
+%\begin{center}
+%\begin{tikzpicture}
+%  [level distance=25mm,very thick,auto,
+%   level 1/.style={sibling distance=30mm},
+%   level 2/.style={sibling distance=15mm},
+%   every node/.style={minimum size=30pt,
+%                    inner sep=0pt,circle,draw=blue!50,very thick,
+%                    fill=blue!20}]
+%  \node {$r$} [grow=right]
+%  child[->] {node (cn) {$d_{c_n}$}
+%    child { node {$dd_{c_nc_n}$}}
+%    child { node {$dd_{c_nc_1}$}}
+%    %edge from parent node[left] {$c_n$}
+%  }
+%  child[->] {node (c1) {$d_{c_1}$}
+%    child { node {$dd_{c_1c_n}$}}
+%    child { node {$dd_{c_1c_1}$}}
+%    %edge from parent node[left] {$c_1$}
+%  };
+%  %%\draw (cn) -- (c1) node {\vdots}; 
+%\end{tikzpicture}  
+%\end{center}
 
 %\section*{Further Reading}
 
Binary file slides/slides02.pdf has changed
--- a/slides/slides02.tex	Fri Oct 05 11:07:57 2018 +0100
+++ b/slides/slides02.tex	Mon Oct 08 11:35:04 2018 +0100
@@ -460,8 +460,8 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[t]
-\frametitle{Brzozowski's Algorithm (1)}
+\begin{frame}[c]
+\frametitle{\mbox{Brzozowski's Algorithm (1)}}
 
 
 \ldots{}whether a regular expression can match the empty string:
@@ -893,14 +893,14 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[t]
-\frametitle{What is good about this Alg.}
+\begin{frame}[c]
+\frametitle{\mbox{What is good about this Alg.}}
 
 \begin{itemize}
 \item extends to most regular expressions, for example
-\bl{$\sim r$}
+\bl{$\sim r$} (next slide)
 
-\item is easy to implement in a functional language
+\item is easy to implement in a functional language (slide after)
 
 \item the algorithm is already quite old; there is still
   work to be done to use it as a tokenizer (that is relatively new work)
Binary file slides/slides03.pdf has changed
--- a/slides/slides03.tex	Fri Oct 05 11:07:57 2018 +0100
+++ b/slides/slides03.tex	Mon Oct 08 11:35:04 2018 +0100
@@ -290,14 +290,14 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
+\begin{frame}[t]
 \frametitle{Automata}
 
 A \alert{\bf deterministic finite automaton}, DFA, consists of:
 
 \begin{itemize}
 \item an alphabet \bl{$\varSigma$}  
-\item a set of states \bl{$Q$}
+\item a set of states \bl{$\mbox{Q}$}
 \item one of these states is the start state \bl{$\mbox{Q}_0$}
 \item some states are accepting states \bl{$F$}, and
 \item there is transition function \bl{$\delta$}\bigskip 
@@ -320,7 +320,8 @@
 
 \begin{center}
 \begin{tikzpicture}[>=stealth',very thick,auto,
-                             every state/.style={minimum size=0pt,inner sep=2pt,draw=blue!50,very thick,fill=blue!20},]
+  every state/.style={minimum size=0pt,inner sep=2pt,
+    draw=blue!50,very thick,fill=blue!20},]
 \node[state,initial]  (Q_0)  {$\mbox{Q}_0$};
 \node[state] (Q_1) [right=of Q_0] {$\mbox{Q}_1$};
 \node[state] (Q_2) [below right=of Q_0] {$\mbox{Q}_2$};
@@ -338,39 +339,14 @@
 \end{tikzpicture}
 \end{center}
 
-
+\mbox{}\\[-14mm]
+\only<1>{
 \begin{itemize}
 \item the start state can be an accepting state
 \item it is possible that there is no accepting state
 \item all states might be accepting (but this does not necessarily mean all strings are accepted)
-\end{itemize}
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-
-\begin{center}
-\begin{tikzpicture}[>=stealth',very thick,auto,
-                             every state/.style={minimum size=0pt,inner sep=2pt,draw=blue!50,very thick,fill=blue!20},]
-\node[state,initial]  (Q_0)  {$\mbox{Q}_0$};
-\node[state] (Q_1) [right=of Q_0] {$\mbox{Q}_1$};
-\node[state] (Q_2) [below right=of Q_0] {$\mbox{Q}_2$};
-\node[state] (Q_3) [right=of Q_2] {$\mbox{Q}_3$};
-\node[state, accepting] (Q_4) [right=of Q_1] {$\mbox{Q}_4$};
-\path[->] (Q_0) edge node [above]  {\alert{$a$}} (Q_1);
-\path[->] (Q_1) edge node [above]  {\alert{$a$}} (Q_4);
-\path[->] (Q_4) edge [loop right] node  {\alert{$a, b$}} ();
-\path[->] (Q_3) edge node [right]  {\alert{$a$}} (Q_4);
-\path[->] (Q_2) edge node [above]  {\alert{$a$}} (Q_3);
-\path[->] (Q_1) edge node [right]  {\alert{$b$}} (Q_2);
-\path[->] (Q_0) edge node [above]  {\alert{$b$}} (Q_2);
-\path[->] (Q_2) edge [loop left] node  {\alert{$b$}} ();
-\path[->] (Q_3) edge [bend left=95, looseness=1.3] node [below]  {\alert{$b$}} (Q_0);
-\end{tikzpicture}
-\end{center}
-
+\end{itemize}}
+\only<2>{
 for this automaton \bl{$\delta$} is the function\\
 
 \begin{center}
@@ -380,11 +356,13 @@
   \bl{$(\mbox{Q}_0, b) \rightarrow \mbox{Q}_2$} & \bl{$(\mbox{Q}_1, b) \rightarrow \mbox{Q}_2$} &
   \bl{$(\mbox{Q}_4, b) \rightarrow \mbox{Q}_4$}\\
 \end{tabular}\ldots
-\end{center}
+\end{center}  
+}  
 
 \end{frame}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
 
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{frame}[t]
 \frametitle{Accepting a String}
@@ -1069,7 +1047,7 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \begin{frame}[c]
 \frametitle{Alternatives}
-\mbox{}\\[-17mm]\mbox{}
+\mbox{}\\[-14mm]\mbox{}
 
 \begin{center}
 \begin{tikzpicture}[>=stealth',very thick,auto,
@@ -1108,11 +1086,11 @@
 
 \small
 \begin{itemize}
-\item<2-> exchange initial / accepting states\\[-2mm]
-\item<3-> reverse all edges\\[-2mm]
-\item<4-> subset construction $\Rightarrow$ DFA\\[-2mm]
-\item<5-> remove dead states\\[-2mm]
-\item<6-> repeat once more 
+\item<1-> exchange initial / accepting states\\[-2mm]
+\item<2-> reverse all edges\\[-2mm]
+\item<3-> subset construction $\Rightarrow$ DFA\\[-2mm]
+\item<4-> remove dead states\\[-2mm]
+\item<5-> repeat once more 
           \onslide<6->{$\Rightarrow$ minimal DFA}
 \end{itemize}