Atomataelmélet: A Rabin Scott-automata



Hasonló dokumentumok
Automaták mint elfogadók (akceptorok)

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:

Automaták és formális nyelvek

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

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

ZH feladatok megoldásai

Chomsky-féle hierarchia

Formális nyelvek - 9.

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

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!

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

Chomsky-féle hierarchia

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

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

Formális nyelvek és automaták

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

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

Formális nyelvek - 5.

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

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

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

Formális nyelvek és automaták

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

NP-teljesség röviden

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

Véges automaták, reguláris nyelvek

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

Formális nyelvek és automaták

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

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

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

Teljes visszalépéses elemzés

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

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

3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

Informatika szigorlat. A lexikális elemző feladatai közé tartozik a whitespace karakterek (a

A tananyag a TÁMOP A/1-11/ számú projekt keretében készült.

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

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

Formális nyelvek és automaták

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

A tananyag a TÁMOP A/1-11/ számú projekt keretében készült.

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

A Számítástudomány alapjai

A TANTÁRGY ADATLAPJA

KOVÁCS BÉLA, MATEMATIKA I.

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

Csempe átíró nyelvtanok

Programozási módszertan

Matematikai logika. 3. fejezet. Logikai m veletek, kvantorok 3-1

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

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

MintaFeladatok 2.ZH Megoldások

Csima Judit október 24.

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


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

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

Formális nyelvek Második, javított kiadás

7. előadás Környezetfüggetlen nyelvtanok

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

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

Algoritmuselmélet 12. előadás

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

Fordítóprogramok (A,C,T szakirány) Feladatgy jtemény

KOVÁCS BÉLA, MATEMATIKA I.

XML ÉS FÉLIG-STRUKTURÁLT ADATBÁZISOK FÜGGŐSÉGEI

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.


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

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

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

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

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.

Alap fatranszformátorok II

HALMAZELMÉLET feladatsor 1.

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

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

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

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

Adatbázisok elmélete 12. előadás

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

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

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

akonyv 2006/12/18 11:53 page i #1 Formális nyelvek és fordítóprogramok

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

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet)

12. előadás - Markov-láncok I.

2009/2010/I. félév, Prof. Dr. Galántai Aurél BMF NIK IMRI Budapest november 25.

First Prev Next Last Go Back Full Screen Close Quit

2. Logika gyakorlat Függvények és a teljes indukció

KOVÁCS BÉLA, MATEMATIKA I.

ALGEBRAI AUTOMATAELMÉLET

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

Nyelvek és automaták augusztus

AUTOMATÁK ÉS FORMÁLIS NYELVEK PÉLDATÁR

Diszkrét matematika 1.

Átírás:

A 19. óra vázlata: Atomataelmélet: A Rabin Scott-automata Az eddigieken a formális nyelveket generatív szempontból vizsgáltuk, vagyis a nyelvtan (generatív grammatika) szemszögéből. A generatív grammatika egy olyan eszköz, amely bizonyos szabályok megtartásával előállítja az L nyelvet. Elvileg sorra vehető az összes lehetséges helyettesítés (persze ezek általában végtelenül sokan vannak, de sorravehetők), és listába lehet szedni az összes így legyártott terminális sorozatot: ezek alkotják a generált nyelvet. Az automataelmélet ezzel szemben akceptív megközelítést tükröz: az automata egy olyan eszköz, amely egy terminális sorozatot olvas (megállapodás szerint balról jobbra, bár ennek különösebb jelentősége nincsen), majd valamilyen módon közli, hogy a sorozatot elfogadta-e vagy sem. (Accept/reject válasz.) Az automaták különfélék, és az osztályozás során figyelembe vesszük, hogy képesek-e belső feljegyzéseket készíteni, determinisztikusak-e avagy sem (működésük egy állapottól és egy beolvasott terminális jeltől függ, de ekkor meghatározott avagy meg van-e engedve a számukra, hogy a leírt helyzeten többféleképpen, véletlenszerűen döntsenek); illetve, hogy belső feljegyzéseik terjedelme korlátozott-e vagy sem. E szempontok szerint különféle automataosztályok alakulnak ki, amelyek párhuzamba lesznek állíthatók a Chomsky-féle nyelvosztályokkal. Egy automata által elfogadott terminálissorozatok összességét az automata nyelvének nevezzük. Az első automataosztály, amelyet vizsgálni fogunk, a Rabin Scott-automata, amely egy véges belső állapottérrel rendelkező, feljegyzéseket készíteni nem képes automataosztály. Látni fogjuk, hogy a

Rabin Scott-automaták által elfogadott nyelvek összessége éppen a reguláris nyelvek (Chomsky-féle 3- as) osztálya. A determinisztikus Rabin Scott-automata egy (A, T, f, S, V) algebrai struktúra, amelyben A véges halmaz: az automata állapottere T véges halmaz: a terminális jelek ábécéje f: AT A függvény: az automata átmenetfüggvénye S A kitüntetett állapot: az automata kezdő- (avagy iniciális) állapota V A halmaz: az automata végállapotainak halmaza Az automata működése kezdetén az S állapotban van, és a beolvasandó terminálissorozat első pozícióján áll. Egy működési lépés alatt azt értjük, hogy ha az automata valamely B A állapotban van, és a jelsorozatból éppen egy x T jelet olvas, akkor az f(b, x) állapotba kerül, és a jelsorozat következő jelére lép. Amikor a jelsorozat véget ért, meg kell vizsgálni, hogy az automata mely állapotban van. Tételezzük fel, hogy ez a Z A állapot. Ha pedig Z V, akkor azt mondjuk, hogy az automata a jelsorozatot elfogadta, ha Z V, akkor azt mondjuk, hogy az automata a jelsorozatot elutasította. Az elmondottakból következik, de kiemeljük, hogy az automata pontosan akkor fogadja el a -t, ha S V. Lássunk ekkor egy konkrét Rabin Scott-automatát!

Az automata állapottere az A = {S, B, C, D} halmaz. Terminális ábécéje a T = {x, y, z} halmaz. Iniciális állapota az S állapot. Az ábrán ezt a semmiből bejövő nyíl jelzi. Az automata végállapothalmaza a V = {D} halmaz (ennek az automatának egyetlen végállapota van), amit az ábrán a dupla falú kör jelez. Az automata f átmenetfüggvénye a nyilak felirataiból is kiolvasható, de táblázatba foglalva az alábbi: f x y z S B S S B S C S C S S D D D D D Szavakkal: az automata az S állapotból az x jel beolvasásának hatására a B állapotba kerül, y vagy z olvasására az S állapotban marad. A többi állapothoz tartozó diagramrészlet (illetve f-táblázat) hasonlóképpen olvasható. Rövid próbálgatás után meggyőződhetünk arról, hogy ez az automata éppen az L = {pxyzq p, q T* & p rx & p rxy} nyelvet fogadja el. (Olyan pxyzq alakú

mondatokat, amelyekben p nem végződhet sem x-re, sem xy-ra.) Ha az lett volna a feladat, hogy készítsünk reguláris grammatikát ennek az L nyelvnek, akkor (alighanem) az alábbi megoldással rukkoltunk volna elő: S xb ys zs B xs yc zs C xs ys zd D xd yd zd D Az automata és a nyelvtan közötti kapcsolatról a következőket mondhatjuk: Az automata és a nyelvtan terminális ábécéje azonos (T). Az automata állapotai megfelelnek a nyelvtan nemterminálisainak. Az automata iniciális állapota (S) a nyelvtan mondatszimbóluma. Ha az automatában f(x, x) = Y fennáll, akkor a nyelvtanban fellép egy X xy helyettesítési szabály. Ha az automatában X V, akkor a nyelvtanban fellép egy X helyettesítési szabály. Azt az eddigiek alapján meg tudjuk állapítani, hogy ezzel az algoritmussal minden Rabin Scottautomatához készíthető egy reguláris grammatika, azzal a tulajdonsággal, hogy ha az automata elfogad egy p jelsorozatot, akkor az a grammatikában levezethető lesz. Vagyis: Minden determinisztikus Rabin Scott-automatához található egy vele ekvivalens reguláris nyelvtan.

Jó volna, ha minden reguláris grammatikához úgyszintén található lenne egy vele ekvivalens determinisztikus Rabin Scott-automata. De mi hiányzik ehhez? Két problémát észlelünk: 1. A reguláris grammatikákban nemcsak az X xy és az X alakú szabályok a megengedettek, hanem az X x alakúak is. 2. Semmi sem zárja ki egy reguláris grammatikában, hogy egy X xy alakú szabály mellett egy X xz szabály is ott legyen. Márpedig azt mondtuk, hogy a determinisztikus Rabin Scott-automatában f függvény, amit másképpen úgy is fogalmazhatunk, hogy alakú részlet nem lehet az automata ábrájában. Az első probléma kiküszöbölésére bevezetünk egy eddig nem használt W nemterminálist, és minden X x alakú szabályt helyettesítünk a következő két szabállyal: X xw és W. A második probléma viszont ilyen kiküszöböléssel nem hárítható el; egy teljesen általános reguláris nyelvtan egy nemdeterminisztikus Rabin Scott-automatának fog megfelelni.

A nemdeterminisztikus Rabin Scott-automata egy (A, T, R, S, V) algebrai struktúra, amelyben A véges halmaz: az automata állapottere T véges halmaz: a terminális jelek ábécéje R ATA reláció: az automata átmenetrelációja (!) S A kitüntetett állapot: az automata kezdő- (avagy iniciális) állapota V A halmaz: az automata végállapotainak halmaza Az automata működése kezdetén az S állapotban van, és a beolvasandó terminálissorozat első pozícióján áll. Egy működési lépés alatt azt értjük, hogy ha az automata valamely B A állapotban van, és a jelsorozatból éppen egy x T jelet olvas, akkor egy olyan C állapotba kerül, amelyre (B, x, C) R fennáll, és a jelsorozat következő jelére lép. Hogy az ilyen formán megengedett C állapotok közül melyiket választja, azt az automata (véletlenszerűen) dönti el. Azt mondjuk, hogy az automata a p T* mondatot elfogadta, ha az automata működhet úgy, hogy a p elolvasása után végállapotban legyen. Az eddigiekből világos tehát, hogy minden reguláris grammatikának megfeleltethető egy nemdeterminisztikus Rabin Scott-automata. Szerencsére ez nem veszteség, mert mint látni fogjuk minden nemdeterminisztikus Rabin Scott-automatához konstruálható vele elfogadás szempontjából ekvivalens determinisztikus Rabin Scott-automata, és ezzel a reguláris nyelvtanok és a determinisztikus Rabin Scottautomaták ekvivalenciája biztosítva lesz. Innen folytatjuk a következő órán.