7.3 Borne supérieure
7.3.1 De nouveaux modèles d'automates d'arbres
Nous présentons dans ette partie des nouveaux modèles d'automates que nous dénissons pour simuler un automate d'arbres à jetons. Pour transformer un auto- mated'arbresàjetonsenautomatebottom-up,nousutilisonseneetdesautomates intermédiaires qui al ulent des informations, par exemple un ensemble de ouples d'états orrespondantaux exé utions de l'automate d'arbres à jetons onsidéré.
Si nous pouvons onstruire, étant donné un automate d'arbres faible à
(k − 1)
jetons,unautomated'arbresbottom-upqui al uletoutessesbou les,nousobtenons àpartird'unautomatefaibleàk
jetonsun nouveaumodèled'automated'arbresqui ombine le omportement d'un automate à jetons du modèle faible et elui d'un automated'arbres bottom-up. Informellementun automate d'arbres faiblebottom- upàk
jetons est un automated'arbres àk
jetonsdu modèlefaiblequipeut simuler un automate bottom-up quand il pla e son dernier jetonsur le n÷ud ourant. Dénition 7.8 Un automate d'arbres faible bottom-up àk
jetons est un ouple(A, B)
tels que
B
estun automate d'arbresbottom-upsurun alphabetde laformeΣ×2
{1,··· ,k}
,
A
est unwPTAk
sauf que les transitions qui lèvent et posent le jeton1
sontde la forme
(QA× Σ × TYPE × {1} × 2
[k]× Q
B) × QA
oùQA
etQB
sont les ensemblesd'états respe tifs deA
etB
.La taille de
(A, B)
est la somme des tailles deA
et deB
'est à dire la somme de leursnombres d'états.Unautomated'arbres faiblebottom-upà
k
jetons se omporte ommeunautomate d'arbresfaibleàk
jetonsjusqu'à equ'il hoisissede poserlejeton1
surun n÷udu
.L'automate
(A, B)
pose alors le jeton1
enu
, simule l'automate bottom-upB
sur l'arbre marqué par le jeton1
puis lève le jeton1
et reprend son omportement heminant à partir du n÷udu
et d'un état qui dépend de l'état atteint parB
à la ra inede l'arbremarqué lorsde sasimulation.Plus formellement, pour
i ∈ [1, k]
, unei
- onguration de(A, B)
sur un arbret
est un triplet(q, u, f )
oùq
est un état deA
,u
est un n÷ud de l'arbret
etf
est une ae tation des jetons de{i + 1, · · · , k}
. Soient maintenantc = (q, u, f )
etc
′
= (q′, u′, f′)
deux ongurations de
(A, B)
oùu
un n÷ud det
de typeθ
et d'étiquettea
. La ongurationc
′
est un su esseurde la onguration
c
, e quel'on notec
(A,B),t
−−−−→ c′
, dans lesdeux as suivants: 1.
c
A,t
−→ c′
et l'automatene pose pas lejeton
1
durant ette étape, 2.u
′
= u
,f
′
= f
et((q, a, θ, 2, f
−1(u), q
b), q′)
est une transition deA
oùqb
est l'étatatteintparB
àla ra inesur l'arbremarqué(t, f ∪ {(1, u)})
.Dans le premier as,
(A, B)
se omporte ainsi omme un automate d'arbres àk
jetons du modèle faible en ee tuant la transition dec
àc
′
. Dans le se ond as,
(A, B)
pose le jeton1
, ee tue une évaluation deB
sur l'arbre marqué par lesk
jetons,puisretournesurlen÷udmarquéparlejeton1
etlève e jeton.Remarquons que,pour une ongurationd'une exé utionde(A, B)
,lejeton1
n'est jamaisposé. Nousnotons(A,B),t ∗
−−−−−→
la loturetransitivede larelation(A,B),t
−−−−→
etnous remarquons queles dénitions dek
bou les d'arbreet de ontexte s'étendent sans di ultés au modèle des automates d'arbres faiblesbottom-up àjetons.Pour traiter le modèle fort par indu tion, nous dénissons une version forte du modèle des automates faiblesbottom-up à k jetons. Nous introduisons d'abord un nouveau type d'automate bottom-up pouvant séle tionner un n÷ud ave un état spé ial au ours d'un al ul.
Dénition 7.9 Unautomatebottom-upséle tionneurestunquintuplet
(Q, q0, Qf, Q
′, δ)
où
Q
′
⊆ Q
et
(Q, q0, Qf, δ)
est un automate d'arbres bottom-upvériantlapropriété suivante : étant donné un arbret
, pour haque al ulρ
a eptant surt
, il existe un unique n÷udu
dans l'arbret
aveρ(u) ∈ Q
′
. On dit alors que le n÷ud
u
est séle tionné parB
dans le al ulρ
.Cesautomatespermettentdeséle tionnerdansun arbre
t
unn÷uduℓ
etde al uler les ouples d'états orrespondant à des exé utions d'un automate fort àk
jetons à partir de la onguration où le jetonk
vient d'être posé jusqu'à elle où le jetonk
est sur le point d'êtrelevé àpartir du n÷uduℓ
.Nous pouvons maintenant dénir un nouveau modèle d'automates d'arbres qui ombinele omportementd'unautomateàjetons dumodèlefortet eluid'unauto- matebottom-up séle tionneur. Intuitivement,un automate d'arbres fortbottom-up séle tionneur à
k
jetons se omporte omme un automate d'arbres fort àk
jetons jusqu'à e qu'il hoisisse de poser le jeton1
. L'automate d'arbres fort bottom-up séle tionneuràk
jetonssimulealors l'automatebottom-up séle tionneuretreprend son omportement heminant àpartir du n÷udséle tionné par l'automatebottom- up séle tionneur.Dénition 7.10 Un automate d'arbres fort bottom-up séle tionneur à
k
jetons est un ouple(A, B)
telsque
B
estunautomatebottom-upséle tionneursurunalphabetdelaformeΣ × 2
{1,··· ,k}
A
estunPTAk
saufquelestransitionsquilèvent etposentlejeton1
sontrem- pla éespardestransitionsdelaforme(QA× Σ × TYPE × {1} × 2
[k]× Q
B) × QA
où
QA
etQB
sont les ensembles d'états respe tifs deA
etB
.Formellement, pour
i ∈ [1, k]
, unei
- onguration de(A, B)
sur un arbret
est un triplet(q, u, f )
oùq
est un état deA
,u
un n÷ud det
etf
une ae tation des jetons de{i + 1, · · · , k}
. Soitu
un n÷ud det
de typeθ
et d'étiquettea
et soientc = (q, u, f )
etc
′
= (q′, u′, f′)
deux ongurations de
(A, B)
.La ongurationc
′
est un su esseur de la onguration
c
e que l'on notec
(A,B),t
−−−−→ c′
dans les deux as suivants:
c
A
−→ c′
et
A
ne pose pas lejeton1
en ee tuant latransitiondec
àc
′
.f
′
= f
,x
′
est le n÷ud séle tionné par
B
sur l'arbre marqué(t, f ∪ {(1, x)})
et((q, a, θ, 2, f
−1(x), q
b), q′)
est unetransitionde(A, B)
oùqb
est l'étatatteint parB
àla ra ine sur l'arbremarqué(t, f ∪ {(1, x)})
.Dans le premier as,
(A, B)
se omporte ainsi omme un automate d'arbres àk
jetonsdumodèleforten ee tuantlatransitiondec
àc
′
.Danslese ond as,
(A, B)
poselejeton1
,ee tueuneévaluationdeB
surl'arbremarquéparlesk
jetons,puis retourne sur le n÷ud séle tionné parB
et lève le jeton1
à distan e. Remarquons que,pour une ongurationd'une exé utionde(A, B)
,lejeton1
n'est jamaisposé.On note
(A,B),t ∗
−−−−−→
la lturetransitivede larelation(A,B),t
−−−−→
.Pour étendre la onstru tionde [14℄ aux automates à jetons du modèle fort par indu tion sur le nombre de jetons, nous allons simuler ave un automate d'arbre bottom-up séle tionneur les exé utions d'un automate d'arbres à
k
jetons à partir du moment où il pose le jetonk
jusqu'à e qu'il le lève. L'automate bottom-up séle tionneurquenous onstruisons ee tueson al ulsur un arbre marquépar des jetons onsidéré omme un arbre sur un alphabet de la formeΣ × 2
[1,k]
et il doit simulerles exé utions de l'automated'arbres àjetons à partird'un n÷ud distingué parle jeton
k
jusqu'au n÷udqu'ilséle tionne. Nousdénissons i-dessous e qu'est un n÷ud distingué.Dénition 7.11 Soit
(t, f )
un arbreJ
-marqué oùJ
est un ensemble de jetons et soitu
un n÷ud de et arbre.Le n÷udu
est un n÷ud distingué siu
est lara inedet
ou si un jetoni ∈ J
est posé suru
, 'est-à-dire sif
−1(u) 6= ∅
. L'arbre
(t, f )
est alors marqué enu
. On appelle ensemble de distin tions de l'arbre(t, f )
l'ensembleJ ∪{ra}
. Siµ
estune distin tiondel'arbremarqué(t, f )
,onditque(t, f )
estmarqué parµ
. Dans le premier as,u
est lera
-n÷ud det
ou de(t, f )
et dans lese ond as,u
est lei
-n÷ud de(t, f )
.Remarque 7.2 On avudansladénition 3.6qu'un arbre
J
-marquésur unalpha- betΣ
pouvaitêtre onsidéré ommeunarbresurl'alphabetΣ×2
J
telquel'étiquette d'unn÷udindiquel'ensembledes jetonsquisetrouventsur e n÷ud.Unn÷uddis- tingué est alors la ra ine ou un n÷ud dont l'étiquette sur
Σ × 2
J
est de la forme(a, J′)
aveJ
′
6= ∅
.quenous onstruisonsparlasuitedoitsimulerl'automated'arbresàjetons onsidéré. Dénition 7.12 Soient
(A, B)
un automate d'arbres fort bottom-up séle tionneur àk
jetons, respe tivement un automate d'arbres faible bottom-up àk
jetons,C
un automate d'arbres bottom-upséle tionneur etµ
l'élémentra
ou bien un entierstri - tementsupérieurouégalàk
.L'automateC
simule(A, B)
demanièreexa teàpartir deµ
sur les arbres marqués parµ
s'ilvérie les deux onditions suivantes :1. lesensembles de ouples d'états de
A
sont les états a eptantsdeC
2. pour tout arbre marqué
(t, f )
, si le n÷udu
est le n÷udµ
-marquéde(t, f )
on a l'équivalen e suivante :C
séle tionne un n÷udv
et atteint un état a eptantqf
à la ra ine si et seulement siqf
= {(q, q
′) | (q, u)−−−−−→ (q(A,B),t ∗
′, v), q′
est a eptant
}
.Remarque 7.3 Dans ettedénition,l'automate
C
al uledes ouplesd'états or- respondantàdesexé utions de(A, B)
seterminantdans unétata eptantmaispas né essairement àlara ine.Ons'intéressera en eetauxexé utionsentre ledépotet la levée d'un jeton et on parlera don d'exé utions terminales et non d'exé utions a eptantes. Ainsi l'état atteint parC
à la ra ine ontient exa tement les ouples onstitués des premierset des derniers états de tous les exé utions terminales deC
entre lesn÷udsu
etv
.7.3.2 Simuler de manière exa te un automate fort à jetons