• Aucun résultat trouvé

Automates bidire tionnels

Dans le document Automates d'arbres à jetons (Page 37-39)

2.2 Automates sur les mots

2.2.3 Automates bidire tionnels

Un

1NFA

est un automate ave une tête de le ture qui par ourt le mot de gau he à droite.En dotant les automates unidire tionnels de lafa ulté de dépla er leur tête dans les deux dire tions, on obtient un modèle de al ul bidire tionnel qui est toujours onné aux langages réguliers mais dont la on ision augmente exponentiellement.Lesautomatesbidire tionnelsontétéintroduitspar M.O.Rabin et D. S ott [41℄. Avant de dénir formellement les automates bidire tionnels, nous dénissons letype d'une position d'un mot.

Dénition 2.11 Le type d'une position d'un mot est une information nie qui in- dique si la position donnée est la première du mot, la dernière du mot ou bien une autre position. Plus formellement,soit

w

un mot de longueur

n

, pour toute position

i ∈ [n]

, le type de

i

noté

θw(i)

, ou

θ(i)

s'il n y a pas d'ambiguïté sur le mot

w

, est un élémentde l'ensemble

{pre, mil, der}

tel que

θ(1) = pre

,

θ(n) = der

et

θ(i) = mil

sinon.On note

TYPEM

l'ensemble des types

{pre, mil, der}

.

Remarque 2.8 Si

w

est un mot réduità une lettre, la seule lettre du mot

w

est à la fois la première et la dernière lettre. Dans e as parti ulier, la position orres- pondante à ette lettre a deux types à la fois. Il faudrait don ajouter un nouvel élément à

TYPEM

uniquement pour e as parti ulier si on veut que la notation

type(v)

désignetoujours un unique élément.

Remarque 2.9 Letype d'unepositionpeut être dénien utilisantlesformules du premierordre

pre

et

der

déniesdansl'exemple2.4. Parexemple,une positiond'un mot

w

est de type

mil

siet seulementsi ellesatisfaitla formuleà une variablelibre quel'on note

mil(x)

et quiest déniepar

¬der(x) ∧ ¬pre(x)

.

Dénition 2.12 Unautomate bidire tionnelsurlesmots,ou un

2NFA

estunquin- tuplet

(Q, Σ, I, F, δ)

Q

est un ensemble ni 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 et

δ

est un sous-ensemble de

(Q × Σ × TYPEM) × (Q × {−1, 0, +1})

appelé ensemble des transitions.

Unautomatebidire tionnel

A

hoisitun nouvelétatetundépla ementdesatêtede le ture,

−1

pour alleràlapositionpré édente (àgau he),

0

pour rester surpla e et

+1

pour alleràlapositionsuivante(àdroite)enfon tionde l'état ourantainsi que du type et de l'étiquette de la position de la tête de le ture. La position de la tête de le tured'un automate séquentiel sur lesmots est appelée laposition ourante.

Soit

w ∈ Σ

un mot de longueur

n > 0

, une onguration de

A

sur

w

est un ouple

(q, i)

q ∈ Q

orrespond à l'état de ontrole et

i ∈ [n]

donne la position de la tête de le ture. Une onguration initiale de

A

sur

w

est une onguration de

I × {1}

, 'est-à-dire une ongurationtelle que la tête de le ture de l'automate est sur la première lettre et l'état de ontrle est un état initial. Une onguration nale de

A

sur

w

est une onguration de

F × {n}

, 'est-à-dire une onguration telleque latête de le tureest sur ladernière lettrede

w

etl'état de ontrle est un état nal. On dit qu'une onguration

(r, j)

est un su esseur d'une onguration

(q, i)

e quel'onnote

(q, i)

A

−→ (r, j)

s'ilexiste unetransition

((q, a, θ), (r, k))

telle que

k = j − i

,

a

est l'étiquette de la lettre à la position

i

et telle que

θ = pre

si

i = 1

,

θ = der

si

i = n

et

type = mil

sinon. Une exé ution de

A

sur

w

est une suite de ongurations su essives

c1

−→ c2· · · −→ cm

. S'il existe une exé ution partant de la onguration

c1

etterminant dans la onguration

cm

, on ditque

cm

est a essible àpartir de

c1

etinitialet onnote ela

c1

A,∗

−−→ cm

Une exé ution est a eptante si ellepart d'une ongurationinitiale et termine dansune ongurationnale.Unmotnon-videest a eptéparl'automates'ilexiste une exé ution a eptante de l'automate sur e mot. Le mot vide est a epté par l'automates'il existe un état quiest àla fois un état initialetun état nal.

Comme pour les automates unidire tionnels, nous dénissons la variante déter- ministedu modèle des automates bidire tionnels.

Dénition 2.13 Unautomatebidire tionneldéterministesurlesmots,ouun

2DFA

, est un automate bidire tionnel

(Q, Σ, I, F, δ)

telsque

I

est un singletonet

δ

est une fon tion de

Q × Σ × TYPEM

à valeurs dans

Q × {−1, 0, +1}

Remarque 2.10 Un

2NFA

ne peut pas se dépla er à gau he de la première lettre ou à droite de la dernière lettre. Si

Q

est l'ensemble des états, les transitions de

(Q × Σ × {pre}) × (Q × {−1})

etde

(Q × Σ × {der}) × (Q × {+1})

nepeuventdon pas être ee tuées.

Remarque 2.11 Unautomateunidire tionnelpeut être onsidéré ommeunauto- mate bidire tionnelqui sedépla e vers ladroite jusqu'à ladernière lettre.En eet, étant donné

A

un

1NFA

, il est très fa ile de onstruire un

2NFA A

qui re onnaît lemême langage:

A

se omporte omme

A

jusqu'àla dernière position àpartir de laquelleil ne peut appliquerque lestransitions de

A

qui luipermettentd'atteindre unétat nal.Nousverronsave lethéorème 2.9de lase tionsuivantequeles

2NFA

etles

1NFA

re onnaissent en fait les mêmeslangages.

Exemple 2.13 Soit

Σ

un alphabet, nous dénissons un

2DFA A4

qui re onnaît le langage

6)

par ourtlemot dansl'autresens etvériequesalongueurestdivisiblepar

3

.Enn, sila longueur du mot est bien divisible par

2

et par

3

, l'automate retourne à la n du mot et a epte.

On pose ainsi

A4

= ({q0, q1, q

0, q′1, q2′, qf}, Σ, q0, {qf}, δ)

δ

est l'ensemble des transitions de laforme :



((q0, σ, θ), (q1, +1))

et

((q1, σ, mil), (q0, +1))

ave

σ ∈ Σ

et

θ ∈ {pre, mil}

, 

((q1, σ, der), (q

1, −1))

et

((q

1, σ, mil), (q2′, −1))

ave

σ ∈ Σ

, 

((q

2, σ, mil), (q0′, −1))

et

((q

0, σ, mil), (q1′, −1))

ave

σ ∈ Σ

, 

((q

2, σ, pre), (qf, +1))

et

((qf, σ, mil), (qf, +1))

ave

σ ∈ Σ

.

Nous représentons i-dessous une exé ution a eptante de

A4

sur un mot de six lettres.Elle ommen eau débutdu mot dans l'état

q0

etsetermineà lan du mot dans l'état

qf

q1

q1

q0

q0

q1

qf

q′

0

q2′

q1′

q′

2

q1′

q0

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

2DFA A4

sur un mot à

6

lettres

Nousverronsave lethéorème2.9quelesautomates bidire tionnelsontlemême pouvoir d'expression que les automates unidire tionnels. Etant donné un

2DFA

, il est possible de onstruire un

1NFA

équivalent [41, 51℄. Dans la partie 7.2.1, nous dé rivons la onstru tion de [14℄ qui permet d'obtenir à partir d'un automate he- minant un automate d'arbres bottom-up équivalent. Cette onstru tion s'adapte fa ilement au as des mots. On peut ainsi transformer un automate bidire tionnel

A1

enun automateunidire tionnel

A2

équivalent.L'idéede ettetransformationest lasuivante.Pour haqueposition

i

d'unmot

w1· · · wn

,

A2

al ulepasàpasdansson état d'une part l'ensemble des ouples d'états

(q, q

)

orrespondant aux exé utions de

A1

démarrantàlaposition

i

dans l'état

q

etterminantà laposition

i

dansl'état

q′

tellesque

A1

ne quitte pasle préxe

w1· · · wi

etd'autrepartl'ensembledes états danslesquels

A1

peut atteindre laposition

i

àpartir d'une ongurationinitiale en restant toujours dans lepréxe

w1· · · wi

.

Dans le document Automates d'arbres à jetons (Page 37-39)