\section{State Machines} There are 3 types of state machines. \begin{center} \ttfamily \begin{tikzpicture}[ node distance = 3mm, box/.style = { draw = black, thick, fill = gray!20!white, minimum width = 20mm, minimum height = 8mm, } ] % mealey \begin{scope} \node[box] (G) {\large G}; \node[box, above = of G] (F) {\large F}; \node[box, below = of G] (Z) {\large Z}; \node[above = of F] {\large Mealey}; \draw[very thick, ->, hsr-blue] (F.east) -- ++(1,0) node[right] {oup}; \draw[very thick, ->, hsr-lakegreen] (G.east) -- ++(.5,0) |- (Z.east); \draw[very thick, ->] (Z.west) -- ++(-.5,0) |- ($(G.west) - (0,.25)$); \draw[very thick, ->] (G.west) ++ (-.5,-.25) |- ($(F.west) + (0,.25)$); \draw[very thick, ->, hsr-mauve] ($(G.west) + (-1.5,.25)$) node[left] {inp} -- ++(1.5,0); \draw[very thick, ->, hsr-mauve] ($(G.west) + (-1,.25)$) |- ($(F.west) - (0,.25)$); \end{scope} % moore \begin{scope}[yshift = -42mm] \node[box] (G) {\large G}; \node[box, above = of G] (F) {\large F}; \node[box, below = of G] (Z) {\large Z}; \node[above = of F] {\large Moore}; \draw[very thick, ->, hsr-blue] (F.east) -- ++(1,0) node[right] {oup}; \draw[very thick, ->, hsr-lakegreen] (G.east) -- ++(.5,0) |- (Z.east); \draw[very thick, ->] (Z.west) -- ++(-.5,0) |- ($(G.west) - (0,.25)$); \draw[very thick, ->] (G.west) ++ (-.5,-.25) |- (F.west); \draw[very thick, ->, hsr-mauve] ($(G.west) + (-1.5,.25)$) node[left] {inp} -- ++(1.5,0); \end{scope} % Medwedjew \begin{scope}[yshift = -80mm] \node[box] (G) {\large G}; \node[box, below = of G] (Z) {\large Z}; \node[above = of G, yshift = 3mm] {\large Medwedjew}; \draw[very thick, ->, hsr-lakegreen] (G.east) -- ++(.5,0) |- (Z.east); \draw[very thick, ->, hsr-blue] (Z.west) -- ++(-.5,0) |- ($(G.west) - (0,.25)$); \draw[very thick, ->, hsr-blue] (G.west) ++ (-.5,-.25) |- ($(G.east) + (1,.75)$) node[right] {oup}; \draw[very thick, ->, hsr-mauve] ($(G.west) + (-1.5,.25)$) node[left] {inp} -- ++(1.5,0); \end{scope} \end{tikzpicture} \end{center}