Académique Documents
Professionnel Documents
Culture Documents
automates
Ramzi GUETARI
Anne Universitaire 2010 / 2011
ISI
Institut
Suprieur
Informatique
ISI
Institut
Suprieur
Informatique 1
Plan
Systmes de rcriture
Rduction ou rcriture
Langage engendr par un systme de rcriture
Exemple: le langage des parenthses
Les grammaires
Hirarchie des grammaires et des langages
ISI
Institut
Suprieur
01/11/2010 Informatique 2
1
Systmes de rcriture
ISI
Institut
Suprieur
01/11/2010 Informatique 3
Rduction ou rcriture
ISI
Institut
Suprieur
01/11/2010 Informatique 4
2
Rduction ou rcriture
Exemple R1 :
bab ba2b2 u = b, v =
ISI
Institut
Suprieur
01/11/2010 Informatique 5
Rduction ou rcriture
n
On dit que u se rcrit en v et on note u
* v si et seulement si n 0 tel que u v
n1
Exemple R1 : ab anbn n 0
ISI
Institut
Suprieur
01/11/2010 Informatique 6
3
Langage engendr par un systme de rcriture
L (R, w) = {z * / w
* z}
ISI
Institut
Suprieur
01/11/2010 Informatique 7
Exemples :
bac bca
abc cba
acb cab
ISI
Institut
Suprieur
01/11/2010 Informatique 8
4
Langage engendr par un systme de rcriture
Si w est un mot minimal pour R et s'il existe un mot v tel que w L (R, v), on dit
que w est une forme normale de v.
Exemple : pour R2, cba est une forme normale de abc, acb, bac, bca, cab et cba.
ISI
Institut
Suprieur
01/11/2010 Informatique 9
Copyright Ramzi GUETARI
( ( ( ( ) ( ) ) ) ( ( ) ) ( ) )
L'expression rduite ses seules parenthses doit avoir comme forme minimale le
mot vide pour le systme de rcriture dont la rgle unique est :
()
ISI
Institut
Suprieur
01/11/2010 Informatique 10
Copyright Ramzi GUETARI
5
Exemple : Le Langage des parenthses
( ( ( ( ) ( ) ) ) ( ( ) ) ( ) )
( ( ( ( ) ) ) ( ( ) ) ( ) )
( ( ( ) ) ( ( ) ) ( ) )
( ( ) ( ( ) ) ( ) )
( ( ( ) ) ( ) )
( ( ) ( ) )
( ( ) )
( )
ISI
Institut
Suprieur
01/11/2010 Informatique 11
Copyright Ramzi GUETARI
L'ensemble des expressions bien parenthses est donc l'ensemble des mots w de
{ ( , ) }}* tels que w
*
ISI
Institut
Suprieur
01/11/2010 Informatique 12
Copyright Ramzi GUETARI
6
Les grammaires
ISI
Institut
Suprieur
01/11/2010 Informatique 13
Copyright Ramzi GUETARI
Les grammaires
Exemple :
{ h t chien,
Vt = {chat, hi le,l mord,d voit}
it}
Vn = {phrase, verbe, groupe_nominal, article, nom}
7
Les grammaires
etc.
Les grammaires
Une grammaire est une machine rcrire cestdire, une machine faire des
substitutions.
substitutions
Une rgle de production (l, r) P est note l r : l est la partie gauche, contenant
au moins une variable, r est la partie droite.
Pour les grammaires, on dit drivation plutt que rcriture, et on note + au lieu de
pour dcrire l'union de deux langages : X + V = X V est l'alphabet de la grammaire.
ISI
Institut
Suprieur
01/11/2010 Informatique 16
Copyright Ramzi GUETARI
8
Les grammaires
Ce processus est itr partir de la source jusqu llimination complte des non-
terminaux.
ISI
Institut
Suprieur
01/11/2010 Informatique 17
Copyright Ramzi GUETARI
Les grammaires
Dfinition
tant donne une grammaire G = {Vt, Vn, S, R}, on dit que le mot u V* se rcrit
en le mot v V* dans G avec la rgle g d, et lon note :
gd
u v
Si :
1) u = w1gw2, o w1 V* et w2 V*.
2) v = w1dw2
On dit que le mot u V* se rcrit en le mot v V* dans la grammaire G sil existe
une rgle g d R telle que u se rcrit en v dans G.
Enfin, on dit que le mot v V* drive du mot u V*, dans la grammaire G, ce que
lon note par u * v, sil existe une suite finie w , w , . . . , w de mots de V* telle que
0 1 n
w0 = u, wi wi+1 pour tout i [0, n 1], et wn = v.
ISI
Institut
Suprieur
01/11/2010 Informatique 18
Copyright Ramzi GUETARI
9
Les grammaires
Exemple
N 0
N 1 N 0
N 1M N 1M
M 0 M
M 1 M 0M
M 0M M 1M
M 1M
ISI
Institut
Suprieur
01/11/2010 Informatique 19
Copyright Ramzi GUETARI
Les grammaires
Exemple
En utilisant la premire grammaire :
10
Les grammaires
Dfinition
Le langage engendr par la grammaire G est lensemble des mots de Vt qui drivent
de laxiome de G, que lon note par L (G).
Remarque
Les grammaires de lexemple prcdent (p. 19) peuvent aussi tre spcifies de la
manire suivante :
N 0 | 1 | 1M N 0 | 1M
M 0 | 1 | 0M | 1M M | 0M | 1M
ISI
Institut
Suprieur
01/11/2010 Informatique 21
Copyright Ramzi GUETARI
Classification de Chomsky
Les grammaires telles que nous venons de les dfinir sont dites gnrales. Les
langages engendrs sont dits de type 0 dans la hirarchie de Chomsky. On verra qu
quils
ils
sont reconnus par des machines de Turing. Les grammaires sont classes en :
Grammaires contextuelles.
Grammaires hors-contexte.
Grammaires rgulires.
ISI
Institut
Suprieur
01/11/2010 Informatique 22
Copyright Ramzi GUETARI
11
Classification de Chomsky
Grammaires contextuelles
La grammaire suivante dcrit le langage {anbncn | n 0}. Ses rgles ont la particularit
davoir un membre droit de taille suprieure ou gale celle de leur membre gauche.
S aSBC|
CB BC
aB ab
bB bb
bC bc
cC cc
ISI
Institut
Suprieur
01/11/2010 Informatique 23
Copyright Ramzi GUETARI
Classification de Chomsky
Grammaires contextuelles
a3b3c3
S aSBC
a(aSBC)BC
a(a(aSBC)BC)BC S aaabbbccC cC cc
aaaBCBCBC CB BC aaabbbccc
aaaBBCCBC CB BC
aaaBBCBCC CB BC
aaaBBBCCC aB ab
aaabBBCCC bB bb
aaabbBCCC bB bb
aaabbbCCC bC bc
aaabbbcCC cC cc
ISI
Institut
Suprieur
01/11/2010 Informatique 24
Copyright Ramzi GUETARI
12
Classification de Chomsky
Grammaires contextuelles
Dfinition
tant donne une grammaire G = {Vt, Vn, S, R}, une rgle de R est dite contextuelle
si elle est de la forme g d avec |g| |d|. Une grammaire est contextuelle si toutes
ses rgles le sont, et le langage engendr est alors dit contextuel ou de type 1.
Les langages de type sont reconnus par des machines de Turing particulires utilisant
un espace mmoire
born.
ISI
Institut
Suprieur
01/11/2010 Informatique 25
Copyright Ramzi GUETARI
Classification de Chomsky
Grammaires hors-
hors-contexte
La grammaire suivante dcrit le langage {anbn | n 0}. Cette grammaire a une
particularit : le membre gauche de chaque rgle est un non-terminal..
S aSb|
ISI
Institut
Suprieur
01/11/2010 Informatique 26
Copyright Ramzi GUETARI
13
Classification de Chomsky
Grammaires hors
hors--contexte ou algbriques
Dfinition
tant donne une grammaire G = {Vt, Vn, S, R}, une rgle de R est dite hors-contexte
si elle est de la forme N u o u V* . Une grammaire est hors-contexte si toutes
ses rgles le sont, et le langage engendr est alors dit hors-contexte ou de type 2. On
note par LHC la classe des langage hors-contexte.
Les langages hors-contexte sont reconnus par des machines de Turing particulires,
les automates pile, que nous dcouvrirons plus loin dans ce cours.
ISI
Institut
Suprieur
01/11/2010 Informatique 27
Copyright Ramzi GUETARI
Classification de Chomsky
Grammaires rgulires
Les grammaires de lexemple suivant sont hors-contexte, mais elles ont une
particularit supplmentaire : le membre droit possde au plus une occurrence de
symbole non terminal, situe lextrmit droite.
N 0 | 1 | 1M N 0 | 1M
M 0 | 1 | 0M | 1M M | 0M | 1M
ISI
Institut
Suprieur
01/11/2010 Informatique 28
Copyright Ramzi GUETARI
14
Classification de Chomsky
Grammaires rgulires
Dfinition
tant donne une grammaire G = {Vt, Vn, S, R}, une rgle de R est dite rgulire si
elle est de la forme N u ou N uM, o M, N Vn et u Vt* . Une grammaire
est rgulire si toutes ses rgles le sont, et un langage engendr par une telle
grammaire est alors dit rgulier ou de type 3.
ISI
Institut
Suprieur
01/11/2010 Informatique 29
Copyright Ramzi GUETARI
Grammaires et drivation
Une drivation est l'application rpte de rgles qui commence avec le symbole
de dpart et se termine avec une squence de terminaux.
terminaux
chaque tape d'une drivation, on obtient un mot appel forme sententielle.
Une phrase est une forme sententielle ne contenant que des terminaux.
Les drivations dans G = (V, S, R) sont des suites de rcritures que lon peut
oprer sur les lments de ( + V) par application de ses rgles.
Une drivation lmentaire est lapplication dune rgle de la grammaire.
Une drivation lmentaire se dfinit pour 1 ( + V), 2 ( + V), X V
par:
1X2 11
pour toute rgle X de la grammaire.
ISI
Institut
Suprieur
01/11/2010 Informatique 30
15
Grammaires et drivation
i
Une drivation de longueur i note : est une suite de i drivations
lmentaires qui ssenchanent,
enchanent, qui se dfinit par rcurrence sur i :
0: Pas dapplication de rgle.
i 1
ii+1: Une application de plus
i
On notera
*
pour signifier quil existe une drivation .
ISI
Institut
Suprieur
01/11/2010 Informatique 31
Grammaires et drivation
E Id | Cte | E + E | E E | (E)
ISI
Institut
Suprieur
01/11/2010 Informatique 32
16
Grammaires et drivation
x 2.5 4 y z ISI
Institut
Suprieur
01/11/2010 Informatique 33
Grammaires et drivation
x 2.5 4 y z ISI
Institut
Suprieur
01/11/2010 Informatique 34
17
Grammaires et drivation
ISI
Institut
Suprieur
01/11/2010 Informatique 35
Copyright Ramzi GUETARI
Grammaires et drivation
ISI
Institut
Suprieur
01/11/2010 Informatique 36
Copyright Ramzi GUETARI
18
Grammaires et drivation
E E + E E E E
Id + E E + E E
Id + E E Id + E E
Id + Id E Id + Id E
Id + Id Id Id + Id Id
ISI
Institut
Suprieur
01/11/2010 Informatique 37
Copyright Ramzi GUETARI
Dfinition
Une grammaire G est ambigu sil existe un mot w L(G) qui possde plusieurs
drivations gauches (droites) dans G.
ISI
Institut
Suprieur
01/11/2010 Informatique 38
Copyright Ramzi GUETARI
19
Reprsentation arborescente
ISI
Institut
Suprieur
01/11/2010 Informatique 39
Copyright Ramzi GUETARI
Reprsentation arborescente
Dfinition
Deux drivations sont dites quivalentes si et seulement si on peut transformer lune
en lautre par une suite de commutations de rgles.
ISI
Institut
Suprieur
01/11/2010 Informatique 40
Copyright Ramzi GUETARI
20
Reprsentation arborescente
X X
1 m
ISI
Institut
Suprieur
01/11/2010 Informatique 41
Copyright Ramzi GUETARI
Reprsentation arborescente
Exemple : id + id id
E E+E E EE
id + E E+EE
id + E E id + E E
id + id E id + id E
id + id id id + id id
E E
E + E E E
id E E E + E id
id id id id
ISI
Institut
Suprieur
01/11/2010 Informatique 42
Copyright Ramzi GUETARI
21
Arbre de drivation
Dfinition
Dans un arbre :
un nud est tiquet par un lment de V et une feuille par un lment de + V
lembranchement dun nud tiquet par un mot X V est dtermin par une
rgle X de G.
Les descendants immdiats dun tel nud sont tiquets par les caractres
successifs de .
Dans
D l cas o = , nest
le t pas une feuille,
f ill mais
i lindication
li di ti de d labsence
l b
dfinitive de toute feuille !
ISI
Institut
Suprieur
01/11/2010 Informatique 43
Copyright Ramzi GUETARI
Arbre de drivation
o
+ V est ltiquette de la racine,
( + V)* est la frondaison, cestdire, le mot constitu des tiquettes de ses
feuilles,
i est le nombre de ses nuds.
ISI
Institut
Suprieur
01/11/2010 Informatique 44
Copyright Ramzi GUETARI
22
Arbre de drivation
ISI
Institut
Suprieur
01/11/2010 Informatique 45
Copyright Ramzi GUETARI
Arbre de drivation
23
Dfinition de monode
ISI
Institut
Suprieur
01/11/2010 Informatique 47
Copyright Ramzi GUETARI
Dfinition de monode
Exemples :
L ensemble N des entiers naturels est muni de deux structures de monodes :
Lensemble
(N, +, 0)
(N, , 1).
Les exemples qui suivent, o L * est un langage sur , ne font que rsumer
quelques proprits dj vues :
(L*, ., ), en particulier (*, ., ),
(P (L*),+, ), en particulier (P (*),+, ),
(P (L*), ., ), en particulier (P (*), ., ).
ISI
Institut
Suprieur
01/11/2010 Informatique 48
Copyright Ramzi GUETARI
24
Morphismes de monodes
Exemple:
Exemple
Lapplication longueur u |u| dfinit un morphisme (*, ., ) (N, +, 0).
ISI
Institut
Suprieur
01/11/2010 Informatique 49
Copyright Ramzi GUETARI
Lemme principal
L : (( + V)*, ., ) (P(*), ., ).
Une des applications du lemme principal est lie aux arbres de drivation. Considrons
lexemple suivant :
S SbS | | a | aa
10
On peut aisment vrifier que S aabbabaabba. Ce qui donne larbre de drivation
de la figure suivante :
ISI
Institut
Suprieur
01/11/2010 Informatique 50
Copyright Ramzi GUETARI
25
Lemme principal
S
S b S
S b S S b S
S b S S b S a
a a a a a
ISI
Institut
Suprieur
01/11/2010 Informatique 51
Copyright Ramzi GUETARI
Lemme principal
26
Rgle globale
Rgle globale :
La rgle globale X l(X) : de X dans G est dfinie par
l(X) si et seulement si X est une rgle de G
( + V)*
l(X) est donc lensemble de tous les seconds membres des rgles pour X : cest un langage
fini, puisque R lest par dfinition.
ISI
Institut
Suprieur
01/11/2010 Informatique 53
Copyright Ramzi GUETARI
lensemble des quations X = l(X) pour toute X V est appel le systme dquations
associ G.
Le langage engendr par X sur une grammaire G est le gal au langage engendr par
le systme dquations l(X)
L(X) = L(l(X), X V
Dmonstration
u L(X) X
* u
( + V)* / (X ) R et
* u
u L(l(X))
ISI
Institut
Suprieur
01/11/2010 Informatique 54
Copyright Ramzi GUETARI
27
Exemple
S SbS | | a | aa
L(l(S)) = L (SbS | | a | aa)
= L (SbS) + L() + L(a) + L(aa)
= L(S)bL(S) + + a + aa
lgalit L(S) = L(l(S)) signifie donc bien que L(S) = L(S)bL(S) + + a + aa
ISI
Institut
Suprieur
01/11/2010 Informatique 55
Copyright Ramzi GUETARI
Langage tendu
L(G, ) si et seulement si
*
.
ISI
Institut
Suprieur
01/11/2010 Informatique 56
Copyright Ramzi GUETARI
28
Transformation de grammaires
Grammaires reduites
Toutes les parties de V que nous serons amens dfinir par la suite sont
construites de la faon suivante :
On dfinit une suite Ui croissante de parties de V : U0 U1 Ui V.
Une telle suite est stationnaire car V est fini : il existe un entier N tel que i N
implique Ui = UN.
U = UN sappelle la limite de la suite Ui.
ISI
Institut
Suprieur
01/11/2010 Informatique 58
Copyright Ramzi GUETARI
29
Grammaires reduites
ISI
Institut
Suprieur
01/11/2010 Informatique 59
Copyright Ramzi GUETARI
Grammaires rduites
p S V si et seulement si L(G,
X V est accessible depuis (G, S)) [[X]]
o [X] ( + V) est lensemble des tels que ||X > 0.
*
30
Grammaire rduite
Il suffit dliminer les variables non productives puis les variables non accessible.
Attention : llimination des variables qui ne sont pas productives peut rendre dautres
variables inaccessibles partir de S, il faut donc effectuer les oprations dlimination
dans cet ordre pour rduire G.
ISI
Institut
Suprieur
01/11/2010 Informatique 61
Copyright Ramzi GUETARI
Grammaires propres
31
Grammaires propres
Considrons
Co s d o s laa subst
substitution
tut o s : +V
V P((
(( + V)*) d
dfiniee pa
par :
s () = { + si EPS(G)
sinon
X s(l) .
ISI
Institut
Suprieur
01/11/2010 Informatique 63
Copyright Ramzi GUETARI
Grammaires propres
ISI
Institut
Suprieur
01/11/2010 Informatique 64
Copyright Ramzi GUETARI
32
Grammaires propres
Unee drivation
k
U d at o est une
u e drivation
d at o X Y o X V, Y V et k > 00.
(1) N u R, u ou N = S
(2) N u R, S u
(3) Les non-terminaux sont tous utiles, cest--dire la fois :
(a) N Vn, N est atteignable depuis S : , V* tels que S
* N.
En dautre termes, une grammaire G est propre si et seulement si elle ne produit pas
et nadmet pas d drivation.
ISI
Institut
Suprieur
01/11/2010 Informatique 65
Copyright Ramzi GUETARI
Grammaires propres
(1) N u R, u ou N = S
(2) N u R, S u
(3) Les non-terminaux sont tous utiles, cest--dire la fois :
(a) N Vn, N est atteignable depuis S : , V* tels que S
* N.
ISI
Institut
Suprieur
01/11/2010 Informatique 66
Copyright Ramzi GUETARI
33
Grammaires propres
Thorme 3
Pour toute grammaire hors-contexte G = {Vt, Vn, S, R}, il existe une grammaire hors-
contexte G = {Vt, Vn Vn {S}, S, R} propre qui engendre le mme langage.
Grammaires propres
Thorme 3 (suite)
3. limination des rgles M N. On applique la procdure suivante G prive de
la rgle S :
Calculer les paires (M, N) telles que M
* N
ISI
Institut
Suprieur
01/11/2010 Informatique 68
Copyright Ramzi GUETARI
34
Grammaires propres
Thorme 3 (suite)
4. limination des non terminaux non productifs :
Calculer les non terminaux productifs
Enlever les autres
Chaque tape ne remet pas en cause la prcdente, et donc la grammaire obtenue est
propre. Ce ne serait pas le cas si lon inversait les deux dernires tapes.
ISI
Institut
Suprieur
01/11/2010 Informatique 69
Copyright Ramzi GUETARI
Grammaires propres
S aU | bV
U | aU | V
V | bV | U
S a | b | aU | bV
U a | aU | V
V b | bV | U
S a | b | aU | bV
U a | aU | b | bV
V b | bV | a | bV
ISI
Institut
Suprieur
01/11/2010 Informatique 70
Copyright Ramzi GUETARI
35
Forme normale de Chomsky
Thorme 4
Pour tout langage hors-contexte L, il existe une grammaire propre G qui lengendre
dont toutes les rgles sont de lune des trois formes suivantes :
(1) S
(2) P a
(3) P MN (M S et N S)
ISI
Institut
Suprieur
01/11/2010 Informatique 71
Copyright Ramzi GUETARI
v
i 0, on a uviw L.
En clair, pour obtenir des mots trs long, un automate ne peut que rpter plusieurs
fois le mme motif.
Tous les langages ne sont pas reconnaissables par les automates.
automates
Ce lemme (pumping lemma) exprime une proprit ncessaire pour quun langage soit
algbrique : cette proprit nest pas suffisante pour cela !
ISI
Institut
Suprieur
01/11/2010 Informatique 72
Copyright Ramzi GUETARI
36