|
|
@ -0,0 +1,44 @@ |
|
|
|
% from this example https://tex.stackexchange.com/questions/305375/how-to-position-labels-at-edges-of-tikz-figures/305391 |
|
|
|
|
|
|
|
\documentclass{article} |
|
|
|
\usepackage{tikz} |
|
|
|
\usetikzlibrary{arrows,automata,positioning} |
|
|
|
\usepackage{amsmath,amssymb,amsfonts} |
|
|
|
|
|
|
|
\begin{document} |
|
|
|
\begin{tikzpicture}[>=stealth', |
|
|
|
shorten > = 3pt, |
|
|
|
node distance = 4cm and 4cm, |
|
|
|
el/.style = {inner sep=2pt, align=left, sloped}, |
|
|
|
every label/.append style = {font=\tiny} |
|
|
|
] |
|
|
|
\node (data) [state, label=left:{label:10}] {Data}; |
|
|
|
\node (q1) [state,right=of data] {$s_1$}; |
|
|
|
\node (q2) [state,below=of q1, |
|
|
|
label=right:{label:20}] {$s_2$}; |
|
|
|
\node (q3) [state,below=of data, |
|
|
|
label=left:{label:5}] {$s_3$}; |
|
|
|
\path[->] |
|
|
|
(data) edge [in=150,out=90,loop] |
|
|
|
node[el,above] {Runs and re-runs} (data) |
|
|
|
(data) edge [bend right=10] node[el,below] {$a=1$} (q1) |
|
|
|
(q1) edge [bend right=10] node[el,above] {$a=0$} (data) |
|
|
|
(q1) edge [bend right=10] node[el,below] {$a=2$} (q2) |
|
|
|
(q2) edge [bend left=-10] node[el,below] {$a=1$} (q1) |
|
|
|
(data) edge [bend right=10] node[el,below] {$a=3$} (q3) |
|
|
|
(q3) edge [bend left=-10] node[el,below] {$a=0$} (data) |
|
|
|
(data) edge [bend left= 10] node[el,above,pos=0.8] {$a=2$} (q2) |
|
|
|
(q2) edge [bend left= 10] node[el,below,pos=0.8] {$a=0$} (data) |
|
|
|
(q1) edge [bend left= 10] node[el,above,pos=0.75] {$a=3$} (q3) |
|
|
|
(q2) edge [bend left= 10] node[el,below] {$a=3$} (q3) |
|
|
|
(q1) edge [in=30, out=60,loop] |
|
|
|
node[el,above,rotate=45] {$x=1$\\ $x:=x+1$} (q1) |
|
|
|
(q3) edge [bend left=10] node[el,below,pos=0.75] {$a=1$} (q1) |
|
|
|
(q3) edge [bend right=-10] node[el,above] {$a=2$} (q2) |
|
|
|
(q2) edge [in=-30,out=-60, loop] |
|
|
|
node[el,below,rotate=-45] {$a=2$ \\ $x:=x+1$} (q2) |
|
|
|
(q3) edge [in=-150,out=-120, loop] |
|
|
|
node[el,below,rotate=45] {$a=3$ \\ $x:=x+1$} (q3); |
|
|
|
\end{tikzpicture} |
|
|
|
\end{document} |
|
|
|
|