• Aucun résultat trouvé

Langages d'arbres réguliers et automates d'arbres bottom-up

Dans le document Automates d'arbres à jetons (Page 41-47)

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, δ)

Q

est un ensemble ni d'états,

Σ

est un alphabet,

q0

∈ Q

est un étatde

Q

appelé étatinitial,

F ⊆ Q

est un sous-ensemble de

Q

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

Σ

et

B = (Q, Σ, q0, F, δ)

un

BU

. Un al ul de

B

sur

t

est une fon tion

ρ

de l'ensembledes n÷uds de

t

à valeurs dans

Q

telle que, pour haque n÷ud

x

d'étiquette

σ

, ona



((σ, q0, q0), ρ(x)) ∈ δ

si

x

est une feuilleet



((σ, ρ(x1), ρ(x2)), ρ(x)) ∈ δ

si

x

a pour ls droit

x1

et pour ls gau he

x2

,. Un al ul de

B

sur

t

est a eptant si l'état ae té à la ra ine est a eptant, on dit alors que l'arbre

t

est a epté par

B

. Le langage re onnu par

B

est l'ensemble des arbres pour lesquels il existe un al ul a eptant de

B

. 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'automates

BU

:

Dénition 2.18 Un automate d'arbres de rang borné bottom-up,

B

est un quin- tuplet

(Q, Σ, q0, F, δ)

Q

est un ensemble ni d'états,

Σ = (A, d)

est un al- phabet gradué de rang

r

,

q0

∈ Q

est un état de

Q

appelé état initial,

F ⊆ Q

est un sous-ensemble de

Q

appelé ensemble des états a eptants et

δ

est un sous- ensemble de

S

i∈{0,··· ,m}(Qi

× A) × Q

appelé ensemble des transitions tel que si

((q1, · · · , qj), a, q) ∈ δ

ave

0 ≤ j ≤ r

alors

j

est le degré de la lettre

a

.

Soit

t

unarbresurl'alphabetgradué

(A, d)

.Un al ulde

B

sur

t

estunefon tion

ρ

de l'ensembledesn÷udsde

t

àvaleursdans

Q

tellleque,si

x

estun n÷udd'étiquette

σ

dontleslsde gau he àdroitesont

x1, · · · , xd

,ona

((ρ(x1), · · · , ρ(xd)), σ, ρ(x)) ∈ δ

. On dénit alors ommepour les

BU

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 dans

Q

. L'automate déterministe

B

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 un

BU B

dont l'ensemble d'états est

Q

. Il existeun automate déterministe quire onnaît

L

dontle nombre d'états est

2|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 automates

BU

. Tout omme les

1DFA

les

BU

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 un

BU B

dont l'ensemble d'états est

Q

. Il existe un automate déterministequi re onnaît le omplément de

L

dont le nombre d'états est

2

|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 00

Fig. 2.9  Lesdiérentes étapesd'une exé ution de

B1

sur

t

Exemple 2.15 On note tout d'abord

L

l'addition sur l'ensemble des booléens

{0, 1}

tel que

0

L

0 = 1L1 = 0

et

1

L

0 = 0L1 = 1

On onsidère ensuite

L1

le langage des arbres binaires sur l'alphabet

Σ = {a, b, c}

qui vérient la propriété suivante:un n÷udest étiquetépar lalettre

c

sietseulementsison sous-arbredroit ontientun nombre pairde n÷udsétiquetéspar lalettre

a

etson sous-arbregau he ontient un nombre impair de n÷uds étiquetés par lalettre

b

. On peut vérier que l'arbre

t

de la gure 2.9 appartient à

L1

. Le langage

L1

est re onnu par le

BU

déterministe

B1

= (Q, Σ, 00, Q, δ)

ave

Q = {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 par

b

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

t

.

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 rang

n

et de domaine et

u

un n÷ud de

t

. Le type de

u

est l'élément noté

θ(u)

de l'ensemble

TYPE = {in, f e} × ({ra} ∪ [n])

tel que

 si

t

est réduit au n÷ud

u

, 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)

,  si

u

est une feuille et

u = xi

ave

1 ≤ i ≤ n

, alors

θ(u) = (f e, i)

et  si

u

est un n÷ud interneet

u = xi

ave

1 ≤ 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, δ)

Q

estun ensembleni d'états,

Σ

est un alphabet,

I ⊆ Q

est un sous-ensemble de

Q

appelé ensemble des états initiaux,

F ⊆ Q

est un sous-ensemble de

Q

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 et

A = (Q, Σ, I, F, δ)

un

TWA

. Une onguration de

A

sur

t

est un ouple

(q, u)

q ∈ Q

orrespond à l'état de ontrle et est appelé état ourant et

u

est le n÷ud ourant qui donne la position de la tête de le ture. Une onguration initiale de

A

sur

t

est une onguration de

I × {ǫ}

, '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 de

A

sur

t

est une ongurationde

F × {ǫ}

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

u

,

a

est l'étiquette du n÷ud

u

et



v = u

si

µ = 

,



v

est lepère de

u

si

µ =↑

,



v

est lels gau he de

u

si

µ =ւ

et 

v

est lels droit de

u

si

µ =ց

.

Uneexé utionde

A

sur

t

estunesuitede ongurationssu essives

c1

A

−→ c2

A

−→ · · · cm

. S'ilexiste uneexé utionpartantde la onguration

c1

etterminantdansla ongu- ration

cm

,ondit que

cm

est a essible àpartir de

c1

et onnote ela

c1

A,∗

−−→ cm

. Une exé utionest a eptantesiellepart d'une ongurationinitialeetterminedansune ongurationa eptante. On dit alors que

A

a epte

t

.

Dénition 2.22 Unautomate heminantdéterministesurlesarbres,ouun

DTWA

,

A

est un automate heminant

(Q, Σ, I, F, δ)

tel que

I

est un singleton et

δ

est une fon tion de

Q × Σ × TYPE

à valeurs dans

Q × {↑, ւ, ց, }

.

Remarque 2.13 Un

TWA

a epte à la ra ine d'après la dénition d'une ongu- rationnale.Cette onvention nediminuepas lepouvoird'expressiondes

TWA

.En eet, si onsuppose qu'un

TWA

a epte dès qu'ilatteint un état nal quel que soit len÷ud ourant,alors,pourtout

TWA A

,onpeut onstruire un

TWA

quisimule

A

jusqu'à e qu'unétatnalsoitatteintetqui,àpartirde ette ongurationremonte toujoursà la ra ine.

Remarque 2.14 Commepour les

BU

onpeut fa ilementadapter ladénition des

TWA

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 les

TWA

pour les arbresde rang non-borné dans le hapitre 8.

Exemple 2.16 Soient

Σ

un alphabet,

a

une lettre de

Σ

et

L5

lelangagedes arbres dont toutes les feuilles sont étiquetés par

a

. Considérons

A5

l'automate heminant déterministesuivant :

A5

= ({qւ, q↑, qց}, Σ, qւ, {q↑}, δ)

δ

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 initial

, 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 par

a

, l'automate passe alors dans l'état

q↑

. Dans l'état

q↑

,

A5

remonte dans l'arbre en restant dans et état tant que le n÷ud ourant est un ls droit. Si

A5

remonte ainsi jusqu'au lsgau he d'un n÷ud

v

, il a alors visité tout le sous-arbre gau he de

v

, il remonte alorsen

v

etpasse dansl'état

pourvister lesous-arbre droitde

v

. Si,à partirde l'état

q↑

, l'automate remonte jusqu'à la ra ine, il a epte. Dans l'état

, à partir

d'un n÷ud

v

, l'automate des end au n÷ud

u

le ls droit de

v

et passe dans l'état

pour visiterle sous-arbre enra iné en

u

. Lagure 2.10 représente une exé ution de

A5

sur un arbre de

L5

. Nous avons représenté les sous-exé utions oùl'automate est dans l'état

par des è hes bleues, elles où l'automate est dans l'état

q↑

par des è hes rouges et elles où l'automateest dans l'état

par des è hes vertes.

a

a

a

a

Fig. 2.10  Représentation de l'exé ution du

DTWA A5

sur un arbrede

L5

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 langage

L5

. 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 ourantquivaut

1

pour lsgau he et

2

pourlsdroitne peut pas vérier que toutesles feuillesd'un arbre en entrée sont étiquetées par lalettre

a

. Exemple 2.17 On onsidère maintenant le langage

L6

des arbres tels qu'il existe un heminde lara ineàune feuilledans lequel touslesn÷uds sont étiquetéspar la lettre

a

.Nousdénissons

A6

unautomatenon-déterministequidevineun heminde lara ineà une feuillepourre onnaître e langage.

A6

adeux états : son état initial

q0

et son état nal

q1

etla relationde transition

δ

.Dans l'état

q0

,si l'automate est sur un n÷udinterneétiqueté par lalettre

a

,il restedans et état etdes end auls gau he ou auls droit. Si l'automate atteint une feuilleétiquetée par

a

dans l'état

q0

, il passe dans l'état

q1

. 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'état

q1

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

et

A2

deux automates heminants, l'automate qu'on onstruit pourl'union hoisitde manièrenon-déterministeundes deuxautomates

Ai

ave

i ∈

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 de

L6

{1, 2}

,le simuleeta epte si l'automate

Ai

a epte. L'automate pour l'interse tion simuled'abordl'automate

A1

,si

A1

a epte ilsimulealors l'automate

A2

eta epte

si

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

et

A2

deux automates heminants, l'automate pour l'in- terse tionsimuled'abord l'automate

A1

,si

A1

a epte ilsimulealors l'automate

A2

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.

Dans le document Automates d'arbres à jetons (Page 41-47)