Introduction
Langages reconnaissables
Langages formels
Automates darbres
Paul Gastin
Grammaires
Paul.Gastin@lsv.ens-cachan.fr
Langages alg
ebriques
http://www.lsv.ens-cachan.fr/~gastin/Langages/
L3 Informatique Cachan
2011-2012
Automates `
a pile
Analyse syntaxique
Fonctions s
equentielles
1/81
Motivations
Bibliographie
[1] Alfred V. Aho, Ravi Sethi et Jerey D. Ullman.
Compilers: principles, techniques and tools.
Addison-Wesley, 1986.
Definition :
1. Description et analyse (lexicale et syntaxique) des langages (programmation,
naturels, . . . )
2. Mod`eles de calcul
3. Abstractions mathematiques simples de phenom`enes complexes dans le but de
I
I
2/81
4. Types de donnees
3/81
4/81
Bibliographie
Bibliographie
[10] Dexter C. Kozen.
Automata and Computability.
Springer, 1997.
Pin.
[11] Jean-Eric
Automates finis et applications.
[8] Hubert Comon, Max Dauchet, Remi Gilleron, Florent Jacquemard, Denis
Lugiez, Sophie Tison, Marc Tommasi.
Tree Automata Techniques and Applications.
http://www.grappa.univ-lille3.fr/tata/
Plan
6/81
Bibliographie
Introduction
2
Langages reconnaissables
Mots
Langages
Automates deterministes
Automates non deterministes
Automates avec "-transitions
Proprietes de fermeture
Langages rationnels
Crit`eres de reconnaissabilite
Minimisation
Morphismes et congruences
Automates darbres
Grammaires
7/81
Langages alg
ebriques
8/81
Mots
Mots
Ordres partiels :
I
I
: concatenation associative.
" ou 1 : mot vide, neutre pour la concatenation.
( , ) : monode libre engendre par .
I
I
u sous-mot de v si v = v0 u1 v1 u2 un vn avec ui , vi 2 et u = u1 u2 un
Theor`eme : Higman
Lordre sous-mot est un bon ordre, i.e.
(de toute suite infinie on peut extraire une sous-suite infinie croissante)
(ou tout ensemble de mots a un nombre fini delements minimaux)
u
: miroir du mot u.
9/81
Langages
10/81
Langages
Langage = sous-ensemble de .
Exemples.
n+1
Iteration : L0 = {"},
= Ln S
L = L Ln ,
S L
L = n 0 Ln , L+ = n>0 Ln .
Exemples : n , , (2 ) .
Quotients : K 1 L = {v 2 | 9u 2 K, u v 2 L}
L K 1 = {u 2 | 9v 2 K, u v 2 L}
Concat
enation : K L = {u v | u 2 K et v 2 L}
La concatenation est associative et distributive par rapport `a lunion.
|K L| |K| |L|
notion de multiplicite, dambigute
11/81
12/81
Automates d
eterministes
Automates d
eterministes
Exemples.
u
Definition : Reconnaissables
1
q0 !
q1 qn
avec qi = (qi
1 , ai )
an
! qn
Generalisation de `a Q :
(q, ") = q,
(q, u a) = ( (q, u), a) si u 2 et a 2 .
13/81
14/81
Automates non d
eterministes
Automates non d
eterministes
Theor`eme : Determinisation
Preuve
A = (Q, T, I, F )
Q ensemble fini detats, I Q etats initiaux, F Q etats finaux,
T Q Q ensemble des transitions.
On utilise aussi : Q ! 2Q .
a
1
Calcul de A sur un mot u = a1 an : q0 !
q1 qn
(qi 1 , ai , qi ) 2 T pour tout 0 < i n.
Langage accepte (reconnu) par A :
an
! qn avec
Exercices :
1. Donner un automate non deterministe avec n etats pour L = an
16/81
Automates non d
eterministes
Corollaire :
A = (Q, T, I, F )
Q ensemble fini detats, I Q etats initiaux, F Q etats finaux,
T Q ( [ {"}) Q ensemble des transitions.
a
1
Un calcul de A est une suite q0 !
q1 qn
tout 0 < i n.
an
! qn avec (qi
1 , ai , qi )
2 T pour
Soit A un automate.
17/81
18/81
D
ecision
Propri
et
es de fermeture
Presque tout est decidable sur les langages reconnaissables donnes par des
automates.
Op
erations ensemblistes
Definition :
Proposition :
La famille Rec( ) est fermee par les operations ensemblistes (union, complement,
. . . ).
Preuve
Union : construction non deterministe.
Intersection : produit dautomates (preserve le determinisme).
Complement : utilise la determinisation.
Corollaire :
On peut decider de legalite ou de linclusion de langages reconnaissables.
Plus precisement, soient L1 , L2 2 Rec( ) donnes par deux automates A1 et A2 .
On peut decider si L1 L2 .
Preuve
Cest de laccessibilite.
19/81
20/81
Propri
et
es de fermeture
Propri
et
es de fermeture
Op
erations li
ees `
a la concat
enation
Si L , on note
Proposition :
I
I
Concat
enation :
Methode 1 : union disjointe des automates et ajout de transitions.
Methode 2 : fusion detats.
On suppose que les automates ont un seul etat initial sans transition entrante et
un seul etat final sans transition sortante.
Pref(L) = {u 2 | 9v 2 , uv 2 L},
Su(L) = {v 2 | 9u 2 , uv 2 L},
Proposition :
Rec( ) est fermee par prefixe, suffixe, facteur.
Preuve
It
eration :
Methode 1 : ajout de transitions. Ajouter un etat pour reconnatre le mot vide.
Methode 2 : ajout d"-transitions.
21/81
22/81
Propri
et
es de fermeture
Propri
et
es de fermeture
Morphismes
Soient A et B deux alphabets et f : A ! B un morphisme.
Pour L A , on note f (L) = {f (u) 2 B | u 2 L}.
Pour L B , on note f 1 (L) = {u 2 A | f (u) 2 L}.
Proposition :
La famille Rec( ) est fermee par quotients gauches et droits :
Soit L 2 Rec( ) et K arbitraire.
Les langages K 1 L et L K 1 sont reconnaissables.
Proposition :
Preuve
Exercice :
Montrer que si de plus K est reconnaissable, alors on peut eectivement calculer
les nouveaux etats initiaux/finaux.
23/81
(L) 2 Rec(A ).
Preuve
Modification des transitions de lautomate.
24/81
Propri
et
es de fermeture
Propri
et
es de fermeture
Proposition :
Definition : Substitutions
1. Si L 2 Rec(A ) et
(L) 2 Rec(B ).
Preuve
1. On remplace des transitions par des automates.
2. Plus difficile.
25/81
Langages rationnels
26/81
Langages rationnels
Definition : Semantique
On definit L : E ! P( ) par
Definition : Syntaxe
27/81
28/81
Langages rationnels
Langages rationnels
Definition :
Rec( ) = Rat( )
Preuve
Corollaire :
Lequivalence des expressions rationnelles est decidable.
Abus de notation :
On ne souligne pas les lettres de : ((a + b) ).
On enl`eve les parenth`eses inutiles : (aa + bb) + (aab) .
On confond langage rationnel et expression rationnelle.
Preuve
Il suffit de linclusion Rat( ) Rec( ).
29/81
30/81
Crit`
eres de reconnaissabilit
e
Crit`
eres de reconnaissabilit
e
Lemme : iteration
Soit L 2 Rec( ). Il existe N
1. si |x|
Exemples.
1. L1 = {an bn | n
0},
2. L2 = {u 2 | |u|a = |u|b },
Preuve
3. L3 = L2 \ ( (a3 + b3 ) )
31/81
32/81
Crit`
eres de reconnaissabilit
e
Crit`
eres de reconnaissabilit
e
Theor`eme : Ehrenfeucht, Parikh, Rozenberg ([13, p. 128])
1. Montrer que les langages suivants satisfont (1) mais pas (2) :
1. L est reconnaissable
2. Il existe N > 0 tel que pour tout mot x = uv1 . . . vN w 2 avec |vi |
existe 0 j < k N tels que pour tout n 0,
p n
x2L
ssi
3. Il existe N > 0 tel que pour tout mot x = uv1 . . . vN w 2 avec |vi |
existe 0 j < k N tels que
3. Montrer que le langage suivant satisfait (3) mais nest pas reconnaissable :
x2L
1, il
ssi
1, il
uv1 . . . vj vk+1 . . . vN w 2 L
33/81
34/81
Crit`
eres de reconnaissabilit
e
Minimisation
Pour montrer quun langage nest pas reconnaissable, on peut aussi utiliser les
proprietes de cl
oture.
L 2 \ a b = L 1 .
Donc L2 nest pas reconnaissable.
Questions :
L5 = {u 2 | |u|a 6= |u|b } = L2 .
Donc L5 nest pas reconnaissable.
35/81
36/81
Automate des r
esiduels
Morphismes dautomates
Definition : Residuels
Soient u 2 et L .
Le residuel de L par u est le quotient u
L = {v 2 | uv 2 L}.
I '(i) = i0 ,
a!
I ' 1 (F 0 ) = F , i.e., q 2 F () '(q) 2 F 0 .
Q!
Pn
i
i=0 ui 2 j[3]}.
QL = {u
L (u
L | u 2 },
L, a) = a
iL = L = "
FL = {u
(u
L) = (ua)
L , iL , FL ) avec
L} = {u
Q!
Remarques :
L,
Deux automates DC sont isomorphes sils ne di`erent que par le nom des etats.
Si ' : A ! A0 est un morphisme bijectif, alors ' 1 : A0 ! A est un morphisme.
Si ' : A ! A0 et : A0 ! A00 sont des morphismes, alors
' : A ! A00 est un
morphisme.
L,
L|"2u
L | u 2 L}.
Theor`eme :
Un langage L est reconnaissable ssi L a un nombre fini de residuels.
37/81
38/81
Morphismes et R
esiduels
Quotients
Definition : Quotients
Exemple :
Proposition :
I
I
39/81
But : Soit L 2 Rec . Montrer quil existe un unique (`a isomorphisme pr`es)
automate minimal pour parmi les automates DC reconnaissant L.
40/81
Minimalit
e de lautomate des r
esiduels
Congruences et quotients
Definition : Congruence sur les automates
Soit A un automate DC. Une relation dequivalence sur Q est une congruence si
I
A.
2. R(L) est minimal pour lordre quotient ( ) parmi les automates DCA
reconnaissant L.
3. Soit A un automate DC reconnaissant L avec un nombre minimal detats. A
est isomorphe `a R(L).
, [i], F/)
Proposition :
Soient A = (Q, , i, F ) et A0 = (Q0 , 0 , i0 , F 0 ) deux automates DC.
Soit ' : Q ! Q0 une application et ' lequivalence associee definie par p q si
'(p) = '(q).
I
I
Ceci explique que lon nomme quotient limage par un morphisme surjectif.
41/81
42/81
Equivalence
de Nerode
Algorithme de Moore
Pour n
Q par
Definition : Equivalence
de Nerode
Soit A = (Q, , i, F ) un automate DCA reconnaissant L.
Lequivalence de Nerode est la congruence associee au morphisme de A sur R(L):
p q ssi L(A, p) = L(A, q)
ssi 8w 2 ,
(p, w) 2 F () (q, w) 2 F
Donc le quotient A/ (appele automate de Nerode) est isomorphe `a R(L).
p n+1 q
ssi
Si n = n+1 alors = n .
= |Q|
si ; =
6 F 6= Q et = 0 sinon.
Exercice :
Calculer lautomate minimal par lalgorithme dHopcroft de raffinement de partitions
en O(n log(n)) (lalgo naf est en O(n2 ) avec n = |Q|).
44/81
Morphismes
Morphismes
Theor`eme :
Corollaire :
Rec( ) est fermee par morphisme inverse.
Exemple :
Proposition :
Exercices :
1. Montrer que Rec( ) est fermee par union, intersection, complementaire.
2. Montrer que Rec( ) est fermee par quotients.
Si L 2 Rec( ) et K alors K 1 L et LK
sont reconnaissables.
46/81
Congruences
Morphismes et Congruences
Definition :
Exercice :
Theor`eme :
Soit L . L est reconnaissable ssi L est sature par une congruence dindex fini.
Soit L .
u L v
si
Theor`eme :
1. Montrer que tout langage accepte par un automate Boustrophedon est en fait
rationnel.
Soit L .
I
I
I
L sature L.
47/81
48/81
Morphismes et Congruences
Monoide syntaxique
Definition : Monoide syntaxique
Soit L . ML = / L .
2. Etant
donnee une MT qui ne modifie pas sa donnee, montrer que lon peut
eectivement calculer la fonction de transition dun automate fini deterministe
equivalent.
Theor`eme :
Soit L .
I
Corollaire :
On peut eectivement calculer le monode syntaxique dun langage reconnaissable.
2. Soit u rL v si 8y 2 , uy 2 L () vy 2 L.
Montrer que rL est la congruence `a droite la plus grossi`ere qui sature L.
3. Faire le lien entre rL et lautomate minimal de L
49/81
50/81
Ap
eriodiques et sans
etoile
Sans
etoile et sans compteur
Definition : Compteur
Soit A = (Q, , , i, F ) un automate deterministe complet.
Lautomate A est sans compteur si
Definition : Aperiodique
0 tel que pour tout x 2 M
Un langage est aperiodique sil peut etre reconnu par un monode aperiodique.
8w 2 , 8m
1, 8p 2 Q,
(p, wm ) = p
(p, w) = p .
Theor`eme : Schutzenberger
Un langage est sans etoile si et seulement si son monode syntaxique est aperiodique.
Exemple : Le langage (aa) nest pas sans etoile.
Exercice :
Montrer que le langage ((a + cb a)c b) est sans etoile.
Exercice :
Montrer que le langage ((a + cb a)c b) est sans etoile.
51/81
52/81
Plan
Bibliographie
Introduction
Langages reconnaissables
3
Automates darbres
Arbres
Automates darbres
Termes
Ascendant / Descendant
Determinisme
Lemme diteration
Congruences
Minimalite
[8] Hubert Comon, Max Dauchet, Remi Gilleron, Florent Jacquemard, Denis
Lugiez, Sophie Tison, Marc Tommasi.
Tree Automata Techniques and Applications.
http://www.grappa.univ-lille3.fr/tata/
Grammaires
Langages alg
ebriques
53/81
54/81
Automates `
a pile
Analyse syntaxique
Arbres
Arbres
D
efinition : s
Arbres
Fonctions
equentielles
Soit Ap = {d1 , . . . , dp } un alphabet ordonne d1
Definition : Terminologie
dp .
Un arbre etiquete dans et darite (au plus) p est une fonction partielle t : Ap !
dont le domaine est un langage dom(t) Ap
I ferm
e par prefixe : u v et v 2 dom(t) implique u 2 dom(t),
I
Exemples :
1. Arbre representant lexpression logique
((x ! y) ^ (y _ z)) ^ (z _ x)
Automates darbres
Automates darbres
Definition : Automate
Un automate darbres est un quadruplet A = (Q, , , F ) o`
u
I
I
I
I
I
I
3. Lensemble des arbres darite au plus p dont les etiquettes de toutes les
branches sont dans un langage rationnel fixe L .
4. Lensemble des arbres darite au plus p dont au moins une branche est
etiquetee par un mot dun langage rationnel fixe L .
58/81
Termes
Definition : Un terme est un arbre avec symboles types
I
I
I
Theor`eme : du feuillage
I
F0 [ X T (F , X ),
si f 2 Fn (n 1) et t1 , . . . , tn 2 T (F , X ) alors f (t1 , . . . , tn ) 2 T (F , X )
59/81
T (F) lensemble des termes qui ne contiennent pas de variable (termes clos).
Un terme t est lineaire sil contient au plus une occurrence de chaque variable.
Termes
Arbres et termes
Un terme est un arbre
Un terme peut etre vu comme un arbre t etiquete dans F [ X tel que
I
Exemples :
62/81
Arbres et termes
Vision ascendante
Definition : calcul ascendant
Soit A = (Q, , , F ) un automateSdarbres.
On voit comme une fonction : p Qp ! 2Q .
Letiquetage dun calcul est construit `a partir des feuilles en remontant vers la racine.
Soit t0 larbre ayant meme domaine que t et tel que si u 2 dom(t) est darite i et
t(u) = f alors t0 (u) = fi est la copie de f dans i .
Exemples :
1. Evaluation
dune expression logique close.
2. Arbres de la forme t = f (g(t1 ), f (t2 , a)) 2 Tp ().
Remarque :
Un arbre de derivation nest pas toujours un terme car les r`egles associees `a une
variable nont pas forcement une longueur fixe.
Exemple : S ! aSb + ab
Exercice :
Qp ! Q
Parmi les langages reconnaissables vus precedemment, quels sont ceux qui sont
deterministes ascendants ?
63/81
64/81
Vision descendante
Automates d
eterministes
Exemples :
Theor`eme : Determinisation
Soit A un automate darbres. On peut eectivement construire un automate
deterministe ascendant B tel que L(A) = L(B).
Theor`eme : Cloture
La classe des langages darbres reconnaissables est eectivement close par union,
intersection et complementaire.
2. Evaluation
dune expression logique close.
Proposition :
La classe des langages darbres reconnaissables par un automate deterministe descendant est strictement incluse dans la classe des langages darbres reconnaissables.
Exemple : le langage {f (a, b), f (b, a)} nest pas deterministe descendant.
Exercice :
Parmi les langages reconnaissables vus precedemment, quels sont ceux qui sont
deterministes descendants ?
65/81
66/81
Substitutions
Definition :
I
Definition : "-transitions
I
I
"
(q1 , . . . , qp , a) =
"(
"
Q Q.
I
I
I
les "-transitions peuvent etre utiles dans les preuves et les constructions sur
les automates darbres.
(q1 , . . . , qp , a))
La substitution
Si t1 , t2 sont clos, alors t[t1 /x1 , t2 /x2 ] = t[t1 /x1 ][t2 /x2 ].
En general, t[t1 /x1 , t2 /x2 ] 6= t[t1 /x1 ][t2 /x2 ].
68/81
Concat
enation darbres
Lemme dit
eration
Definition : Concatenation
Soit t1 larbre
et t2 larbre
.
a ! b
a
b
Le langage L = t1 t2 est reconnaissable.
Remarque : le langage Fr(L) des mots de feuilles de L est {an bn | n > 0}.
t = t1 t2 t3 ,
t1 (t2 ) t3 L,
Exemples :
I
I
I
Exemple :
t2 6= 2,
69/81
70/81
Congruences
Congruence syntaxique
Definition : Residuels et Congruence syntaxique
Soit L Tp () un langage darbres et s 2 Tp (). Le residuel de L par s est
L\s = {r 2 Tp,2 () | r s 2 L}.
Remarque :
La relation dequivalence L est bien une congruence et sature le langage L.
Proposition :
Lemme :
71/81
Congruence et reconnaissabilit
e
Automate minimal
Definition :
Q = Tp ()/,
F = {[t] | t 2 L}.
L , FL )
= AL .
Lemme :
Lautomate A est DAC (deterministe, accessible, complet) et reconnat L.
Theor`eme : Myhill-Nerode
1. L est reconnaissable,
73/81
74/81
Calcul de l
equivalence de Nerode
Exercices
Proposition :
Soit A = (Q, , , F ) un automate DAC reconnaissant L Tp ().
On definit les relations dequivalence (m )m 0 inductivement :
I
Exercice : Morphisme
Montrer que L T (F) est reconnaissable ssi il existe une F-alg`ebre finie A(F)
telle que L = ' 1 ('(L)) o`
u ' : T (F) ! A(F) est le morphisme canonique.
q 0 q si q, q 2 F ou q, q 2
/F
0
m 0
m
Plus precisement, q m q 0 ssi 8r 2 Tp,2
(), r tq 2 L () r tq0 2 L.
m
Avec Tp,2
() = {r 2 Tp,2 () | prof 2 (t) m}
et pour chaque q 2 Q, tq 2 Tp () tel que q = A(tq ).
75/81
76/81