• Aucun résultat trouvé

Automates à pile de piles et leurs langages

Dans le document Automates infinis, logiques et langages (Page 94-101)

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étriques

Ops

k et sur le jeu d'opérations lassiques

COps

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 niveau

k

sur le jeu d'opérations

Ops

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

et

F ⊆ 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ée

p −→

a

(q,θ)

. Une onguration de

A

est un ouple dans

Q×Stacks

k

(Γ)

.L'ensembledes ongurations initiales(resp. nales) est

I ×Stacks

k

(Γ)

(resp.

F ×Stacks

k

(Γ)

). Pour tout

a ∈ Σ

, l'automate

A

induit une relation

a

−→

A

sur ses ongurations dénie par:

(p,w)−→

a

A

(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

)

u∈(Σ\ {τ})

et

a ∈Σ\ {τ}

.

Le langage aepté par l'automate à pile

A

, noté

L(A)

, est l'ensemble des mots

u∈(Σ\ {τ})

pour lesquelsilexiste

i∈I

,

f ∈F

et

s∈Stacks

k

(Γ)

tels que

(i,[ ]

k

)=

u

A

(f,s)

.

Exemple 4.1.14. Nous dénissons un automate

A= (Γ,Σ,τ,Q,I,F,∆)

à pilede niveau

2

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}

i

estl'unique étatinitialet

f

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

1

pop

a

) p−→

τ

(p,copy

1

pop

b

) p−→

τ

(q,⊥

1

)

q−→

a

(q,push

a

copy

1

) q−→

b

(q,push

b

copy

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 par

COps

k dans la dénition 4.1.13, nous obtenons la notion d'automate à pile sur

COps

k qui est la notion lassique d'automate à pilede niveau

k

.

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 niveau

k

sontdes suitesnonvidesde ouplesformés d'unsymbolede pileetd'unepilede niveau

k−1

.Commeremarquédans [KNU02℄, es symboles de pile supplémentaires peuvent être simulés dans le modèle des automates sur

COps

k.

Les langagesaeptées par les automates à pile sur

COps

k sont onnus sous le nom de langages

k

-

OI

ou de langagesindexés de niveau

k

. La première déno-mination vient des travaux de Damm [Dam82℄ es langages sont introduits

en 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 niveau

2

, l'équivalene entre les grammaires indexées (de niveau

2

) et les langages aeptés par les automates à pilesur

COps

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 sur

COps

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 niveau

k

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 sur

COps

k est omplet pour les rédutions en espae logarithmique pour lalasse

S

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

sur

Ops

k

etsur

COps

k.

4.1.5.1 Des automates sur

COps

k aux automates sur

Ops

k

Pour transformer un automate à piles sur

COps

k en un automate à pile sur

Ops

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

k

est aepté par un automate à pile sur

Ops

k de même niveau.

Démonstration. Soit

A = (Γ,Σ,τ,Q,I,F,∆)

un automate à pile sur

COps

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ération

destr

. Pour haque

δ ∈ ∆

, nous noterons

q

δ l'état orrespondant de

Q

. De plus, nous supposons que les

Q

sont deux à deux disjointset sontdisjointsde

Q

.

Nous pouvons maintenant dénir un automate

B = (Γ,Σ,τ,QB,IB,FB,∆

B

)

à pilesur

Ops

k

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 sur

COps

k

L'inlusion réiproque, plus déliate, utilise un enodage des piles de niveau

k

. À haque pile de niveau

k

sur un alphabet

Γ

, nous allons assoier sa version enodée, notée

[[s]]

, qui est une pile de même niveau sur l'alphabet

Γ

o

k. 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 de

COps

k simulant

θ

(i.e.

[[θ]]

k

([[s]]) = [[θ(s) ]]

).

À partir de maintenant, nous xons l'alphabet de pile

Γ

. Nous ommençons pardénirparréurrenesurleniveau

k

,uneappliation

[[ · ]]

de

Stacks

k

(Γ)

dans

Stacks

k

o

k

)

.

Au niveau 1, l'enodage est simplement l'identité. Pour tout

s ∈ Stacks

1

(Γ)

,

[[s]] =s

.

Au niveau

k + 1 ≥ 2

, onsidérons une pile

s 6= [ ]

k+1 ave sa suite réduite

ρ ∈ (Γ

o

k

∪ {k})

(f. remarque 4.1.11). Pour tout

ℓ ∈ [1,|ρ|]

, nous dénissons

ρ

=ρ(1). . . ρ(ℓ)

et

ρ˜

lasuiteobtenueen eaçantlesourrenesde l'instrution

k

dans

ρ

. La suite

ρ˜

appartient à

o

k

)

. Enn, nous dénissons, pour tout

ℓ∈[1,|ρ|]

,la pile

s

=R(˜ρ

)([ ]

k

)

.

Nous pouvons maintenantdénir

[[ · ]]

pour lespiles de niveau

k+ 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 pile

s|

ρ| est égale à ladernière pile de niveau

k

de

s

.

Exemple 4.1.20. Considéronslapilede niveau2

[ [abc] [ad] ]

2.Sasuiteréduite est

ρ=abc1¯c¯bd

. Lespiles de niveau 1

s

1

, . . . ,s

7 intervenant dans la dénition de

[[s]]

sont:

s

1

= [a]

1

s

3

= [abc]

1

s

5

= [ab]

1

s

7

= [ad]

1

s

2

= [ab]

1

s

4

= [abc]

1

s

6

= [a]

1

.

Donl'enodage de

[ [abc] [ad] ]

2 est:

[[ [ [abc] [ad] ]

2

]] =

[ ] [aa] [abb] [abcc] [abc1 ] [ab¯c]

b

[add]

2

.

Pour tout niveau

k

et pour toute opération

θ ∈ Ops

k, nous allons dénir un sous-ensemble ni

[[θ]]

k de

COps

k qui va simuler le omportement de

θ

sur l'enodage d'une pilede niveau

k

. Ces ensembles aurontlapropriété supplémen-taire d'être non-ambigus. Un sous-ensemble ni

R ⊆ COps

k est non-ambigu si pour tout

θ 6= θ

∈ R

, Dom

(θ)∩

Dom

) = ∅

. Il suit don que pour toute pile

s∈Stacks

k

(Γ)

,

R(s)

estsoitvidesoitun singleton.Nousutiliseronsdonla nota-tionfontionnelle etdironsque

R(s)

n'estpas dénisi

R(s) =∅

etque

R(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

k

pop

γ

[[θ]]

k

push

γθ

(

a

)

∪ {pop

γθ

destr

k

} (

b

)

∪ T

[ ]k+1

copy

k

[[θ]]

k

push

γθ

(

)

(4.3)

γ

θ

=R

−1

(θ)

est l'instrutionde

Γ

o

k+1 orrespondant à

θ

.

[[ copy

k

]]

k+1

= [

γ∈Γo

k+1

pop

γ

push

γ

copy

k

pop

γ

push

k (4.4)

∪ {T

[ ]k+1

copy

k

push

k

}

[[ copy

k

]]

k+1

={pop

k

destr

k

}

(4.5)

[[T

[ ]k+1

]]

k+1

={T

[ ]k+1

}.

(4.6)

4.Dans unsouidelarté, pourtout

θ ∈COps

k et

R ⊂COps

k,nous érironssimplement

L'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

unepiledans

Stacks

k+1

(Γ)

.Nousallonsdistinguer deux as selon que

s

est vide ounon.

Cas

s = [ ]

k+1. Pour les opérations

copy

k,

copy

k et

T

[ ]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

θ ∈Ops

k.

[[θ]]

k+1

([[ [ ]

k+1

]])

est déni

⇔ T

[ ]k+1

copy

k

[[θ]]

k

push

γθ

([ ]

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

k

Supposons que

s

= θ([ ]

k+1

)

est dénie. Par la proposition 4.1.9, la suite réduite

ρ

de

s

est

R

−1

(θ) =γ

θ.

[[θ]]

k+1

([[ [ ]

k+1

]]) = T

[ ]k+1

copy

k

[[θ]]

k

push

γθ

([ ]

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

) ]]

Cas

s= [s

1

. . . s

m

]6= [ ]

k+1.

La suite réduite

ρ

de

s

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 que

copy

k

(s)

l'est aussi. Par dénition de l'enodage, il suit que

ρ(|ρ|) = k

. Don

copy

k

(s)

a pour suite réduite

ρ(1). . . ρ(|ρ| −1)<ρ

etdon est bien déni.

Supposonsque

copy

k

(s)

soitdénie.Nousavons

ρ(|ρ|) = k

arsinon

copy

k

(s)

auraitpoursuiteréduite

ρk¯

.Or,parlaremarque4.1.11,lasuiteréduited'unepile de niveau

k+ 1

ne peut ontenir d'ourrene de l'instrution

k¯

. Don

copy

k

(s)

apour suite réduite

ρ(1). . . ρ(|ρ| −1)

.

[[ copy

k

]]

k+1

([[s]]) = pop

k

destr

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

k

pop

ρ(|ρ|)

[[θ]]

k

push

γθ

([[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

k

Dans le as 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

k

pop

ρ(|ρ|)

[[θ]]

k

push

γθ

([[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 de

Ops

k à

Ops

k.

Proposition 4.1.22. Tout langage aepté par un automate à pile sur

Ops

k est aepté par un automate à pile sur

COps

k.

Démonstration. Soit

A = (Γ,Σ,τ,Q,I,F,∆)

un automate à pile sur

Ops

k. Nous dénissons un automate

B = (Γ,Σ,τ,Q,I,F,∆

B

)

l'ensembledes transitions

B

est déni par:

B

={(p,x,η,q)|(p,x,θ,q) ∈∆

et

η∈[[θ]]

k

}.

Par lelemme 4.1.21, ilsuit que pour tout

w∈(Σ)

,

p∈Q

et

s∈Stacks

k

(Γ)

:

(q

0

,[ ]

k

)−→

w

A

(p,s) ⇔ (q

0

,[ ]

k

)−→

w

A

(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 sur

COps

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.

Dans le document Automates infinis, logiques et langages (Page 94-101)