Vous êtes sur la page 1sur 5

Un méta-automate ...

algorithme
1

création système équations


E.R. A.F.D.
2

3 - Automate fini minimal 
 Langages minimisation


séparation d’états
rationnels
3

Automate
création A.F.N. minimisation minimal
résiduels gauches
3

1 2

Minimisation Langage associé à un état


Théorème : un langage rationnel est reconnu par un
unique automate fini déterministe minimal*.
Soit A = (Σ,Q,δ,qo,F) un A.F.D.

☞  deux problèmes de minimisation :
 •  langage associé à l’état q :

•  Donnée : un automate fini déterministe A


•  Problème : construire l’automate minimal Amin qui reconnaît Lq(A) = {w ∈ Σ*, δ*(q,w) ∈ F }
le langage L(A) reconnu par A
•  Lq(A) : langage reconnu par l’automate Aq = (Σ,Q,δ,q,F) :
•  Idée : les états équivalents ...
- c’est presque le même automate que A
•  Donnée : une expression régulière E - sauf que q devient état initial à la place de qo
•  Problème: construire l’automate minimal Amin qui reconnaît
le langage L(E) décrit par E
•  en particulier : L(A) = Lq0(A)
•  Idée : les résiduels ...

*  la minimalité porte sur le nombre d’états d’un automate fini ... COMPLET.
•  un état q est accessible s’il existe un chemin de qo à q dans A.

3 4
Minimisation (1er problème) Etats équivalents

•  Donnée : A un A.F.D. complet dont chaque état est accessible •  étant donné A un A.F.D, deux états p et q sont équivalents si
depuis l’état initial leurs langages associés respectifs sont identiques :

•  Problème : construire l’automate minimal* qui reconnaît le même p ≈ q ssi Lp(A) = Lq(A)
langage que A
•  autrement dit :
•  Idée : faire en sorte que les états équivalents soient fusionnés
(p ≈ q ) ⇔ ( ∀ w de Σ*, δ*(p,w) ∈ F et δ*(q,w) ∈ F

ou bien

En pratique,
l’algo. est fondé sur le principe de « séparation des états » : δ*(p,w) ∉ F et δ*(q,w) ∉ F )
•  on commence par séparer les états finals des états non finals
•  dans chaque classe, on sépare les états non équivalents
•  on renouvelle cette opération jusqu’à la stabilisation ...
•  La relation ≈ est une relation d’équivalence.

•  Si q est un état, on note [q] l’ensemble des états qui lui sont
* On rappelle que « minimal » sous-entend à la fois « déterministe » ET « complet ».
équivalents.

5 6

Exemple Automate minimal


a •  Soit A un A.F.D. complet* dont chaque état est accessible depuis
1 4 l’état initial :
a b a,b
a,b a,b A = (Σ, Q, δ, q0, F)
0 3 6
a •  l’automate minimal associé à A est :
b a
b
2 5 Amin = (Σ, Q’, δ’, [q0], F’)
b
0 ≈ 4 ? NON : car 0 ∉ F et 4 ∈ F –  Q’= {[q], q ∈ Q}
  δ’= { ([p],σ,[q]) / ∃ p’ ∈ [p], ∃ q’ ∈ [q] (p’,σ,q’) ∈ δ }
3 ≈ 6 ? OUI : car d’une part 3 ∈ F et 6 ∈ F
–  F’= {[f], f ∈ F}
et d’autre part :
∀ w ∈ Σ*, δ*(3,aw) ∈ F et δ*(6,aw) ∈ F * En pratique, le « complet » n’est pas nécessaire à la mise en œuvre de l’algorithme, mais
l’automate obtenu doit alors être complété a posteriori afin d’obtenir l’automate minimal canonique.
et ∀ w ∈ Σ*, δ*(3,bw) ∈ F et δ*(6,bw) ∈ F

7 8
Propriétés Algorithme de minimisation

•  Amin = (Σ, Q’, δ’, [q0], F’) :


Algorithme par « raffinements successifs »
–  est bien défini
–  ne peut avoir deux états distincts équivalents
On définit inductivement une suite d’équivalences :
–  reconnaît le même langage que A

•  pour tout A.F.D. complet B tel que L(B) = L(A), •  p ≈0 q ⇔ ((p ∈F et q ∈ F) ou ( p ∉ F et q ∉ F ) )


le nombre d’états de B est supérieur ou égal à celui de Amin

•  tous les automates minimaux C tels que L(C) = L(A) •  i>0 : p ≈i q ⇔ p ≈i-1 q
sont identiques à un renommage de leurs états près. et

∀σ ∈ Σ : δ(p,σ) ≈i-1 δ(q,σ)


!  on peut parler d’unicité de l’automate minimal.
•  cas d’arrêt : ≈i est identique à ≈i-1

9 10

Un premier exemple Un autre exemple


a b
A
δ
a
1
a
4 0 1 2
B 1 4
a b a,b b a
1 4 3 a
a,b a,b 2 3 5 a,b a,b
0 3 6 0
3 6 6 b 3 6
a 4 6 6
a b a a b
b a 5 6 5 b δ
b 5 6 6 6 b
2 2 5 0 1 2
b 1 4 3
≈0 : {0, 2, 5} {1, 3, 4, 6} 2 3 5
b a,b 3 6 6
≈0 : {0, 2, 5} {1, 3, 4, 6} ≈1 : {{0, 2}, {5}, {1, 3, 6}, {4}} 4 6 2
a
≈1 : {0, 2, 5} {1, 3, 4, 6} 025 1346
≈2 : {{0}, {2}, {5}, {1}, {4}, {3,6}}
5 6 3
6 6 6
≈0 = ≈1 donc arrêt de l’algorithme Amin ≈3 = ≈2 : arrêt !

11 12
Automate minimisé Résiduels

Bmin 1
a 4
•  L’ensemble des résiduels à gauche de L, noté R( L), est la réunion
pour tous les mots σ de Σ des ensembles {σ}-1 L :
a b
a,b
a
0 36 {σ}-1L = { w ∈ Σ tels que σ w ∈ L}
b
a a,b L Les résiduels à gauche,
b ce sont tous les w
qui restent ...
b à droite
2 5

w
•  Propriétés : σ L
≈ : {{0}, {2}, {5}, {1}, {4}, {3,6}} {ε}-1L = L
∅-1L = ∅ 

({σ τ })-1 L = {τ} -1 ({ σ}-1 L) σ τ w

13 14

Minimisation (2e problème) Calcul de l’automate minimal


Soit L un langage rationnel :
Soit L un langage rationnel sur Σ donné sous forme d’une expression régulière,
Théorème : (admis)
L’ensemble des résiduels à gauche de L noté R( L) est fini. on construit l’automate minimal M = (Σ, Q, δ, q0, F) le reconnaissant :

•  q0 correspond au langage Lq0 = L


Proposition : (admis)
•  Q = {q0}
Soit A = (Σ, Q, δ, q0, F) un A.F.D. complet dont tous les •  i = 1
états sont accessibles, on a : •  pour tout état q de langage associé Lq non encore traité faire
pour toute lettre σ de Σ faire
R( L) = {Lq(A), q ∈ Q } on calcule {σ} 1Lq
si aucun état ne correspond à {σ} 1Lq alors
qi nouvel état pour {σ} 1Lq
Conséquence immédiate : Q = Q ∪ {qi}
A partir d’une expression régulière pour L, δ = δ ∪ {(q, σ ,qi)}
on peut construire l’automate minimal qui reconnaît L i = i + 1
et dont chaque état correspond justement à un élément de R(L). •  F contient tous les états q tel que ε∈ Lq

15 16
Exemple Un autre exemple

1* 0 ( 0 + 1 )
à chaque
quotient apparaît
δ 0 1 un état ... (0+1)* 0 1 (0+1)*
δ 0 1
L 0+1 L
0-1 L = 0 + 1 L 0-1L L
1-1 L = L 0+1 ε ε
ε ∅ ∅ 0-1 L = L + 1 (0+1)* 0-1L 0-1L Σ*
Σ * Σ * Σ*
0-1 (0+1) = ε ∅ ∅ ∅ 1-1 L = L
1-1 (0+1) = ε
0-1 (0-1L) = 0-1L
0-1 ε = ∅ 1-1 (0-1L) = Σ* 1
1 0,1 0 0,1
1-1 ε = ∅
0,1 0,1 0-1 (Σ*) = Σ* L 0-1L Σ*
L 0+1 ε ∅ 0 1
0-1 ∅ = ∅ 1-1 (Σ*) = Σ*
0
1-1 ∅ = ∅

17 18

Un dernier exemple

0 * ( 1 0 * 1 0 *) *
δ 0 1

L L 1-1L
1-1L 1 L L
-1
0-1 L = L
1-1 L = 0*10* (10*10*)*

0-1 (1-1L) = 1-1L


1-1 (1-1L) = 0*(10*10*)* 0 0
= L 1
L 1-1L

19

Vous aimerez peut-être aussi