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