Automaták mint elfogadók (akceptorok) Ha egy iniciális Moore-automatában a kimenőjelek halmaza csupán kételemű: {elfogadom, nem fogadom el}, és az utolsó kimenőjel dönti el azt a kérdést, hogy elfogadható-e az input szó, akkor ez az automata nyelvek definiálására válik alkalmassá. A µ függvényt ebben az esetben az elfogadom elem ősképe is definiálhatja. Ez jelenik meg a következő definícióban: 1
Definíció Rabin Scott-automata Az A = A, a 0, X, δ, A F rendezett ötöst Rabin Scott-automatának nevezzük, ahol A az állapotok nem üres halmaza, a 0 A a kezdő állapot, X a bemenőjelek nem üres halmaza (ábécéje), δ : A X A az átmeneti függvény, A F A a végállapotok halmaza. Végállapot: egy elfogadható szó hatására az automata egy ilyen állapotba kerül. 2
Definíció Azt mondjuk, hogy az A = A, a 0, X, δ, A F Rabin Scott-automata elfogadja a P X szót, ha az automata a P bemenő szó hatására a kezdő állapotból egy végállapotba jut, azaz ha δ(a 0, P ) A F. Egy A automata által elfogadott szavak nyelvét az automata által felismert nyelvnek nevezzük, és L A -val jelöljük, azaz L A {P P X és δ(a 0, P ) A F }. 3
Definíció Nemdeterminisztikus Rabin Scott-automata Az A = A, A 0, X, δ, A F rendezett ötöst nemdeterminisztikus Rabin Scott-automatának nevezzük, ahol A az állapotok nem üres halmaza, A 0 A a kezdő állapotok halmaza, X a bemenőjelek nem üres halmaza (ábécéje), δ : A X 2 A a nemdeterminisztikus átmeneti függvény, A F A a végállapotok halmaza. Végállapot: egy elfogadható szó hatására az automata tud úgy működni, hogy egy ilyen állapotba kerül. Ha A 0 = 1 és δ(a, x) = 1 minden a A és x X esetén, akkor az automata megfeleltethető egy determinisztikus automatának. 4
Az automata az a állapotból az x jel hatására a δ(a, x) állapothalmaz állapotaiba mehet át. A δ függvény kiterjesztése A X-ről 2 A X-re: δ(b, x) = δ(a, x) B A, x X. a B Az automata a B állapothalmaz állapotaiból az x jel hatására a δ(a, x) állapothalmaz állapotaiba mehet át. A δ függvény kiterjesztése 2 A X-ről 2 A X -ra: ˆδ(B, e) = B, ˆδ(B, P x) = δ(ˆδ(b, P ), x), B A, x X, P X. Az automata a B állapothalmaz állapotaiból a P ˆδ(B, P ) állapothalmaz állapotaiba mehet át. szó hatására a 5
Definíció Azt mondjuk, hogy az A = A, A 0, X, δ, A F nemdeterminisztikus Rabin Scott-automata elfogadja a P X szót, ha az automata tud úgy működni, hogy a P bemenő szó hatására a kezdő állapotok valamelyikéből egy végállapotba jut, azaz ha ˆδ(A 0, P ) A F. Egy A automata által elfogadott szavak nyelvét az automata által felismert nyelvnek nevezzük, és L A -val jelöljük, azaz L A {P P X és ˆδ(A 0, P ) A F }. 6
Definíció Két Rabin Scott-autmatát ekvivalensnek nevezzük, ha az általuk elfogadott nyelvek megegyeznek. Tétel Tetszőleges nemdeterminisztikus Rabin Scott-automatához van vele ekvivalens determinisztikus Rabin Scott-automata Bizonyítás Ha a nemdeterminisztikus automata A = A, A 0, X, δ, A F, akkor az A = 2 A, A 0, X, δ, {B B A, B A F } automata egy determinisztikus Rabin Scott-automata, továbbá L A = L A. 7
Definíció A G = V N, V T, S, H nyelvtant jobbregulárisnak nevezzük, ha szabályai A λ, A a, A ab alakúak, ahol a V T, A, B V N. A jobbreguláris nyelvtan a jobblineáris nyelvtan normálalakjának tekinthető. Tétel Tetszőleges jobblineáris nyelvtanhoz van vele ekvivalens jobbreguláris nyelvtan. Példa Legyen H = {S a, S aa, A bb, A as, B bb, B ba, B b}. Ekkor S aa abb abbb abbba abbbas abbbaa. 8
Analógiát keresve a jobbreguláris nyelvtanok és a Rabin Scott-automaták között a példából leolvasható, hogy a nemterminálisok játsszák az állapotok szerepét. Tétel Tetszőleges G reguláris nyelvtanhoz megadható olyan A nemdeterminisztikus, véges állapotú Rabin Scott-automata, amely a nyelvtan által generált nyelvet fogadja el. Bizonyítás Legyen G = V N, V T, S, H egy jobbreguláris nyelvtan. Legyen A = V N { }, A 0 = {S}, X = V T, A F = { } {B B λ} és δ(b, x) = {C C V N és B xc, vagy C = és B x}. Bizonyítható, hogy S P B (P VT, B V N) pontosan akkor teljesül, ha B ˆδ(S, P ), továbbá S P (P VT ) pontosan akkor teljesül, ha ˆδ(S, P ), vagy van olyan B V N, hogy B ˆδ(S, P ) és B λ. 9
Tétel Tetszőleges véges állapotú Rabin Scott-automatához van olyan G reguláris nyelvtan, amelyek által elfogadott, illetve generált nyelvek megegyeznek. Bizonyítás Legyen A = A, a 0, X, δ, A F egy tetszőleges, véges állapotú, Rabin Scott-automata. Legyen V N = A, V T = X, S = a 0 H = {a xb δ(a, x) = b} {a λ a A F }. Bizonyítható, hogy δ(a, P ) = b (a, b A, P X ) pontosan akkor teljesül, ha a P b, továbbá δ(a, P ) = b A F pontosan akkor, ha a P. Ezeket a = a 0 - ra alkalmazva: P L A δ(a 0, P ) A F S = a 0 P P L(G). 10
Környezetfüggetlen Nyelvtanok és (nemdeterminisztikus) veremautomaták A (nemdeterminisztikus) véges Rabin Scott-automaták kibővíthetők egy veremmel, ezáltal az állapotok halmaza végtelenné tehető. A veremautomata működése: Az automata egy-egy lépése során beolvas egy jelet, és a verem teteje, a belső állapot és a beolvasott jel függvényében állapotot vált és a verem teteje helyébe egy új szót tesz. Az input jel beolvasása esetleg elmaradhat, ekkor az állapotváltás és a veremtartalom-csere csak a verem tetejének és az állapotnak a függvénye. A veremautomata lépésekre bontott működésének fázisait konfigurációnak nevezzük. A konfiguráció a verem tartalmából, a belső állapotból és az input szó még be nem olvasott részéből álló szó. 11
Kezdetben a verem csak a verem alja jelet tartalmazza, beolvasásra kész a teljes input szó, s a veremautomatához tartozó véges automata a kezdő állapotában van. A lépést meghatározó átmeneti függvény nemdeterminisztikus, azaz a következő lépés nem feltétlenül egyértelmű. Az input szót az automata most is akkor fogadja el, ha tud úgy működni, hogy a szó beolvasásának hatására végállapotba kerül, a verem tartalma közömbös. A kezdő konfiguráció a verem alja jelből mint egybetűs szóból, a kezdeti állapotok egyikéből és a teljes input szóból áll. Innen kell tudni eljutni egy végkonfigurációba, amely egy veremszóból, egy végállapotból és az üres szóból áll. 12
Definíció Veremautomata a következő hetes: A = (Z, A, X, δ, z 0, A 0, A F ), ahol Z veremábécé, A a belső állapotok nem üres és véges halmaza, X a bemenő jelek ábécéje, δ : Z A (X {λ}) 2 Z A a (nemdeterminisztikus) átmeneti függvény, z 0 Z a verem alja jel, A 0 A a veremautomata kezdő állapotai, A F A a veremautomata vég- (vagy elfogadó) állapotai. A δ függvény értékei véges halmazok. Konfigurációk halmaza: Z AX (feltételezés: A (Z X) = ) 13
Definíció Az A veremautomata egy P Z AX konfigurációt egy lépésben átalakít a Q Z AX konfigurációba (jelekben: P Q), ha van olyan x X, z Z, a, b A, valamint W 1, W 2 Z, R X, hogy a következő összefüggések valamelyike fennáll: (a) P = W 2 zaxr, Q = W 2 W 1 br és (W 1, b) δ(z, a, x) (b) P = W 2 zar, Q = W 2 W 1 br és (W 1, b) δ(z, a, λ). A W 2 szó a z betűvel alkotja a verem tartalmát (z a verem teteje), a a pillanatnyi állapot, x az input szó soron következő és beolvasásra kerülő betűje, R (az esetleges x betűvel) az input szó még be nem olvasott része, W 1 a verem teteje helyébe kerülő szó. 14
Definíció A veremautomata által elfogadott nyelv: L A = {R X z 0 a 0 R W a valamely W Z, a 0 A 0 és a A F esetén.} Tétel A környezetfüggetlen nyelvek osztálya egybeesik a veremautomaták által elfogadott nyelvek osztályával. Definíció Amennyiben az átmeneti függvény determinisztikus, azaz δ : Z A X Z A, akkor a veremautomatát determinisztikusnak nevezzük. Tétel A determinisztikus veremautomaták által elfogadott nyelvek osztálya valódi részosztálya a nemdeterminisztikus veremautomaták által elfogadott nyelvek osztályának. 15
Mondatszerkezetű Nyelvek és a Turing-gépek A Turing-gép egy potenciálisan végtelen szalagmemóriával és egy íróolvasó fejjel ellátott véges automata. A szalagmemória pozíciókra van osztva, s minden egyes pozíció mint memória-egység az úgynevezett szalagábécé pontosan egy betűjének tárolására képes. Kezdetben a Turing-gép egy specifikált kezdőállapotában van, a szalagon egy véges hosszúságú startszó helyezkedik el, s az író-olvasó fej a startszó első betűjén áll. A startszó előtti és utáni (végtelen sok) szalagpozíció egy speciális betűvel, a szóközzel van feltöltve. A Turing-gép egy elemi operációja az író-olvasó fej alatti betű olvasásából, ezen betű felüĺırásából, a belső állapot változtatásából, s az íróolvasó fej egy pozícióval való balra vagy jobbra mozgatásából, vagy éppen a fej helybenhagyásából áll. Amennyiben a Turing-gép eljut egy végállapotba, megáll. 16
Definíció A Turing-gép egy rendezett hatos: M = (A, a 0, X,, A F, µ), ahol A a gép belső állapotainak (véges) halmaza, a 0 ( A) a kezdő állapot, X a szalagábécé, ( X) a szóköz betű, A F ( A) a végállapotok halmaza, µ : (A \ A F ) X A X {Bal, Jobb, Helyben} a gép nem feltétlenül mindenütt értelmezett mozgásfüggvénye. 17
µ: aktuális állapot, író-olvasó fej alatti jel új állapot, a szalagjelet felüĺıró szimbólum (mely nem feltétlen különböző a felüĺırt szimbólumtól), az elmozdulás iránya. Konfigurációk halmaza: X AX \ ( { }X AX X AX { } ) Feltételezés: A X =. Definíció Az M Turing-gép egy P konfigurációt egy lépésben átalakít a Q konfigurációba (jelekben: P Q), ha van olyan a, b A, x, y, z X, R, S X, valamint j, k N 0, hogy a következő összefüggések valamelyike fennáll: a) P = RxayS, µ(a, y) = b, z, Jobb, j Q k = RxzbS b) P = RxayS, µ(a, y) = b, z, Helyben, j Q k = RxbzS c) P = RxayS, µ(a, y) = b, z, Bal, j Q k = RbxzS 18
Definíció Az M Turing-gép által elfogadott nyelv: L M = {P X a 0 P QaR, ahol a A F } Tétel A Turing-gépek által elfogadott nyelvek osztálya megegyezik a mondatszerkezetű nyelvek osztályával. A korábbi automatákhoz hasonlóan definiálható a nemdeterminisztikus Turing-gép, és az általa elfogadott nyelv. Téetel A nemdeterminisztikus Turing-gépek által elfogadott nyelvek osztálya megegyezik a mondatszerkezetű nyelvek osztályával. 19
Környezetfüggő Nyelvek és a Lineárisan Korlátolt Automaták Ha kikötjük, hogy a nemdeterminisztikus Turing-gép működése során legfeljebb egy konstansszor annyi szalagpozíciót használjon, mint a startszó hossza, a lineárisan korlátolt automata fogalmához jutunk. Tétel A környezetfüggő nyelvek osztálya egybeesik a lineárisan korlátolt automaták által elfogadott nyelvek osztályával. Megjegyzés Mindezideig nevezetes megoldatlan probléma, hogy a determinisztikus lineárisan korlátolt automaták által felismert nyelvek osztálya valódi részosztálya-e a nemdeterminisztikus lineárisan korlátolt automaták által felismert nyelvek osztályának. 20
Megjegyzés Igazolható az is, hogy a lineárisan korlátolt automata alkalmas átdefiniálásával elérhető, hogy működése során legfeljebb annyi szalagpozíciót vegyen igénybe, mint a startszó hossza, s ugyanakkor az általa elfogadott nyelv egybeessék az eredeti lineárisan korlátolt automata által elfogadott nyelvvel. 21
Turing-gép mint jelátalakító Azt mondjuk, hogy az M = (A, a 0, X,, A F, µ) Turing-gép megáll a P X kezdő szóra, ha vannak olyan Q, R V szavak és a A F végállapot, hogy a 0 P QaR. Ekkor azt is mondhatjuk, hogy a Turing-gép a P szóhoz előálĺıtja a QR X szót. Így egy Turing-gép egy parciális, alfabetikus leképezést definiál, más szavakkal a Turinggép kiszámít egy parciális, alfabetikus függvényt. Az embereknek van valamilyen elképzelésük (intuíciójuk) a tényleges (effektív) kiszámíthatóságról. A következő tézis egy intuitív álĺıtást kapcsol össze egy egzakt álĺıtással: Church-tézis Minden olyan parciális függvény, amely effektíve kiszámítható, Turing-géppel is kiszámítható. 22
Probléma osztályok és megoldhatóságuk A Turing-gép egy input szóhoz igen-nem választ is rendelhet (pl. a QR kimenet tartalmaz-e szóközt vagy nem). Ilyen módon is definiálható nyelv. Definíció Egy V ábécé feletti nyelvet (V egy részhalmazát) rekurzívnek nevezünk, ha van olyan igen-nem válaszokat adó Turing-gép, amely a V minden elemére megáll, és a válasz pontosan akkor igen, ha a szó eleme a nyelvnek. rekurzíve felsorolhatónak nevezünk, ha van olyan igen-nem válaszokat adó Turing-gép, amely a nyelv minden elemére megáll igen válasszal, és ha egy nyelven kívüli elemre megáll, akkor a válasz nem. 23
Tétel A környezetfüggő (és így a környezetfüggetlen és a reguláris) nyelvek rekurzív nyelvek. A mondatszerkezetű nyelvek rekurzíve felsorolhatók. Probléma osztály nak nevezünk egy olyan halmazt, amelyhez van olyan V ábécé, amely segítségével az osztály minden eleme (nem feltétlenül egyértelműen) megfogalmazható, azaz létezik V -nak a problémaosztályra való leképezése, továbbá az osztály minden eleméhez tartozik egy-egy logikai érték. Az igaz értékű problémák halmazának ősképe egy részhalmaza V -nak, azaz egy nyelv. A probléma osztályt megoldhatónak nevezzük, ha ez a nyelv rekurzív, illetve parciálisan megoldhatónak, ha ez a nyelv rekurzíve felsorolható. 24
Egy probléma osztály pl. a Turing-gépek megállása: Adott egy Turing-gép és egy input szó. Vajon megáll-e a Turing-gép erre a szóra. Ez a probléma osztály nem megoldható, de parciálisan megoldható. A parciális megoldhatóság igazolása: Vajon létezik-e univerzális Turing-gép, olyan Turing-gép, amely tetszőleges Turing-gépet önmagát is beleértve képes szimulálni. Erre a válasz: igen. Az univerzális Turing-gép kimenete legyen mindig igen. Ez a Turing-gép egy rekurzíve-felsorolható nyelvet definiál, éppen a szükséges ősképet. Köszönöm a figyelmet 25