Automata example.
authorEugen Sawin <sawine@me73.com>
Wed, 20 Jul 2011 03:03:50 +0200
changeset 588f4e103481ae
parent 57 c8b38fab3d48
child 59 2a4e49e05db7
Automata example.
slides/src/slides.tex
     1.1 --- a/slides/src/slides.tex	Tue Jul 19 21:29:46 2011 +0200
     1.2 +++ b/slides/src/slides.tex	Wed Jul 20 03:03:50 2011 +0200
     1.3 @@ -1,6 +1,16 @@
     1.4  \documentclass[9pt]{beamer}
     1.5  \usetheme{Boadilla}
     1.6 -\usecolortheme{seagull}
     1.7 +\usecolortheme{dove}
     1.8 +\usecolortheme{orchid}
     1.9 +\usecolortheme{dolphin}
    1.10 +%\usecolortheme{seagull}
    1.11 +
    1.12 +\usepackage{color}
    1.13 +\usepackage{ulem}
    1.14 +\usepackage{graphicx}
    1.15 +\usepackage{tikz}
    1.16 +\usetikzlibrary{automata}
    1.17 +\usepackage{subfigure}
    1.18  
    1.19  \newcommand{\M}{\mathcal{M}}
    1.20  \newcommand{\N}{\mathbb{N}_0}
    1.21 @@ -79,6 +89,162 @@
    1.22  
    1.23  \begin{frame}
    1.24  \frametitle{Automata}
    1.25 +\framesubtitle{Example 1/3}
    1.26 +\begin{figure}
    1.27 +\centering
    1.28 +\only<1>{
    1.29 +\begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
    1.30 +    %every state/.style={fill, draw=none, gray, text=white},
    1.31 +    ,accepting/.style={fill, gray!50!black, text=white}
    1.32 +    %initial/.style ={gray, text=white}]%,  thick]
    1.33 +    ]
    1.34 +\node[state,initial, initial text=] (q_0) {$q_0$};
    1.35 +\node[state] (q_1) [above right of= q_0] {$q_1$};
    1.36 +\node[state,accepting](q_2) [below right of= q_1] {$q_2$};
    1.37 +\path[->] 
    1.38 +(q_0) edge node {$a$} (q_1)
    1.39 +  edge [loop above] node {$b$} ()
    1.40 +(q_1) edge node {$b$} (q_2)
    1.41 +  edge [loop above] node {$a$} ()
    1.42 +(q_2) %edge node {$a$} (q_1)
    1.43 +  edge node {$b$} (q_0);
    1.44 +\draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);
    1.45 +\end{tikzpicture}
    1.46 +}
    1.47 +
    1.48 +\only<2>{
    1.49 +\begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
    1.50 +    %every state/.style={fill, draw=none, gray, text=white},
    1.51 +    ,accepting/.style={fill, gray!50!black, text=white}
    1.52 +    %initial/.style ={gray, text=white}]%,  thick]
    1.53 +    ]
    1.54 +\node[state,initial, initial text=] (q_0) {$q_0$};
    1.55 +\node[state] (q_1) [above right of= q_0] {$q_1$};
    1.56 +\node[state,accepting](q_2) [below right of= q_1] {$q_2$};
    1.57 +\path[->] 
    1.58 +(q_0) 
    1.59 +  edge [loop above] node {$b$} ()
    1.60 +(q_1) 
    1.61 +  edge [loop above] node {$a$} ()
    1.62 +(q_2) %edge node {$a$} (q_1)
    1.63 +  edge node {$b$} (q_0);
    1.64 +\color{green}
    1.65 +\path[->] 
    1.66 +(q_0) edge node {$a$} (q_1) 
    1.67 +(q_1) edge node {$b$} (q_2);
    1.68 +\draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);
    1.69 +\end{tikzpicture}
    1.70 +\color{black}
    1.71 +}
    1.72 +%Automaton $\A_1$
    1.73 +\end{figure}
    1.74 +\end{frame}
    1.75 +
    1.76 +\begin{frame}
    1.77 +\frametitle{Automata}
    1.78 +\framesubtitle{Example 2/3 (Complement)}
    1.79 +\begin{figure}
    1.80 +\centering
    1.81 +\only<-1>{
    1.82 +  \subfigure
    1.83 +            {
    1.84 +              \begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
    1.85 +                  %every state/.style={fill, draw=none, gray, text=white},
    1.86 +                  ,accepting/.style={fill, gray!50!black, text=white}
    1.87 +                  %initial/.style ={gray, text=white}]%,  thick]
    1.88 +                ]
    1.89 +                \node[state,initial, initial text=, accepting] (q_0) {$q_0$};
    1.90 +                \node[state, accepting] (q_1) [above right of= q_0] {$q_1$};
    1.91 +                \node[state](q_2) [below right of= q_1] {$q_2$};
    1.92 +                \path[->] 
    1.93 +                (q_0) edge node {$a$} (q_1)
    1.94 +                edge [loop above] node {$b$} ()
    1.95 +                (q_1) edge node {$b$} (q_2)
    1.96 +                edge [loop above] node {$a$} ()
    1.97 +                (q_2) %edge node {$a$} (q_1)
    1.98 +                edge node {$b$} (q_0);
    1.99 +                \draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);
   1.100 +              \end{tikzpicture}
   1.101 +            }
   1.102 +}
   1.103 +\only<2>{ 
   1.104 +  \subfigure
   1.105 +            {
   1.106 +              \begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
   1.107 +                  %every state/.style={fill, draw=none, gray, text=white},
   1.108 +                  ,accepting/.style={fill, gray!50!black, text=white}
   1.109 +                  %initial/.style ={gray, text=white}]%,  thick]
   1.110 +                ]
   1.111 +                \node[state,initial, initial text=, accepting] (q_0) {$q_0$};
   1.112 +                \node[state, accepting] (q_1) [above right of= q_0] {$q_1$};
   1.113 +                \node[state](q_2) [below right of= q_1] {$q_2$};
   1.114 +                \path[->] 
   1.115 +                (q_0) 
   1.116 +                edge [loop above] node {$b$} ()
   1.117 +                (q_1) 
   1.118 +                edge [loop above] node {$a$} ();                
   1.119 +                \color{red}  
   1.120 +                \path[->] 
   1.121 +                (q_0) edge node {$a$} (q_1)
   1.122 +                (q_1) edge node {$b$} (q_2)
   1.123 +                (q_2) edge node {$b$} (q_0);  
   1.124 +                \draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);              
   1.125 +              \end{tikzpicture}  \color{red}  
   1.126 +            }
   1.127 + \color{black}
   1.128 +}
   1.129 +\only<3->{ \setcounter{subfigure}{0} 
   1.130 +  \subfigure[\sout{Complement automaton}]
   1.131 +            {
   1.132 +              \begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth
   1.133 +                  %every state/.style={fill, draw=none, gray, text=white},
   1.134 +                  ,accepting/.style={fill, gray!50!black, text=white}
   1.135 +                  %initial/.style ={gray, text=white}]%,  thick]
   1.136 +                ]
   1.137 +                \node[state,initial, initial text=, accepting] (q_0) {$q_0$};
   1.138 +                \node[state, accepting] (q_1) [above right of= q_0] {$q_1$};
   1.139 +                \node[state](q_2) [below right of= q_1] {$q_2$};
   1.140 +                \path[->] 
   1.141 +                (q_0) 
   1.142 +                edge [loop above] node {$b$} ()
   1.143 +                (q_1) 
   1.144 +                edge [loop above] node {$a$} ();                
   1.145 +                \path[->] 
   1.146 +                (q_0) edge node {$a$} (q_1)
   1.147 +                (q_1) edge node {$b$} (q_2)
   1.148 +                (q_2) edge node {$b$} (q_0);  
   1.149 +                \draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1);              
   1.150 +              \end{tikzpicture}  \color{red}  
   1.151 +            }
   1.152 + \color{black}
   1.153 +}
   1.154 +\hspace{10pt}
   1.155 +\visible<3->{
   1.156 +  \subfigure[Complement automaton]
   1.157 +            {
   1.158 +              \label{fig:complement automaton}
   1.159 +              \begin{tikzpicture}[shorten >=1pt, node distance=2cm, auto, semithick, >=stealth   
   1.160 +                  ,accepting/.style={fill, gray!50!black, text=white}]
   1.161 +                \node[state, initial, initial text=] (q_0) {$q_0$};
   1.162 +                \node[state, accepting] (q_1) [above right of= q_0] {$q_1$};
   1.163 +                \node[state, accepting](q_2) [below right of= q_1] {$q_2$};
   1.164 +                \path[->] 
   1.165 +                (q_0) edge node {$a$} (q_1)
   1.166 +                edge node {$b$} (q_2)
   1.167 +                edge [loop above] node {$a, b$} ()
   1.168 +                (q_1) edge [loop above] node {$a$} ()
   1.169 +                (q_2) 
   1.170 +                edge [loop above] node {$b$} ();
   1.171 +              \end{tikzpicture}\color{green}  
   1.172 +            }
   1.173 +\color{black}  
   1.174 +}
   1.175 +%\caption{Automata from Example \ref{ex:automaton}}
   1.176 +\end{figure}
   1.177 +\end{frame}
   1.178 +
   1.179 +\begin{frame}
   1.180 +\frametitle{Automata}
   1.181  \framesubtitle{Definition}
   1.182  \begin{def:buechi automata}
   1.183  A non-deterministic B\"uchi automaton is a tuple $\A = (\Sigma, S, S_0, \Delta, F)$ with:
   1.184 @@ -176,7 +342,7 @@
   1.185  
   1.186  \begin{frame}
   1.187  \frametitle{Linear Temporal Logic}
   1.188 -\framesubtitle{A bit more information about this}
   1.189 +\framesubtitle{Motivation}
   1.190  \end{frame}
   1.191  
   1.192  \begin{frame}