Vous êtes sur la page 1sur 21

Automate a états finis

Minimisation et complement
Introduction
Le temps de reconnaissance d’un mot d’un langage par un
automate d’états fini (on considère les AFD) dépond du
nombre d’état de cet automate. Ce qui conduit a dire que
moins un automate contient d’états, moins il prendra du
temps à reconnaître un mot. Il parait naturel de vouloir
minimiser le nombre d‘états d'un AFD acceptant un
langage régulier donné.

2 W.SAADI
Automate minimal (canonique)
Un AEF déterministe est minimal (canonique) si et
seulement si il possède un nombre minimum d’états
comparé a tout autre AEF déterministe reconnaissant le
même langage (AFD équivalent).

3 W.SAADI
Définition
Soit L ⊆ Σ∗ un langage reconnaissable. L’automate minimal
de L est, parmi les automates déterministes complets
reconnaissant L, celui qui possède le moins d’´etats.

4 W.SAADI
Minimisation d’un AFD
Si on peut trouver une multitude d’automates pour
reconnaître le même langage, on ne peut trouver
néanmoins qu’un seul automate minimal reconnaissant le
même langage. La minimisation s’effectue en éliminant les
états dits inaccessibles et en fusionnant les états
reconnaissant le même langage.

5 W.SAADI
États inaccessibles
Un état est dit inaccessible s’il n’existe aucun chemin
permettant de l’atteindre à partir de l’état initial.

Comme les états inaccessibles sont improductifs et ne


participent jamais à la reconnaissance d’un mot. La
première étape de minimisation d’un AEF consiste à
éliminer ces états.

6 W.SAADI
Les états β-équivalents
Deux états qi et qj sont dits β-équivalents s’ils permettent
d’atteindre les états finaux en utilisant les mêmes mots.
On écrit alors : qi β qj.

Exemple : deux états qi et qj qui sont β équivalents.

7 W.SAADI
Remarque1

La relation β-équivalence est une relation d’équivalence


(relation réflexive, transitive et symétrique).

∀x ∈ Σ(Σ étant l’alphabet), δ(qi, x) et δ(qj, x) sont


De plus, ∀
également β-équivalents (puisque qi et qj
reconnaissent le même langage). La relation
β-équivalence est donc dite une relation de congruence.

8 W.SAADI
Remarque2
Le nombre de classes d’équivalence de la relation
β-équivalence est égal au nombre des états de
l’automate minimal car les état de chaque classe
d’équivalence reconnaissent le même langage (ils
seront fusionnés).

9 W.SAADI
Minimiser un AEF
La méthode de minimisation d’un AEF passe par les étapes
suivantes :

1. Nettoyer l’automate en éliminant les états inaccessibles ;

2. Regrouper les états congruents (appartenant à la même


classe d’équivalence).

10 W.SAADI
Algorithme : Regroupement des états
congruents
1. Construire deux classes : A contenant les états finaux et B
contenant les états non finaux ;

2. S’il existe un symbole a et deux états qi et qj d’une même


classe tel que δ(qi, a) et δ(qj, a) n’appartiennent pas à la même
classe, alors créer une nouvelle classe et séparer qi et qj. On
laisse dans la même classe tous les états qui donnent un état
d’arrivée dans la même classe ;

3. Recommencer l’étape 2 jusqu’à ce qu’il n’y ait plus de classes à


séparer ;
11 W.SAADI
Résultats (l’automate minimale)
Les paramètres de l’automate minimal sont, alors, les suivants :

1. Chaque classe de congruence est un état de l’automate


minimal;

2. La classe qui contient l’ancien état initial devient l’état initial


de l’automate minimal ;

3. Toute classe contenant un état final devient un état final ;

12 W.SAADI
Suite…
4. La fonction de transition est définie comme suit :

Soient A une classe de congruence obtenue, a un symbole


de l’alphabet et qi un état qi ∈ A tel que δ(qi, a) est
définie. La transition δ(A, a) est égale à la classe B qui
contient l’état qj tel que δ(qi, a) = qj.

13 W.SAADI
Exemple 1
Soit à minimiser l’automate suivant, tel que l’état 1 est initial
et les états 1 et 2 sont finaux.

14 W.SAADI
Suite de l’exemple1
Après l’application de l’algorithme de minimisation, on
obtient l’automate minimal suivant tel que A est
l’état initial et A et B sont finaux:

15 W.SAADI
Remarque 3
Dans cet algorithme, chaque classe de congruence
représentera un état dans l’automate minimal.

A noter que cet algorithme ne peut s’appliquer que si


l’automate est déterministe.

16 W.SAADI
Le complément
Soit A un automate déterministe défini par le quintuplet
(Σ,Q, q0, F, δ) reconnaissant le langage L. L’automate
reconnaissant le langage inverse (c’est-à-dire L ou Σ∗−L)
est défini par le quintuplet (Σ, Q, q0, Q−F, δ) (en d’autres
termes, les états finaux deviennent non finaux et vice-
versa).

17 W.SAADI
Remarque 4
1. Cette propriété ne fonctionne que si l’automate est
complet : la fonction δ est définie pour toute paire
(q,a) ∈ Q× Σ. Si l’automate n’est pas complet il faut le
rendre complet.

2. Si l’automate n’est pas déterministe, on ne peut pas


trouver l’automate du langage complémentaire. On
doit d’abord le rendre déterministe.

18 W.SAADI
Exemple 2
L’automate A1 qui reconnait les mots
qui ont le facteur ab

L’automate A2 complémentaire
de l’automate A1

19 W.SAADI
Limite des automates finis
Certains langages ne peuvent pas être reconnus par les automates finis (ne
peuvent être engendrés par une grammaire régulière) ⇒ langages qui ne
sont pas de type 3 ( langages de type2, type1 ou de type0).
Exemple :
L = {anbn |n≥ 0} dans ce cas la machine qui doit reconnaitre les mots ce
langage doit mémoriser le nombre de a que l’on a lu pour vérifier que le
mot possède autant de b.
Pour mémoriser un nombre potentiellement infini de a, il faut un ensemble
infini d’états! ⇒ un autre type d’automate pour reconnaitre les mots de ce
langage.

20 W.SAADI
Conclusion
Les automates a états finis permettent la reconnaissance
des mots des langages réguliers (langages de types 3),
pour les autres types de langages il existe d’autres types
de machines permettant la reconnaissance de leurs mots.

21 W.SAADI

Vous aimerez peut-être aussi