Cl^oture et lemme de l’ etoile - LISIC

31
Clˆ oture et lemme de l’´ etoile Syst` emes Formels Master 1 ISIDIS ebastien Verel [email protected] http://www-lisic.univ-littoral.fr/ ~ verel Universit´ e du Littoral Cˆ ote d’Opale Laboratoire LISIC Equipe CAMOME

Transcript of Cl^oture et lemme de l’ etoile - LISIC

Page 1: Cl^oture et lemme de l’ etoile - LISIC

Cloture etlemme de l’etoile

Systemes FormelsMaster 1 ISIDIS

Sebastien [email protected]

http://www-lisic.univ-littoral.fr/~verel

Universite du Littoral Cote d’OpaleLaboratoire LISICEquipe CAMOME

Page 2: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Objectifs de la seance 05

Connaitre les definitions de cloture

Savoir les proprietes de cloture des langages rationnels

Connaitre le lemme de l’etoile

Savoir que le langage {0n1n, n ∈ IN} n’est pas rationnel

Savoir demontrer qu’un langage n’est pas rationnel par lelemme de l’etoile

Savoir demontrer qu’un langage n’est pas rationnel enutilisant les proprietes de cloture

Reflexion principale du jour :

”- Je suis rationnel, je vous le repete !- Oui repetez-le que je verifie.”

Page 3: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Plan

1 Introduction

2 Cloture et langages rationnels

3 Lemme de l’etoile

Page 4: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Illustration de cloture

Supposons qu’il existe une operation (binaire) entre les elementsd’un ensemble E .

Exemple introductif

Addition sur l’ensemble des entiers pairs.

L’addition de deux entiers pairs, donne-t-il un entier pair ?

Lorsque l’operation laisse les elements dans le meme ensemble, ondit que l’ensemble est clos pour l’operation consideree

E

*

E

*

Clos Non Clos

Page 5: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Illustration de cloture

Supposons qu’il existe une operation (binaire) entre les elementsd’un ensemble E .

Exemple introductif

Addition sur l’ensemble des entiers pairs.

L’addition de deux entiers pairs, donne-t-il un entier pair ?

Lorsque l’operation laisse les elements dans le meme ensemble, ondit que l’ensemble est clos pour l’operation consideree

E

*

E

*

Clos Non Clos

Page 6: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Illustration de cloture

Contre-exemple introductif

Donner un exemple d’ensemble et d’operationtels que l’ensemble ne soit pas clos.

Page 7: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Interet de la cloture

La propriete de cloture est une propriete algebrique ”forte”.

Utilisation de cloture

Definir par composition :Au lieu de definir l’element E directement, on definit des”sous”-elements et l’operation pour obtenir E :

E = E1 op E2

Montrer qu’un element n’appartient pas a un ensemble :

E = E1 op E2

Si E1 ∈ L clos par op et que E 6∈ L alors E2 6∈ L

Definition une classe, exemple LR :”L’ensemble LR est le plus petit ensemble clos par union,

concatenation et etoile et qui contient le langage vide et les

langages reduits a un seul mot d’une lettre.”

Page 8: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Definition langage rationnel (rappel)

Langages rationnels (ou reguliers)

L’ensemble des langages rationnels LR est defini par :

base :

∅ ∈ LR{ε} ∈ LRpour tout a ∈ Σ, {a} ∈ LR.

induction : Si L ∈ LR et M ∈ LR alors :

L ∪M ∈ LRL.M ∈ LRL∗ ∈ LR.

Page 9: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Definition langage rationnel (rappel)

Langages rationnels (ou reguliers)

L’ensemble des langages rationnels LR est defini par :

base :

∅ ∈ LR{ε} ∈ LRpour tout a ∈ Σ, {a} ∈ LR.

induction : Si L ∈ LR et M ∈ LR alors :

L ∪M ∈ LRL.M ∈ LRL∗ ∈ LR.

Page 10: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Definition langage rationnel (rappel)

Langages rationnels (ou reguliers)

L’ensemble des langages rationnels LR est defini par :

base :

∅ ∈ LR{ε} ∈ LRpour tout a ∈ Σ, {a} ∈ LR.

induction : Si L ∈ LR et M ∈ LR alors :

L ∪M ∈ LRL.M ∈ LRL∗ ∈ LR.

Page 11: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Operations et cloture sur les langages rationnels

Resultat de cloture

L’ensemble LR des langages rationnels est clos :

par reunion,

par concatenation

par l’operation etoile ∗.

Page 12: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Definitions de cloture

Definition : cloture fonction unaire

Soient E un ensemble et une application f : E → F .E est clos par f (ou E est stable par f ) ssi ∀x ∈ E , f (x) ∈ E

Definition : cloture fonction binaire

Soient E un ensemble et une application f : E × E → F .E est clos par f ssi ∀(x , y) ∈ E 2, f (x , y) ∈ E

Page 13: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Interet de la cloture

La propriete de cloture est une propriete algebrique ”forte”.

Utilisation de cloture

Definir par composition :Au lieu de definir l’element E directement, on definit des”sous”-elements et l’operation pour obtenir E :

E = E1 op E2

Montrer qu’un element n’appartient pas a un ensemble :

E = E1 op E2

Si E1 ∈ L clos par op et que E 6∈ L alors E2 6∈ L

Definition une classe, exemple LR :”L’ensemble LR est le plus petit ensemble clos par union,

concatenation et etoile et qui contient le langage vide et les

langages reduits a un seul mot d’une lettre.”

Page 14: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Ensemble des Langages Rationnels :Clos par complementation

Complementaire d’un langage rationnel

L langage rationnel sur Σ⇒

L = Σ∗ \ L langage rationnel sur Σ

Demonstration :

L est un langage LR donc il existe un AFD (complet)

A = (Q,Σ,T , q0,F ) tel que L(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

Page 15: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture 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

Page 16: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Ensemble des Langages Rationnels :Clos par intersection

Intersection de langages rationnels

L1 et L2 langages rationnels sur Σ⇒

L1 ∩ L2 langage rationnel sur Σ

Demonstration :Rappel ( ?) loi de De Morgan : L1 ∩ L2 = L1 ∪ L2

LR clos par complementation, donc L1 et L2 sont deslangages rationnels,

LR clos par union, donc L1 ∪ L2 est un langage rationnel,

LR clos par complementation, donc L1 ∪ L2 = L1 ∩ L2 est unlangage rationnel �

Page 17: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture 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 que L(A1) = L1

A2 = (Q2,Σ,T2, q2,0,F2) tel que L(A2) = L2

Automate reconnaissant le langage intersection

On definit 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.

Page 18: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Exemple

Exercice

A1 automate qui reconnait (a + b)∗ab(a + b)∗

A2 automate qui reconnait (a + b)∗aaPuis automate qui reconnait L(A1) ∩ L(A2)

Page 19: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Exemple

Exercice

A1 automate qui reconnait (a + b)∗ab(a + b)∗

A2 automate qui reconnait (a + b)∗aaPuis automate qui reconnait L(A1) ∩ L(A2)

1 2 3a b

a a,bb

12

3a

ba

b

a

b

Page 20: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Exemple

Exercice

A1 automate qui reconnait (a + b)∗ab(a + b)∗

A2 automate qui reconnait (a + b)∗aaPuis automate qui reconnait L(A1) ∩ L(A2)

1 2 3a b

a a,bb

12

3a

b

a

b

a

b

a

bb

b

b

b

b

b

bb

aa

aa

aa

a

a

Page 21: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Une reflexion

Pour montrer qu’un langage est rationnel :

On peut construire l’automate fini le reconnaissant

On peut definir l’expression reguliere equivalente

On peut decomposer le langage comme une union,intersection, etc. de langages rationnels.

Comment prouver qu’un langage est non-rationnel ?

On peut utiliser le lemme (theoreme) de l’etoile...

Au fait, pourquoi il existe des langages non-rationnel ?...

Page 22: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Une reflexion

Pour montrer qu’un langage est rationnel :

On peut construire l’automate fini le reconnaissant

On peut definir l’expression reguliere equivalente

On peut decomposer le langage comme une union,intersection, etc. de langages rationnels.

Comment prouver qu’un langage est non-rationnel ?

On peut utiliser le lemme (theoreme) de l’etoile...

Au fait, pourquoi il existe des langages non-rationnel ?...

Page 23: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Une reflexion

Pour montrer qu’un langage est rationnel :

On peut construire l’automate fini le reconnaissant

On peut definir l’expression reguliere equivalente

On peut decomposer le langage comme une union,intersection, etc. de langages rationnels.

Comment prouver qu’un langage est non-rationnel ?

On peut utiliser le lemme (theoreme) de l’etoile...

Au fait, pourquoi il existe des langages non-rationnel ?...

Page 24: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Une reflexion

Pour montrer qu’un langage est rationnel :

On peut construire l’automate fini le reconnaissant

On peut definir l’expression reguliere equivalente

On peut decomposer le langage comme une union,intersection, etc. de langages rationnels.

Comment prouver qu’un langage est non-rationnel ?

On peut utiliser le lemme (theoreme) de l’etoile...

Au fait, pourquoi il existe des langages non-rationnel ?...

Page 25: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Intuition du theoreme

L langage rationnel reconnu par un automate comportant n etats.

Lors de la lecture d’un mot de longueur m ≥ n, l’execution del’automate passe deux fois par le meme etat.

a1 a2 a6 a7

a3

a4

a5

si u = a1a2(a3a4a5)a6a7 ∈ L et |u| ≥ n alors a1a2(a3a4a5)∗a6a7 ∈ L

Enonce intuitif

”Quand un mot w a un facteur v de longueur plus grande que lenombre d’etats de l’automate, la lecture de v boucle forcementquelque part.”

Page 26: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Enonce

Theoreme de l’etoile

Si L un langage rationnel, alors il existe un entier n ≥ 1 tel que :

pour tout mot w de L de longueur ≥ n,

pour toute factorisation de w en xvy avec v facteur delongueur ≥ n,

il existe des mots r , s et t tels que :

(i) 0 < |s| ≤ n(ii) ∀i ≥ 0, xrs i ty ∈ L

Page 27: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Demonstration

A = (Q,Σ,T , q0,F ) automate fini deterministe a n etats telque L(A) = L.

Soit un mot w = xvy de L avec |v | ≥ n : w = a1a2 . . . a|w |Notons que T ∗(q0, a1a2 . . . a|w |) ∈ F

La lecture de w passe forcement 2 fois par un meme etatq ∈ Q

Il existe 2 indices de lettre j et k avec j < k , |x | < j ≤ |xv |,|x | < k ≤ |xv | tels que :

q = T ∗(q0, a1a2 . . . aj) = T ∗(q0, a1a2 . . . ak)

Posons :xr = a1a2 . . . ajs = aj+1a2 . . . akty = ak+1a2 . . . a|w |

Alors pour tout i ≥ 0, xrs i ty ∈ L

j < k donc |s| > 0. En prenant j et k minimaux, |s| ≤ n

Page 28: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Mister Big example (a retenir par tous les moyens !)

Le langage L = {0n1n | n ≥ 0} n’est pas rationnel.

Demonstration :

Supposons L rationnel.

Alors L verifie le theoreme de l’etoile et il existe n ≥ 1verifiant les conditions du theoreme.

Soit le w = 0n1n ∈ L de longueur 2n > n.

Soit la factorisation w = xvy avec x = ε, v = 0n et y = 1n.Notons que |v | ≥ n.

Montrons que pour toute factorisation de v = rst avec0 < |s| ≤ n, il existe un entier i ≥ 0 tels xrs i ty 6∈ L.

r = 0k , s = 0k′et t = 0k′′

avec k + k ′ + k ′′ = n et k ′ > 0.Pour i = 0, xrty = 0k+k′′

1n 6∈ L car k + k ′′ < n

Contradiction avec le resultat du theoreme,donc L n’est pas un langage rationnel.

Page 29: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Mister Big example (a retenir par tous les moyens !)

Le langage L = {0n1n | n ≥ 0} n’est pas rationnel.

Demonstration :

Supposons L rationnel.

Alors L verifie le theoreme de l’etoile et il existe n ≥ 1verifiant les conditions du theoreme.

Soit le w = 0n1n ∈ L de longueur 2n > n.

Soit la factorisation w = xvy avec x = ε, v = 0n et y = 1n.Notons que |v | ≥ n.

Montrons que pour toute factorisation de v = rst avec0 < |s| ≤ n, il existe un entier i ≥ 0 tels xrs i ty 6∈ L.

r = 0k , s = 0k′et t = 0k′′

avec k + k ′ + k ′′ = n et k ′ > 0.Pour i = 0, xrty = 0k+k′′

1n 6∈ L car k + k ′′ < n

Contradiction avec le resultat du theoreme,donc L n’est pas un langage rationnel.

Page 30: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Une derniere reflexion

Finalement

Le lemme de l’etoile formalise le faitqu’un automate possede une memoire de taille finie.

Avec un automate fini,il n’est pas possible d’enregistrer (de distinguer)

une infinite de prefixes.

Page 31: Cl^oture et lemme de l’ etoile - LISIC

Introduction Cloture et langages rationnels Lemme de l’etoile

Objectifs de la seance 06

Connaitre les definitions de cloture

Savoir les proprietes de cloture des langages rationnels

Connaitre le lemme de l’etoile

Savoir que le langage {0n1n, n ∈ IN} n’est pas rationnel

Savoir demontrer qu’un langage n’est pas rationnel par lelemme de l’etoile ou en utilisant la cloture

Reflexion principale du jour :

”- Je suis rationnel, je vous le repete !- Oui repetez-le que je verifie.”