Automaták mint elfogadók (akceptorok)



Hasonló dokumentumok
A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Algoritmuselmélet 12. előadás

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Turing-gép május 31. Turing-gép 1. 1

A digitális számítás elmélete

Számításelmélet. Második előadás

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Formális nyelvek - 9.

Atomataelmélet: A Rabin Scott-automata

A Turing-gép. Formális nyelvek III.

9. előadás Veremautomaták 1.

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

6. előadás A reguláris nyelvek jellemzése 2.

Chomsky-féle hierarchia

Automaták és formális nyelvek

6. előadás A reguláris nyelvek jellemzése 2.

A Számítástudomány alapjai

Logika és számításelmélet. 10. előadás

Véges automaták, reguláris nyelvek

Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2)

Deníciók és tételek a beugró vizsgára

ZH feladatok megoldásai

Feladatok. 6. A CYK algoritmus segítségével döntsük el, hogy aabbcc eleme-e a G = {a, b, c}, {S, A, B, C}, P, S nyelvtan által generált nyelvnek!

Formális nyelvek és automaták előadások

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

Chomsky-féle hierarchia

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

6. előadás Környezetfüggetlen nyelvtanok/1.

ALGEBRAI NYELV- ÉS KÓDELMÉLET. Babcsányi István

NP-teljesség röviden

Formális nyelvek - 5.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1.

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

5. A kiterjesztési elv, nyelvi változók

Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai,,. (rek. definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv. L nyelv lezártja.

Formális Nyelvek és Automaták v1.9

Formális Nyelvek - 1. Előadás

Nyelvek és automaták augusztus

Csempe átíró nyelvtanok

Fogalomtár a Formális nyelvek és

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant!

Diszkrét matematika 2. estis képzés

Kiterjesztések sek szemantikája

KOVÁCS BÉLA, MATEMATIKA I.

Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat.

Az informatika elméleti alapjai 2 elővizsga december 19.

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21

Formális nyelvek és automaták

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

KOVÁCS BÉLA, MATEMATIKA I.

(2004) by Data parancsnok Based on (not so much auditted) lectures of Dr. Radelecki Sándor

Gy ur uk aprilis 11.

Diszkrét matematika 2.C szakirány

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

Számításelmélet. Will június 13. A kiszámíthatóság fogalma és a Church-Turing tézis

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz VIII. Friedl Katalin BME SZIT március 18.

Budapesti M szaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék INFORMATIKA 2 AUTOMATÁK ÉS NYELVEK.

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK. LABORGYAKORLATOK

Algoritmusok bonyolultsága

Turing-gépek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT augusztus 16.

Formális Nyelvek és Automaták Dömösi, Pál Falucskai, János Horváth, Géza Mecsei, Zoltán Nagy, Benedek

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Határérték. prezentációjából valók ((C)Pearson Education, Inc.) Összeállította: Wettl Ferenc október 11.

Leképezések. Leképezések tulajdonságai. Számosságok.

Diszkrét matematika 2. estis képzés

Számításelmélet Tamás Herendi

Matematikai logika és halmazelmélet

MintaFeladatok 2.ZH Megoldások

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Számítógép és programozás 2

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Átlátható veremautomaták és nyelvek

Rekurzió. Dr. Iványi Péter

Algoritmusok helyességének bizonyítása. A Floyd-módszer

KOVÁCS BÉLA, MATEMATIKA I.

Számítógép és programozás 2

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Példák. Ismert a római számok halmaza, amely intuitív szintaxissal rendelkezik, hiszen pl.

Nagy Gábor compalg.inf.elte.hu/ nagy

Matematika szigorlat június 17. Neptun kód:

MintaFeladatok 2.ZH Megoldások

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Matematika (mesterképzés)

Formális Nyelvek és Automaták. Dömösi, Pál Falucskai, János Horváth, Géza Mecsei, Zoltán Nagy, Benedek

Programozási módszertan

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

A PÁRHUZAMOSSÁG VIZSGÁLATA A KLASSZIKUS FORMÁLIS NYELVEKHEZ KAPCSOLÓDÓAN. Nagy Benedek Debreceni Egyetem Informatikai Kar Számítógéptudományi Tanszék

Logika es sz am ıt aselm elet I. r esz Logika Harmadik el oad as 1/33

ALGEBRAI AUTOMATAELMÉLET

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat

HALMAZELMÉLET feladatsor 1.

17. előadás: Vektorok a térben

15. LINEÁRIS EGYENLETRENDSZEREK

Dicsőségtabló Beadós programozási feladatok

Átírás:

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