Vous êtes sur la page 1sur 21

Expression régulière et automates finis

Exercice
Transformer en AFD l’automates suivant :
Expression régulière et automates finis
 Exercice
 Correction
Expression régulière et automates finis
 Exercice

Transformer en AFD l’automates suivant :


Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD

Par - Eliminer les états qui n’ont pas un chemin


Minimiser un Réduire le à partir de l’état initial
AFD nombre d’états - Fusionner les états reconnaissant le même
langage.
Pour

- Réduire le temps de reconnaissance


- Réduire l’espace mémoire utilisé pour sauvegarder l’AFD
Expression régulière et automates finis
 Automates finis

Minimisation d’un AFD


Définition 1: Un état est dit inaccessible s’il n’existe
aucun chemin permettant de l’atteindre à partir de l’état
initial.
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
2- Regrouper les états appartenant à la même classe d’équivalence:
Définition 2: Deux états qi et qj sont dits β-équivalents s’ils permettent
d’atteindre les états finaux en utilisant les mêmes mots (pour tout mot x V*,
δ(qi,x) F si et seulement si δ(qj,x) F). On écrit alors : qiβqj.
Remarques:
1-La relation R (R= β-équivalence) est une relation d’équivalence car elle est:
-Réflexive (pRp), p Q
-Symétrique (pRq qRp), p,q Q
-Transitive (pRq et qRq’ pRq’). p,q,q’ Q
2- Le nombre de classes d’équivalence de la relation β-équivalence est égal au
nombre des états de l’automate minimal car les états de chaque classe
d’équivalence reconnaissent le même langage (ils seront fusionnés).
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
2- Regrouper les états appartenant à la même classe d’équivalence:
1- Faire deux classes: A contenant les états finaux et B contenant les états non finaux;
2- S’il existe un symbole x et deux états qi et qj d’une même classe tel que δ(qi, x) et
δ(qj, x) 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;

Exemple:
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
2- Regrouper les états appartenant à la même classe d’équivalence:

Exemple:
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
2- Regrouper les états appartenant à la même classe d’équivalence:

Exemple:
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
2- Regrouper les états appartenant à la même classe d’équivalence:

Exemple:
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
2- Regrouper les états appartenant à la même classe d’équivalence:

Exemple:
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
2- Regrouper les états appartenant à la même classe d’équivalence:

Exemple:
Expression régulière et automates finis
 Automates finis
Minimisation d’un AFD
2- Regrouper les états appartenant à la même classe
d’équivalence:
Exemple: même exemple avec autre méthode

Etat a b 1- A={1,2} , B={3,4,5,6}


*1 2 5 2- δ(3,b)=2∈A , δ(4,b)=3∈B, donc il faut séparer 4 (ou 3) du reste de
Etat a b
la classe B. Alors , on crée une classe C contenant l’état 4 (ou 3).
*2 2 4 *A A C
3- δ(3,b)=2∈A, δ(5,b)=6∈B, donc il faut séparer 5 de la classe B. On
3 3 2 peut mettre 5 dans la classe C (si C={4}) car δ(5,a)=4∈C et B B A
4 5 3 δ(4,a)=5∈C et δ(5,b)=6∈B et δ(4,b)=3∈B. Donc B={3,6} et C={4,5}. C C B
5 4 6 4- Aucun autre changement n’est possible, alors on arrête
l’algorithme. L’automate minimal est donc contient les trois états A
6 6 1
(état initial et final), B et C.
Expression régulière et automates
finis
Exercice
Minimiser l’AFD suivant:

91
Correction
A= {q5} et B={q0;q1;q2;q3 ;q4}
On a δ(q0 ,b)=q3 B et δ(q2 ,b)=q5 A alors il faut séparer q0 ou q2
du reste de la classe B donc on crée une classe contenant l’état q2.
Donc: A= {q5} et B={q0;q1;q3;q4} et C={q2}.
δ(q0 ,b)=q3 B et δ(q4 ,b)=q5 A on peut ajouter q4 dans la classe
C (car δ(q2,a)=q2 C et δ(q4,a)=q4 C et δ(q2 ,b)=q5 A et
δ(q4,b)=q5 A). Donc: A= {q5} et B={q0;q1;q3 } et C={q2;q4}.
δ(q0 ,b)=q3 B et δ(q1 ,b)=q2 C il faut séparer q0 ou q1 et on
crée une classe D contenant q1.
Donc: A= {q5} et B={q0;q3 } et C={q2;q4}.et D={q1}.
δ(q0 ,b)=q3 B et δ(q3 ,b)=q4 C on peut ajouter q3 à D car (car
δ(q1,a)=q1 D et δ(q3,a)=q3 D et δ(q1,b)=q2 C et
δ(q3,b)=q4 C). Donc: A= {q5} et B={q0} et C={q2;q4} et
D={q1;q3}.
Correction
 NB: Utiliser la méthode des tableaux et comparer les 2
méthodes.
Expression régulière et automates finis
 Exercice: Déterminer et minimiser l’automate suivant:

Vous aimerez peut-être aussi