Next: About this document ...
Kétirányú automaták
Kétirányú automata: ugyanolyan, mint az
eddig megszokott véges automata,
annyi különbséggel, hogy a
átmeneti függvény egy állapotból
és egy karakterből álló párhoz egy új állapotot
és egy irányt
(
)
rendel, az
irány szerint lép az automata balra, jobbra vagy
semerre (és persze megy át az új állapotba).
Lehet nem determinisztikus is, most azonban nézzünk egyenlőre csak
determinisztikusakat. Rövitítés: 2VA.
Állítás: A kétirányú automaták sem erősebbek mint az
egyirányúak, azaz
ugyanazokat a nyelveket ismerik fel mint az eddigi 1VA-k.
1. feladat Az s irány, azaz a semerre-se-lépés
elhagyása nem gyengíti az automatát.
Első ötlet: Szimuláljuk a 2VA-t egyirányúval a
következő módon.
Amíg előre lépked a 2VA, addig menjünk mi is vele, ha visszafele
indulna, akkor mi álljunk meg és várjuk meg amíg visszatér.
Ha visszatért, akkor
vegyük fel mi is újra a fonalat.
2. feladat Igaz-e, hogy mindig visszatér?
Mi van ha nem tér vissza? Baj-e ez? Mi legyen ekkor?
Második ötlet: Ne várjuk meg amíg visszatér
(pláne, mert lehet, hogy nem is tér vissza), hanem tegyük fel, hogy
valaki megmondja nekünk, hogy visszajön-e és ha igen, akkor
milyen állapotban?
Ha pl. a 2VA egy (R,a) párra
a (Q,l) párral válaszol, tehát elindul visszafelé, akkor az a valaki
megmpndja nekünk, hogy ehhez az állapothoz
milyen visszatérő állapot tartozik (mondjuk ez P)
és ekkor a szimulációt a
P állapotból folytatuk, azaz a megnézzük,
hogy a 2VA mit tesz a (P,a) párra. (Megjegyzés: ezt az információt,
amit ez a valaki tud, úgy nevezzük, hogy ismerjük a visszatérési falat.)
3. feladat Mi van ha a (P,a) pár hatására
a 2VA újra visszafele indul ismét? Meddig mehet ez a hátra-előre
lépegetés?
Mi lesz az 1VA új állapota, mikor végre lelép arról a fránya a-ról,
azaz milyen állapot tartozik majd az (R,a) párhoz az 1VA-ban?
Harmadik ötlet Az aktuális
visszatérési falat mi is nyilván tudjuk tartani magunknak,
nem kell kérdezgetni senkit.
4.feladat Hányféle visszatérési fal lehetséges?
5. feladat
Mi a kezdőfal?
6. feladat
Ha a 2VA egy a-n áll most és a fej mögött a
v.f. van,
hogyan határozzuk meg a következő falat, azt ami mögé az a-t
átlépve kerül az 1VA?
7.feladat
Mit kell az 1VA állapotába belekódolni (két dolgot)?
Mi lesz a kezdőállapot és
mik lesznek a végállapotok?
Hogy számolom az 1VA
függvényét?
8. feladat Mi van, ha az eredeti 2VA nemdeterminisztikus volt?
(Tipikus szigorlati kérdés...)
A fentiek értelmében, hogyan néz ki ez a 2VA egyirányúsítva?
Kezdőállapot az S, elfogadó állapotok az S és a P.
Next: About this document ...
Judit Csima
2000-02-29