Vous êtes sur la page 1sur 5

Le theor`eme de Kleene

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

est un prexe strict de w (i.e. un prexe


qui nest ni w, ni le mot vide). Par exemple, les prexes de 1001 sont
{, 1, 10, 100, 1001} et les prexes stricts sont {1, 10, 100}.
Question: Pourquoi doit-on exclure w et le mot vide?
Nous allons maintenant analyser le language T(i, j, k). Notons dabord
que pour k = 0 on a:
T(i, j, 0) = {a | (i, a) = j}
Supposons maintenant que k 1 et considerons un mot w T(i, j, k)
decrivant un chemin k-restreint de letat i vers letat j. Ce chemin doit
necessairement satisfaire une des deux conditions suivantes:
1. Aucun etat intermediaire nest egal `a k.
2. Il existe au moins un etat intermediaire egal `a k.
Dans la premi`ere situation, aucun etat intermediaire nest egal `a k et
aucun etat intermediaire nest plus grand que k par denition de T(i, j, k).
On a donc quaucun etat intermediaire nest plus grand que k 1 ce qui
implique que w T(i, j, k 1).
Dans la seconde situation, le chemin decrit par w contient d 1 etats
intermediaires dont la valeur est k. Un tel chemin est illustre `a la gure
suivante.
. . .
i
j
k k k
section 0 section 1 section 2 section d-1 section d
k k
3
On voit que le chemin decrit par w peut etre decompose en d+1 sections.
Dabord le chemin de letat de depart i au premier etat k, puis le chemin du
premier etat k au second etat k, puis le chemin du second etat k au troisi`eme
etat k, et ainsi de suite jusquau dernier etat k. Finalement, le chemin du
dernier etat k vers letat darrive j. Ce qui est important dobserver est que
chacune de ces sections correspond `a un chemin ne contenant aucun noeud
intermediaire egal `a k.
Ainsi, on peut decomposer w sous la forme w = u
0
u
1
u
d
u
d
tel que
u
s
decrit le chemin de la section s pour chaque valeur de s entre 0 et d.
Puisquaucune section ne contient detat intermediaire plus grand que k 1
on a:
1. u
0
T(i, k, k 1).
2. u
s
T(k, k, k 1) pour tout 1 s d 1
3. u
d
T(k, j, k 1)
Combinant les trois enonces precedents nous avons donc que si le chemin
decrit par w contient au moins un etat intermediaire alors
w T(i, k, k 1)T(k, k, k 1)

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) ou soit dans T(i, j, k 1). Il


sen suit donc que
T(i, j, k) T(i, j, k 1) 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)

T(k, j, k 1) le chemin decrit par v ne peut


contenir aucun etat intermediaire plus grand que k, ce qui montre que v
T(i, j, k).
On conclue nalement que T(i, j, k) peut etre exprime par lequation de
recurrence suivante:
T(i, j, k) =

{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

est reconnu par lAFD M = (Q, , , 1, F)


o` u Q = {1, 2, . . . , t}. Alors on a
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

Vous aimerez peut-être aussi