Vous êtes sur la page 1sur 15

Théorie des langages

et des automates

Fatma Assida
fatma.assida@esprit.tn
Année Universitaire 2015/2016
2 Définitions - Alphabet

 Un alphabet  est un ensemble dont les éléments sont des symboles


(lettres par exemple).
 Les alphabets sont toujours supposes finis.
 Exemples :

1  {0; 1}
2  {A; C; G; T}
3  {a, b, c, …, x, y, z} : l’ensemble de toutes
les lettres (minuscules)
4  {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, , , , , (, )}.
5  {♠, ♣, ♥, ♦}
etc.
3 Définitions - Mots

 Un mot (ou encore chaîne) w est une suite finie de symboles d’un même alphabet
que l'on note par simple juxtaposition : w  a1a2 ... an; ai  
 Exemples :

 w 1  10110 est un mot de 1


 w 2  ordinateur est un mot de 3
 w 3  (7  6)  3 est un mot de 4
4 Définitions - Mots
 La longueur d'un mot w est le nombre de symboles qui le composent, et est notée
|w|.
 Le mot vide, noté , est composé de 0 (zéro) symboles.
 ||  0
 Le produit de concaténation de deux mots x  a1a2 …an et y  b1b2 … bm est le
mot xy obtenu par juxtaposition : xy  a1a2 …an b1b2 … bm
 |xy|  |x| + |y|.
5 Définitions - Mots
 n est l’ensemble de toutes les chaînes de longueur n.
 0  {} ; cet ensemble n’est pas vide. Il contient la chaîne vide .
 * est la réunion des n pour n  0. C'est donc l'ensemble de toutes les
chaînes, chaîne vide comprise.
 La fermeture de Kleene d’un alphabet est l’ensemble de tous les mots de longueur
quelconque de , on la note *.
 + est la réunion des n pour n > 0.
 L’ensemble des mots non vide construits sur  est la fermeture positive de  et est
noté +.
6 Définitions - Mots
 Un mot x est une sous chaîne d’un mot w si et seulement si il existe deux mots y
et z tels que w  yxz. Les mots w, x, y et z doivent appartenir à un même
alphabet.
 Un mot x est préfixe d’un mot w si et seulement si il existe un mot y définit sur le
même alphabet  que x et w tel que w  xy.
 Un mot x est suffixe d’un mot w si et seulement si il existe un mot y définit sur le
même alphabet  que x et w tel que w  yx.
7 Définitions – Mots
Concaténation : pour tout m, n  *, l’opération de concaténation  est définie par :
 : Vm  Vn  Vm + n
(x1 … xm, y1 … yn)  x1…xm  y1…yn  x1…xmy1…yn
 La concaténation est associative : (w1  w2)  w3  w1  (w2  w3)

  est l’élément neutre pour la concaténation w      w  w

Exemple
  {a, b} w  babb
 Les préfixes de w  , b, ba, bab, babb

 Les suffixes de w  , b, bb, abb, babb


8 Définitions – Mots
Puissance : soit un alphabet  et w  *,

wn  {  si n  0
w  wn – 1

Exemple
  {a, b} w  aab
w0 ? w1? w 2? w3 ?

 w0  
 w1  aab
 w2  aabaab
 w3  aabaabaab
9 Définitions – Mots
 Soit  un alphabet. Soit A une partie de . Pour tout mot w  *, la longueur en
A de w est le nombre d'occurrences de lettres de A dans le mot w. Ce nombre est
note |w|A.
 |w|  |w|∑.
 Pour tout symbole   , |w| le nombre d’occurrences du symbole  dans w.
10 Définitions - Mots
 Occurrence de symboles : nombre de fois où un symbole apparait dans un mot. On
note |w| le nombre d’occurrences du symbole  dans w.
 Miroir : Soit w  a1 … an, avec a1; … ; an  . Le mot miroir de w est le mot note
~ ou w~ ou encore wr défini par :
w
w  an … a1
~~
 (uv)~  vu
 (w~)~  w.
11 Définitions - Langage
 Un langage défini sur un alphabet  est une partie de * c’est donc un ensemble
de mots défini sur .
 Un langage L sur un alphabet  est un sous ensemble de * : L  *
 L  P (*)
 Les sous-ensembles de * sont appelés des langages formels.
Exemple   {a, b}, {anbn / n  0} est un langage.
 Exemples triviaux :
 Ø, le langage vide.
 {}, le langage réduit à l’unique chaîne vide.
 L1  {w  * / w  w~}
 L2  {w  * / |w|  2k, k  0}
 L3  {w  * / |w|a  2k, k  0}
12 Opérations sur les langages
 Union
L1 ∪ L2  {w  * / w  L1 ou w  L2}
 Intersection
L1 ∩ L2  {w  * / w  L1 et w  L2 }
 Complèmentaire
Lc  * \ L  {w  * et w  L }
 Différence
L1 \ L2 (ou L1 – L2)  {w  * / w  L1 et w  L2 }
 Concaténation
L1.L2  {w  * /  u  L1 et v  L2 / w  u.v}
L{}  {}L  L
13 Opérations sur les langages
 Puissances
L0  {}
L1  L
Ln + 1  LnL (n 1)
Si  est un alphabet alors n est l’ensemble des mots de longueur n.
14 Opérations sur les langages:
Exemples
   {a, b}
 L1  {a, b}
 L2  {aa, bb, ab, ba}
 L3  {a, ab, bb}

L1 ∪ L2  {a, b, aa, bb, ab, ba}


L1 ∩ L2  Ø
L1 ∩ L3  {a}
L1 \ L2  {a, b}
L3 \ L1  {ab, bb}
L1.L2  {aaa, abb, aab, aba, baa, bbb, bab, bba}
15 Opérations sur les langages :
Propriétés
Soient A, B et C trois langages définis sur un alphabet 
 A.(B.C)  (A.B).C
 A ∪ (B ∪ C)  (A ∪ B) ∪ C
 A.(B  C)  A.B  A.C
 A. Ø  Ø
 AØA
 A  B  A.C  B.C
 A  B  C.A  C.B

Vous aimerez peut-être aussi