# HG changeset patch # User Eugen Sawin # Date 1310753254 -7200 # Node ID 82c3364b42b59b1614d5b62bd165d10eb82a7d2e # Parent 8e48b5f173ac151d3f663636b28e20108aa339b2 Automaton example. diff -r 8e48b5f173ac -r 82c3364b42b5 paper/src/paper.tex --- a/paper/src/paper.tex Fri Jul 15 19:21:26 2011 +0200 +++ b/paper/src/paper.tex Fri Jul 15 20:07:34 2011 +0200 @@ -8,6 +8,8 @@ \usepackage{multicol} \usepackage{tikz} \usetikzlibrary{automata} +\usepackage{sidecap} +\usepackage{wrapfig} %\usepackage{fullpage} %\usepackage{a4wide} \usepackage[left=3.9cm, right=3.9cm]{geometry} @@ -184,8 +186,13 @@ Given all legal computations of an automaton, we have defined the acceptance condition. A computation is accepting, if it passes through an accepting state infinitely times. Since the set of states $S$ is finite, there must be a state $s \in S$, which occurs infinitely often within an infinite run; but it is not necessary, that $s$ is an accepting state; notice that $F$ can be an empty set. \subsection{Example} -Let $\A_1 = (\Sigma, S, S_0, \Delta, F)$ be an automaton with $\Sigma = \{a, b\}$, $S = \{q_0, q_1, q_2\},$ $S_0 = \{q_0\}$ and $\Delta = \{(q_0, a, q_1)\}, F = \{q_2\}$. - +\label{ex:automaton} +%\begin{figure}[h] +\begin{wrapfigure}{r}{0.5\textwidth} +\label{fig:automaton} +\vspace{-22pt} +%\centering +\begin{center} \begin{tikzpicture}[shorten >=0pt, node distance=2cm, auto, semithick, >=stealth %every state/.style={fill, draw=none, gray, text=white}, ,accepting/.style={fill, gray!50!black, text=white} @@ -194,19 +201,36 @@ %\draw[help lines] (0,0) grid (3,2); \node[state,initial, initial text=] (q_0) {$q_0$}; \node[state] (q_1) [above right of= q_0] {$q_1$}; -%\node[state] (q_2) [below right of= q_0] {$q_2$}; \node[state,accepting](q_2) [below right of= q_1] {$q_2$}; \path[->] (q_0) edge node {$a$} (q_1) edge [loop above] node {$b$} () (q_1) edge node {$b$} (q_2) edge [loop above] node {$a$} () -%(q_2) edge node [swap] {$a$} (q_1) -% edge [loop below] node {$b$} () (q_2) %edge node {$a$} (q_1) edge node {$b$} (q_0); \draw[->] (q_2) .. controls +(up:1cm) and +(right:1cm) .. node[above] {$a$} (q_1); \end{tikzpicture} +\end{center} +\caption{B\"uchi automaton $\A_1$ (\ref{ex:automaton} Example)} +\vspace{-42pt} +%\end{figure} +\end{wrapfigure} + +Let $\A_1 = (\Sigma, S, S_0, \Delta, F)$ be an automaton with: +\begin{itemize} +\item $\Sigma = \{a, b\}$ +\item $S = \{q_0, q_1, q_2\}$ +\item $S_0 = \{q_0\}$ +\item $\Delta = \{(q_0, a, q_0), (q_0, b, q_0),$\\ +\hspace*{0.9cm}$(q_1, a, q_1), (q_1, b, q_2),$\\ +\hspace*{0.9cm}$(q_2, a, q_1), (q_2, b, q_0)\}$ +\item $F = \{q_2\}$ +\end{itemize} +% +Figure \ref{fig:automaton} shows $\A_1$, the initial state is marked with an unlabelled incoming arrow and the only accepting state $q_2$ is a filled circle. + +By some further investigation of the automaton, we identify the recognised language $L_\omega(\A_1)$ of the automaton, it is the set of all infinite words with infinitely many occurrences of the sequence $ab$. \subsection{Generalised B\"uchi automata} In the following two sections, we present the modal logic, which is used for the specification of system properties and automata construction on such specifications. To provide a more convenient link between linear temporal logic and B\"uchi automata, we introduce a slightly different formalisation of automata with an extended acceptance condition.