Add élimination d'états
This commit is contained in:
parent
d669a7df9b
commit
78cead2792
1 changed files with 31 additions and 0 deletions
|
@ -567,4 +567,35 @@
|
|||
|
||||
\subsection{Automate vers expression rationnelle}
|
||||
|
||||
\subsubsection{Par élimination d'états}
|
||||
|
||||
Il s'agit de supprimer un par un tous les états, en remplaçant à chaque suppression les transitions attenant à l'état supprimé par une expression rationnelle équivalente.
|
||||
|
||||
La première étape est de \emph{rajouter} un état initial $\alpha$ avec sa transition $\varepsilon$ vers l'état initial.
|
||||
De la même façon, on ajoute un état terminal $\omega$ avec les transitions $\varepsilon$ entre les états terminaux et $\omega$.
|
||||
|
||||
On peut maintenant supprimer les états un par un.
|
||||
Pour s'aider, on peut créer un petit schéma centré sur l'état à supprimer, en indiquant toutes les transitions entrantes et sortantes vers cet état.
|
||||
Ces transitions sont à ajouter à l'automate amputé de cet état.
|
||||
|
||||
$a^*$
|
||||
\begin{center}
|
||||
\begin{tikzpicture}[->, on grid, auto, node distance=2cm]
|
||||
\node(1)[state, initial, initial text={}] {1};
|
||||
\node(2)[state, right = of 1] {2};
|
||||
\node(3)[state, above right = of 2] {3};
|
||||
\node(4)[state, below right = of 2] {4};
|
||||
\node(5)[state, accepting by arrow, below right = of 3] {5};
|
||||
|
||||
\path
|
||||
(1) edge node {a} (2)
|
||||
(2) edge node {b} (3)
|
||||
(2) edge node {c} (4)
|
||||
(3) edge [loop above] node {d} (3)
|
||||
(3) edge node {c} (5)
|
||||
(4) edge node {b} (5)
|
||||
;
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
|
||||
\end{document}
|
||||
|
|
Loading…
Reference in a new issue