HAL Id: tel-00462032
https://tel.archives-ouvertes.fr/tel-00462032
Submitted on 8 Mar 2010
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Stéphane Hassen
To cite this version:
Stéphane Hassen. Synchronisation de grammaires de graphe. Informatique [cs]. Université de la
Réunion, 2009. Français. �tel-00462032�
Thèseen vuede l'obtention du titre de
do teur de l'université de la Réunion
en informatique Syn hronisation de grammaires de graphes Stéphane Hassen Composition du jury :
OlivierCarton (rapporteur)
DidierCau al (dire teur)
Jean Diatta ( o-dire teur)
Damian Niwinski (rapporteur)
Mes remer iements vont tout d'abord àmessieurs Cartonet Niwinsky,pour
leurtempsetl'impli ationdontilsontfaitpreuvepourlesrapports sur ette
thèse. Je ne pense pas pouvoir retrans rire i i la gratitude que j'éprouve
pour Didier Cau al pour avoir a epté la responsabilité de dire teur ainsi
que pour m'avoirsoutenu durant toutes es années. Mer i égalementà Jean
Diattapourm'avoirpermisde retrouverlalégalitévis-à-visdel'universitéen
a eptantde devenir o-dire teurde ettethèse. Mer iégalementàTheodor
Knapik pour avoir ommençé à m'en adrer et surtout m'avoir donné envie
d'ee tuer ette thèse.
Mes pensées vontégalement auxmembres des laboratoiresdont j'ai arpenté
les ouloirs, à savoir l'IREMIA, l'IRISA de Rennes et l'IGM de
Marne-La-Vallée.Bienevidemmentjene pourraispas itertouslesnomsmais pendant
que j'é ris es lignes, vos visages me reviennent et 'est vers vous que se
dirigentmesremer iementspour l'a euilque j'aireçu, lesdis ussions
s ien-tiques aussi bien que philosophiques auxquelles j'ai pu parti iper...
Last but not least, mer i à ma famille, elle du sang et elle du oeur, qui
même si elle n'a jamais vraiment ompris mon travail n'a jamais douté de
1 Introdu tion 7 2 Préliminaires 13 2.1 Notations . . . 13 2.2 Mots . . . 14 2.3 Relationsbinaires . . . 15 2.4 Graphes . . . 15
3 Des automates nis 20 3.1 Grammaires de mots . . . 20
3.1.1 Dénition . . . 21
3.1.2 La hiérar hiede Chomsky . . . 22
3.2 Automatesnis . . . 25
3.2.1 Les grammaireslinéaires gau hes . . . 25
3.2.2 Les automates nis . . . 26
3.2.3 Propriétés de fermeture. . . 28
4 Aux automates réguliers 33 4.1 Automatesà piles . . . 33
4.1.1 Les grammairesalgébriques . . . 33
4.1.2 Les automates àpiles . . . 34
4.2 Automatesréguliers. . . 44
4.2.1 Les grammairesdéterministes de graphes . . . 44
5 Syn hronisation de grammaires 62
5.1 Contexte . . . 63
5.2 Les grammairespondérées . . . 66
5.3 La syn hronisation . . . 69
5.4 Les langagessyn hronisés . . . 90
6 Une extension 110 6.1 Les langagesnon-ambigus . . . 110
6.2 Les grammairesnon-ambiguës . . . 111
6.3 Syn hronisation . . . 113
Introdu tion
L'étude des automates ommen e ave l'arti le d'Alan Turing [Tu36℄ et
sades riptiond'unmodèlede al ul:lesma hines(ouautomates)deTuring.
Ces ma hines théoriques sont onstituées d'une bande innie, d'une tête de
le ture/é riture (ayant un nombre ni d'états possibles) pouvant par ourir
la bande et d'un programme di tant à la ma hine son fon tionnement : les
a tions de la tête dépendent de son état et de la lettre lue sur la bande.
Ces modèles permettent de dénir des langages : un mot est a epté par
un automate si l'appli ation de son programme sur une bande ontenant
(uniquement) e mot amène la tête de le ture dans un état nal prédéni.
L'ensembledesmotsa eptésparunema hineformeainsilelangagea epté
par la ma hine. En restreignant e modèle de sorte que l'é riture ne se soit
pas possibleet quela tête ne sedépla e quedans un sens, on obtientle
mo-dèle théorique des automates nis. Les langages a eptés par es ma hines
restreintes sontexa tementles langages los par union,interse tion et
itéra-tion : e sontles langagesréguliers.
En1956,StephenKleenemontrequelesautomatesnisre onnaissent
exa te-mentleslangagesréguliers[Kl56℄.Cerésultat,appelélethéorèmede Kleene,
est obtenu en onsidérant d'une part la des ription d'une ma hine par ses
omposantslo aux,unréseaunideneuronesdeM Cullo hetPitts[MP43℄,
mais aussi en dénissantune ma hine par un nombre ni d'états globaux.
[RS59℄reformulentlethéorèmedeKleeneentermesalgébriques.Leslangages
a eptés par lesautomates nisformentunealgèbrede Boolequiest de plus
lose par on aténation et itération de la on aténation. Il en résulte que
l'in lusiondes langagesréguliersest dé idable.Le le teurpourra sereporter
à lasynthèse de Dominique Perrin sur l'histoiredes automates nis [Pe95℄.
Dans edo ument,nousreprésentonslesautomatespardesrelationsbinaires,
dé rivant lestransitions du programme de lama hine, entre un nombre ni
d'éléments. Cette similarité entre automates et stru tures algébriques a été
mise en exergue par Mar el-PaulS hützenberger [S 55℄.Une représentation
naturellede esstru turessefaitpargraphesnis:lessommetssontlesétats
de l'automate et les ar s étiquetés expriment les relations de transition. Le
langage a epté par un automate est alors donné par lestra es du graphele
représentant : leslangagesréguliers sont les tra es des graphesnis.
En terme de omplexité, on peut lasser les langages selon la hiérar hie de
Chomsky [Ch56℄. Dans sa re her he d'une grammaire de mots pour
expri-mer la ri hesse de la langue anglaise, Noam Chomsky dégage la notion de
grammaire algébrique. Les grammaires algébriques engendrent les langages
dits algébriquesin luant leslangagesréguliers.
Tout ommelesautomates nis re onnaissentleslangagesrégulier,les
auto-mates leplus souventasso iés auxlangagesalgébriquessont lesautomatesà
pile. Ces ma hines sont une restri tion des ma hines de Turing : la tête ne
peutquelireetest uni-dire tionnelle.En1985,DavidMülleretPaulS hupp
[MS85 ℄ ont étudié la stru ture des graphes de fon tionnement de es
auto-mates : les sommets sont les ongurations de la ma hine et ils sont reliés
par des ar s dé rivantses a tions.Ilsmontrentque es graphesde transition
oïn ident ave la lasse des graphes de degré ni qui sont niment
dé om-posables par distan e. Ils donnent ainsi une des ription de la stru ture des
graphes de transitiondes automates àpile.
On a alors her hé à onstruire es graphes par l'utilisationde grammaires,
non plus de mots mais de graphes asso iant à un ar , dit non-terminal, un
unique graphe ni ([Co89℄). Par ré ritures itérées à partir d'un graphe ni,
on engendre un graphedit régulier.Ces graphes sont une généralisation des
graphes de transitiondes automates àpile.
Néanmoins, les tra es des graphes réguliers sont exa tement les langages
algébriques. La représentation externe des graphes réguliers par es
gram-maires fournit alors un nouvel outil pour l'étude des langages algébriques.
Nos le teurs pourront trouver dans [Ca07℄ une synthèse sur es grammaires
de graphes.
Contrairement aux langages réguliers, les langages algébriques ne forment
pas une algèbre de Boole, notamment l'interse tion de deux langages
algé-briques n'est pas né essairement un langage algébrique.De plus, par
rédu -tion du problème de orrespondan e de Post, on déduit que l'in lusion des
langagesalgébriquesn'estpasdé idable.Ce irestevalablepourdenombreux
sous-ensemblesstri ts de es langages. Citonsnotammentleslangages
déter-ministes nite-turn [Va74℄, lesalgébriques déterministes à un ompteur
[VP75℄ oules langages simples [Fr76℄. Indiquons que 'est pour les langages
simples qu'aété donné un premieralgorithmed'équivalen edes langages
al-gébriques déterministes[KH66℄.
Néanmoins on peut dénir des sous-ensembles de langages algébriques
dé-terministes partageant lespropriétés de lturedes langagesréguliers. Dans
[AM04℄, Rajeev Alur et Parthasarathy Madhusudan ont déni une
restri -tion des automates àpile, appelés visible, quisont une simple extension des
automates input-driven [Mel80℄ : le fon tionnement de l'automate ne
dé-pendquedes ara tères d'entréede labande de le ture.Outrelefaitqueles
langages (algébriques) visibles, a eptés par es automates, soient
détermi-nistes, ilsforment une algèbre de Boole lose par on aténation et étoile de
Kleeneétendantainsilespropriétésde lturede basedeslangagesréguliers.
D'autres travaux ont alors étendu es résultats dénissant des ensembles
plus larges(par in lusion)delangagesalgébriquesayant espropriétés.Dans
[Ca06℄, Cau al dénit par transdu teur ni une relation,dite de
syn hroni-sation, entre les graphes réguliers engendrés par des grammaires de graphes
syn hronisées. Il montre alors que pour un transdu teur donné, l'ensemble
des tra esdes graphes régulierssyn hronisés forme une algèbrede Boole.
Citons également dans e domaine les travaux sur les automates à hauteur
pile est à hauteur de pile déterministe si après haque le ture d'un mot la
hauteur de la pile est la même. Partant des travaux de Cau al, Nowotka et
Srba dénissentune relationde syn hronisationentre automatesàpilebasée
sur la hauteur de pile : deux automates sont syn hronisés si pour tout mot
lu,les hauteurs de pilepossibles sontidentiques. Cette relationest une
rela-tion d'équivalen esur lesautomates àpile.Ilsmontrentalorsque l'ensemble
des langagesalgébriques a eptés par lesautomates à hauteur de pile
déter-ministe d'une même lasse d'équivalen e est los par union et interse tion.
De plus, pour les as où es automatessonttemps-réels etdéterministes, et
ensemblede langages est los par omplémentaire.
Le travail présenté i i vise à étendre es résultats. Nous avons her hé un
nouveau moyen de dénirdes sous-ensembles de langages algébriques
onte-nant leslangagesréguliersetformantdes algèbresde Boole. Pour ela, nous
dénissons une relation de syn hronisation entre grammaires de graphes. A
partir d'une grammaire, on dénit un poids sur les sommets du graphe
en-gendré, e quel'on pourraitassimileràlahauteur de pile hez[NS07℄. Ainsi,
une grammaire de référen e syn hronise une autre grammaire si tout mot
étiquetant un hemin initial dans le graphe engendré par ette autre
gram-maire étiquette également un hemin initial dans le graphe référent (i.e. le
grapheengendréparlagrammaireréférente)etque es heminsterminenten
des sommets de même poids. Dans ette étude, nous onsidérons une lasse
de grammaires parti ulières:lesgrammaires pondérées. Cesgrammaires
en-gendrent des graphes possiblement non-déterministes mais vérient la
pro-priété suivante : si il existe deux hemins de même étiquette partant d'un
mêmesommetalorslesbutsde es heminsontlemêmepoids.Nousétudions
alors les ensembles de langagesalgébriques omposés de eux engendrés par
les grammaires syn hronisés par une grammaire de référen e donnée. Nous
montrons que et ensemble de langages syn hronisés ontient les langages
réguliers(in lusdans lelangagede référen e) etformeune algèbrede Boole.
Les onstru tionsmisesen÷uvredansl'obtentionde erésultatutilisentune
généralisation du produit de syn hronisation quiest une opération lassique
sur les graphes nis. De plus, nous montrons que les graphesengendrés par
syn hronisés forment une sous- lasse des langagesalgébriquesdéterministes.
Nous montrons que dans le as général l'ensembledes langagessyn hronisés
par une grammaire n'est pas los par on aténation. Néanmoins, nous
don-nons une ondition susante sur la grammaire syn hronisante pour que et
ensemblesoit los non seulement par on aténation mais aussi par étoile de
Kleene.
LesalgèbresdeBooledéniesparsyn hronisationsontdessous-ensembles de
langagesalgébriquesdéterministes.Onpeutgénéraliser esrésultatsen
onsi-dérantdes langagesplusgénéraux.Unlangagealgébriqueest non-ambigus'il
est engendrépar unegrammairealgébriqueadmettantuneunique dérivation
gau he pour tout mot a epté [HU79℄. En ramenant e prin ipe au niveau
des graphes, on dénit les grammaires de graphes non-ambiguës dont les
graphesengendrés a eptent eslangages. Parsyn hronisation sur es
gram-maires,onpeutdénirdesalgèbresdeBooledelangagesnon-ambigus[Ca08℄.
Plan
Chapitre 2 : Préliminaires
Dans e hapitre,nous dénissonslesnotationsde base etnousdé rivonsles
on epts de mots et de graphes. On trouvera notamment dans e hapitre
les dénitions de mots et de langages ou en ore la dénition des graphes
( oloriés,étiquetés,...)etde notionss'yrapportanttellesque les hemins,les
tra es, le degré,et .
Chapitre 3 : Des automates nis
Nous ommen erons i i par donner des objets nis permettant de dé rire
des objets innis. Le premier paradigme déni i iest lagrammaire de mots
qui permet d'engendrer des langages. Nousdé rirons diérentes grammaires
avant de situer e travail dans la hiérar hie de Chomsky. Nous nous
inté-resserons alors à une lasse parti ulière de langages : les langages réguliers.
Pour eux- i, nous donnons deux manièresnies de les onstruire (ou de les
a epter). Enpremier lieu,ondé rit lesgrammaires de mots engendrant es
au-tomates nis. Enn, nous dénissons les propriétés algébriquesdes langages
réguliers que nous souhaitons étendre ave letravail présenté dans e
do u-ment.
Chapitre 4 : Aux automates réguliers
Dans e hapitre,nousprésentons des systèmesnispermettantde travailler
ave les langages algébriques. En premier lieu, nous rappelons une forme
parti ulière de systèmes de ré riture de mots, à savoir les automates à pile
qui sont des ma hines munies d'une mémoireet permettant suivant un
pro-gramme donné de onstruire (ou re onnaître) les langages algébriques.
Uti-lisant la représentation stru turelle des transitions de es automates, on
in-troduit la notionde grammairesde graphesqui est une extension dire te de
elle des grammaires de mots : on ne ré rit plus des lettres mais des
rela-tions. C'est sur es grammaires que nous travaillons pour dénir la relation
de syn hronisation.
Chapitre 5 : Syn hronisation de grammaires
Dans e hapitre, basé sur [CH08 ℄, nous dénissons la syn hronisation de
grammaires de graphes. Nous ommençons par dénir les grammaires
pon-dérées surlesquelles portent notreétude.Puis nousdénissons larelationde
syn hronisation sur es grammaires.En utilisantdes généralisationsdu
pro-duit de syn hronisation de grammaires, nous montrons alors que les
gram-maires pondérées sont déterminisables. Nous pouvons alors onstruire des
algèbres de Boole de langages algébriquesdéterministes et nous donnons de
plus une onditionsusante surlesgrammaires pour que es algèbressoient
loses par on aténation etétoile de Kleene.
Chapitre 6 : Une extension
Dans ette dernière partie, basée sur [Ca08℄, nous étendons les résultats du
hapitre pré édent. En onsidérant des grammaires dites non-ambiguës, on
onstruit par syn hronisation des algèbresde Boolede langages algébriques
non-ambigus qui sont les langages algébriques tels que pour tout mot, il
Préliminaires
Dans e nousxons quelquesnotations debase notammentdes notations
ensemblistesutiliséesdanslerestedudo ument.Nousdé rivonsensuitedeux
stru turesélémentairesautourdesquellesse onstruisentnospropos:lesmots
et lesgraphes.
2.1 Notations
Pourtoutensemble
E
,onnote2
E
= {P | P ⊆ E}
l'ensembledesparties
de
E
. SiE
est ni, on note|E|
son ardinal, etω
désigne le ardinal d'un ensembledénombrable.Pour tout ensembleE
d'ensembles, l'unionest notéeS
E = {e | ∃P ∈ E, e ∈ P }
au lieude
S
P ∈E
P
. On utilisel'abréviation[n] = {1, . . . , n}
pour désigner lesn
premiersentiers naturels non nuls.Soit
u = (a
1
, . . . , a
n
)
un n-uplet, ondésigne parπ
i
(u)
sai
èmeomposante:
π
i
(u) = a
i
.Soit un ensemble
E
de symboles munis d'une aritéρ : E → IN
.On noteE
n
l'ensemble des symboles deE
d'aritén
:E
n
:= {a ∈ E | ρ(a) = n}
. Les symboles deE
0
sont appelés des onstantes.2.2 Mots
Lapremièrestru turedebasequenousdé rivons,etquiestlaplussimple,
est elle du mot.
On dé rit un mot à l'aide d'un ensemble ni non vide
Σ
de symboles. Ces symboles sont appelés lettres et onstituent l'alphabetΣ
. SoitΣ
∗
l'ensemble
des suites nies de lettres de
Σ
,i.e.Σ
∗
= {(a
1
, . . . , a
n
) | n ≥ 0 ∧ a
1
, . . . , a
n
∈ Σ}
.On munit
Σ
∗
d'une opération binaireinterne,la on aténation,notée . :
(a
1
, . . . , a
n
).(b
1
, . . . , b
m
) = (a
1
, . . . , a
n
, b
1
, . . . , b
m
)
.Tout élément
u = (a
1
, . . . , a
n
)
deΣ
∗
est un mot de longueur
|u| = n
. On représente e mot para
1
. . . a
n
en identiant(a)
para
et en omettant la on aténation.Lemotvide()
,delongueur0,estdésignéparε
.Ainsi(Σ
∗
, ., ε)
est lemonoïdelibre engendré parΣ
.Tout mot
u
admet une dé omposition de la formeu = xyz
avex, y, z ∈ Σ
∗
et onappellex
un préxe deu
etz
un suxe deu
.Pour tout mot
u ∈ Σ
∗
etpour tout
1 ≤ i ≤ |u|
,u(i)
désigne lai
èmelettre
de
u
:u = u(1) . . . u(|u|)
. Pour toute lettrea ∈ Σ
, on note|u|
a
le nombre d'o urren es dea
dansu
:|u|
a
= |{i ∈ [|u|] | u(i) = a}|
et l'ensembleOcc(u)
des lettres d'un motu
est donné par :Occ(u) = {a ∈ Σ | |u|
a
6= 0} = {u(1), . . . , u(|u|)}
.On appelle un langage toutepartie de
Σ
∗
.
Exemple 2.2.1. Considérantl'alphabetlatin, these est un mot de 5lettres
et
these(2) = h
. Lemott
(respe tivementse
)est un préxe(respe tivement suxe) dethese
. De plusOcc(these) = {t, h, e, s}
et|these|
e
= 2
.En terme de stru ture, les mots sont des objets linéaires : une lettre a
au plus un su esseur. Une extension naturelle onsiste à dénir des objets
à stru ture arbores ente. Ces objets,les termes,ne sont pas onsidérés dans
2.3 Relations binaires
Une relation binaire
R
d'un ensembleE
dans un ensembleF
est une partie deE × F
. On note aussieRf
pour(e, f ) ∈ R
.Le domaine
Dom(R)
etl'imageIm(R)
deR
sont donnésparDom(R) = {e ∈ E | ∃f ∈ F, eRf }
etIm(R) = {f ∈ F | ∃e ∈ E, eRf }
.L'image d'une partie
A
deE
estR(A) = {f ∈ F | ∃e ∈ A, eRf }
. En parti ulier, onaIm(R) = R(E)
.Pour
E = F
, ondit queR ⊆ E × E
est une relation binairesurE
. Dans eas,
R
est réexive sieRe
pour toute ∈ E
;R
est symétrique siR
−1
= R
;
R
est anti-symétrique sipour touteRf
etf Re
,on ae = f
;R
est transitive si pour touteRf
etf Rg
onaeRg
.2.4 Graphes
Onserestreintauxgraphes ditssimples ( 'est-à-diresansmultipli ité)et
orientés.
Un graphe
G = (S, A)
est déni par un ensembleS
de sommets et un ensembleA ⊆ S × S
d'ar s. On dit qu'un ar(s, t) ∈ A
est de sour es
et de butt
etqu'ilrelies
àt
.Un grapheG
est ni sison ensemblede sommetsS
est ni.Legrapheni
({p, q, r, s}, {(p, q), (q, r), (r, q)})
estreprésenté i-dessous.Pour(p)
(q)
(r)
(s)
Fig. 2.1 Un grapheni.
e graphe, le sommet
s
n'est ni sour e, ni but d'un ar ; on dit alors ques
est un sommet isolé.sous laformed'étiquettes.Ainsi,un grapheest un ensembled'ar sétiquetés.
Soit
E
un ensembleni d'étiquettesd'ar s. UngrapheG
sur unensemblede sommetsS
est une partie deS × E × S
. Tout élément(p, a, q) ∈ G
est un ar de sour ep
, de butq
et d'étiquettea
. L'ensembleS
G
des sommets d'un grapheG
est donné par :S
G
= {p ∈ S | ∃a ∈ E, ∃q ∈ S, (p, a, q) ∈ G ∨ (q, a, p) ∈ G}
.Dans e as,
G
ne ontient pas de sommet isolé. De plus, on onsidère l'en-sembleE
G
= {a ∈ E | ∃p, q ∈ S, (p, a, q) ∈ G}
des étiquettes du graphe
G
.Par exemple le graphe ni
G = {(p, a, q), (q, b, r), (r, a, q)}
est représenté i-dessous. Un grapheG
est déterministe si pour haque sommets
deG
tous(q)
(p)
(r)
b
a
a
Fig. 2.2Un graphe ni étiqueté.
les ar s de sour e
s
ont des étiquettes diérentes :∀s ∈ S
G
, (s, a, p) ∈
G ∧ (s, a, q) ∈ G =⇒ p = q
.Tout ar(p, a, q) ∈ G
pourraêtre notép
a
→
G
q
ou simplementp
a
→ q
si le grapheG
est sous-entendu. De lamême manière que l'on a ajouté de l'information sur les ar s, on peut en ajouter sur lessommetsd'ungraphe.Soit
C
unensemblenid'étiquettes desommets.Pour diéren ier les étiquettes des ar s des étiquettes des sommets, on appelleraes dernières des ouleurs.
Un graphe
G
sur un ensembleS
est une partiedeS × E × S ∪ C × S
. Tout élément(c, p) ∈ G
,noté aussicp
, est ladonnée d'unsommetp
oloriépar la ouleurc
.Prenant
a
etb
des étiquettes d'ar s eti
etf
des ouleurs de sommets, on représente le graphe niG = {(p, a, q), (q, b, r), (r, a, q), ip, f r, is, f s}
à la(r)
(p)
(q)
(s)
f
b
a
a
i
i
f
Fig.2.3 Un graphe ni étiqueté et olorié.
gure 2.3. Dans un sou is de larté, on représente un sommet par son nom
entre parenthèses an de lediéren ier d'une ouleur.
Remarquons que dans e formalisme, onautorise les sommetsisolés s'ils
sont oloriés; 'est le as du sommet
s
à lagure 2.3.En plus de l'ensemble
S
G
des sommets d'un grapheG
et de l'ensembleE
G
des étiquettes, ondénit l'ensembleC
G
= {c | ∃p ∈ S
G
, cp ∈ G}
des ouleurs des sommets de
G
, et on noteS
G,c
l'ensemble des sommets deG
oloriés par une ouleurc
:S
G,c
:= {s ∈ S
G
| cs ∈ G}
.Le degré entrant (respe tivement le degré sortant) d'un sommet
s ∈ S
G
,d
−
G
(s)
(resp.d
+
G
(s)
),ousimplementd
−
(s)
etd
+
(s)
s'iln'y a pas d'ambiguïté
sur lenomdugraphe,estlenombred'ar sdont
s
estlebut (resp.lasour e):d
−
G
(s) := |G ∩ S
G
× E × {s}|
d
+
G
(s) := |G ∩ {s} × E × S
G
|
.Ledegré
d
(s)
d'un sommets
est lasomme de ses degrésentrant etsortant:d
(s) := d
−
(s) + d
+
(s)
.Le degré
d(G)
d'un grapheG
est le maximum des degrés de ses sommets. Pour legraphe de la gure 2.3,d
+
(p) = 1
,d
−
(q) = 2
et
d
(s) = 0
.Un hemin d'étiquette
u = a
1
. . . a
n
dansun grapheG
est une suiteden
ar s onsé utifs deG
Un tel heminest de longueur
n ≥ 0
etest aussi désignépar le motp
0
a
1
p
1
a
2
p
2
. . . p
n−1
a
n
p
n
∈ S
G
(E
G
S
G
)
∗
en supposant l'absen e d'ambiguïté entre sommets et étiquettes de
G
i.e.S
G
∩ E
G
= ∅
.Si e heminexiste dans
G
, onditquep
n
est a essible àpartir dep
0
(oup
0
est o-a essible à partir dep
n
) par un hemin deG
étiqueté paru
, e que l'on notep
0
u
=⇒
G
p
n
. On pourra s'abstraire de l'étiquette
=⇒
G
ou du nom du
graphe
u
=⇒
lorsqu'il n'y a pas d'ambiguïté.Pour legraphe de la gure 2.3,
p
est un hemin d'étiquetteε
etde longueur0
. De plus,paqbraq
est un hemin d'étiquetteaba
de longueur3
allant dep
àq
.Un hemin
p
0
a
1
p
1
a
2
p
2
. . . p
n−1
a
n
p
n
de longueurn > 0
ayantlesmêmes extré-mitésp
0
= p
n
est appeléun ir uit.Un mot
u ∈ E
∗
G
est une tra e deG
s'il étiquette un hemin entre deux sommets deG
. On dénitL(G, I, F )
l'ensemble des tra es deG
allant des sommets deI
à des sommetsdeF
:L(G, I, F ) := {u ∈ E
G
∗
| ∃ s ∈ I, ∃ t ∈ F, s
=⇒
u
G
t}
.Le graphe inverse
G
−1
de
G
est l'ensembledes sommets oloriésdeG
et des ar s inverses deG
:G
−1
:= {t
→ s | s
a
→ t} ∪ {cs ∈ G | c ∈ F
a
1
∧ s ∈ S
G
}
.Une haîne (respe tivement un y le) de
G
est un hemin (respe tivement un ir uit) deG ∪ G
−1
. La distan e
d
G
(s, t)
entre deux sommetss, t ∈ S
G
d'un grapheG
est laplus petite longueur des haînesdeG
entres
ett
:d
G
(s, t) := min({|u| | s
=⇒
u
G∪G
−1
t} ∪ {ω})
.
Si tout sommet
p ∈ S
G
est a essible à partird'un sommetr
:r =⇒
G
p
on ditde
r
qu'ilest une ra ine deG
.La restri tion
G
|P
d'un grapheG
à un ensembleP
de sommets est le sous-graphe induit parP
:G
|P
= {(s, a, t) ∈ G | s, t ∈ P } ∪ {cp ∈ G | p ∈ P }
.Le sous-graphe a essible à partir d'unsommet
s
est larestri tion deG
aux sommets a essibles àpartir des
:G
↓s
= G
|{q | s =⇒ q}
.On dénit également le sous-graphe de
G
a essible (resp. o-a essible) à partir d'une ouleurc
.G
c→
(resp.G
→c
) est larestri tion deG
aux sommets a essibles (resp. o-a essibles) àpartir des sommets oloriésparc
:G
c→
=
S
cs∈G
G
↓s
G
→c
= G
|{s∈G | ∃t, s =⇒
G
t ∧ ct∈G}
et on introduit la notationG
c
1
→c
2
pour désigner la restri tion deG
aux sommets a essibles par la ouleurc
1
et o-a essibles par la ouleurc
2
.Des automates nis
Notre étude on erne les langages de mots. Il existe diérents types de
langagesquel'onregroupepar lasses.Onpeut iternotammentleslangages
réguliersou en oreleslangages algébriques. Pour haque lasse de langages,
il existe une lasse de générateur : les grammaires de mots. Dans le premier
paragraphe,aprèsavoirrappelé equesontlesgrammairesdemots,nous
dé- rirons la lassi ation des langagesselon Chomsky [Ch56℄. Lesgrammaires
de mots ne sont pas les seuls objets qui nous permettent de travailler sur
les langages. Nous utilisonségalement des graphes oloriéset étiquetés :les
automates. Pour haque lasse de langage, ondé rit une lasse d'automates
de sorte que les tra es de es automates orrespondent aux langages. Dans
le paragraphe2 de e hapitre, nous dé rivons lesautomates nis qui
re on-naissent les langages réguliers, l'étude des automates asso iés aux langages
algébriques sefaisant au hapitre suivant.
3.1 Grammaires de mots
Dans e paragraphe,nous dé rivons un objet qui permet d'engendrer les
langagesde mots :les grammairesde mots.Ces langages(et lesgrammaires
asso iés) peuvent être lassiées en fon tion de leur ompléxité. Ce i a été
3.1.1 Dénition
Unegrammaire
R = (Σ, N , D, δ)
est un quadruplet où
Σ
est un alphabet de symboles dits terminaux (notés par des lettres minus ules),
N
est un alphabet de symboles dits non-terminaux (notés par des lettres majus ules),un non-terminalde départ
D
appeléaxiome, un ensembleniδ
de règles de la formeu → w
telles queu ∈ (N ∪ Σ)
+
etw ∈ (N ∪ Σ)
∗
;et onappelle
u
le membre gau he de la règle etw
son membre droit. Ainsi,δ
est une relationbinairesur lesmots :δ ⊆ (N ∪ Σ)
+
× (N ∪ Σ)
∗
.Dansl'exemple suivant,nous donnons une grammaireet une
représenta-tion s hématique des règles.
Exemple 3.1.1. La grammaire
R = ({a, b}, {A}, A, {(A, ε), (A, aAb)})
est un premierexemplede grammaire. Pour plus delisibilité,nous dé rivonssesrègles à lagure 3.1.
ε
a b A A A RFig. 3.1 Unegrammaire de mots.
On diéren ie les grammaires de mots en fon tion de la forme de leurs
règles.Ce iaétéfaitparNoamChomsky[Ch56℄etestdis utéauparagraphe
L'ensemble
δ
desrèglesdénitunerelationbinairederé riture sur(Σ ∪ N )
∗
.
Un mot
u = u
′
xu
′′
se ré rit selon la grammaire
R
en un motv = u
′
wu
′′
, et on noteu = u
′
xu
′′
−→
R
u
′
wu
′′
= v
si
x −→ w
est une règle deR
, i.e.(x, w) ∈ δ
.Dans l'exemple suivant, nous détaillons les premières ré ritures en fon tion
des règlesde l'exemple3.1.
Exemple 3.1.2. Les ré ritures suivant la règle
(A, aAb)
sont représentées horizontalementet elles suivant(A, ε)
lesont verti alement.A
→
aAb→
aaAbb→
aaaAbbb↓
↓
↓
↓
. . .
ε
ab aabb aaabbbLafermetureréexiveettransitivede larelationderé riture (suivantune
grammaire
R
) est notée−→
R
∗
et on parle alors de dérivation (selon
R
). Le motu
se dérive en le motv
, notéu −→
R
∗
v
, si il existe une suite de
n ≥ 0
ré ritures selonR
deu
àv
:u = u
0
−→
R
. . . −→
R
u
n
= v
.Le langage engendré
L(R)
par une grammaireR = (Σ, N , D, δ)
est l'en-semble des mots deΣ
∗
qui peuvent se dériverà partirde l'axiome
D
:L(R) = {u ∈ Σ
∗
| D −→
R
∗
u}
Le langage engendré par la grammaire de l'exemple 3.1 est
{a
n
b
n
| n ≥ 0}
;autrement dit, ette grammaire engendre tous les mots ommençant par
n
o urren es de lalettrea
, suivies parn
o urren es de lalettreb
.3.1.2 La hiérar hie de Chomsky
roissante, onstituant ainsi la hiérar hie de Chomsky.
A ha unede es lasses,onfait orrespondreun typede grammairedemots
engendrant la famillede langages. Ces types de grammaires se diéren ient
parlastru turesyntaxiquedesrègles.Cesinformationssontregroupéesdans
le tableausuivant,
Niveau Langage Grammaire Forme des règles
3 régulier linéaire droite
A → aB
ou gau he ou
A → Ba
2 algébrique algébrique
A → w
1 ontextuel ontextuelle
sAt → sut
0 ré ursivement générale
v → w
énumérable dans lequelA, B ∈ N
,s, t ∈ Σ
∗
,u, v, w ∈ (Σ ∪ N )
∗
etu 6= ε
.On peut distinguer des sous- lasses dans ette hiérar hie. Une subdivision
est donnée à lagure 3.2, ave lesnotations suivantes :
RE
est la lasse deslangagesré ursivement énumérables(a eptés par les ma hinesde Turing),
CONT
estla lassedeslangages ontextuels(a eptésparlesma hines de Turing linéairement bornés),
ALG
est la lasse deslangagesalgébriques(a eptéspar lesautomates à pile),
DALG
est la lasse des langages algébriques déterministes (a eptés par les automates àpile déterministes),
REG
est la lasse des langages réguliers (a eptés par les automates nis) et
F IN
est la lasse des langages nis.Dans e do ument, nous nous intéressons prin ipalement aux niveaux trois
et deux de la hiérar hie, 'est-à-dire aux langages réguliers et aux langages
algébriques. Les langages étant généralement des ensembles innis, il n'est
RE
ALG
REG
CONT
FIN
DALG
Fig. 3.2 La hiérar hiede Chomsky
sur leslangages en observant lespropriétés de leur des ription.
Nous verrons dans lepro hain paragraphe l'utilité des automates nis pour
travailler sur les langages réguliers. Cette lasse des langages possède bien
des propriétés de dé idabilité ommepar exemplela lturepar interse tion
et par omplément, e qui permet notamment de dé ider de l'in lusion (la
va uité d'un langage régulier étant dé idable). Mais es propriétés ne sont
pas né essairement valablespourtoutes lesautres lassesde lahiérar hiede
Chomsky. Par exemple la famille des langages ontextuels possède les
pro-priétés de lture deslangagesréguliersmais lava uitéde es langagesn'est
pas dé idable. Un autre exemple est la lasse des langages algébriques qui
n'est pas lose parinterse tion.Néanmoins, nous montrons qu'ilest possible
de généraliser les propriétés de lture et de dé idabilité des langages
ré-guliers à des sous- lasses (stri tes) de langages algébriques en utilisant une
méthode dite de syn hronisation. Après avoir dé rit les propriétés qui nous
3.2 Automates nis
Danslahiérar hiedeChomsky,leslangagesrégulierssontauniveau3.Ils
sontparmileslangagesinnis eux quiontlepluspetit pouvoird'expression
( f. exemple 3.2.1).
Pour un alphabet
Σ
, onnoteReg(Σ
∗
)
l'ensembledes langagesréguliersdont
les mots sont onstruits sur l'alphabet
Σ
. Rappelons queReg(Σ
∗
)
est laplus petite famillede langagestelle que,pour
tout langage
L, L
′
∈ Reg(Σ
∗
)
:
∅
est un langagerégulier;
∀a ∈ Σ, {a} ∈ Reg(Σ
∗
)
;
Reg(Σ
∗
)
est losparunion:
L∪L
′
= {u | u ∈ L ∨ u ∈ L
′
} ∈ Reg(Σ
∗
)
;
Reg(Σ
∗
)
est los par on aténation :
L.L
′
= {uv | u ∈ L ∧ v ∈ L
′
} ∈ Reg(Σ
∗
)
,
Reg(Σ
∗
)
est los par l'étoile de Kleene qui est la fermetureréexive et
transitivede la on aténation :
L
∗
= {u
1
. . . u
n
| n ≥ 0 ∧ u
1
, . . . , u
n
∈ L} ∈ Reg(Σ
∗
)
.Exemple3.2.1. Lelangage
Σ
∗
detouslesmotssur
Σ
estunlangagerégulier. Sur l'alphabet{a, b}
, le langageL = a
∗
b
∗
= {a
m
b
n
| m, n ≥ 0}
des mots
ommençantpar unesuite de
a
de longueurquel onque, suiviepar une suite deb
de longueur quel onqueest aussi un langage régulier.Mais le langage
L
′
= {a
n
b
n
| n ≥ 0} ⊂ L
n'est pas régulier : onne peut pas
exprimer l'égalitépar un langagerégulier.
Il existe bien des façons de dénir un langage régulier. Nousdonnons i i
deux types de ma hines abstraites pour re onnaître leslangages réguliers, à
savoir lesgrammaires linéairesgau hes et lesautomates nis.
3.2.1 Les grammaires linéaires gau hes
Enthéorie des langages, il est bien onnu que leslangages régulierssont
les langagesengendrés par les grammaires linéairesgau hes.
membre gau he de ses règles est un unique non-terminal et haque membre
droit est un mot terminal ou un mot omposé d'un non-terminal suivi par
un mot terminal:
∀(A, w) ∈ δ, A ∈ N ∧ w ∈ N .Σ
∗
∪ Σ
∗
où
.
est la on aténation sur(N ∪ Σ)
∗
.
Remarque : Dans la littérature, il existe également les grammaires
linéaires droites pour lesquelles, dans le membre droit des règles, le
non-terminal se trouve à droite du mot terminal. Commeles deux modèles sont
équivalents,nous en avons hoisi un arbitrairement.
Lesgrammairesdemotsorentunefaçondespé ierlastru turesyntaxique
des langages.Uneautrefaçondedé rireoure onnaîtreleslangagesréguliers
est l'utilisationdestra esdesautomatesnis. Ceux- ipermettenteneetde
donner une manièregéométrique de des ription des langagesréguliers.
3.2.2 Les automates nis
Unautomate ni est une ma hine abstraite omposée d'états etde
tran-sitions. Un automate ni
M = (S, A, Σ, I, F )
est ladonnée d'un ensemble niS
d'états,d'un ensemble
A
de transitions entre lesétats, étiquetées surΣ
:A ⊆ S × Σ × S
,d'un ensemble
I ⊆ S
d'états initiaux, et d'un ensembleF ⊆ S
d'états naux.Tout automate ni
M = (S, A, Σ, I, F )
est le graphe olorié et étiquetéG = (S, A)
telqueles sommets orrespondants aux états initiaux sont oloriés par une
ouleur parti ulière,disons
i
:I = S
G,i
etlessommets orrespondantsauxétats nauxsont oloriésparune
ou-leur parti ulière, disons
f
:F = S
G,f
.Un automate
M = (S, A, Σ, I, F )
est déterministe si son graphe(S, A)
est déterministe et qu'il ne possède qu'un seul état initial|I| = 1
. Par la suite,nous identieronsun automate ni ave son graphe olorié.
Nous utilisons i i les automates omme a epteurs de langages. Un langage
L(M)
onstruitsurΣ
est a epté (ou re onnu)par unautomateM = (S, A)
s'ilest l'ensembledes tra esdeM
entrelessommetsinitiauxet eux naux:L(M) = L(M, I, F ) ⊆ Σ
∗
.
Les langages réguliers qui ont été dénis par lture des langages nis par
union, on aténation etétoile, sontexa tement leslangagesa eptés parles
automates nis. Ce résultatest dû à Kleene[Kl56℄.
Théorème 3.2.2. Les langages réguliers sont les langages a eptés par
les automates nis.
Onpeuttransformer toutautomateni en un automatenidéterministe
et ompletéquivalent.
Propriété 3.2.3. Tout langage régulier est a epté par un automate ni
déterministe et omplet.
Par l'opérationde déterminisation
Det
appliquéeà un grapheniG
, on onstruit legraphe niDet(G)
déterministetel queL(G) = L(Det(G))
:Det(G) := {S
1
→ S
a
2
| S
1
⊆ S
G
∧ ∀t (t ∈ S
2
⇐⇒ ∃s ∈ S
1
, s
→
a
G
t)}
∪ {i{p | ip ∈ G}}
∪ {f P | P ⊆ S
G
∧ ∃p ∈ P, f p ∈ G}
La propriété est ee tive : tout automate ni
M
est transformé en un automate niM
′
déterministe et omplet tel que
L(M)
=
L(M
′
)
. La
onstru tion est illustrée àla gure 3.3.
Notons que, de manière générale, nous ne représentons pas les sommets
non a essibles à partir du sommet initial. C'est en utilisant les automates
nis quenousallonsdé rirelespropriétés de lturepar interse tionet
sous-(p)
(q)
(r)
(s)
(t)
{t}
{r}
{p,q}
{r,s}
{r,t}
∅
b a i a a i b f a a b f a b a b a a b b a b f f iFig. 3.3 Déterminisationd'un automate ni.
3.2.3 Propriétés de fermeture
Pardénition,lafamilledeslangagesrégulierssur unalphabet
Σ
est lose par union, par on aténation et par l'étoile de Kleene. Elle est aussi ferméepar interse tion etpar omplémentaire.
Nousdonnons i iles onstru tionshabituellessur lesautomatesnis pourla
lture par interse tion, par omplémentaire, mais aussi pour la lture par
on aténation et sa fermetureréexive ettransitive.
L'interse tion
Soient
L
1
etL
2
les langagesréguliers surΣ
re onnus respe tivement par des automatesnisG
etH
.Nous onstruisonsun automate ni qui a epte le langageL
1
∩ L
2
. Pour ela onutilise le produit de syn hronisationG × H
deG
parH
déni omme suit :G × H := {(s, p)
→ (t, q) | s
a
→
a
G
t ∧ p
a
→
H
q}
∪ {i(s, p) | is ∈ G ∧ ip ∈ H}
∪ {f (s, p) | f s ∈ G ∧ f p ∈ H}
L'automate ainsi onstruit est ni et ona
L(G × H, i, f ) = L
1
∩ L
2
.Ainsi,
Reg(Σ
∗
)
est los par interse tion.
Prenons les automates
G
etH
représentés à la gure 3.4 qui re onnaissent les langagesL(G) = a(ba)
∗
b
et
L(H) = a
∗
b(a + b)
∗
(r)
(p)
(q)
(s)
(t)
G =
H =
f
b
a
a
i
b
i
a
b
f
a
Fig. 3.4 Deux automates nis
G
etH
.La gure 3.5 illustre la onstru tion de l'automate
G × H
qui re onnaît le langageL(G) ∩ L(H) = L(G)
mais n'est pas isomorphe àG
.(p,s)
(q,s)
(r,t)
(q,t)
a
i
b
f
b
a
Fig.3.5 L'automateG × H
. Le omplémentaireSoit
G
un automate ni re onnaissant le langage régulierL = L(G)
. Nousvoulons onstruire un automatere onnaissant le omplémentaire deL
, à savoirΣ
∗
− L = {u ∈ Σ
∗
| u /
∈ L}
.La onstru tionse fait en deux étapes :
on onstruit l'automate
H
déterministe et omplet qui re onnaît le langageL(G)
,on onstruit l'automate
H
en inter hangeant les sommets naux et non-naux deH
:H = (H − f S
H
) ∪ {f s | s ∈ S
H
∧ f s /
∈ H}
. L'automateH
est ni etre onnaît le omplémentaire deL
.Pourl'automate
G
déniàlagure3.3, l'automateH
delagure 3.6 re on-naît le omplémentaire deL(A)
.{t}
{r}
{p,q}
{r,s}
{r,t}
∅
a b a b a b a a b b a b f f i fFig.3.6 L'automate omplémentde elui àla gure 3.3.
La on aténation
Soient
L
1
etL
2
deux langages réguliersre onnus respe tivement par des automates nisG
etH
. On peut supposer que les sommets deG
et deH
sont distin ts:S
G
∩ S
H
= ∅
.Pour onstruire l'automatequia epte
L
1
.L
2
,onrelielessommetsnaux deG
aux buts des transitions initiales deH
(en leur retirant leurs ouleurs siε /
∈ L
2
):G.H := (G − {f s ∈ G | ε /
∈ L(H)})
∪ (H − iS
H
)
∪ {s
→ t | f s ∈ G ∧ ∃p, ip ∈ H ∧ p
a
→
a
H
t}
En prenant lesautomates
G
etH
dénisà lagure 3.4, on onstruit l'auto-mateG.H
de la gure3.7.(p)
(q)
(r)
(t)
(s)
b
a
a
i
a
b
a
b
f
a
b
Fig. 3.7 L'automateG.H
.On peut remarquer que l'automate qui re onnaît la on aténation des
lan-gagespeutnepas êtredéterministe,et elamêmesilesautomates
re onnais-sant es langages lesont. Maison peut toujours ledéterminiser.
En appliquant
Det
à l'automate de l'exemple pré édent, on obtient l'au-tomate déterministe de la gure 3.8 où on s'est restreint aux sommetso-a essibles à partir des sommets naux.
{t}
{s}
{q}
{r}
{p}
{q,s}
{r,t}
{s,t}
a
a
a
i
b
a
a
b
a
a
b
b
b
f
f
b
f
b
Fig. 3.8 Déterminisation de l'automate de la gure 3.7.
L'étoile de Kleene
Soit
L
un langage régulier re onnu par un automate niG
(que l'on peut supposer déterministe). Nous her hons à onstruire un automate niG
∗
a eptant le langage
L
∗
. Pour ela, on transforme l'automate
G
en un automate équivalentG
′
de sorte que le sommet initial de
G
′
ne soit but
d'au un ar . Soit
p
un nouveau sommet :G
′
:= (G − {is | is ∈ G}) ∪ {ip}
A partir de
G
′
, on onstruit
G
+
: pour tout ar ayant pour but un sommet
nal on ajoute un ar de même sour e et ayant pour but le sommet initial
de
G
′
:
G
+
:= G
′
∪ {s
→ p | ∃t, f t ∈ G
a
′
∧ s
→ t}
a
Cette grammairere onnaît lelangage
L
+
. Ilne resteplus qu'àrajouter
l'a - eptation du mot vide:
G
∗
:= G
+
∪ {f p}.
G
∗
est don bien un automate ni re onnaissant
L(G)
∗
. A titre d'exemple,
onsidérons l'automate ni
H
de la gure 3.4. L'automate obtenu par ette onstru tion etdon a eptantL(H)
∗
est représenté à lagure 3.9.
(p)
(t)
(s)
i
a
b
a
b
f
a
b
f
a
b
Fig. 3.9 L'automateH
∗
.L'utilisationdes automates nis dans l'étude des langages réguliersnous
donne une méthode e a e et simple d'obtenir l'ee tivité des propriétés
de lture de es langages. Dans le hapitre suivant, nous dé rivons les
lan-gages algébriques. Cette lasse de langages n'étant pas lose pour plusieurs
des opérations présentées i i, es onstru tionsne leur sont pas extensibles.
Néanmoins, nousverronsdans le hapitre4 ommentdénirdes sous- lasses
stri tes de langages algébriques pour lesquelles on étendra les onstru tions
de e hapitrepourprouverleurspropriétés de ltureparlesopérationsque
Aux automates réguliers
4.1 Automates à piles
Dansle hapitrepré édent,nousavonstraitédeslangagesa eptésparles
automatesàétatsnis:leslangagesréguliers.Danslahiérar hiedeChomsky,
ils sont stri tement in lus dans leslangages algébriques. De même quepour
leslangagesréguliers,ilexistediérentsformalismesnispourengendrer(ou
re onnaître)leslangagesalgébriques.Nousdonnonslamanièrehistoriquede
les onstruire à savoir à l'aide des grammaires algébriques (de mots). Nous
voyonsensuiteque esgrammairesdemotsontlemêmepouvoird'expression
que les automates à pile. En représentant les transitions de es ma hines
par des graphes, on dénit la lasse des graphes réguliers. Une propriété
géométrique de es graphes a permis de dénir un type de grammaires sur
les graphes, qui étend lesgrammaires de mots.
4.1.1 Les grammaires algébriques
Un langage est algébrique s'il est engendré par une grammaire de mots
dite algébrique. Les règles de es grammaires sont telles que tout membre
gau he est réduit à une lettre dite non-terminale et que tout membre droit
est un mot omposé de non-terminaux et d'autres lettres dites terminales.
La grammaire
R = (Σ, N , D, δ)
telle queest algébrique. La grammaire représentée à la gure 3.1 est algébrique et
engendre le langagealgébrique
L(R) = {a
n
b
n
∈ Σ
∗
| n ≥ 0}
.4.1.2 Les automates à piles
Un automate à pile est une ma hine abstraite omposée d'une bande de
travail munie d'une tête de le ture à états nis et d'une mémoire sous la
forme d'une pile LIFO (Last In First Out i.e. dernier entré, premier sorti).
Les mouvements de la tête de le ture sont uni-dire tionnels et sont
ondi-tionnésparunensemblederèglesappelérelationde transition(ouégalement
programme de lama hine). Lagure4.1représente un automateà piledont
la tête de le ture dans l'état
p
lit une lettrea
sur la bande de travail et possèdele motAU
dans sapile, aveA
en sommet de pile.a
b c d
e
p
− −
A
U
Fig. 4.1 Un automate àpile.
Nous réservons un symbolede fond de pile,
⊥
, quel'on ne peut niempiler ni dépiler.Un automate à pile
M = (S, Γ, Σ, s
0
, F, δ)
est déni par un ensembleniS
d'états,un alphabet
Γ
de lettres de piletelque⊥ /
∈ Γ
, un alphabetΣ
d'étiquettes,un étatinitial
s
0
∈ S
,un ensemble
F ⊆ S
d'états naux,une relation de transition
δ
entre les ongurations de l'automate. Une onguration d'un automate àpileest un mot deSΓ
∗
⊥
dé rivantl'état
de l'automate etle mot de sa pile.
Ayant
p, q ∈ S
,a ∈ Σ ∪ {ε}
,A ∈ Γ ∪ {⊥}
etB ∈ Γ
, la relation deforme
pA
→ qBA
a
où l'on empilela lettre
B
sile sommetde pileest la lettreA
, oupA
→ q
a
aveA 6= ⊥
où l'on dépile lalettre
A 6= ⊥
en sommetde pile, ouen orepA
→ qA
a
où l'on ee tue un hangement d'étatsans modierla pile.
Les règles de la première forme sont qualiées de règles d'ajout, elles de la
se onde formede règles de retrait (mais
⊥
ne peut être dépilée) et elles de la dernière formede règles d'a tion interne.Exemple 4.1.1. Soit l'automateà pile
M
suivant:M = ({q
0
, q
1
, q
2
, q
f
}, {A}, {a, b, ε}, q
0
, {q
f
}, δ
M
)
ave
δ
M
donnépar lesrègles suivantes :q
0
⊥
a
→ q
1
A⊥
q
1
A
a
→ q
1
AA
q
1
A
b
→ q
2
q
2
A
b
→ q
2
q
2
⊥
ε
→ q
f
⊥
Pour la règled'ajout
pA
a
→ qBA
,δ
réalise latransitionsuivante :pAU
→ qBAU (ajout)
a
où
AU ∈ Γ
∗
⊥
. De même l'appli ation d'une règle de retrait
pA
a
→ q
faitpasser l'automate de la onguration
pAU
à la ongurationqU
, et une a tion internepA
a
→ qA
dé len hera lepassage de la ongurationpAU
àla ongurationqAU
:pAU
→ qU (retrait)
a
Prenant
M = (S, Γ, Σ, s
0
, F, δ)
un automate à pile, nous dénissons son graphe des transitions dontles sommetssont des ongurations deM
:H
M
= {pAU
a
→ qV U | pA
→ qV ∈ δ ∧ AU ∈ Γ
a
∗
⊥}
.
Plus parti ulièrement, nous nous intéressons aux ongurations a essibles
par larelation de transitionà partir de la onguration initiale
s
0
⊥
et nous notonsG
M
:= (H
M
∪ {i(s
0
⊥)} ∪ {f (sU) | s ∈ F ∧ U ∈ Γ
∗
⊥})
↓(s
0
⊥)
le graphe de transition des ongurations de l'automate
M
.Notons que ette dénition d'automate à pile orrespond dans lalittérature
auxautomatesàpilesditsfaibles: haquetransitionnemodielataillede
la piled'au plus un. Maislesautomates à pilefaibleset lesautomates àpile
dénissent lesmêmes graphes de transition(àisomorphisme près) [Ca06℄.
Le langage
L(M)
re onnu parM
est l'ensemble des tra es entre le sommet olorié pari
etles sommets oloriés parf
:L(M) = L(G
M
, i, f )
.Un automate à pile
M
est omplet siL(M) = Σ
∗
.
Le graphe de transition de l'automate à pile
M
déni à l'exemple 4.1.1 est représenté àla gure 4.2, etL(M) = {a
n
b
n
| n > 0}
.(q0⊥)
(q1
A⊥)
(q2A⊥)
(q2AA⊥)
(q1AAA⊥)
(q2AAA⊥)
(q1AA⊥)
(qf
⊥)
(q2⊥)
i a b b a b b a b b fε
Fig. 4.2 Graphe de transitionde l'automateà pilede l'exemple 4.1.1.
Les automates à pilere onnaissent les langages engendrés par les
gram-maires algébriques.
Unautomate à pileest déterministe si
d'une partpour haque onguration,la ongurationquel'on obtient
par larelationde transitionest unique :
pA
→ qV ∈ δ ∧ pA
a
→ q
a
′
V
′
∈ δ =⇒ q = q
′
∧ V = V
′
et d'autre part à partir d'une onguration, on ne peut avoir que soit
des transitionsétiquetées pardeslettresde
Σ−{ε}
,soitdestransitions étiquetées parε
:pA
→ qV ∈ δ ∧ pA
a
→ q
ε
′
V
′
∈ δ =⇒ a = ε
.
Les langages engendrés par les automates à pile déterministes sont les
lan-gages algébriques déterministes.
Un automateàpileesttemps réel s'ilne possèdeau une transitionétiquetée
par
ε
:c
→ c
a
′
∈ δ =⇒ a ∈ Σ − {ε}
.
Les automates àpile tempsréel re onnaissent leslangagesalgébriques.
Ces diverses restri tions d'automates à pile re onnaissent des sous-familles
diérentesde langagesalgébriques, ommeindiquéparles héma i-dessous:
Alg. tpsréel Alg. dét. Alg. dét.
Fig. 4.3 Sous-famillesde langages algébriques.
Le langage
{a
n
b
n
| n ≥ 0}
a epté par l'automate de l'exemple4.1.1 est un
langage algébriquedéterministe ettemps réel.
Le langage
{a
n
b
n
| n ≥ 0} ∪ {a
n
b
2n
| n ≥ 0}
est un langage algébrique non
déterministe.
Donnons un langage algébrique déterministe mais non déterministe temps
i⊥
→ pA⊥ pA
a
→ pAA pB
a
→ pBB
c
qA
→ pA
ε
pA
→ p
b
pB
→ p
d
qB
→ q
ε
pA
→ pBA pB
c
→ qB
e
p⊥
→ i⊥
ε
pA
→ qA
e
d'état initial et nal
i
. Son graphe de transitionG
M
est représenté omme suit : a a a b b b d d d e e e e e e e eε
ε
ε
ε
ε
ε
ε
e i fε
ε
ε
d d d(i⊥)
(pA⊥)
(pAA⊥)
(qA⊥)
(p⊥)
(qBA⊥)
(qBBA⊥)
(α)
aveα = pBA⊥
(pBBA⊥)
Fig.4.4
G
M
est déterministeet non temps réel.Lelangage
L(M)
re onnu parM
est un langage algébriquedéterministe mais il ne peut pas être re onnu par un automate àpile déterministetempsréel.
Indiquonsquelaformeparti ulièredesrèglesdesautomatesàpiles(ajout,
retrait,a tion interne)n'est pas une restri tion pour leslangagesengendrés,
même en se restreignant aux automates déterministes et/ou temps réel. En
fait, ilsdénissent lesmêmes famillesde graphes de transition[Ca06℄.
Muller et S hupp furent les premiers à étudier les automates à pile du
sens, un graphe de degré ni est régulier si on peut le dé omposer par
dis-tan e à partir d'un sommet en un nombre ni de omposantes onnexes (à
isomorphisme près).
Pour une meilleure ompréhension des graphes que nous utilisons dans e
do ument, attardons nous sur ette notion de dé omposition nie par
dis-tan e. On se restreint aux graphes
G
dont tout sommet est onne té (par une haîne) à un sommet initial : toute omposante onnexe deG
possède aumoins un sommetinitial.Dans e as,la distan e de toutsommets
deG
dénie pard
G
(s) := min{d
G
(s, t) | it ∈ G}
= min{|u| | ∃t (it ∈ G ∧ s
=⇒
u
G∪G
−1
t)}
est nie. En parti ulier, lessommets de distan e nulle sont lessommets
ini-tiaux :
d
G
(s) = 0 ⇐⇒ is ∈ G
.Dénissons la dé ompositionde
G
àpartir de ses sommetsinitiaux. La pre-mière étape de ladé ompositiondeG
onsiste àretirerlessommetsinitiaux deG
, à savoir les ouleurs et les ar s portant sur un sommet initial, et à prendre pour sommet initial tout nouveau sommet d'un ar retiré;autre-ment dit, onobtientle graphesuivant :
b
G := G
|{s∈S
G
| is /
∈G}
∪ {is | is /
∈ G ∧ ∃t (s −→
G∪G
−1
t ∧ it ∈ G)}
.
Puis, itérativement, on ontinue ladé omposition à partir du graphe
G
b
ob-tenu, àsavoir :b
G
0
:= G
etG
b
n+1
= c
G
b
n
pour toutn ≥ 0
. On dit queG
est de dé omposition nie par distan e si{ b
G
n
| n ≥ 0}
n'a
qu'un nombre ni de omposantes onnexesnon isomorphes.
a
c
a
c
a
c
b
b
b
b
f
i
est de dé omposition nie par distan e n'ayant par dé omposition que les
trois omposantes onnexes i-après:
c
a
b
c
a
b
c
a
b
b
i
f
c
a
b
c
b
c
a
b
i
i
c
a
b
f
c
b
c
a
b
i
i
Par ontre,lagrille i-aprèsn'admetpasde dé ompositionniepardistan e.
a
b
a
b
a
b
a
b
a
a
a
a
a
a
a
a
b
b
b
b
b
b
b
b
i
Un résultat majeur, établi depuis plus de vingt ans, est que les graphes des
automates àpile sont lesgraphesde degréni et admettant une
dé omposi-tion nie par distan e.
Théorème 4.1.3. Muller et S hupp [MS85℄ Les graphes de transition des
automatesàpilesontlesgraphesdedegréni,a essiblesàpartird'ununique
sommet initial et de dé omposition nie.
Démonstration :
⇒
: nous montrons d'abord que le graphe de transition de tout automate à pileestungraphededegréetdedé ompositionnis.SoitM = (S, Γ, Σ, s
0
, F, δ)
un automate àpile.Pardénition, son graphede transition
G
M
a un unique sommetinitials
0
⊥
qui est ra ine deG
M
.Vérions que
G
M
etplus généralementH
M
= {pAU
a
→ qV U | pA
→ qV ∈ δ ∧ AU ∈ Γ
a
∗
⊥}
est un graphe de degré ni.
Le degré sortant de tout sommet