Add minimisation -> méthode

This commit is contained in:
flyingscorpio@pinebookpro 2021-11-15 15:17:57 +01:00
parent a85e6f3908
commit 47b5b1ca17

View file

@ -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}