Cours de Th´eorie des Langages et Automates (Licence 3)
G.H.E. Duchamp, S´eance (5), 15 oct. 2012
[email protected] (Ann´ee 2012-2013)
Plan
1. Exemple d’automate de d´ecalages non d´eterministe 2. Familles stables et automates g´en´eraux
3. D´efinition formelle d’un automate et de sa matrice-lettres 4. Puissances de la matrice-lettres : discussion sur les scalaires et
langages de transition
5. Nouveaux exemples d’automates des d´ecalages (exemples finis et infinis) sur des langages s’exprimant avec des conditions (mots avec pr´efixe impos´e, avec facteur impos´e)
6. Grammaire L=ǫ+b+aL+baLet sa solution (mots sansb2) 7. Une intersection L∩A∗a= (a+ba)+
8. Distributions de longueurs
G.H.E. Duchamp, S´eance (5), 15 oct. 2012 Cours de Th´eorie des Langages et Automates (Licence 3)
baA∗
abaA∗ start
∅
aA∗
A∗ a
b a
b
a,b
a b
a b
L+ba+a start L
L+ba+a+ǫ
L+a a
b
b
a
a
b a b
Figure: Automate des d´ecal´es deL=A∗(aba+aa).
G.H.E. Duchamp, S´eance (5), 15 oct. 2012 Cours de Th´eorie des Langages et Automates (Licence 3)
on construit alors l’automate des d´ecal´es de la faon suivante
• Proc´ed´e(5)
1. Donn´ees : Un alphabet (fini)Aet un langageL⊂A∗ 2. Etat initial :´ L
3. Transitions : L1−→x L2 siL2=x−1L1
4. Etats : le plus petit ensemble qui puisse supporter les transitions´ ci-dessus
5. Etats finaux : les´ Li tels queǫ∈Li
L’automate obtenu est un ADC (pas n´ecessairement fini !) qui reconnait le langageL.
On peut aussi produire un automate (non d´eterministe en g´en´eral) en construisant une famille de langages (Li)i∈I={1..n}
◮ dont fait partie L
◮ qui soit stable par d´ecalage.
Le deuximme point veut dire que les d´ecal´es de toutLi sont des unions desLi. Soit
(∀i∈I)(∀a∈A)(a−1Li=X
µij(a)Lj) (1)
Mais on peut, en remarquant que l’ensemble vide est l’union vide, se contenter de la famille des 4 langages [L,ba+a, ǫ,a], avec les matrices de transition suivantes
a−1
L ba+a
a ǫ
=
1 1 0 0
0 0 0 1
0 0 0 1
0 0 0 0
L ba+a
a ǫ
b−1
L ba+a
a ǫ
=
1 0 0 0
0 0 1 0
0 0 0 0
0 0 0 0
L ba+a
a ǫ
(2)
En appelantM(x) la matrice de transition de la lettrex et en posant M(u) =M(a1)M(a2)· · ·M(an) siu=a1a2· · ·an, on montre que u−1V =M(u)V.
G.H.E. Duchamp, S´eance (5), 15 oct. 2012 Cours de Th´eorie des Langages et Automates (Licence 3)