1 3 - Automate fini minimal

Download Report

Transcript 1 3 - Automate fini minimal

Un méta-automate ...
algorithme
1
création
3 - Automate fini minimal E.R.
Langages
rationnels
uc
tr
ns 2
co
création
ti
système équations
A.F.D.
2
on
A.F.N.
dé
t
sa
ni
mi 1
er
Soit un A.F.D.
☞  deux problèmes de minimisation :
•  langage associé à l’état q :
•  Donnée : une expression régulière E
Amin qui
•  Problème: construire l’automate minimal
le langage L(E) décrit par E
*  la
A = (Σ,Q,δ,qo,F),
•  Lq(A) : langage reconnu par l’automate
un automate fini déterministe
•  Problème : construire l’automate minimal
•  Idée :
Automate
minimal
Lq(A) = {w ∈ Σ*, δ*(q,w) ∈ F }
reconnaît les résiduels ...
le langage L(A) reconnu par
minimisation
séparation d’états
3
Langage associé à un état
Théorème : chaque langage rationnel est reconnu par un
unique automate déterministe minimal*.
2
Minimisation
•  Donnée :
on
minimisation
résiduels gauches
3
1
•  Idée :
ti
A
Amin qui
A
reconnaît Aq
= (Σ,Q,δ,q,F) :
A
- c’est presque le même automate que
- sauf que q devient état initial à la place de qo.
•  en particulier : L(A) = Lq0(A)
l’équivalence d’états ...
minimalité porte sur le nombre d’états d’un automate ... C O M P L E T.
3
•  un état q est accessible s’il existe un chemin de qo à q dans
A.
4
1
Résiduels
• 
Minimisation (1er problème)
L’ensemble des résiduels à gauche de L, noté R( L), est la réunion
pour toutes les lettres σ de l’alphabet des ensembles {σ}-1L :
{σ}-1L = { w ∈ Σ* tels que σ w ∈ L}
L
Soit L un langage rationnel,
Théorème : (admis)
L’ensemble des résiduels à gauche de L noté R( L) est fini.
Proposition : (admis)
Les résiduels, ce sont tous les w qui restent ...
à droite
Soit A = (Σ, Q, δ, q0, F) un A.F.D. complet dont tous les
états sont accessibles, on a :
• 
σ
Petites propriétés :
w
σ
τ
R( L) = {Lq(A), q ∈ Q }
Conséquence immédiate :
L
{ε}-1L = L
∅-1L = ∅ ({σ τ })-1 L = {τ} -1 ({ σ}-1 L)
A partir d’une expression régulière pour L, on peut construire l’automate minimal qui reconnaît L
et dont chaque état correspond justement à un élément de R(L).
w
5
6
Exemple
Un autre exemple
1* 0 ( 0 + 1 )
δ
0-1
L
0+1
0-1
ε
∅
L = 0 + 1 1-1 L = L
(0+1) = ε
1-1 (0+1) = ε
0-1 ε = ∅ 1-1 ε = ∅
0-1 ∅ = ∅
1-1 ∅ = ∅ 0
1
0+1
L
ε
∅
∅
ε ∅
∅ dans le tableau, les états
apparaissent tout seul ...
0-1 L = L + 1 (0+1)*
1-1 L = L
1
L
0,1
0
0+1
7
0,1
(0+1)* 0 1 (0+1)*
ε
0,1
∅
0-1 (0-1L) = 0-1L
1-1 (0-1L) = Σ*
0-1 (Σ*) = Σ* 1-1 (Σ*) = Σ*
δ
0
1
L
0-1L
0-1L
0-1L
L
Σ*
1
L
Σ*
Σ* Σ* 0,1
0
0
0-1L
1
Σ*
8
2
Minimisation (2e problème)
• 
Etats équivalents
Donnée : A un A.F.D. complet dont chaque état est accessible
depuis l’état initial
• 
langage que
un A.F.D, deux états p et q sont équivalents si
p
A.
• 
Idée : faire en sorte que les états équivalents soient fusionnés.
• 
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 ...
• 
On rappelle que « minimal » sous-entend à la fois « déterministe » ET « complet ».
≈
q
ssi
(p ≈ q ) ⇔ ( ∀
w de
Σ*,
δ*(p,w) ∉ F et δ*(q,w) ∉ F
La relation ≈ est une relation d’équivalence.
• 
Si q est un état, on note [q] l’ensemble des états qui lui sont
équivalents.
10
b
≈
≈
b
5
6
NON : car
OUI : car d’une part 3 ∈ F et 6 ∈ F
0 ∉ F et 4 ∈ F
et d’autre part :
∀ w ∈ Σ*, δ*(3,aw) ∈ F et δ*(6,aw) ∈ F
∀ w ∈ Σ*, δ*(3,bw) ∈ F et δ*(6,bw) ∈ F
11
A
= (Σ, Q, δ, q0, F)
•  l’automate minimal associé à
Amin
b
6 ?
et
a,b
a
4 ?
•  Soit A un A.F.D. complet* dont chaque état est accessible depuis
l’état initial :
a,b
a,b
a
2
3
4
3
b
0
Automate minimal
a
0
) • 
Exemple
a
δ*(p,w) ∈ F et δ*(q,w) ∈ F
ou bien
9
1
Lp(A) = Lq(A)
autrement dit :
En pratique,
l’algo. est fondé sur le principe de « séparation des états » :
*
A
Problème : construire l’automate minimal* qui reconnaît le même
• 
• 
étant donné
leurs langages associés respectifs sont identiques :
– 
– 
– 
A est
:
= (Σ, Q’, δ’, [q0], F’)
Q’= {[q], q ∈ Q}
δ’= { ([p],σ,[q]) / ∃ p’ ∈ [p], ∃ q’ ∈ [q] (p’,σ,q’) ∈ δ } F’= {[f], f ∈ 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é afin d’obtenir l’automate minimal canonique.
12
3
Algorithme de minimisation
Propriétés
•  Amin = (Σ,
Algorithme par « raffinements successifs »
Q’, δ’, [q0], F’) :
–  est bien défini
–  ne peut avoir deux états distincts équivalents
–  reconnaît le même langage que
B tel que L(B) = L(A), B est supérieur ou égal à celui
pour tout A.F.D. complet
• 
le nombre d’états de
• 
On définit
A.
de
Amin .
tous les automates minimaux C tels que L(C) = L(A) sont identiques à un renommage de leurs états près.
• 
• 
inductivement une suite d’équivalences :
⇔ ( ( p∈ F
p ≈0 q
  on peut parler d’unicité de l’automate minimal.
• 
⇔
i>0 : p ≈i q
et q∈ F) ou ( p∉ F et q∉F ) )
p ≈i-1 q
et
∀ σ de Σ : δ(p,σ) ≈i-1 δ(q,σ) cas arrêt : ≈i est identique à ≈i-1
13
14
Un premier exemple
A
a
a
1
b
3
0
4
2
b
Un autre exemple
a,b
a,b
a,b
6
a
b
5
≈0 : {0, 2, 5} {1, 3, 4, 6}
≈1 : {0, 2, 5} {1, 3, 4, 6}
≈0 = ≈1 donc arrêt de l’algorithme
15
a
δ
a
b
0
1
2
3
4
5
6
1
4
3
6
6
6
6
2
3
5
6 6
5
6
b
a,b
b
025
a
Amin
1346
B
1
a
0
a
3
b
2
b
≈0 : {0, 2, 5} {1, 3, 4, 6}
≈1 : {{0, 2}, {5}, {1, 3, 6},
≈2
:
{{0},
≈3
=
≈2
a
a,b
b
a
b
4
b
6
a
5
{4}}
{2}, {5}, {1}, {4}, {3,6}}
a,b
δ
0
1
2
3
4
5
6
a
1
4
3
6
6
6
6
b
2
3
5
6 2
3
6
: arrêt !
16
4
Fin !
Bmin
a
1
b
a
0
{{0},
a
a,b
a
2
:
a,b
36
b
b
≈
4
b
5
{2}, {5}, {1}, {4}, {3,6}}
17
5