2.3 Automates sur les arbres
2.3.2 Langages d'arbres réguliers et automates d'arbres bottom-up
Les automates d'arbres bottom-up ont été introduits par J. Doner [15℄ et par J.W.That her etJ.B. Wright[49℄.
Dénition 2.17 Un automate d'arbres bottom-up, ou un
BU
, est un quintuplet(Q, Σ, q0, F, δ)
oùQ
est un ensemble ni d'états,Σ
est un alphabet,q0
∈ Q
est un étatdeQ
appelé étatinitial,F ⊆ Q
est un sous-ensemble deQ
appeléensemble des états a eptants etδ
est un sous-ensemble de(Σ × Q × Q) × Q
appelé ensemble des transitions.Soient
t
un arbrebinaire étiquetéparΣ
etB = (Q, Σ, q0, F, δ)
unBU
. Un al ul deB
surt
est une fon tionρ
de l'ensembledes n÷uds det
à valeurs dansQ
telle que, pour haque n÷udx
d'étiquetteσ
, ona
((σ, q0, q0), ρ(x)) ∈ δ
six
est une feuilleet
((σ, ρ(x1), ρ(x2)), ρ(x)) ∈ δ
six
a pour ls droitx1
et pour ls gau hex2
,. Un al ul deB
surt
est a eptant si l'état ae té à la ra ine est a eptant, on dit alors que l'arbret
est a epté parB
. Le langage re onnu parB
est l'ensemble des arbres pour lesquels il existe un al ul a eptant deB
. La familledes langages d'arbres re onnus par des automates d'arbres bottom-up est appelée la lasse des langagesréguliersd'arbres.langages d'arbres réguliers : par exemple les automates qu'on appelle "automates top-down" en anglais par e qu'ils évaluent un arbre de la ra ine aux feuilles, les automatesd'arbresalternants,lesautomatesquipeuventee tuerdestests
MSO
... Remarque 2.12 Pour lesarbres de rang borné, il est fa ile d'étendre ladénition d'automatesBU
:Dénition 2.18 Un automate d'arbres de rang borné bottom-up,
B
est un quin- tuplet(Q, Σ, q0, F, δ)
oùQ
est un ensemble ni d'états,Σ = (A, d)
est un al- phabet gradué de rangr
,q0
∈ Q
est un état deQ
appelé état initial,F ⊆ Q
est un sous-ensemble deQ
appelé ensemble des états a eptants etδ
est un sous- ensemble deS
i∈{0,··· ,m}(Qi
× A) × Q
appelé ensemble des transitions tel que si((q1, · · · , qj), a, q) ∈ δ
ave0 ≤ j ≤ r
alorsj
est le degré de la lettrea
.Soit
t
unarbresurl'alphabetgradué(A, d)
.Un al uldeB
surt
estunefon tionρ
de l'ensembledesn÷udsdet
àvaleursdansQ
tellleque,six
estun n÷udd'étiquetteσ
dontleslsde gau he àdroitesontx1, · · · , xd
,ona((ρ(x1), · · · , ρ(xd)), σ, ρ(x)) ∈ δ
. On dénit alors ommepour lesBU
les al uls a eptants etles langages réguliers d'arbres de rang borné.Pourlesarbresderangnon-borné,onpeuten oredénirdesautomatesd'arbres qui ee tuent des al uls en parallèle en pro édant des feuilles à la ra ine mais la dénitionde la fon tionde transitiondoit être adaptée pour que ettefon tion soit représentable de manière nie. Nous introduirons les automates d'arbres de rang non borné dans le dernier hapitre.
Nous dénissons maintenant la variante déterministe des automates d'arbres binaires.
Dénition 2.19 Un
BU B = (Q, Σ, q0, F, δ)
est déterministe siδ
est une fon tion partiellementdénie de(Σ × Q × Q)
à valeurs dansQ
. L'automate déterministeB
est alors omplet siδ
est partout dénie.Les
BU
déterministesre onnaissent tous leslangagesréguliers ommelemontre lethéorème i-dessous.Théorème 2.4 Soit
L
un langage re onnu par unBU B
dont l'ensemble d'états estQ
. Il existeun automate déterministe quire onnaîtL
dontle nombre d'états est2|Q|
.
Les
BU
peuvent don être déterminisés ontrairement aux automates d'arbres qui pro èdentde la ra ineaux feuilles. Cettepropriété très importantenous a onduits à hoisir d'introduire les langages d'arbres réguliers ave les automatesBU
. Tout omme les1DFA
lesBU
déterministes sont fa iles à omplémenter, il sut de les ompléter et d'intervertir l'ensemble des états naux et l'ensemble des états non- naux. On en déduit lethéorème suivant :Théorème 2.5 Soit
L
un langage re onnu par unBU B
dont l'ensemble d'états estQ
. Il existe un automate déterministequi re onnaît le omplément deL
dont le nombre d'états est2
|Q|
t
b a a a b b b b a 01 01 01 01 10 10 b a a b b a b 01 b a 01 00 01 01 01 10 10 b a a b b a b 01 01 b a 01 00 01 01 01 10 10 b a a b b a b 01 01 00 01 b a 01 00 01 01 01 10 10 b a a b b a b 01 01 00 01 b a 00 01 00 01 01 01 10 10 b a a b b a b 01 01 00 01 01 b a 00Fig. 2.9 Lesdiérentes étapesd'une exé ution de
B1
surt
Exemple 2.15 On note tout d'abordL
l'addition sur l'ensemble des booléens
{0, 1}
tel que0
L
0 = 1L1 = 0
et1
L
0 = 0L1 = 1
On onsidère ensuiteL1
le langage des arbres binaires sur l'alphabetΣ = {a, b, c}
qui vérient la propriété suivante:un n÷udest étiquetépar lalettrec
sietseulementsison sous-arbredroit ontientun nombre pairde n÷udsétiquetéspar lalettrea
etson sous-arbregau he ontient un nombre impair de n÷uds étiquetés par lalettreb
. On peut vérier que l'arbret
de la gure 2.9 appartient àL1
. Le langageL1
est re onnu par leBU
déterministeB1
= (Q, Σ, 00, Q, δ)
aveQ = {00, 01, 10, 11}
etδ
dénie par
∀xa, xb, ya, yb
∈ {0, 1}
,δ(a, xaxb, yayb) = (xa
L
ya
L
1)(xb
L
yb)
∀xa, xb, ya, yb
∈ {0, 1}
,δ(b, xaxb, yayb) = (xa
L
ya)(xbLybL1)
∀xa, yb
∈ {0, 1}
,δ(c, xa1, 0yb) = xa(yb
L
1)
L'étatae té à un n÷ud par l'automate est un nombre de deux hires binaires, le premier ode laparitédunombrede n÷udsétiquetéspar
a
danslesous-arbredroit, le se ond ode la parité du nombre de n÷uds étiquetés parb
dans le sous-arbre gau he.On représente gure 2.9 les diérentes étapes de l'exé ution a eptante de
B1
sur l'arbret
.Nous présentons maintenant un modèle d'automates d'arbres séquentiels intro- duit par Aho et Ullman qui étend le modèle des automates bidire tionnels aux arbres. Il s'agit des automates heminants appelés tree-walking automata en an- glais.Un automate heminantest don un automate ave une tête de le turequi se dépla e dans un arbre d'un n÷ud à un autre en suivant les arêtes. Nous avons vu que les transitions d'un automate bidire tionnel sur les mots prennent en ompte le type de la position de la tête de le ture an de déte ter le début et la n du mot par ouru. Un automate heminant a également a ès à une information nie on ernant la position dans l'arbre du n÷ud sur lequel est sa tête de le ture. Ce n÷udest appelén÷ud ourant et ette informationest en oreappelée letype de e n÷ud.
Dénition 2.20 Soit
t
un arbre de rangn
et de domaine etu
un n÷ud det
. Le type deu
est l'élément notéθ(u)
de l'ensembleTYPE = {in, f e} × ({ra} ∪ [n])
tel quesi
t
est réduit au n÷udu
, e n÷ud est à la fois la ra ine et une feuille etθ(u) = (f e, ra)
,si
u
est à la fois un n÷ud interne et lara ine,θ(u) = (in, ra)
, siu
est une feuille etu = xi
ave1 ≤ i ≤ n
, alorsθ(u) = (f e, i)
et siu
est un n÷ud interneetu = xi
ave1 ≤ i ≤ n
, alorsθ(u) = (in, i)
. Unautomate heminant sur lesarbresbinairessaitdon à haque étaped'un al ul silen÷udsur lequelestsatêtedele tureest unlsgau he,unlsdroitoulara ine et si e n÷ud est une feuille de l'arbre. Un automate heminant hoisit ainsi son nouvelétat enfon tionde l'état ourantainsiquedutypeetdel'étiquettedu n÷ud ourant. Les dépla ements possibles de la tête de le turesont les suivants :↑
pour remonter au père, pour rester sur pla e,ւ
etց
pour des endre respe tivement aulsgau he et aulsdroit. Nousdonnons maintenantune dénition formelle des automates heminants.Dénition 2.21 Unautomate heminantsurlesarbresbinaires,ou un
TWA
(pour TreeWalkingAutomaton),estun quintuplet(Q, Σ, I, F, δ)
oùQ
estun ensembleni d'états,Σ
est un alphabet,I ⊆ Q
est un sous-ensemble deQ
appelé ensemble des états initiaux,F ⊆ Q
est un sous-ensemble deQ
appelé ensemble des états naux ou ensemble des états a eptantsetδ
est un sous-ensembe de(Q × Σ × TYPE) × (Q × {↑, ւ, ց, })
appelé ensemble des transitions.Soient
t
un arbre etA = (Q, Σ, I, F, δ)
unTWA
. Une onguration deA
surt
est un ouple(q, u)
oùq ∈ Q
orrespond à l'état de ontrle et est appelé état ourant etu
est le n÷ud ourant qui donne la position de la tête de le ture. Une onguration initiale deA
surt
est une onguration deI × {ǫ}
, 'est-à-dire une ongurationtelle que latête de le turede l'automate est sur lara ine ettelle que l'étatde ontrle est un état initialde l'automate.Une onguration a eptante deA
surt
est une ongurationdeF × {ǫ}
.Une onguration(r, v)
est un su esseur d'une onguration(q, u)
e que l'on note(q, u)
A
−→ (r, v)
s'il existe une transition((q, a, θ), (µ, r))
telle queθ
est letype deu
,a
est l'étiquette du n÷udu
et
v = u
siµ =
,
v
est lepère deu
siµ =↑
,
v
est lels gau he deu
siµ =ւ
etv
est lels droit deu
siµ =ց
.Uneexé utionde
A
surt
estunesuitede ongurationssu essivesc1
A
−→ c2
A
−→ · · · cm
. S'ilexiste uneexé utionpartantde la ongurationc1
etterminantdansla ongu- rationcm
,ondit quecm
est a essible àpartir dec1
et onnote elac1
A,∗
−−→ cm
. Une exé utionest a eptantesiellepart d'une ongurationinitialeetterminedansune ongurationa eptante. On dit alors queA
a eptet
.Dénition 2.22 Unautomate heminantdéterministesurlesarbres,ouun
DTWA
,A
est un automate heminant(Q, Σ, I, F, δ)
tel queI
est un singleton etδ
est une fon tion deQ × Σ × TYPE
à valeurs dansQ × {↑, ւ, ց, }
.Remarque 2.13 Un
TWA
a epte à la ra ine d'après la dénition d'une ongu- rationnale.Cette onvention nediminuepas lepouvoird'expressiondesTWA
.En eet, si onsuppose qu'unTWA
a epte dès qu'ilatteint un état nal quel que soit len÷ud ourant,alors,pourtoutTWA A
,onpeut onstruire unTWA
quisimuleA
jusqu'à e qu'unétatnalsoitatteintetqui,àpartirde ette ongurationremonte toujoursà la ra ine.Remarque 2.14 Commepour les
BU
onpeut fa ilementadapter ladénition desTWA
pour lesarbresde rang borné.Un automate heminant surdes arbres unaires orrespond alors à un automate bidire tionnel qui a epte au début du mot. An d'étendre le modèle des automates heminants aux arbres de rang non-borné, nous devronsintroduirepourlesarbresde rangnon-bornéunenouvelledénitiondutype d'unn÷udetunnouvelensemblededépla ements.Eneet,lafon tiondetransition doit toujours être dé rite de manière nie. Nous verrons omment on peut dénir lesTWA
pour les arbresde rang non-borné dans le hapitre 8.Exemple 2.16 Soient
Σ
un alphabet,a
une lettre deΣ
etL5
lelangagedes arbres dont toutes les feuilles sont étiquetés para
. ConsidéronsA5
l'automate heminant déterministesuivant :A5
= ({qւ, q↑, qց}, Σ, qւ, {q↑}, δ)
oùδ
est déniepar :
∀σ ∈ Σ
,δ(qւ, σ, (in,
ra
1
2
)) = (qւ, ւ)
etδ(qւ, a, (f e,
1
2)) = (q↑, )
∀σ ∈ Σ
,δ(q↑, σ, (
in
fe, 1)) = (qց, ↑)
etδ(q↑,
σ
a, (
in
f e, 2)) = (q↑, ↑)
∀σ ∈ Σ
,δ(qց, σ, (in,
1
2)) = (qւ, ց)
L'automate déni i-dessus ee tue un par ours en profondeur d'un arbre donné et visite ainsi toutes ses feuilles pour vérier qu'elles sont étiquetées par la lettre
a
. Dans l'état initialqւ
, il des end le plus à gau he possible sans hanger d'état jusqu'à e qu'il atteigne une feuille. Si ette feuille est étiquetée para
, l'automate passe alors dans l'étatq↑
. Dans l'étatq↑
,A5
remonte dans l'arbre en restant dans et état tant que le n÷ud ourant est un ls droit. SiA5
remonte ainsi jusqu'au lsgau he d'un n÷udv
, il a alors visité tout le sous-arbre gau he dev
, il remonte alorsenv
etpasse dansl'étatqց
pourvister lesous-arbre droitdev
. Si,à partirde l'étatq↑
, l'automate remonte jusqu'à la ra ine, il a epte. Dans l'étatqց
, à partird'un n÷ud
v
, l'automate des end au n÷udu
le ls droit dev
et passe dans l'étatqւ
pour visiterle sous-arbre enra iné enu
. Lagure 2.10 représente une exé ution deA5
sur un arbre deL5
. Nous avons représenté les sous-exé utions oùl'automate est dans l'étatqւ
par des è hes bleues, elles où l'automate est dans l'étatq↑
par des è hes rouges et elles où l'automateest dans l'étatqց
par des è hes vertes.a
a
a
a
Fig. 2.10 Représentation de l'exé ution du
DTWA A5
sur un arbredeL5
Kamimura et Slutzky ont montré dans [27℄ qu'un automate heminant qui n'a pas l'information ls gau he ou ls droit sur le n÷ud ne peut pas re onnaître le langageL5
. En eet, un automate heminant tel que les transitions ee tuées à partird'un n÷ud autre que lara ine ne dépendent pas de ladeuxième omposante dutypedu n÷ud ourantquivaut1
pour lsgau he et2
pourlsdroitne peut pas vérier que toutesles feuillesd'un arbre en entrée sont étiquetées par lalettrea
. Exemple 2.17 On onsidère maintenant le langageL6
des arbres tels qu'il existe un heminde lara ineàune feuilledans lequel touslesn÷uds sont étiquetéspar la lettrea
.NousdénissonsA6
unautomatenon-déterministequidevineun heminde lara ineà une feuillepourre onnaître e langage.A6
adeux états : son état initialq0
et son état nalq1
etla relationde transitionδ
.Dans l'étatq0
,si l'automate est sur un n÷udinterneétiqueté par lalettrea
,il restedans et état etdes end auls gau he ou auls droit. Si l'automate atteint une feuilleétiquetée para
dans l'étatq0
, il passe dans l'étatq1
. Dans l'état nal, l'automate remonte jusqu'àla ra ine et reste dans et état pour a epter l'arbre.Nous avons représenté dans la gure 2.11 la sous-exé ution où l'automate est dansl'état
q0
par uneè hes bleueet elles oùl'automateest dans l'étatq1
par une è he rouge.Il est fa ile de onstruire un automate heminant non-déterministe qui re onnaît l'union et l'interse tion de deux langages re onnus par des automates heminants non-déterministes.
Proposition 2.1 La lasse des langages re onnus par un automate heminant est fermée par union et interse tion.
Preuve.
Etant donné
A1
etA2
deux automates heminants, l'automate qu'on onstruit pourl'union hoisitde manièrenon-déterministeundes deuxautomatesAi
avei ∈
b
c
b
a
b
b
a
b
a
a
Fig.2.11 Représentation d'une exé utiona eptante de
A6
sur un arbre deL6
{1, 2}
,le simuleeta epte si l'automateAi
a epte. L'automate pour l'interse tion simuled'abordl'automateA1
,siA1
a epte ilsimulealors l'automateA2
eta eptesi
A2
a epte.Il est également simple de onstruire un automate heminant déterministe qui re onnaît l'interse tion de deux langages re onnus par des automates heminants déterministes.
Proposition 2.2 La lasse des langages re onnus par un automate heminant dé- terministe est fermé par interse tion.
Preuve. Etant donné
A1
etA2
deux automates heminants, l'automate pour l'in- terse tionsimuled'abord l'automateA1
,siA1
a epte ilsimulealors l'automateA2
eta epte si
A2
a epte.Lapreuvepourre onnaîtrel'unionde deuxlangagesre onnuspardesautomates heminantsnon-déterministesnefon tionnentplusdansle asdéterministe.Eneet, l'automate ne peut plus deviner lequel des deux automates il doit simuler et il ne peutpassimulerlesdeuxautomatesl'unaprèsl'autreà ausedesexé utionsinnies. Nousverrons ommentrésoudre e problème dans le hapitre3.