Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Francois Lemieux
Dans cette section nous allons voir que tout langage reconnu par un AFD
peut etre decrit par une expression reguli`ere. Ce resultat a ete demontrer
par S.C. Kleene en 1956. Considerons dabord un AFD M = (Q, , , q
0
, F).
Pour simplier la discussion nous supposerons que Q = {1, 2, . . . , t} o` u t 1.
Si on adopte le point de vu que M est un graphe alors un chemin dun
etat i vers un etat j est une suite darcs de la forme:
= (i
0
, i
1
), (i
1
, i
2
), (i
2
, i
3
), . . . (i
n1
, i
n
)
o` u i
0
= i, i
n
= j et i
1
, . . . i
n1
Q. Les etats i
1
, i
2
, i
n1
sont appeles etats
intermediaires.
Puisque chaque arc de M est etiquete par au moins une lettre dans
alors le chemin correspond `a au moins un mot
w = a
1
a
2
a
3
a
n
o` u pour tout 1 k n on a que a
k
est letiquette de larc (i
k1
, i
k
). En
particulier, cela signie que (i
k1
, a
k
) = i
k
.
Dun autre cote, puisque M est deterministe alors le chemin peut etre
retrouve de facon unique et sans ambiguite si on connat letat de depart i
ainsi que le mot w. Pour cette raison, nous dirons que w decrit un chemin
de i vers j =
(i, w).
Pour chaque pair detats i, j Q on peut associer le langage L(i, j) de
tous les mots decrivant un chemin de i vers j. Plus formellement on a:
L(i, j) = {w
(i, w) = j}
En particulier, si q
0
= 1 est letat initial de M alors on a
L(M) =
jF
L(1, j)
1
Exemple 1 Considerons lAFD suivant:
1
2 3
4
5 6
0
1
1
0
0,1
0
1
1
0,1
0
Si letat de depart est 1 alors le mot 101 decrit le chemin
(1, 4), (4, 5), (5, 3))
Si letat de depart est 2 alors le mot 101 decrit le chemin
(2, 5), (5, 6), (6, 3)
Si letat de depart est 1 alors le mot 11000011001 decrit le chemin
(1, 4), (4, 2), (2, 5), (5, 6), (6, 2), (2, 5), (5, 3), (3, 2), (2, 5), (5, 6), (6, 3)
Nous allons maintenant nous interesser aux etats intermediaires dans les
chemins. Dans lexemple precedent, si letat de depart est 1 alors le chemin
decrit par 101 passe par les etats intermediaires {4, 5} tandis que le chemin
decrit par 11000011001 passe par les etats intermediaires {2, 3, 4, 5, 6}.
Nous dirons quun chemin dun etat i vers un etat j est k-restreint si aucun
etat intermediaire nest plus grand que k (0 k |Q|). En particulier, un
chemin 0-restreint est une transition et un chemin |Q|-restreint est un chemin
sans restriction.
Dans lexemple precedent avec letat initial 1, le chemin decrit par 101 est
5-restreint puisque 5 est la plus grande valeur parmi les etats intermediaires.
Par contre, le chemin decrit par 11000011001 nest pas 5-restreint.
2
Pour toute paire detat i, j Q et pour tout 0 k |Q| on deni le
langage T(i, j, k) qui contient tous les mots decrivant un chemins k-restreint
entre i et j. Plus formellement on a:
T(i, j, k) = {w L(i, j) | u w
(i, u) k}
o` u u w indique que u
T(k, j, k 1)
Exemple 2 Considerons `a nouveau lAFD de lexemple precedent. Le chemin
de letat 1 vers letat 3 decrit par le mot w = 11000011001 est 6-restreint.
Dans ce chemin, deux noeuds intermediaires ont la valeur 6. Le mot w peut
donc etre decomposer en trois sections w = u
0
u
1
u
2
telles que u
0
= 1100 decrit
un chemin de 1 vers 6, u
1
= 0011 decrit un chemin de 6 vers 6 et u
2
= 1
decrit un chemin de 6 vers 3. Aucun de ces trois chemins ne poss`edent detat
intermediaire superieur `a 5.
Nous avons donc montre que tout mot w T(i, j, k) o` u k 1 est soit
dans T(i, k, k 1)T(k, k, k 1)
T(k, j, k 1)
On peut facilement se convaincre que cette inclusion est en fait une egalite.
En eet, on observe dabord que T(i, j, k1) T(i, j, k) puisque tout chemin
k 1-restreint est aussi k restreint. De plus, pour tout mot v tel que
4
v T(i, k, k 1)T(k, k, k 1)
{a | (i, a) = j} si k = 0
T(i, j, k 1) T(i, k, k 1)T(k, k, k 1)
T(k, j, k 1) si k 1
Theor`eme 1 Tout langage reconnu par un AFD peut etre decrit par une
expression reguli`ere.
Preuve. Supposons que L
jF
L(1, j) =
jF
T(1, j, t)
Nous savons que si R
1
et R
2
sont deux expressions reguli`eres decrivant les
langages L
1
et L
2
, rexpectivement, alors L
1
L
2
est decrit par lexpression
reguli`ere R
1
+R
2
. Il sut donc de montrer que chaque language de la forme
T(i, j, k) peut etre decrit par une expression reguli`ere. La preuve est par
induction mathematique sur k 0.
Base: Si k = 0 alors T(i, j, k) = {a | (i, a) = j} est un ensemble ni
qui peut toujours etre decrit par une expression reguli`ere.
Hypoth`ese dinduction: Soit k > 0 et supposons que T(i, j, k 1) peut
toujours etre decrit par une expression reguli`ere.
Pas dinduction: : Si k > 0 alors
T(i, j, k) = T(i, j, k 1) T(i, k, k 1)T(k, k, k 1)
T(k, j, k 1)
Par hypoth`ese dinduction, T(i, j, k 1), T(i, k, k 1), T(k, k, k 1) et
T(k, j, k 1) peuvent etre decrit par des expressions reguli`eres R
1
, R
2
, R
3
et R
4
, respectivement. Lexpression reguli`ere decrivant T(i, j, k) est donc
R
1
+ R
2
R
3
R
4
, ce qui conclu la preuve.
5