Clˆ oture et lemme de l’´ etoile
Informatique Th´eorique 2 Licence 3 informatique
S´ebastien Verel verel@univ-littoral.fr
http://www-lisic.univ-littoral.fr/~verel
Universit´e du Littoral Cˆote d’Opale Laboratoire LISIC Equipe OSMOSE
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Objectifs de la s´ eance 05
Connaitre les d´efinitions de clˆoture
Savoir les propri´et´es de clˆoture des langages rationnels Connaitre le lemme de l’´etoile
Savoir que le langage{0n1n,n∈IN}n’est pas rationnel Savoir d´emontrer qu’un langage n’est pas rationnel par le lemme de l’´etoile
Savoir d´emontrer qu’un langage n’est pas rationnel en utilisant les propri´et´es de clˆoture
R´eflexion principale du jour :
”- Je suis rationnel, je vous le r´ep`ete ! - Oui r´ep´etez-le que je v´erifie.”
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Plan
1 Introduction
2 Clˆoture et langages rationnels
3 Lemme de l’´etoile
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Illustration de clˆ oture
Supposons qu’il existe une op´eration (binaire) entre les ´el´ements d’un ensembleE.
Exemple introductif
Addition sur l’ensemble des entiers pairs.
L’addition de deux entiers pairs, donne-t-il un entier pair ?
Lorsque l’op´eration laisse les ´el´ements dans le mˆeme ensemble, on dit que l’ensemble est clos pour l’op´eration consid´er´ee
E
*
E
*
Clos Non Clos
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Illustration de clˆ oture
Supposons qu’il existe une op´eration (binaire) entre les ´el´ements d’un ensembleE.
Exemple introductif
Addition sur l’ensemble des entiers pairs.
L’addition de deux entiers pairs, donne-t-il un entier pair ?
Lorsque l’op´eration laisse les ´el´ements dans le mˆeme ensemble, on dit que l’ensemble est clos pour l’op´eration consid´er´ee
E
*
E
*
Clos Non Clos
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Illustration de clˆ oture
Contre-exemple introductif
Donner un exemple d’ensemble et d’op´eration tels que l’ensemble ne soit pas clos.
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Int´ erˆ et de la clˆ oture (1)
La propri´et´e de clˆoture est une propri´et´e alg´ebrique ”forte”.
Utilisation de clˆoture
D´efinir par composition :
Au lieu de d´efinir l’´el´ementE directement, on d´efinit des
”sous”-´el´ements et l’op´eration pour obtenirE : E =E1 opE2
D´efinition une classe, exempleLR :
”L’ensembleLR est le plus petit ensemble clos par union, concat´enation et ´etoile et qui contient le langage vide et les langages r´eduits `a un seul mot d’une lettre.”
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
D´ efinition langage rationnel (rappel)
Langages rationnels (ou r´eguliers)
L’ensemble des langages rationnelsLR est d´efini par :
base :
∅ ∈LR {} ∈LR
pour touta∈Σ,{a} ∈LR.
induction : SiL∈LR et M ∈LR alors : L∪M∈LR
L.M ∈LR L∗∈LR.
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
D´ efinition langage rationnel (rappel)
Langages rationnels (ou r´eguliers)
L’ensemble des langages rationnelsLR est d´efini par : base :
∅ ∈LR {} ∈LR
pour touta∈Σ,{a} ∈LR.
induction : SiL∈LR et M ∈LR alors : L∪M∈LR
L.M ∈LR L∗∈LR.
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
D´ efinition langage rationnel (rappel)
Langages rationnels (ou r´eguliers)
L’ensemble des langages rationnelsLR est d´efini par : base :
∅ ∈LR {} ∈LR
pour touta∈Σ,{a} ∈LR.
induction : SiL∈LR et M ∈LR alors : L∪M∈LR
L.M ∈LR L∗∈LR.
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Op´ erations et clˆ oture sur les langages rationnels
R´esultat de clˆoture
L’ensembleLR des langages rationnels est clos : par r´eunion,
par concat´enation par l’op´eration ´etoile ∗.
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Int´ erˆ et de la clˆ oture (2)
La propri´et´e de clˆoture est une propri´et´e alg´ebrique ”forte”.
Utilisation de clˆoture
Montrer qu’un ´el´ement n’appartient pas `a un ensemble : E =E1 opE2
Si E1 ∈Lclos par op et queE 6∈Lalors E2 6∈L
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
D´ efinitions de clˆ oture
D´efinition : clˆoture fonction unaire
SoientE un ensemble et une application f :E →F.
E est clos par f (ouE est stable parf) ssi∀x∈E,f(x)∈E
D´efinition : clˆoture fonction binaire
SoientE un ensemble et une application f :E×E →F. E est clos par f ssi ∀(x,y)∈E2,f(x,y)∈E
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Int´ erˆ et de la clˆ oture
La propri´et´e de clˆoture est une propri´et´e alg´ebrique ”forte”.
Utilisation de clˆoture
D´efinir par composition :
Au lieu de d´efinir l’´el´ementE directement, on d´efinit des
”sous”-´el´ements et l’op´eration pour obtenirE : E =E1 opE2
Montrer qu’un ´el´ement n’appartient pas `a un ensemble : E =E1 opE2
Si E1 ∈Lclos par op et queE 6∈Lalors E2 6∈L D´efinition une classe, exempleLR :
”L’ensembleLR est le plus petit ensemble clos par union, concat´enation et ´etoile et qui contient le langage vide et les langages r´eduits `a un seul mot d’une lettre.”
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Ensemble des Langages Rationnels : Clos par compl´ ementation
Compl´ementaire d’un langage rationnel Llangage rationnel sur Σ
⇒
L¯= Σ∗\Llangage rationnel sur Σ D´emonstration :
L est un langage LR donc il existe un AFD (complet) A= (Q,Σ,T,q0,F) tel queL(A) =L On construit l’automate C suivant :
C = (Q,Σ,T,q0,Q\F)
Les ´etats finaux deviennent non-finaux et inversement.
Par construction, L(C) = ¯L
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Exemple
cf. Exo 1 fiche 2 :
(a+b+c)∗b
1 2
a,c b
b a,c
(a+b+c)∗(a+c)
1 2
a,c b
b a,c
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Ensemble des Langages Rationnels : Clos par intersection
Intersection de langages rationnels
L1 etL2 langages rationnels sur Σ
⇒
L1∩L2 langage rationnel sur Σ D´emonstration :
Rappel ( ?) loi de De Morgan :L1∩L2 =L1∪L2
LR clos par compl´ementation, doncL1 etL2 sont des langages rationnels,
LR clos par union, donc L1∪L2 est un langage rationnel, LR clos par compl´ementation, doncL1∪L2 =L1∩L2 est un langage rationnel
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Construction (instructive) de l’intersection
L1 et L2 langages rationnels sur Σ et les AFD tels que : A1 = (Q1,Σ,T1,q1,0,F1) tel queL(A1) =L1
A2 = (Q2,Σ,T2,q2,0,F2) tel queL(A2) =L2 Automate reconnaissant le langage intersection On d´efinit l’automate suivant :
C = (Q1×Q2,Σ,TC,[q1,0,q2,0],F1×F2) avec pour tout couple [p,q]∈Q1×Q2 et toute lettreσ ∈Σ,
TC([p,q], σ) = [T1(p, σ),T2(q, σ)]
Par construction,L(C) =L1∩L2.
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Exemple
Exercice
A1 automate qui reconnait (a+b)∗ab(a+b)∗ A2 automate qui reconnait (a+b)∗aa
Puis automate qui reconnaitL(A1)∩L(A2)
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Exemple
Exercice
A1 automate qui reconnait (a+b)∗ab(a+b)∗ A2 automate qui reconnait (a+b)∗aa
Puis automate qui reconnaitL(A1)∩L(A2)
1 a 2 b 3
a a,b
b
123 a
b
a
b
a b
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Exemple
Exercice
A1 automate qui reconnait (a+b)∗ab(a+b)∗ A2 automate qui reconnait (a+b)∗aa
Puis automate qui reconnaitL(A1)∩L(A2)
1 a 2 b 3
a a,b
b
123 a
b
a
b
a b
a
b b b
b
b
b b
b b
a a
a a
a
a a
a
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Une r´ eflexion
Pour montrer qu’un langage est rationnel :
On peut construire l’automate fini le reconnaissant On peut d´efinir l’expression r´eguli`ere ´equivalente On peut d´ecomposer le langage comme une union, intersection, etc. de langages rationnels.
Comment prouver qu’un langage est non-rationnel ?
On peut utiliser le lemme (th´eor`eme) de l’´etoile... Au fait, pourquoi il existe des langages non-rationnel ?...
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Une r´ eflexion
Pour montrer qu’un langage est rationnel :
On peut construire l’automate fini le reconnaissant On peut d´efinir l’expression r´eguli`ere ´equivalente On peut d´ecomposer le langage comme une union, intersection, etc. de langages rationnels.
Comment prouver qu’un langage est non-rationnel ?
On peut utiliser le lemme (th´eor`eme) de l’´etoile... Au fait, pourquoi il existe des langages non-rationnel ?...
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Une r´ eflexion
Pour montrer qu’un langage est rationnel :
On peut construire l’automate fini le reconnaissant On peut d´efinir l’expression r´eguli`ere ´equivalente On peut d´ecomposer le langage comme une union, intersection, etc. de langages rationnels.
Comment prouver qu’un langage est non-rationnel ?
On peut utiliser le lemme (th´eor`eme) de l’´etoile...
Au fait, pourquoi il existe des langages non-rationnel ?...
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Une r´ eflexion
Pour montrer qu’un langage est rationnel :
On peut construire l’automate fini le reconnaissant On peut d´efinir l’expression r´eguli`ere ´equivalente On peut d´ecomposer le langage comme une union, intersection, etc. de langages rationnels.
Comment prouver qu’un langage est non-rationnel ?
On peut utiliser le lemme (th´eor`eme) de l’´etoile...
Au fait, pourquoi il existe des langages non-rationnel ?...
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Intuition du th´ eor` eme
Llangage rationnel reconnu par un automate comportant n´etats.
Lors de la lecture d’un mot de longueurm≥n, l’ex´ecution de l’automate passe deux fois par le mˆeme ´etat.
a1 a2 a6 a7
a3 a4
a5
si u=a1a2(a3a4a5)a6a7∈Let|u| ≥nalorsa1a2(a3a4a5)∗a6a7∈L
Enonc´e intuitif
”Quand un motw a un facteurv de longueur plus grande que le nombre d’´etats de l’automate, la lecture de v boucle forcement quelque part.”
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Enonc´ e
Th´eor`eme de l’´etoile
SiLun langage rationnel, alors il existe un entiern≥1 tel que : pour tout motw deLde longueur≥n,
pour toute factorisation de w enxvy avecv facteur de longueur≥n,
il existe des motsr,s ett tels que : (i) 0<|s| ≤n
(ii) ∀i≥0,xrsity ∈L
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
D´ emonstration
A= (Q,Σ,T,q0,F) automate fini d´eterministe `an ´etats tel que L(A) =L.
Soit un mot w =xvy de Lavec|v| ≥n :w =a1a2. . .a|w|
Notons que T∗(q0,a1a2. . .a|w|)∈F
La lecture de w passe forcement 2 fois par un mˆeme ´etat q ∈Q
Il existe 2 indices de lettre j et k avecj <k,|x|<j ≤ |xv|,
|x|<k ≤ |xv|tels que :
q =T∗(q0,a1a2. . .aj) =T∗(q0,a1a2. . .ak) Posons :
xr =a1a2. . .aj s=aj+1a2. . .ak ty =ak+1a2. . .a|w|
Alors pour tout i ≥0,xrsity ∈L
j <k donc |s|>0. En prenant j et k minimaux,|s| ≤n
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Mister Big example (` a retenir par tous les moyens !)
Le langageL={0n1n |n≥0}n’est pas rationnel.
D´emonstration :
Supposons Lrationnel.
Alors Lv´erifie le th´eor`eme de l’´etoile et il existen≥1 v´erifiant les conditions du th´eor`eme.
Soit lew = 0n1n∈Lde longueur 2n >n.
Soit la factorisationw =xvy avecx =,v = 0n et y = 1n. Notons que |v| ≥n.
Montrons que pour toute factorisation de v =rst avec 0<|s| ≤n, il existe un entier i ≥0 telsxrsity 6∈L.
r = 0k,s= 0k0 ett= 0k00 aveck+k0+k00=netk0>0. Pouri = 0,xrty = 0k+k001n6∈Lcark+k00<n
Contradiction avec le r´esultat du th´eor`eme, donc Ln’est pas un langage rationnel.
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Mister Big example (` a retenir par tous les moyens !)
Le langageL={0n1n |n≥0}n’est pas rationnel.
D´emonstration :
Supposons Lrationnel.
Alors Lv´erifie le th´eor`eme de l’´etoile et il existe n≥1 v´erifiant les conditions du th´eor`eme.
Soit lew = 0n1n∈Lde longueur 2n >n.
Soit la factorisationw =xvy avecx =,v = 0n et y = 1n. Notons que |v| ≥n.
Montrons que pour toute factorisation de v =rst avec 0<|s| ≤n, il existe un entier i ≥0 telsxrsity 6∈L.
r = 0k,s= 0k0 ett= 0k00 aveck+k0+k00=netk0>0.
Pouri = 0,xrty = 0k+k001n6∈Lcark+k00<n Contradiction avec le r´esultat du th´eor`eme, donc Ln’est pas un langage rationnel.
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Une derni` ere r´ eflexion
Finalement
Le lemme de l’´etoile formalise le fait
qu’un automate poss`ede unem´emoire de taille finie.
Avec un automate fini,
il n’est pas possible d’enregistrer (de distinguer) une infinit´e de pr´efixes.
Introduction Clˆoture et langages rationnels Lemme de l’´etoile
Objectifs de la s´ eance 05
Connaitre les d´efinitions de clˆoture
Savoir les propri´et´es de clˆoture des langages rationnels Connaitre le lemme de l’´etoile
Savoir que le langage{0n1n,n∈IN}n’est pas rationnel Savoir d´emontrer qu’un langage n’est pas rationnel par le lemme de l’´etoile ou en utilisant la clˆoture
R´eflexion principale du jour :
”- Je suis rationnel, je vous le r´ep`ete ! - Oui r´ep´etez-le que je v´erifie.”