• Aucun résultat trouvé

Th´eor`eme de Kleene

N/A
N/A
Protected

Academic year: 2022

Partager "Th´eor`eme de Kleene"

Copied!
22
0
0

Texte intégral

(1)

Th´eor`eme de Kleene

Un ensemble est rationnel si et seulement s’il est reconnaissable.

(2)

Nous voulons montrer que pour tout automate, on peut calculer une expression rationnelle d´ecrivant le langage reconnu. Plusieurs algorithmes existent pour cela :

Algorithme de Mc Naughton et Yamada (algorithme historique),

Algorithme d’´elimination d’´etats,

Lemme d’Arden.

(3)

L’algorithme par ´elimination d’´etats

Dans cette partie (et uniquement cette partie), nous utilisons des automates g´en´eralis´es pour lesquels les ´etiquettes des

transitions sont des langages (et non des lettres).

Si (p , q ) est un couple d’´etats d’un automate g´en´eralis´e, nous

noterons L pq le langage de l’´etiquette de la transition (directe)

entre p et q.

(4)

Soit Aut = < A, Q 0 = Q [ { d } [ { f } , { d } , { f } , > un automate asynchrone normalis´e.

Tant que Q est non vide, appliquer l’op´eration suivante d’´elimination d’´etat :

I

choisir un ´etat q dans Q (donc ni d ni f )

I

pour tous les couples (p, r ) d’´etats de Q

0

\ { q } tels qu’il existe une transition directe (p, L

pq

, q) entre p et q d’une part et

une transition directe (q, L

qr

, r ) entre q et r d’autre part,

• Ajouter une transition (p, L

pqr

, r ) entre p et r avec L

pqr

= L

pr

[ L

pq

.L

qq

.L

qr

. Puis L

pqr

devient L

pr

.

I

Supprimer l’´etat q et toutes les transitions dont q ´etait une extr´emit´e.

Quand l’op´eration pr´ec´edente est achev´ee, Q est vide donc

l’automate ne contient plus que les deux ´etats d et f , qui sont

reli´es par une transition dont l’´etiquette est le langage reconnu

par l’automate de d´epart Aut .

(5)

Exemple : calcul du langage de Aut

Aut :

1 a,b 2 a 3

b

(6)

Aut normalis´e :

1 a,b 2 a 3

b

ɛ f

d ɛ

(7)

Etape 2 : ´elimination successive des ´etats ´

On peut ´eliminer les ´etats dans l’ordre que l’on souhaite.

1 a,b 2 a 3

b

ɛ f

d ɛ

Suppression de l’´etat 2 : il faut calculer L 123 et L 323 .

(8)

On peut ´eliminer les ´etats dans l’ordre que l’on souhaite.

1 a,b 2 a 3

b

ɛ f

d ɛ

Suppression de l’´etat 2 : il faut calculer L 123 et L 323 . L 123 = L 13 [ L 12 .L 22 .L 23

= ; [ (a + b)." .a

= (a + b)a

(9)

Etape 2 : ´elimination successive des ´etats ´

On peut ´eliminer les ´etats dans l’ordre que l’on souhaite.

1 a,b 2 a 3

b

ɛ f

d ɛ

Suppression de l’´etat 2 : il faut calculer L 123 et L 323 . L 123 = L 13 [ L 12 .L 22 .L 23

= ; [ (a + b)." .a

= (a + b)a

L 323 = L 33 [ L 32 .L 22 .L 23

= ; [ b ." .a

= ba

(10)

On peut ´eliminer les ´etats dans l’ordre que l’on souhaite.

1 a,b 2 a 3

b

ɛ f

d ɛ

Suppression de l’´etat 2 : il faut calculer L 123 et L 323 . L 123 = L 13 [ L 12 .L 22 .L 23

= ; [ (a + b)." .a

= (a + b)a

L 323 = L 33 [ L 32 .L 22 .L 23

= ; [ b ." .a

= ba

1 a,b 2 a 3

b

ɛ f

d ɛ

(a+b)a

(11)

Etape 2 : ´elimination successive des ´etats ´

On peut ´eliminer les ´etats dans l’ordre que l’on souhaite.

1 a,b 2 a 3

b

ɛ f

d ɛ

Suppression de l’´etat 2 : il faut calculer L 123 et L 323 . L 123 = L 13 [ L 12 .L 22 .L 23

= ; [ (a + b)." .a

= (a + b)a

L 323 = L 33 [ L 32 .L 22 .L 23

= ; [ b ." .a

= ba

b ba

(12)

On peut ´eliminer les ´etats dans l’ordre que l’on souhaite.

1 a,b 2 a 3

b

ɛ f

d ɛ

Suppression de l’´etat 2 : il faut calculer L 123 et L 323 . L 123 = L 13 [ L 12 .L 22 .L 23

= ; [ (a + b)." .a

= (a + b)a

L 323 = L 33 [ L 32 .L 22 .L 23

= ; [ b ." .a

= ba

1 3 f

d ɛ

ɛ

(a+b)a

ba

(13)

Etape 2 : ´elimination successive des ´etats ´

1 3 f

d ɛ

ɛ (a+b)a

ba

Suppression de l’´etat 1 : il faut calculer L d 13 .

(14)

1 3 f d ɛ

ɛ (a+b)a

ba

Suppression de l’´etat 1 : il faut calculer L d 13 . L d 13 = L d 3 [ L d 1 .L 11 .L 13

= ; [ "." .(a + b)a

= (a + b)a

(15)

Etape 2 : ´elimination successive des ´etats ´

1 3 f

d ɛ

ɛ (a+b)a

ba

Suppression de l’´etat 1 : il faut calculer L d 13 . L d 13 = L d 3 [ L d 1 .L 11 .L 13

= ; [ "." .(a + b)a

= (a + b)a

ba

(16)

1 3 f d ɛ

ɛ (a+b)a

ba

Suppression de l’´etat 1 : il faut calculer L d 13 . L d 13 = L d 3 [ L d 1 .L 11 .L 13

= ; [ "." .(a + b)a

= (a + b)a

3 f

d ɛ

ba

(a+b)a

(17)

Etape 2 : ´elimination successive des ´etats ´

3 f

d ɛ

ba

(a+b)a

Suppression de l’´etat 3 : il faut calculer L d 3f .

(18)

3 f d ɛ

ba

(a+b)a

Suppression de l’´etat 3 : il faut calculer L d 3f . L d 3f = L df [ L d3 .L 33 .L 3f

= ; [ (a + b )a.(ba) ."

= (a + b)a(ba)

(19)

Etape 2 : ´elimination successive des ´etats ´

3 f

d ɛ

ba

(a+b)a

Suppression de l’´etat 3 : il faut calculer L d 3f . L d 3f = L df [ L d3 .L 33 .L 3f

= ; [ (a + b )a.(ba) ."

= (a + b)a(ba)

ba

(20)

3 f d ɛ

ba

(a+b)a

Suppression de l’´etat 3 : il faut calculer L d 3f . L d 3f = L df [ L d3 .L 33 .L 3f

= ; [ (a + b )a.(ba) ."

= (a + b)a(ba)

d f

(a+b)a(ba)*

Le langage reconnu par l’automate Aut est (a + b)a(ba) .

(21)

Lemme d’Arden

Lemme d’Arden Soient K , L, X trois langages tels que " 62 K . Si X = KX + L alors X = K L.

(i.e. K L est l’unique solution de l’´equation X = KX + L.)

Utilisation pour le calcul d’une expression rationnelle du langage reconnu par un automate.

1. Etant donn´e un automate ´ L, on note L i l’ensemble des mots reconnus par l’automate obtenu en ne prenant que l’´etat i comme ´etat initial.

2. Ecriture d’un syst`eme d’´equations (sur les langages) : ´

I

L = S

i2D

L

i

I

L

i

= S

(i,a,j)2

aL

j

si i n’est pas terminal

S

(22)

1 a,b 2 a 3 b

On doit r´esoudre le syst`eme d’´equations suivant : L = L 1

L 1 = aL 2 + bL 2 = (a + b)L 2 L 2 = aL 3

L 3 = bL 2 + "

R´esolution du syst`eme d’´equations :

On remplace L 2 par aL 3 dans la derni`ere ´equation : L 3 = baL 3 + "

On y applique le Lemme d’Arden : L 3 = (ba) " = (ba) . On peut calculer L 2 : L 2 = aL 3 = a(ba)

Et enfin L = L 1 = (a + b )L 2 = (a + b)a(ba)

Références

Documents relatifs

Dans le cas pr´ esent, la part du cuisinier serait de trois pi` eces, mais les pirates se querellent et six d’entre eux sont tu´ es, ce qui porte la part du cuisinier ` a quatre

[r]

Si M est un num´ eraire, on peut ´ evaluer la valeur V t d’une strat´ egie en terme de ce num´ eraire, soit V t /M

La deuxi` eme partie qui d´ emontre le th´ eor` eme de Cantor-Bernstein est facultative, moins dans l’esprit du programme ECS (mais bien dans l’esprit d’une ´ epreuve maths 2

Autrement dit, on consid` ere des tirages de p ´ el´ ements de E avec remise, mais sans tenir compte de l’ordre.. Le nombre de r´ esultats possible est

Si le produit de deux entiers u et v premiers entre eux est une puissance k-i` eme (avec k &gt; 2), alors u et v sont tous les deux des puissances k-i` emes. D´ emonstration du th´

Th`emes d’analyse pour l’agr´egation, St´ephane GONNORD &amp; Nicolas TOSEL, page

Comme f est continue sur [0, 1] (compact) elle est born´ee et atteint