Vous êtes sur la page 1sur 49

Th

eorie des langages

Alphabets et Langages
Elise Bonzon
http://web.mi.parisdescartes.fr/vbonzon/
elise.bonzon@parisdescartes.fr

Th
eorie des langages
N

1 / 29

Alphabets et langages

Alphabets et langages

Alphabets
Operations sur les mots
Monode
Langages

Th
eorie des langages
N

2 / 29

Alphabets et langages

Alphabets et langages

Alphabets
Operations sur les mots
Monode
Langages

Th
eorie des langages
N

3 / 29

Alphabets et langages

Alphabet

Alphabet
Un alphabet est un ensemble fini de symboles.
Exemples :
A = {0, 1}
= {a, b, c}
= {if , then, else, a, b}
F = {, , , }

Th
eorie des langages
N

4 / 29

Alphabets et langages

Mot

Mot
Un mot sur lalphabet X est une sequence finie et ordonnee, eventuellement vide, delements de lalphabet.
Cest une concatenation de lettres.
Par exemple, abbac et ba sont deux mots de lalphabet {a, b, c}.

Th
eorie des langages
N

5 / 29

Alphabets et langages

Mot

Mot
Un mot sur lalphabet X est une sequence finie et ordonnee, eventuellement vide, delements de lalphabet.
Cest une concatenation de lettres.
Par exemple, abbac et ba sont deux mots de lalphabet {a, b, c}.
Mot vide
Le mot vide, note , correspond `a la suite de symboles vide.

Th
eorie des langages
N

5 / 29

Alphabets et langages

Longueur dun mot


Longueur dun mot
La longueur dun mot w est le nombre de symboles constituant ce
mot. On la note |w |.
Le mot vide est de longueur 0.
Par exemple, |abbac| = 5, |ba| = 2 et || = 0.

Th
eorie des langages
N

6 / 29

Alphabets et langages

Longueur dun mot


Longueur dun mot
La longueur dun mot w est le nombre de symboles constituant ce
mot. On la note |w |.
Le mot vide est de longueur 0.
Par exemple, |abbac| = 5, |ba| = 2 et || = 0.
Ensemble de mots
Lensemble de mots sur un alphabet X est note X (fermeture transitive).
Par exemple, si X = {a, b, c},
X = {, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, ...}

Th
eorie des langages
N

6 / 29

Alphabets et langages

Notations

Soit w X
|w | est la longueur de w
X est lalphabet
x est une lettre de X
|w |x est le nombre doccurences de x dans w .

Exemple, avec X = {a, b}


|abb|a = 1
|abb|b = 2

Th
eorie des langages
N

7 / 29

Alphabets et langages

Alphabets et langages

Alphabets
Operations sur les mots
Monode
Langages

Th
eorie des langages
N

8 / 29

Alphabets et langages

Concat
enation (produit)
Concat
enation (produit) de lettres
Soit un alphabet X et w1 , w2 X tels que
w1
w2

= x1 x2 x3 . . . xn
= y1 y2 y3 . . . yp

i {1, . . . , n}, xi X
i {1, . . . , p}, yi X

w1 et w2 sont des concat


enation de lettres (mots).
Concat
enation (produit) de mots
Soit un alphabet X et w1 , w2 X des concatenation de lettres. Alors
w tel que :
w = w1 .w2 = x1 x2 x3 . . . xn y1 y2 y3 . . . yp
est une concat
enation de mots.
Th
eorie des langages
N

9 / 29

Alphabets et langages

Concat
enation (produit)
Proprietes
Le produit est associatif
w1 , w2 , w3 X ,

w1 .(w2 .w3 )

=
=

(w1 .w2 ).w3


w1 .w2 .w3

 est lelement neutre du produit


w X , .w = w . = w
w , z X , |w .z| = |w | + |z|
Le produit nest pas commutatif

Th
eorie des langages
N

10 / 29

Alphabets et langages

Puissance
Puissance
Soit un alphabet X et w X .


wn =
w .w n1

si n = 0
si n > 0

Th
eorie des langages
N

11 / 29

Alphabets et langages

Puissance
Puissance
Soit un alphabet X et w X .


wn =
w .w n1

si n = 0
si n > 0

Par exemple, soit X = {a, b} et w = abb


w0 = 
w 1 = abb
w 2 = w .w = abbabb
w 3 = w .w 2 = abbabbabb

Th
eorie des langages
N

11 / 29

Alphabets et langages

Egalit
e

Egalit
e de deux mots
Deux mots sont
egaux sils sont de meme longueur et sils ont des
lettres identiques de positionnements identiques.
Soit un alphabet X et w1 , w2 X tels que
w1
w2

= x1 x2 x3 . . . xn
= y1 y2 y3 . . . yp

i {1, . . . , n}, xi X
i {1, . . . , p}, yi X

On a w1 = w2 si et seulement si p = n et i [1, n], xi = yi .

Th
eorie des langages
N

12 / 29

Alphabets et langages

Pr
efixe et suffixe

Pr
efixe, suffixe
Soit un alphabet X et w , u X .
u est un pr
efixe de w si et seulement si v X tel que w = u.v

Th
eorie des langages
N

13 / 29

Alphabets et langages

Pr
efixe et suffixe

Pr
efixe, suffixe
Soit un alphabet X et w , u X .
u est un pr
efixe de w si et seulement si v X tel que w = u.v
u est un suffixe de w si et seulement si v X tel que w = v .u

Th
eorie des langages
N

13 / 29

Alphabets et langages

Pr
efixe et suffixe

Pr
efixe, suffixe
Soit un alphabet X et w , u X .
u est un pr
efixe de w si et seulement si v X tel que w = u.v
u est un suffixe de w si et seulement si v X tel que w = v .u
Soit X = {a, b}, w = babb
Les prefixes de w sont , b, ba, bab, babb
Les suffixes de w sont , b, bb, abb, babb

Th
eorie des langages
N

13 / 29

Alphabets et langages

Pr
efixe et suffixe propres

Pr
efixe et suffixe propres
Soit un alphabet X et w , u X .
u est un pr
efixe propre de w si et seulement si u est un prefixe de w
et u est different de w .
u est un suffixe propre de w si et seulement si u est un suffixe de w
et u est different de w .

Th
eorie des langages
N

14 / 29

Alphabets et langages

Pr
efixe et suffixe propres

Pr
efixe et suffixe propres
Soit un alphabet X et w , u X .
u est un pr
efixe propre de w si et seulement si u est un prefixe de w
et u est different de w .
u est un suffixe propre de w si et seulement si u est un suffixe de w
et u est different de w .
Soit X = {a, b}, w = babb
Les prefixes propres de w sont , b, ba, bab
Les suffixes propres de w sont , b, bb, abb

Th
eorie des langages
N

14 / 29

Alphabets et langages

Miroir dun mot


Miroir dun mot
Soit un alphabet X et w X tel que w = x1 x2 x3 . . . xn , avec i
{1, . . . , n}, xi X .
Le miroir de w , note w
, est defini par
w
= xn xn1 . . . x2 x1

Th
eorie des langages
N

15 / 29

Alphabets et langages

Miroir dun mot


Miroir dun mot
Soit un alphabet X et w X tel que w = x1 x2 x3 . . . xn , avec i
{1, . . . , n}, xi X .
Le miroir de w , note w
, est defini par
w
= xn xn1 . . . x2 x1
Definition recursive :

w
=

w
u.a

si w = 
si w = a.u, avec a X

Th
eorie des langages
N

15 / 29

Alphabets et langages

Alphabets et langages

Alphabets
Operations sur les mots
Monode
Langages

Th
eorie des langages
N

16 / 29

Alphabets et langages

Monode

Monode
Un ensemble E muni dune operation interne associative (notee .) et
possedant un element neutre est un monode, note M = hE , .i.

Th
eorie des langages
N

17 / 29

Alphabets et langages

Monode

Monode
Un ensemble E muni dune operation interne associative (notee .) et
possedant un element neutre est un monode, note M = hE , .i.
Exemples :
hIN, +i
hIN, i
hX , .i : lensemble des mots sur lalphabet X muni de loperation de
produit est un monode.

Th
eorie des langages
N

17 / 29

Alphabets et langages

Sous-monode

Sous-monode
Soit M = hE , .i un monode. M 0 est un sous-monode de M si M 0 =
hE 0 , .i, avec E 0 E , est un monode pour la meme loi de composition
interne et le meme element neutre.

Th
eorie des langages
N

18 / 29

Alphabets et langages

Sous-monode

Sous-monode
Soit M = hE , .i un monode. M 0 est un sous-monode de M si M 0 =
hE 0 , .i, avec E 0 E , est un monode pour la meme loi de composition
interne et le meme element neutre.
Pour montrer que M 0 est un sous-monode de M, il suffit de montrer que
1. lelement neutre de M appartient `
a M0
2. la loi de composition interne est stable pour E 0 : x, y E 0 , x.y E 0

Th
eorie des langages
N

18 / 29

Alphabets et langages

Monode libre

Ensemble de g
en
erateurs
Soit M = hE , .i un monode. Un ensemble de g
en
erateurs de M est
un sous ensemble E1 , avec E1 E , tel que tout element de E , sauf
lelement neutre, est exprimable `a laide dune composition de E1 .

Th
eorie des langages
N

19 / 29

Alphabets et langages

Monode libre

Ensemble de g
en
erateurs
Soit M = hE , .i un monode. Un ensemble de g
en
erateurs de M est
un sous ensemble E1 , avec E1 E , tel que tout element de E , sauf
lelement neutre, est exprimable `a laide dune composition de E1 .
Exemple :
{1} est un generateur de hIN, +i
Tout entier peut
etre exprim
e comme une somme de 1

Lensemble des nombres premiers est un generateur de hIN, i


Tout entier peut
etre exprim
e comme un produit de nombre premiers

Th
eorie des langages
N

19 / 29

Alphabets et langages

Monode libre
Ensemble de g
en
erateurs ind
ependants
Soit M = hE , .i un monode. Un ensemble de g
en
erateurs ind
ependants de M est un ensemble de generateurs tels que tout element de
E sauf lelement neutre est exprimable dune et dune seule facon sous
forme dune composition de generateurs.

Th
eorie des langages
N

20 / 29

Alphabets et langages

Monode libre
Ensemble de g
en
erateurs ind
ependants
Soit M = hE , .i un monode. Un ensemble de g
en
erateurs ind
ependants de M est un ensemble de generateurs tels que tout element de
E sauf lelement neutre est exprimable dune et dune seule facon sous
forme dune composition de generateurs.
Exemple :
{1} est un generateur independant de hIN, +i
Tout entier peut
etre exprim
e dune et dune seule facon comme une
somme de 1

Lensemble des nombres premiers nest pas un generateur independant de


hIN, i
Tout entier peut
etre exprim
e comme un produit de nombre premiers, mais
il y a plusieurs d
ecompositions possibles. Par exemple,
12 = 2 3 2 = 2 2 3.
Th
eorie des langages
N

20 / 29

Alphabets et langages

Monode libre

Monode libre
Un monode possedant un ensemble de generateurs independants X
sera dit libre et sera note X .

Th
eorie des langages
N

21 / 29

Alphabets et langages

Monode libre

Monode libre
Un monode possedant un ensemble de generateurs independants X
sera dit libre et sera note X .
Soit X un alphabet. Le monode hX , .i est un monode libre.

Th
eorie des langages
N

21 / 29

Alphabets et langages

Alphabets et langages

Alphabets
Operations sur les mots
Monode
Langages

Th
eorie des langages
N

22 / 29

Alphabets et langages

Langage

Langage
Un langage sur un alphabet X est une partie de X . Cest donc un
ensemble de mots.
L X o`
u L P(X )

Th
eorie des langages
N

23 / 29

Alphabets et langages

Langage

Langage
Un langage sur un alphabet X est une partie de X . Cest donc un
ensemble de mots.
L X o`
u L P(X )
Soit X = {a, b} un alphabet.
est un langage
{} est un langage
{a, ba, bba} est un langage
{w X |w = an , n IN} est un langage

Th
eorie des langages
N

23 / 29

Alphabets et langages

Op
erations sur les langages
Union : A, B X , A B = {w X |w A ou w B}
Associative
Commutative
El
ement neutre : ensemble vide
Not
ee + dans la th
eorie des langages

Intersection : A, B X , A B = {w X |w A et w B}
Associative
Commutative
El
ement neutre X

Difference : A, B X , A \ B = {w X |w A et w 6 B}
Complementaire : A X , A = X \ A = {w X |w 6 A}

Th
eorie des langages
N

24 / 29

Alphabets et langages

Op
erations sur les langages

Egalit
e de langages
egaux, note A = B, si et seulement si
Deux langages A, B X sont
A B et B A.

Th
eorie des langages
N

25 / 29

Alphabets et langages

Op
erations sur les langages

Egalit
e de langages
egaux, note A = B, si et seulement si
Deux langages A, B X sont
A B et B A.
Produit de langages
Soit deux langages A, B X . Le produit de A et B est note A B =
{u.v |u A et v B}.

Th
eorie des langages
N

25 / 29

Alphabets et langages

Op
erations sur les langages
Attention!
produit de langages
. produit de mots
Par la suite, nous les noterons de la meme facon, le contexte fera la
difference.

Th
eorie des langages
N

26 / 29

Alphabets et langages

Op
erations sur les langages
Attention!
produit de langages
. produit de mots
Par la suite, nous les noterons de la meme facon, le contexte fera la
difference.

Soit un alphabet X = {a, b}, un langage A = {, a, ab} et un langage


B = {b, ba}.
A B = A.B = AB = {b, ba, ab, aba, abb, abba}
B A = B.A = BA = {b, ba, bab, ba, baa, baab} = {b, bab, ba, baa, baab}
AB 6= BA

Th
eorie des langages
N

26 / 29

Alphabets et langages

Op
erations sur les langages
Th
eor`
eme
Le produit de langages est distributif par rapport `a lunion.
A, B, C X

A.(B C ) = (A.B) (A.C )


(B C ).A = (B.A) (C .A)

Th
eorie des langages
N

27 / 29

Alphabets et langages

Op
erations sur les langages
Th
eor`
eme
Le produit de langages est distributif par rapport `a lunion.
A, B, C X

A.(B C ) = (A.B) (A.C )


(B C ).A = (B.A) (C .A)

Ce theor`eme reste vrai pour des unions infinies


S
S
A, Bi X A.(
i=1 (A.Bi )
S i=1 Bi ) = S
( i=1 Bi ).A =
i=1 (Bi .A)

Th
eorie des langages
N

27 / 29

Alphabets et langages

Op
erations sur les langages
Th
eor`
eme
Le produit de langages est distributif par rapport `a lunion.
A, B, C X

A.(B C ) = (A.B) (A.C )


(B C ).A = (B.A) (C .A)

Ce theor`eme reste vrai pour des unions infinies


S
S
A, Bi X A.(
i=1 (A.Bi )
S i=1 Bi ) = S
( i=1 Bi ).A =
i=1 (Bi .A)
Attention! Le produit de langages nest pas distributif par rapport `a
lintersection.
A, B, C X , A.(B C ) (A.B) (A.C )

Th
eorie des langages
N

27 / 29

Alphabets et langages

Op
erations sur les langages
Fermeture de Kleene
S
eration
etoile (ou fermeture
Soit A X . On note A = i=0 Ai lop
par etoile, ou fermeture de Kleene, ou fermeture iterative) du langage
A.
Note : Comme A0 = {}, on a toujours  A

Th
eorie des langages
N

28 / 29

Alphabets et langages

Op
erations sur les langages
Fermeture de Kleene
S
eration
etoile (ou fermeture
Soit A X . On note A = i=0 Ai lop
par etoile, ou fermeture de Kleene, ou fermeture iterative) du langage
A.
Note : Comme A0 = {}, on a toujours  A
Fermeture positive
Soit A X . On note A+ =
langage A.

i=1

Ai la fermeture positive du

Th
eorie des langages
N

28 / 29

Alphabets et langages

Op
erations sur les langages
Fermeture de Kleene
S
eration
etoile (ou fermeture
Soit A X . On note A = i=0 Ai lop
par etoile, ou fermeture de Kleene, ou fermeture iterative) du langage
A.
Note : Comme A0 = {}, on a toujours  A
Fermeture positive
Soit A X . On note A+ =
langage A.

i=1

Ai la fermeture positive du

Th
eor`
eme
Soit A X . On a A+ = A.A = A .A

Th
eorie des langages
N

28 / 29

Alphabets et langages

Op
erations sur les langages

Op
eration miroir
eration miroir comme etant :
Soit A X . On definit lop
AR = {w
|w A}

Th
eorie des langages
N

29 / 29

Alphabets et langages

Op
erations sur les langages

Op
eration miroir
eration miroir comme etant :
Soit A X . On definit lop
AR = {w
|w A}
Th
eor`
eme
Soit A, B X . On a (A.B)R = B R .AR

Th
eorie des langages
N

29 / 29