3.5 Préservation de la propriété de séletion
4.1.5 Automates à pile de piles et leurs langages
Dans e sous-paragraphe, nous présentons formellement les automates à pile de niveau
k
sur le jeu d'opérations symétriquesOps
k et sur le jeu d'opérations lassiquesCOps
k. Nousdonnons àette oasionun brefhistorique de la notion d'automate à pile de piles. Enn, nous établissons l'équivalene entre les deux modèles d'automates à haque niveau en tant qu'aepteurs de langages. Ce ré-sultata été obtenudans [CW03 ℄en ollaborationave Stefan Wöhrle.La preuve omplèteapparaitdans[Wöh05℄.Indépendamment,erésultataétéobtenudans [Fra05℄.Dénition 4.1.13. Un automate à pile
A
de niveauk
sur le jeu d'opérationsOps
k est donné par un septuplet(Γ,Σ,τ,Q,I,F,∆)
où:
Γ
etΣ
sont respetivement les alphabets nis de pileet des étiquettes,τ ∈Σ
est une étiquette jouant lerle d'ation silenieuse,
Q
est un ensemble ni d'états,
I ⊆ Q
etF ⊆ Q
sont respetivement les ensembles d'états initiaux et naux,et
∆⊆Q×Σ×Ops
⋆k×Q
est l'ensemble des transitions.Une transition
(p,a,θ,q) ∈ ∆
sera notéep −→
a(q,θ)
. Une onguration deA
est un ouple dans
Q×Stacks
k(Γ)
.L'ensembledes ongurations initiales(resp. nales) estI ×Stacks
k(Γ)
(resp.F ×Stacks
k(Γ)
). Pour touta ∈ Σ
, l'automateA
induit une relationa
−→
Asur ses ongurations dénie par:
(p,w)−→
aA
(q,w
′)⇔ ∃(p,a,θ,q)∈∆,w
′=θ(w).
Cette relationinduit pour tout
u∈(Σ\ {τ})
∗une relation u
=⇒
A déniepar: ε=⇒
A= (−→
τ A)
∗ ua=⇒
A= =
u⇒
A·−→
a A·(−→
τ A)
∗ oùu∈(Σ\ {τ})
∗ eta ∈Σ\ {τ}
.Le langage aepté par l'automate à pile
A
, notéL(A)
, est l'ensemble des motsu∈(Σ\ {τ})
∗pour lesquelsilexiste
i∈I
,f ∈F
ets∈Stacks
k(Γ)
tels que(i,[ ]
k)=
u⇒
A(f,s)
.Exemple 4.1.14. Nous dénissons un automate
A= (Γ,Σ,τ,Q,I,F,∆)
à pilede niveau2
aveΣ ={a,b,$,τ}
etΓ ={a,b}
qui aepte le langage:L={w$w|w∈ {a,b}
∗}.
L'ensembledes états
Q
est{i,p,q,f}
oùi
estl'unique étatinitialetf
est l'unique état nal. L'ensembledes transitions∆
est donnépar:i−→
a(i,push
a) i−→
b(i,push
b) i−→
$(p,copy
1)
p−→
τ(p,copy
1pop
a) p−→
τ(p,copy
1pop
b) p−→
τ(q,⊥
1)
q−→
a(q,push
acopy
1) q−→
b(q,push
bcopy
1) q−→
τ(f,copy
1)
Le mot
abb$abb
est aepté par lealul:(i,[ ]
2)−→
abb A(i,[ [abb] ]
2)−→
$ A(p,[ [abb] [abb] ]
2)−→
τ4 A(q,[ [abb] [abb]. . .[ ] ]
2)
a−→
A(q,[ [abb] [abb] [ab] [a] ]
2)−→
b A(q,[ [abb] [abb] [ab] ]
2)
b−→
A(q,[ [abb] [abb] ]
2)−→
τ A(f,[ [abb] ]
2)
Remarque 4.1.15. Sinousneonsidéronsquelelangageaepté, nouspouvons supposer, sans perte de généralité, que les transitions
3
de l'automate àpile sont dans
∆⊆Q×Σ×Ops
k×Q
.Si nous remplaçons
Ops
⋆k parCOps
⋆k dans la dénition 4.1.13, nous obtenons la notion d'automate à pile surCOps
k qui est la notion lassique d'automate à pilede niveauk
.Les automates à pile d'ordresupérieur ont été introduits dans les années 70. Dans [Gre70℄, Greibah attribue l'idée de es automates à Aho et Ullman. Ces automates sont aussi dénis dans [Mas76℄. Les automates sur
COps
k dièrent légèrement des automates onsidérés par es auteurs et de eux onsidérés dans [DG86,Eng91℄. Ladiérene majeure résidedans la dénition des piles de piles. Lespilesde niveauk
sontdes suitesnonvidesde ouplesformés d'unsymbolede pileetd'unepilede niveauk−1
.Commeremarquédans [KNU02℄, es symboles de pile supplémentaires peuvent être simulés dans le modèle des automates surCOps
k.Les langagesaeptées par les automates à pile sur
COps
k sont onnus sous le nom de langagesk
-OI
ou de langagesindexés de niveauk
. La première déno-mination vient des travaux de Damm [Dam82℄ où es langages sont introduitsen utilisantdes OImaro-grammairesde niveau
k
. L'équivalene entre ette pré-sentation et le formalisme des automates à pile d'ordre supérieurs est montrée dans [DG86℄. La deuxième dénomination vient de la notion de grammaire in-dexée (de niveau 2) introduite par Aho dans [Aho68℄ et de sa généralisation à tout niveau par Maslov dans [Mas74℄. Pour le niveau2
, l'équivalene entre les grammaires indexées (de niveau2
) et les langages aeptés par les automates à pilesurCOps
2 est obtenue dans [Aho69℄. A tout niveau, ette équivalene a été établie dans [Mas76℄. Pour une présentation détaillée sur la notion d'automates àpile de piles, nous référons leleteur à [Eng91℄.Dans [Eng91℄, l'auteur établit que les langages aeptés par les automates à pile sur
COps
k sont stritement inlus dans les langages aeptés par les auto-mates à piles surCOps
k+1. Il suit don que la hiérarhie des langages indexées d'ordresupérieur est strite.Théorème 4.1.16 ([Eng91℄). Pour tout
k ≥1
, leslangages indexés de niveauk
sont stritement inlus dans les langages indexés de niveau
k+ 1
.Dans le même artile [Eng91℄, la omplexité du test du vide du langage a-eptépar un automateàpiles sur
COps
k est étudiéeetl'auteurdonneune borne inférieureet une borne supérieure quisont rappelées dans lethéorème suivant. Théorème 4.1.17 ([Eng91℄). Le problème du test du vide des langages aeptés par les automates à pile surCOps
k est omplet pour les rédutions en espae logarithmique pour lalasseS
d>1DTIME
(2
↑k−1(dn2))
.La n de e sous-paragraphe est dédiée à établir l'équivalene, du point de vue des langages aeptés, entre les automates à pile de niveau
k ≥ 1
surOps
ketsur
COps
k.4.1.5.1 Des automates sur
COps
k aux automates surOps
kPour transformer un automate à piles sur
COps
k en un automate à pile surOps
k, ilsut de remarquer quepour toutℓ < k
,destr
ℓ= Ops
∗ℓ·copy
ℓ.
(4.1)Proposition 4.1.18. Tout langage aepté par un automate à pile sur
COps
kest aepté par un automate à pile sur
Ops
k de même niveau.Démonstration. Soit
A = (Γ,Σ,τ,Q,I,F,∆)
un automate à pile surCOps
k. Par la remarque 4.1.15, nous pouvons supposer sans perte de généralité que∆ ⊆
Q×Σ×Ops
k×Q
. Pour toutℓ ∈[1,k−1]
,nousdénissons l'ensemble∆
ℓ={δ∈
∆ | δ = (p,x,destr
ℓ,q)}
des transitions ave pour opérationdestr
ℓ. Pour haqueδ ∈ ∆
ℓ, nous noteronsq
δ l'état orrespondant deQ
ℓ. De plus, nous supposons que lesQ
ℓ sont deux à deux disjointset sontdisjointsdeQ
.Nous pouvons maintenant dénir un automate
B = (Γ,Σ,τ,QB,IB,FB,∆
B)
à pilesurOps
k oùQ
B=Q∪S
ℓ∈[1,k−1]
Q
ℓ,I
B=I
,F
B=F
et où:∆
B= ∆\S
ℓ∈[1,k−1]∆
ℓ∪ {(p,τ,Id
k,q
δ)|δ= (p,x,θ,q)∈S
ℓ∈[1,k−1]∆
ℓ}
∪ S
ℓ∈[1,k−1]{(q
δ,τ,θ,q
δ)|δ ∈∆
ℓ etθ∈Ops
ℓ}
∪ S
ℓ∈[1,k−1]{(q
δ,x,copy
ℓ,p)|δ = (q,x,θ,p)∈∆
ℓ}
Par l'équation(4.1), il suit que
L(A) = L(B)
.4.1.5.2 Des automates sur
Ops
k aux automates surCOps
kL'inlusion réiproque, plus déliate, utilise un enodage des piles de niveau
k
. À haque pile de niveauk
sur un alphabetΓ
, nous allons assoier sa version enodée, notée[[s]]
, qui est une pile de même niveau sur l'alphabetΓ
ok. Cet enodage permet de faire apparaître expliitement la suite réduite de
s
dans la pile enodée[[s]]
. Nous dénissons ensuite pour haqueθ ∈ Ops
k un sous-ensemble ni[[θ]]
k deCOps
⋆k simulantθ
(i.e.[[θ]]
k([[s]]) = [[θ(s) ]]
).À partir de maintenant, nous xons l'alphabet de pile
Γ
. Nous ommençons pardénirparréurrenesurleniveauk
,uneappliation[[ · ]]
deStacks
k(Γ)
dansStacks
k(Γ
ok
)
.Au niveau 1, l'enodage est simplement l'identité. Pour tout
s ∈ Stacks
1(Γ)
,[[s]] =s
.Au niveau
k + 1 ≥ 2
, onsidérons une piles 6= [ ]
k+1 ave sa suite réduiteρ ∈ (Γ
ok
∪ {k})
∗(f. remarque 4.1.11). Pour tout
ℓ ∈ [1,|ρ|]
, nous dénissonsρ
ℓ=ρ(1). . . ρ(ℓ)
etρ˜
ℓ lasuiteobtenueen eaçantlesourrenesde l'instrutionk
dansρ
ℓ. La suiteρ˜
ℓ appartient à(Γ
ok
)
∗. Enn, nous dénissons, pour toutℓ∈[1,|ρ|]
,la piles
ℓ=R(˜ρ
ℓ)([ ]
k)
.Nous pouvons maintenantdénir
[[ · ]]
pour lespiles de niveauk+ 1
.[[ [ ]
k+1]] = [[[ [ ]
k]]]
k+1[[s]] = [ [[ [ ]
k]],push
ρ(1)([[s
1]]), . . . ,push
ρ(|ρ|)([[s|
ρ|]]) ]
k+1(4.2)
Commepar la proposition 4.1.9la suite minimaleassoiée à une pilede piles est unique, l'appliation
[[ · ]]
est une injetion.Remarque 4.1.19. Par dénition de
s|
ρ| et par le lemme 4.1.3, la piles|
ρ| est égale à ladernière pile de niveauk
des
.Exemple 4.1.20. Considéronslapilede niveau2
[ [abc] [ad] ]
2.Sasuiteréduite estρ=abc1¯c¯bd
. Lespiles de niveau 1s
1, . . . ,s
7 intervenant dans la dénition de[[s]]
sont:s
1= [a]
1s
3= [abc]
1s
5= [ab]
1s
7= [ad]
1s
2= [ab]
1s
4= [abc]
1s
6= [a]
1.
Donl'enodage de
[ [abc] [ad] ]
2 est:[[ [ [abc] [ad] ]
2]] =
[ ] [aa] [abb] [abcc] [abc1 ] [ab¯c]
a¯b
[add]
2
.
Pour tout niveau
k
et pour toute opérationθ ∈ Ops
k, nous allons dénir un sous-ensemble ni[[θ]]
k deCOps
⋆k qui va simuler le omportement deθ
sur l'enodage d'une pilede niveauk
. Ces ensembles aurontlapropriété supplémen-taire d'être non-ambigus. Un sous-ensemble niR ⊆ COps
⋆k est non-ambigu si pour toutθ 6= θ
′∈ R
, Dom(θ)∩
Dom(θ
′) = ∅
. Il suit don que pour toute piles∈Stacks
k(Γ)
,R(s)
estsoitvidesoitun singleton.Nousutiliseronsdonla nota-tionfontionnelle etdironsqueR(s)
n'estpas dénisiR(s) =∅
etqueR(s) =s
′si
R(s) ={s
′}
.Notre but sera don d'établir (f. lemme 4.1.21) que pour toute pile
s ∈
Stacks
k(Γ)
etpourtoute opérationθ ∈Ops
k,[[θ]]
k([[s]])
est dénisietseulement siθ(s)
l'est et dans e as,[[θ]]
k([[s]]) = [[θ(s) ]]
.Comme pour l'enodage des piles, l'enodage des opérations est déni par réurrene sur le niveau
k
4.
Au niveau 1, nous prenons pour tout
θ∈Ops
1[[θ]]
1={θ}.
Au niveau
k+ 1 ≥ 2
, nous dénissons pour toutθ ∈Ops
k, l'enodage omme suit:[[θ]]
k+1= S
γ6=γθ∈Γo
k+1
pop
γpush
γcopy
kpop
γ[[θ]]
kpush
γθ(
a)
∪ {pop
γθdestr
k} (
b)
∪ T
[ ]k+1copy
k[[θ]]
kpush
γθ(
)
(4.3)
où
γ
θ=R
−1(θ)
est l'instrutiondeΓ
ok+1 orrespondant à
θ
.[[ copy
k]]
k+1= [
γ∈Γo
k+1
pop
γpush
γcopy
kpop
γpush
k (4.4)∪ {T
[ ]k+1copy
kpush
k}
[[ copy
k]]
k+1={pop
kdestr
k}
(4.5)[[T
[ ]k+1]]
k+1={T
[ ]k+1}.
(4.6)4.Dans unsouidelarté, pourtout
θ ∈COps
⋆k etR ⊂COps
⋆k,nous érironssimplementL'ensemble
[[θ]]
k+1 est bien non-ambigu ar les diérentes opérations qui le omposent ommenent par dépiler des symboles diérents ou par tester que la pileest vide. Il en vade mêmepour[[ copy
k]]
k+1,[[ copy
k]]
k+1 et[[T
[ ]k+1]]
k+1.Nousallonsmaintenantétablirquelesenodagesdesopérationssimulentbien lesopérations sur les enodages des piles.
Lemme 4.1.21. Pour toute pile
s ∈Stacks
k(Γ)
et pour toutθ∈Ops
k,[[θ]]
k([[s]]) =
[[θ(s) ]]
siθ(s)
est déni, non dénie sinon.Démonstration. Nous proédons par réurrene sur leniveau
k
. Cas de base :k = 1
.Lapropriété est immédiate.Etape de réurrene.Soit
s
unepiledansStacks
k+1(Γ)
.Nousallonsdistinguer deux as selon ques
est vide ounon.Cas
s = [ ]
k+1. Pour les opérationscopy
k,copy
k etT
[ ]k+1, la propriété déoule diretement de la dénition de l'enodage de es opérations (f. équations (4.4), (4.5) et(4.6)).Considérons maintenant leas où
θ ∈Ops
k.[[θ]]
k+1([[ [ ]
k+1]])
est déni⇔ T
[ ]k+1copy
k[[θ]]
kpush
γθ([ ]
k+1)
l'est par Eq. (4.3.a)⇔ [[θ]]
k([[ [ ]
k]])
l'est ar[[θ]]
k⊆Ops
⋆k⇔ θ([ ]
k)
l'est par HR⇔ θ([ ]
k+1)
l'est ommeθ ∈Ops
kSupposons que
s
′= θ([ ]
k+1)
est dénie. Par la proposition 4.1.9, la suite réduiteρ
′ des
′ estR
−1(θ) =γ
θ.[[θ]]
k+1([[ [ ]
k+1]]) = T
[ ]k+1copy
k[[θ]]
kpush
γθ([ ]
k+1)
par Eq. (4.3.)=
[ ]
k,push
γθ([[θ]]
k([ ]
k))
k+1=
[ ]
k,push
γθ([[θ([ ]
k) ]])
k+1 par HR= [[s
′]]
par Eq. (4.2)= [[θ([ ]
k+1) ]]
Cass= [s
1. . . s
m]6= [ ]
k+1.La suite réduite
ρ
des
est non vide.[[s]] =
[[ [ ]
k]],push
ρ(1)([[s
1]]), . . . ,push
ρ(|ρ|)([[s|
ρ|]])
k+1
.
Soit
θ ∈Ops
k+1. Nousallons distinguer plusieursas. Sous-asθ ∈ {copy
k,copy
k,T
[ ]k+1}
.Supposons que
[[ copy
k]]
k+1([[s]])
soit déni et montrons quecopy
k(s)
l'est aussi. Par dénition de l'enodage, il suit queρ(|ρ|) = k
. Doncopy
k(s)
a pour suite réduiteρ(1). . . ρ(|ρ| −1)<ρ
etdon est bien déni.Supposonsque
copy
k(s)
soitdénie.Nousavonsρ(|ρ|) = k
arsinoncopy
k(s)
auraitpoursuiteréduite
ρk¯
.Or,parlaremarque4.1.11,lasuiteréduited'unepile de niveauk+ 1
ne peut ontenir d'ourrene de l'instrutionk¯
. Doncopy
k(s)
apour suite réduite
ρ(1). . . ρ(|ρ| −1)
.[[ copy
k]]
k+1([[s]]) = pop
kdestr
k([[s]])
= [ [[ [ ]
k]],push
ρ(1)([[s
1]]), . . . ,push
ρ(|ρ|−1)([[s|
ρ|−1]]) ]
k+1= [[ copy
k(s) ]]
Sous-as
θ ∈Ops
k\ { R(ρ(|ρ|))}
.Nous ommençons par montrer que
[[θ]]
k+1([[s]])
est déni si et seulement siθ(s)
l'est.[[θ]]
k+1([[s]])
est déni⇔ pop
ρ(|ρ|)push
ρ(|ρ|)copy
kpop
ρ(|ρ|)[[θ]]
kpush
γθ([[s]])
l'est par Eq. (4.3.a)⇔ [[θ]]
k([[s
ρ(|ρ|)]])
l'est⇔ [[θ]]
k([[s
m]])
l'est par Rem. 4.1.19⇔ θ(s
m)
l'est par HR⇔ θ(s)
l'est arθ∈Ops
kDans le as où les deux sont dénis, omme
γ
θ est diérent deρ(|ρ|)
, il suit quela suite réduitedeθ(s)
estργ
θ etdon l'enodagedeθ(s)
est égal à[[θ(s) ]] =
[[ [ ]
k]],push
ρ(1)([[s
1]]), . . . ,push
ρ(|ρ|)([[s|
ρ|]])push
γθ([[θ(s|
ρ|) ]])
k+1
Nous avons don:
[[θ]]
k+1([[s]])
= pop
ρ(|ρ|)push
ρ(|ρ|)copy
kpop
ρ(|ρ|)[[θ]]
kpush
γθ([[s]])
=
[[ [ ]
k]],push
ρ(1)([[s
1]]), . . . ,push
ρ(|ρ|)([[s
|ρ|]])push
γθ([[θ]]
k([[s
|ρ|]]))
k+1
=
[[ [ ]
k]],push
ρ(1)([[s
1]]), . . . ,push
ρ(|ρ|)([[s|
ρ|]])push
γθ([[θ(s|
ρ|) ]])
k+1
= [[θ(s) ]]
Sous-as
θ =R(ρ(|ρ|))
.Dans e as
θ(s)
est déni et a pour suite réduiteρ(1). . . ρ(|ρ| −1)
par la proposition 4.1.9. L'enodage deθ(s)
est don:[[θ(s) ]] =
[[ [ ]
k]],push
ρ(1)([[s
1]]), . . . ,push
ρ(|ρ|−1)([[s
|ρ|−1]])
k+1
.
D'aprèsleséquations(4.3.b)et(4.2),
[[θ]]
k+1([[s]])
estdénietégalà[[θs]]
. Nous étendons de manière anoniquel'enodage[[·]]
k deOps
k àOps
⋆k.Proposition 4.1.22. Tout langage aepté par un automate à pile sur
Ops
k est aepté par un automate à pile surCOps
k.Démonstration. Soit
A = (Γ,Σ,τ,Q,I,F,∆)
un automate à pile surOps
⋆k. Nous dénissons un automateB = (Γ,Σ,τ,Q,I,F,∆
B)
où l'ensembledes transitions∆
Best déni par:
∆
B={(p,x,η,q)|(p,x,θ,q) ∈∆
etη∈[[θ]]
k}.
Par lelemme 4.1.21, ilsuit que pour tout
w∈(Σ)
∗,p∈Q
ets∈Stacks
k(Γ)
:(q
0,[ ]
k)−→
wA
(p,s) ⇔ (q
0,[ ]
k)−→
wA
(p,[[s]]).
Don, nous avons
L(A) =L(B)
.En ombinant les propositions 4.1.22 et 4.1.18, nous obtenons l'équivalene préédemmentannonée.
Théorème 4.1.23. Les langages aeptés par les automates à pile sur
Ops
k et surCOps
k oïnident.Ce résultat sera ané dans le Chapitre 5 par les théorèmes 5.1.21 et 5.1.23 qui étendent ette équivalene des langages aeptés aux graphesengendrés.