Add minimisation -> méthode
This commit is contained in:
parent
a85e6f3908
commit
47b5b1ca17
1 changed files with 44 additions and 0 deletions
|
@ -332,6 +332,50 @@
|
|||
|
||||
\subsubsection{Minimisation}
|
||||
|
||||
\paragraph{Définition}
|
||||
|
||||
Un automate minimal est celui qui contient le moins d'états possibles parmi tous les automates complets et déterministes correspondant au même langage.
|
||||
|
||||
Pour un langage donné, il n'y a qu'un seul automate minimal.
|
||||
Pour prouver que deux automates reconnaissent le même langage, on peut donc les minimiser, ce qui rendra deux fois le même automate minimal.
|
||||
|
||||
Pour minimiser un automate, il faut qu'il soit~:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item déterministe
|
||||
|
||||
\item complet
|
||||
|
||||
\item accessible
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Méthode}
|
||||
|
||||
On commence par partir du principe que tous les états sont identiques.
|
||||
Puis on sépare les états qui n'ont pas les mêmes suffixes.
|
||||
Au bout d'un moment, tous les états regroupés ne pourront plus ête séparés.
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item Regroupement de tous les états en deux groupes~:
|
||||
$N$ (états non terminaux) et $T$ (états terminaux).
|
||||
|
||||
\item Pour chaque groupe, séparation des états qui ont des suffixes différents.
|
||||
|
||||
\item Pour chaque groupe nouvellement obtenu, refaire l'étape précédente, de manière itérative, jusqu'à ce qu'aucun groupe ne peut être séparé~:
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item soit parce qu'il n'a qu'un état
|
||||
|
||||
\item soit parce que tous ses états ont les mêmes suffixes
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Suppression des transitions $\varepsilon$}
|
||||
|
||||
\end{document}
|
||||
|
|
Loading…
Reference in a new issue