Vous êtes sur la page 1sur 6

Thorie des langages et des

automates

Ramzi GUETARI
Anne Universitaire 2010 / 2011

ISI
Institut
Suprieur
Informatique

ISI
Institut
Suprieur
12/09/2010 Informatique 1

Dfinitions - Alphabet

Un alphabet est un ensemble dont les lments sont des symboles (lettres par
exemple)

1
Dfinitions - Mots

Un mot (ou encore chane) w est une suite finie de symboles dun mme alphabet
on note par simple juxtaposition : w = a1a2 ... an; ai
que ll'on
La longueur d'un mot w est le nombre de symboles qui le composent, et est note
|w|.
Le mot vide, not , est compos de 0 (zro) symboles.
|| = 0
Le produit de concatnation de deux mots x = a1a2 an et y = b1b2 bm est
le mot xy obtenu par juxtaposition : xy = = a1a2 an b1b2 bm
| | = |x|
|xy| | | + |y|.
| |

ISI
Institut
Suprieur
12/09/2010 Informatique

Copyright Ramzi GUETARI

Dfinitions - Mots

n est lensemble de toutes les chanes de longueur n.


0 = {} ; cet ensemble nnest vide Il contient la chane vide .
est pas vide.
est la runion des pour n 0. C'est donc l'ensemble de toutes les
* n

chanes, chane vide comprise. On appelle * une fermeture de .


+ est la runion des n pour n > 0.
Un mot x est une sous chane dun 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 mme
alphabet.
U mot x est prfixe
Un d mot w sii et seulement
fi dun l i un mot y dfinit
sii il existe d fi i sur
le mme alphabet que x et w tel que w = xy.
Un mot x est suffixe dun mot w si et seulement si il existe un mot y dfinit sur
le mme alphabet que x et w tel que w = yx.

ISI
Institut
Suprieur
12/09/2010 Informatique

Copyright Ramzi GUETARI

2
Dfinitions - Mots

Concatnation
Soit un alphabet. Pour tout mot w *, la longueur en
alphabet Soit A une partie de .
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 doccurrences du symbole dans w.
|w|A = |w|.
A

ISI
Institut
Suprieur
12/09/2010 Informatique

Copyright Ramzi GUETARI

Dfinitions - Mots

Concatnation
Occurrence de symboles : nombre de fois o un symbole apparait dans un mot.
mot On
note |w| le nombre doccurrences du symbole dans w.
Miroir : Soit w = a1 an, avec a1; ; an . Le mot miroir de w est le mot
note w~ ou w~ ou encore wr dfini par :
w = an a1
(uv) = vu
~ ~ ~
(w~)~ = w.

ISI
Institut
Suprieur
12/09/2010 Informatique

Copyright Ramzi GUETARI

3
Dfinitions - Langage

Un langage dfini sur un alphabet est un ensemble de mots dfini sur .


Un langage L sur un alphabet est un sous ensemble de *.
Les sous-ensembles de * sont appels des langages formels.
Exemple = {a, b}, {anbn / n 0} est un langage.
Exemples triviaux :
, le langage vide.
{}, le langage rduit lunique chane vide.
L1 = {w * / w = w~}
L2 = {w * / |w| = 2k, k 0}
L3 = {w * / |w|a = 2k, k 0}

ISI
Institut
Suprieur
12/09/2010 Informatique

Copyright Ramzi GUETARI

Oprations sur les langages

Union
L1 L2 = {w * / w L1 ou w L2 }
Intersection
L1 L2 = {w * / w L1 et w L2 }
Compltion
Lc = * \ L = {w * et w L }
Diffrence
L1 \ L2 (ou L1 L2) = L1 L2c = {w * / w L1 et w L2 }

ISI
Institut
Suprieur
12/09/2010 Informatique

Copyright Ramzi GUETARI

4
Oprations sur les langages

Concatnation
L1.LL2 = {w * / u L1 ett v L2 / w = u.v}
L{} = {}L = L
L (M N) = LM LN
L (M N) LM LN
Puissances
L0 = {}
L1 = L
Ln + 1 = LnL (n 1)
Si est un alphabet alors n est lensemble des mots de longueur n.
Itration (toile) L* = n 0Ln = {w1 wn / n 0 et w1, wn L}
Itration stricte (plus) L+ = Ln = {w1 wn / n > 0 et w1, wISnnusp tL}irti ue ut r
12/09/2010
n>0
Informatique ISI
Copyright Ramzi GUETARI

Oprations sur les langages

= {a, b}
L1 = {a,
{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}

ISI
Institut
Suprieur
12/09/2010 Informatique 10

Copyright Ramzi GUETARI

5
Oprations sur les langages : Proprits

Soient A, B et C trois langages dfinis sue un alphabet


A.(B.C)
A (B C) = (A.B).C
(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

ISI
Institut
Suprieur
12/09/2010 Informatique 11

Copyright Ramzi GUETARI

Thorme dArden

Soient A et B deux langages sur . L'quation X = A.X B admet une solution


unique dans * / X = A*.B
X = A.X B =
A. A*.B B =
A. A*. {}.B B =
((A. A*) {}).B
Par dfinition, A* = n 0An

(A. A*) {} = (A.


n0
An) {} = n> 0An {} = A*

On arrive donc : A. A*.B B = A*.B

ISI
Institut
Suprieur
12/09/2010 Informatique 12

Copyright Ramzi GUETARI