Académique Documents
Professionnel Documents
Culture Documents
1. Définition
2. Représentation d’un AEF
2.1 Graphe
2.2 Matrice
2.3 Exemple
3. Fonctionnement d’un AEF
3.1 Exemple
4. Mot et langage reconnus par un AEF
4.1 Mot reconnu
4.1.1 Exemple
4.2 Langage reconnu
4.2.1 Exemple
4.3 Automates équivalents
5. AEF non déterministe et AEF déterministe
Un automate d’états fini AEF est définis par un quintuplet A= (Σ, Q, q0, δ, F), tel que:
δ (qi, a) = qj Si l'automate est dans l'état qi, il lit le symbole a et passe à l'état qj
∀q∈Q: δ (qi, ε) = qi
2.1 Graphe
On représente généralement un automate d’états finis par un graphe orienté dont les arcs
sont étiquetés. L’état initial q0 est distingué par un arc sans origine et les états finaux par
double cercles. Les autres états simples sont présentés par un cercle, comme le montre
l’exemple suivant:
b
q0 q1
a
b b
q2
A travers ce graphe, on peut lire des transitions, par exemple : δ (q0, b) = q1 , δ (q1, b) = q1,
δ (q2, b) = q1
2.2 Matrice
δ a b
Etat initial q0 - q1
q1 q2 q1
Etat final q2 - q1
2.3 Exemple
Soit l’automate d’états finis A= (Σ, Q, q0, δ, F) défini par : Q ={q0,q1,q2}, Σ={0,1},
F={q0,q2} ( l’état q0 est à la fois initial et final).
Graphe :
0 0/1
q0 q1 q2
1 0
Matrice :
δ 0 1
q0 q1 -
q1 q2 {q0,q2}
q2 q1 -
Afin de pouvoir lire des mots quelconques de Σ*. Il est possible d’étendre récursivement la
fonction de transition δ en une fonction δ* définie comme suit :
δ* : Q×Σ* Q
(q , x) q`
Nous avons trois cas :
Si | x |= 0 δ* (q,x) = δ(q, ε) = q
Si | x |= 1 δ* (q,x) = δ (q,x)
Si | x |> 1 δ* (q,x) = δ* (δ (q, x1), x2) avec : x= x1x2 x1 ∈ Σ et x2∈ Σ*
3.1 Exemple
0 0/1
q0 q1 q2
1 0
On dit qu’un mot w est accepté par un AEF s’il existe un chemin partant d’une
configuration initial (q0, w) //q0 est l’état initial// et arrivant à une configuration finale
(qF, ε) //qF est un état accepteur ∈ F//
3 cas peuvent se présenter:
(q0, w) * (q`, w`) (q` ∈ Q et w`∈ Σ* ) Blocage, donc w n’est pas reconnu
4.1.1 Exemple
Les mots suivants sont-ils reconnus par cet automate : 01, 0111, 11, 010, ε
w= 0111 : (q0, 0111) (q1, 111) (q1, 11) (q1, 1) (q2,ε) mot reconnu
w= 11 : (q0, 11) blocage car (q0, 1) n’existe pas, mot non reconnu
w=010 : (q0, 010) (q1, 10) (q2, 0) (q1, ε) mot non reconnu car q1 ∉ F
Le langage reconnu (ou accepté) par un automate d’états finis A, noté L(A), est l’ensemble
des mots acceptés par cet automate.
Dans l’exemple 4.1.1, on peut noter que les mots : 01 et 0111 ∈ L(A) et les mots : 11, 010,
ε ∉ L(A).
4.2.1 Exemple
A:
δ 0 1
q0 {q0,q1} q0
q1 - q2
q2 - -
0/1
0 1
q0 q1 q2
Les transitions correspondent à la concaténation. On suit les arcs pour voir quel mots sont
acceptés par l’automate A, en parcourant les chemins allant de l’état initial q0 à l’état final
q2 : 01, 001, 101, 00001, 011001
L(A) = {w ∈ Σ* / w= (0/1)*01}
Un automate d’états finis non-déterministe est un automate tel que sa fonction de transition
se caractérise par les trois cas suivants :
0 101
q0 q1 q2
0 ε
q0 q1 q2
c) Dans un état donné, il peut y avoir plusieurs transitions avec la même lettre de
Σ, ce qu’on appelle le choix multiple
0 1
δ (q1,1) = q2 et q3 q0 q1 q2
δ (q3,0) = q0 et q2 1
0 0
q3
Un automate d’états finis déterministe est un automate tel que sa fonction de transition δ
se caractérise par :
a) pas de transitions sur le mot vide ε
b) pas de transitions sur des mots de longueur supérieure à 1
c) pas de choix multiples dans les transitions
Si on a δ (q, x) alors : a) x ≠ ε
b) | x |=1
c) δ (q, x) est unique
5.3 Théorème
Pour tout automate indéterministe A, il existe un automate déterministe A` équivalent, c’est
à dire L(A) = L(A`).
5.4 Passage d'un AEF non déterministe vers un AEF déterministe
5.4.1 Définition
Pour un état q d’un automate A, E(q) est l’ensemble des états qui peuvent être atteints à
partir de q par le mot vide ε, par une suite de transitions.
E(q0) = { q0}
E(q1) = { q0, q1}
E(q2) = { q2}
Remarque : E(qi) n’est jamais égal à l’ensemble vide et contient au moins l’état lui-
même qi puisque on a : δ(qi, ε)= qi pour tout qi appartenant à Q
01 0 1
Etape 2 : Eliminer les transitions sur le mot vide et les choix multiples de
transitions par l’algorithme qui suit :
Algorithme :
• q`0 = E(q0)
• Les opérations suivantes sont répétés jusqu’à ce qu’elles ne modifient
plus l’ensemble Q`
1) On choisit un état p auquel l’opération (2) n’a pas été appliquée
2) Pour tout symbole x ∈ Σ, on détermine l’état p`= δ`( p,x)
Q` = Q` ∪ { p`}
• F` ={ f ∈ Q` / f ∩ F ≠ ∅ }
5.4.3. Exemple
Donner l’automate déterministe équivalent à l’automate indéterministe suivant
A= ( Σ, Q, q0, δ, F )
a
q1 ab
q0 q3
ε a
a a
q2
D’après le graphe on peut facilement déduire que : Σ={a,b}, Q={ q0, q1 ,q2 ,q3 } F={ q3 }
L’automate choisit est un automate comprenant les trois cas du non déterminisme :
on a une transition sur un mot de longueur >1 : ab de q1 vers q3
on a une transition sur le mot vide
on a aussi un choix multiple sur l’état q0 : δ(q0,a)={q0 , q1}
a q4
q1 b
a
q0 q3
a a
ε q2
δ` ({q0,q2,},b) = ∅
• δ` ({q0, q2,q3,, q1}, a) = ∪E [δ(q0,a), δ(q2,a), δ(q3,a), δ(q1,a) ]
= E(q0) ∪E(q1) ∪ E(q3) ∪ E(q4)
= {q0, q2, q1, q3, q4}
δ` ({q0, q2,q3,, q1},b) = ∪E [δ(q0,b), δ(q2,b), δ(q3,b), δ(q1,b) ]
=∅
• δ` ({q0, q2, q1, q3, q4}, a) = ∪E [δ(q0,a), δ(q2,a), δ(q1,a), δ(q3,a), δ(q4,a) ]
= E(q0) ∪E(q1) ∪ E(q3) ∪ E(q4)
= {q0, q2, q3, q1, q4}
δ` ({q0, q2, q1, q3, q4}, b) = ∪E [δ(q0,b), δ(q2,b), δ(q1,b), δ(q3,b), δ(q4,b) ]
= E(q3) = { q3}
• δ` ({q3}, a) = ∅
δ` ({q3}, b) = ∅
a
{q0,q2,} {q0, q2, q3,, q1}
a a
{q3} b
{q0, q2, q1, q3, q4}
Σ={a,b}, Q={ {q0,q2,}, {q0, q2,q3,, q1}, {q0, q2, q1, q3, q4}, {q3}}
F={ {q0, q2,q3,, q1}, {q0, q2, q1, q3, q4}, {q3} } // les états finaux sont ceux
// contenant l’état final q3
a
e0 e1
a
a
b
e3 e2
b
5.5.1 Obtention d’un AEF déterministe complet
Le principe consiste à ajouter un état puits p (qui n’est jamais final) et de compléter la
fonction de transition δ sur les états où elle n’est pas définie.
Exemple :
a a
a e1 e1 b
a a/b
e0 b e0 p
b
b b a
e2 e2
On dit qu’un état q est accessible s’il existe un chemin menant à cet état q, à partir de
l’état initial q0
a
q1 b q3
b
a
q0 a
q2
Deux états p et q sont dits β-équivalents s’ils permettent d’atteindre des états finaux en
utilisant les mêmes mots. On écrit alors : p β q
Soit une relation R sur Q. On définit une congruence d’automate sur R par translation
de la relation sur les nouveaux états obtenus à travers δ sur les éléments de l’alphabet
Σ.
p β q ⇔ ( δ* (p, w) ∈ F ⇔ δ* (q, w) ∈ F )
Etape 2 : Regrouper les états congruents selon les classes d’états à travers la relation β
1) p β0 q ⇔ ( p ∈ F et q ∈ F ) ou ( p ∉ F et q ∉ F )
2) Si p βk q et ∀ x ∈ Σ δ (p, x) βk δ (q, x) Alors p βk+1 q
3) Arrêt si : βk = βk+1
Explication :
1) Construire deux classes : une contenant les états finaux et l’autre les
états non finaux ;
2) S’il existe un symbole x de l’alphabet et deux états p et q d’une
même classe tel que (p, x) et (q, x) n’appartiennent pas à la même
classe, alors créer une nouvelle classe et séparer p et q.
3) On laisse dans la même classe tous les états qui donnent un état
d’arrivée dans la même classe ;
4) Recommencer l’étape 2 jusqu’à ce qu’il n’y ait plus de classes à
séparer ;
b a
q0 q1
a b
a
a/b
q2 q3
b
β1 : { q0 } {q1, q2} { q3} // les classes { q0 } {q1, q2} sont éclatées pas b car
Arrêt car β1 = β2
On obient l’automate minimal :
a a/b
a/b a b
{q0} {q1 q2} {q3}
a a/b
a/b b
e0 e1 e2
Remarque :
• L’automate obtenu est minimal et est unique, il ne peut plus être réduit.
• Si après minimisation d’un automate on obtient le même automate, alors cela
signifie qu’il est déjà minimal.
7. Exercice
Soit l’automate d’états finis A= ( Σ, Q, q0, δ, F ) tel que : Q = { q0, q1}, F={ q1}
δ: δ(q0, a) = q0, δ(q0, b) = q0, δ(q0, bb) = q1 , δ(q1, a) = q1 , δ(q1, b) = q1
1. Dessiner l’AEF A
2. Dire pourquoi A est indéterministe
3. Trouver l’AEFD A` équivalent à A
4. Trouver l’automate A`` minimal équivalent à A`
Solution
1.
a/b a/b
bb
q0 {q1}
L’automate A accepte des mots tels que : bb, abb, bbb, baabb, bba, bbbaaab,
abbbabbbaba, aaabbbbbbba, on peut en décrire ces mots l’expression régulière :
(a/b)*(bb) (a/b)*
2. A est une AEF indéterministe car on a une transition sur un mot de longueur > 1
3. Calcul de l’AEFI A`
b b
q0 q2 q1
q}
a
{q0} {q0 , q2}
b
a b
a b
On obtient l’AEFD A`
a
e0 e1
b
a b
a
e3 e2
b
a b
4. Minimisation de A` : A`est déterministe et complètement spécifié, donc on peut le
minimiser.
Etape 1 : Eliminer les états inaccessibles : pas d’états inaccessibles
a
b
{ e0 } { e1 }
a
b
a/b
{ e 2, e 3}
a
b
s0 s1
a
b
a/
b s3