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 longueurn
, pour toute positioni ∈ [n]
, le type dei
notéθw(i)
, ouθ(i)
s'il n y a pas d'ambiguïté sur le motw
, est un élémentde l'ensemble{pre, mil, der}
tel queθ(1) = pre
,θ(n) = der
etθ(i) = mil
sinon.On noteTYPEM
l'ensemble des types{pre, mil, der}
.Remarque 2.8 Si
w
est un mot réduità une lettre, la seule lettre du motw
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 notationtype(v)
désignetoujours un unique élément.Remarque 2.9 Letype d'unepositionpeut être dénien utilisantlesformules du premierordre
pre
etder
déniesdansl'exemple2.4. Parexemple,une positiond'un motw
est de typemil
siet seulementsi ellesatisfaitla formuleà une variablelibre quel'on notemil(x)
et quiest déniepar¬der(x) ∧ ¬pre(x)
.Dénition 2.12 Unautomate bidire tionnelsurlesmots,ou un
2NFA
estunquin- tuplet(Q, Σ, I, F, δ)
oùQ
est un ensemble ni d'états,Σ
est un alphabet,I ⊆
Q
est un sous-ensemble deQ
appelé ensemble des états initiaux,F ⊆ Q
est unsous-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 deA
surw
est un ouple(q, i)
oùq ∈ Q
orrespond à l'état de ontrole eti ∈ [n]
donne la position de la tête de le ture. Une onguration initiale deA
surw
est une onguration deI × {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 deA
surw
est une onguration deF × {n}
, 'est-à-dire une onguration telleque latête de le tureest sur ladernière lettredew
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 quek = j − i
,a
est l'étiquette de la lettre à la positioni
et telle queθ = pre
sii = 1
,θ = der
sii = n
ettype = mil
sinon. Une exé ution deA
surw
est une suite de ongurations su essivesc1
−→ c2· · · −→ cm
. S'il existe une exé ution partant de la ongurationc1
etterminant dans la ongurationcm
, on ditquecm
est a essible àpartir dec1
etinitialet onnote elac1
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, δ)
telsqueI
est un singletonetδ
est une fon tion deQ × Σ × TYPEM
à valeurs dansQ × {−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. SiQ
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
un1NFA
, il est très fa ile de onstruire un2NFA 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 deA
qui luipermettentd'atteindre unétat nal.Nousverronsave lethéorème 2.9de lase tionsuivantequeles2NFA
etles1NFA
re onnaissent en fait les mêmeslangages.Exemple 2.13 Soit
Σ
un alphabet, nous dénissons un2DFA A4
qui re onnaît le langage(Σ
6)∗
par ourtlemot dansl'autresens etvériequesalongueurestdivisiblepar
3
.Enn, sila longueur du mot est bien divisible par2
et par3
, l'automate retourne à la n du mot et a epte.On pose ainsi
A4
= ({q0, q1, q
′
0, q′1, q2′, qf}, Σ, q0, {qf}, δ)
oùδ
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'étatq0
etsetermineà lan du mot dans l'étatqf
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
lettresNousverronsave lethéorème2.9quelesautomates bidire tionnelsontlemême pouvoir d'expression que les automates unidire tionnels. Etant donné un
2DFA
, il est possible de onstruire un1NFA
é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 tionnelA1
enun automateunidire tionnelA2
équivalent.L'idéede ettetransformationest lasuivante.Pour haquepositioni
d'unmotw1· · · 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àlapositioni
dans l'étatq
etterminantà lapositioni
dansl'étatq′
tellesque