MintaFeladatok 1.ZH Megoldások

Hasonló dokumentumok
MintaFeladatok 1.ZH Megoldások

MintaFeladatok 2.ZH Megoldások

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

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!

Chomsky-féle hierarchia

Chomsky-féle hierarchia

MintaFeladatok 2.ZH Megoldások

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

Formális nyelvek - 5.

Feladatok. BNF,EBNF,szintaxisgráf

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

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

Automaták és formális nyelvek

Teljes visszalépéses elemzés

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

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

I/A. Az alkalmazottak adatai

Formális nyelvek és automaták

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

Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged

1. Reguláris kifejezések illeszkedése

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

A Magyar Nemzeti Bank elnökének 19/2012. (X. 4.) MNB rendelete

Tárgyév adata december 31. Tárgyév adata december 31. A tétel megnevezése

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

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:

Az 1. forduló feladatainak megoldása

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

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

Németh László Matematikaverseny április 16. A osztályosok feladatainak javítókulcsa

Formális nyelvek előadások tavaszi félév

ZH feladatok megoldásai

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

A Számítástudomány alapjai

Adatkezelési és adatvédelmi szabályzat

1.. NAPIREND Ügyiratszám: /2012. ELŐTERJESZTÉS a Képviselő-testület november 30.-i nyilvános ülésére

Célterület adatlap. I. Fogalom magyarázat. II. Támogatás vehető igénybe. III. Támogatás mértéke. növelése

1. megold s: A keresett háromjegyű szám egyik számjegye a 3-as, a két ismeretlen számjegyet jelölje a és b. A feltétel szerint

5. előadás. Skaláris szorzás

a védelmi feladatokban részt vevő elektronikus hírközlési szolgáltatók kijelöléséről és felkészülési feladataik meghatározásáról

ELŐTERJESZTÉS A Képviselő-testület május 16-i ülésére

Algoritmuselmélet 7. előadás

Célterület adatlap. Szolgáltatáscsomag: azonos tevékenység, téma köré szerveződő szolgáltatások összekapcsolt halmaza.

2015. évi Bolyai János Megyei Matematikaverseny MEGOLDÁSI ÉS ÉRTÉKELÉSI ÚTMUTATÓ 9. osztály

HIVATALOS ÉRTESÍTÕ. 51. szám. A MAGYAR KÖZLÖNY MELLÉKLETE június 28., hétfõ. Tartalomjegyzék. III. Utasítások, jogi iránymutatások

9. előadás Környezetfüggetlen nyelvek

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

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

.../2007. (...) Korm. rendelete. az építésüggyel kapcsolatos egyes kormányrendeletek módosításáról

Megoldások, megoldás ötletek (Jensen-egyenlőtlenség)

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

Kiképzési Szabályzat

Középszintű érettségi feladatsorok és megoldásaik Összeállította: Pataki János; dátum: november. I. rész

Szentendre Város Önkormányzat Képviselő- testületének. /2013. (.) önkormányzati rendelete

212/2010. (VII. 1.) Korm. rendelet. az egyes miniszterek, valamint a Miniszterelnökséget vezető államtitkár feladat- és hatásköréről (KIVONAT)

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:

. NAPIREND Ügyiratszám: /2012.

8/2014. (X.10.) KLIK elnöki utasítás


Klasszikus algebra előadás. Waldhauser Tamás április 28.


Nyugat-magyarországi Egyetem Geoinformatikai Kara. Prof. Dr. Závoti József. Matematika III. 1. MA3-1 modul. Kombinatorika

Automaták mint elfogadók (akceptorok)

PRA/282000/M. SMART - HENGER Beépített szeleppel és érzékel vel PRA/282000/M Kétoldali m ködés Ø mm

Megoldások. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

SZÉP-COMP KERESKEDELMI ÉS SZOLGÁLTATÓ BETÉTI TÁRSASÁG

Invitel Távközlési Zrt. Általános Szerződési Feltételek üzleti előfizetők számára nyújtott elektronikus hírközlési szolgáltatásokra

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

hatályos:

Vektoralgebra feladatlap 2018 január 20.

Atomataelmélet: A Rabin Scott-automata

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

Invitel Távközlési Zrt. Általános Szerződési Feltételek üzleti előfizetők számára nyújtott elektronikus hírközlési szolgáltatásokra

MAGYAR KÖZLÖNY 167. szám

Általános Szerződési Feltételek. Internet elérési szolgáltatás nyújtásához. Utolsó módosítás: Hatályos:

Országos Középiskolai Tanulmányi Verseny 2011/2012 Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló - megoldások. 1 pont Ekkor

A B C D EF C D EF C C BF A BC DE F D A E E E E D C C E DC C E E DC C C E D D E A D A E A

XVIII. Nemzetközi Magyar Matematika Verseny

DENINET Üzleti Kommunikációs Kft. Általános Szerződési Feltételek. Internet elérési szolgáltatás nyújtásához

a) a felnőttképzésről szóló évi LXXVII. törvény (a továbbiakban: Fktv.) szerinti felnőttképzést folytató intézményre,

BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI

ZNET-Mikronet Kereskedelmi és Szolgáltató Kft. Általános Szerződési Feltételek

1.2. Kedvezményes lehetőségek a magyar adórendszerben. A munkavállalónak nem kell semmiféle további közterhet fizetnie. Összesen 49,98% közteher.

Diszkrét matematika II. gyakorlat

A FÜGGETLEN RENDŐR SZAKSZERVEZET A L A P S Z A B Á L Y A I. ÁLTALÁNOS RENDELKEZÉSEK

1. Legyen egy háromszög három oldalának a hossza a, b, c. Bizonyítsuk be, hogy Mikor állhat fenn egyenlőség? Kántor Sándorné, Debrecen

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

Megoldókulcs. Matematika D kategória ( osztályosok) február 6.

4) Az ABCD négyzet oldalvektorai körül a=ab és b=bc. Adja meg az AC és BD vektorokat a és b vektorral kifejezve!

Gyakornoki program pályakezdők támogatására - GINOP milliárd Ft

I. ÁLTALÁNOS RENDELKEZÉSEK. 1. A rendelet célja

Hallgatói térítési és juttatási szabályzat

Reguláris kifejezések 1.

Általános szerződési feltételek egyéni előfizetők számára nyújtott Internet és adathálózati szolgáltatásra

HIVATALOS ÉRTESÍTÕ. 56. szám. A MAGYAR KÖZLÖNY MELLÉKLETE július 9., péntek. Tartalomjegyzék. III. Utasítások, jogi iránymutatások

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

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

Egészrészes feladatok

Fogalomtár a Formális nyelvek és

Hálózati folyamok. Tétel: A maximális folyam értéke megegyezik a minimális vágás értékével.

Átírás:

Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) 1. feladat L1 = {ab,ba,b} L2=b*ab* L3 = {a, bb, aba} L1L3 = {aba, abbb, ababa, baa, babb, baaba, ba, bbb, baba} (ab+b)* -ra illő szavak: abbb, babb, bbb L2 szavai 4 hosszig: a, ba, ab, bba, bab, abb, bbba, bbab, babb, abbb L1 U L2 = L2 U {b} vagy reguláris kifejezéssel: b * ab * +b L2 \ L1= {u {a,b}* (l(u) 3 és u=b n ab m n,m 0) vagy u=a} vagy reguláris kifejezéssel: a + b * abb + + b + ab + + b + bab * L2 L1* = L2 \ {a} vagy reguláris kifejezéssel. b + ab * + b * ab + 2. feladat Redukálja az alábbi 2-es típusú nyelvtant: G=<{a,b,c},{S,A,B,C,D,F,K},P,S> P={ S aas AD A acbb aa bd B BA bbf F C aa D bcb ba KK ε F afa BS K ScS ccbc } 1. Aktív nyelvtani jelek meghatározása, majd a nem aktív (zsákutca) nyelvtani jelek kiszűrése. A1={A,D} A2={A,D,S,C} A3={A,D,S,C,K} A4=A3 tehát B és F inaktív, az első lépés után a nyelvtan: P={ S aas AD A aa bd C aa D ba KK K ScS } 2. Elérhető nyelvtani jelek meghatározása (nyelvtan összefüggőségének vizsgálata). R0={S} R1={S,A,D} R2={S,A,D,K} R3=R2 tehát C nem érhető el a kezdőszimbólumból, így a redukált nyelvtan: 1

G=<{a,b,c},{S,A,D,K},P,S> P={ S aas AD A aa bd D ba KK K ScS } 3. feladat ɛ mentesítse a következő 2-es típusú nyelvtant: G=<{a,b,c}, {S,A,B,C,D }, P, S > P={ S aas AD CSC A bb aa B babba BD C AS c D ba } 1. U halmaz meghatározása: U1={A,D} U2={A,D,S} U3={A,D,S,C} U4= U3 2. Az epszilon-mentesített nyelvtan: S szerepel az U halmazban, tehát az üres szó eleme a generált nyelvnek. S ɛ viszont nem vehető fel új szabályként, mert S szerepel a szabályok jobb oldalán is. Így egy új nyelvtani jelet választunk, legyen ez az S, és ez lesz a nyelvtan új kezdőjele. S' szabállyal levezethető az üres szó (S garantáltan nem fordul elő a szabályok jobb oldalán, így a szabály KES szabály), S' S pedig lehetővé teszi az összes egyéb szó levezetését: G=<{a,b,c}, {S,S,A,B,C,D }, P, S > P={ S' S S aas as aa a AD A D CSC CS SC CC C A bb aa B babba bbba BD C AS A S c D ba b } 2

4. feladat Hozza Chomsky normál formára az alábbi ɛ mentes 2-es típusú nyelvtant: G=<{a,b,c}, {S,A,B,C,D }, P, S > P={ S aas D CSC A bb aa C B babba SC C AS D c D ba b } 1. Álterminálisok bevezetése (Ha a szabály nem A t (A N, t T) alakú, átalakítjuk úgy, hogy csupa nemterminális jelből álljon a jobb oldala): P={ S GaAS D CSC A GbB GaGa C B GbABBGa SC C AS D c Gb b} Hosszredukció (a fenti, beszínezett szabályok átalakítása): P={ S GaZ1 D CZ2 A GbB GaGa C B GbZ3 SC C AS D c Gb b Z1 AS Z2 SC Z3 AZ4 Z4 BZ5 Z5 BGa } 2. Láncmentesítés (beszínezett szabályok a láncszabályok): P={ S GaZ1 D CZ2 A GbB GaGa C B GbZ3 SC C AS D c Gb b Z1 AS Z2 SC Z3 AZ4 Z4 BZ5 Z5 BGa } Halmazok felépítése: H1(S)={S} H2(S)={S,D}= H3(S) H(S)= {S,D} H1(A)={A} H2(A)={A,C} H3(A)={A,C,D}= H4(A) H(A)={A,C,D} H(B)={B} H1(C)={C} H2(C)={C,D}= H3(C) H(C)= {C,D} 3

H(D)={D} (Az előző lépésekben felvett új nyelvtani jeleknek biztosan nincs láncszabályuk, így azok halmazait nem is számoljuk ki.) A kapott nyelvtan: G=<{a,b,c}, {S,A,B,C,D,Ga,Gb,Z1,Z2,Z3,Z4,Z5}, P, S > P={ S GaZ1 CZ2 GbA b A GbB GaGa AS c GbA b B GbZ3 SC C AS c GbA b Gb b Z1 AS Z2 SC Z3 AZ4 Z4 BZ5 Z5 BGa } 5. feladat L = ( ε + c + (cab) + c ) ab Kezdjük el hossz szerint felsorolni a nyelv szavait, az első 5 szó: L={ab, cab, cabcab, (cab) 3, (cab) 4 } Ha megfigyeljük a szavak képzésének módját a következő nagyon egyszerű 3-as típusú grammatikát írhatjuk fel a nyelvhez: G=<{a,b,c}, {S,V}, P, S> P={ S ab cab cabv V cabv ɛ} Lássuk be, hogy L(G)=L : L L(G) Triviális: ab és cab szavak egy lépésben megkaphatók S-ből. (cab) n szóhoz pedig 1-szer alkalmazzuk az S cabv, majd (n-1)-szer: V cabv szabályt, ekkor szavunk (cab) n V alakú, majd 1-szer befejezésként V ɛ szabályt, és ezzel megkaptuk a (cab) n szót. L(G) L Ez is könnyen látszik P-ből. S-ből vagy egy lépésben levezetjük az ab és cab szavakat, ezek elemei L-nek, vagy az S cabv majd V cabv szabályokkal hosszabbítjuk a levezetett szót, és befejezzük a levezetést a V ɛ szabállyal, de ekkor jól láthatóan (cab) k alakú szavakat kapunk, amik szintén elemei a nyelvnek. Más alakú szó nem vezethető le a nyelvtannal. Megjegyzések: észrevehető, hogy a reguláris kifejezés egyszerűbben is írható: L= ab + (cab) + amiből szintén hasonló grammatikához jutunk. S cab szabály elhagyható. 4

6. feladat Vezessen le néhány helyes szót az alábbi nyelvtannal! Milyen nyelvet generál az alábbi grammatika! Állítását indokolja! S asbc abc (1) és (2) CB BC (3) ab ab (4) bb bb (5) bc bc (6) cc cc (7) L(G)=? Legrövidebb szó: S abc abc abc Következő: S asbc aabcbc aabcbc ha most bc bc szabállyal folytatjuk, elakad a levezetés, nem juthatunk terminálisokhoz az "aabcbc" mondatformából, így a CB BC csere szabállyal kell folytatni aabbcc aabbcc aabbcc aabbcc Ebből sejthető, hogy a keresett nyelv L={u u=a n b n c n n>0} Indoklás: L L(G) Receptet adunk, hogyan tudjuk előállítani a nyelv tetszőleges szavát: Alkalmazzuk az első szabályt (n-1)-szer és a másodikat 1-szer, ekkor S a n (BC) n alakú a mondatformánk. A (3) szabállyal rendezzük a n B n C n alakba. Most (4) majd (5) szabályokkal cseréljük le a B nyelvtani jeleket a n b n C n, végül (6) és (7) szabályokkal cseréljük le a C nyelvtani jeleket a n b n c n szót előállítottuk. L(G) L Azt kell belátnunk, hogy csak ilyen alakú szavak vezethetők le a grammatikával: világos, hogy csak (1) és (2) szabályok növelik a szó hosszát, és csak (1) ad lehetőséget újabb növelésre, tehát indulásként csak egy a n (BC) n mondatformához juthatunk. B csak 'a' vagy 'b' terminális jobb oldalán cserélhető le, így valamennyi B-nek el kell jutni ebbe a környezetbe. Ez csak úgy lehetséges, hogy közben a C-k átrendeződnek a szó jobb oldalára. C nyelvtani jelektől pedig csak úgy lehet megszabadulni, ha először a 'b' jobb oldalán lévő C-t, majd a többit lecseréljük, (6) vagy (7) szabály korábbi alkalmazása esetén a levezetés elakad, mert B nem tud eljutni a megfelelő környezetbe, így más alakú szavak nem generálhatók a grammatika szabályaival. 5

7. feladat 2-es típusú nyelvtan készítése az alábbi nyelvhez: T={a,b,c,d}. L={(ba) n u(ab) n n 0 és ld(u) 2 és u {b,c,d}*} Vizsgáljunk meg a nyelv néhány lehetséges szavát: Látható, hogy L. A szó közepének néhány lehetséges alakja:, b, c, d, bb, bc, bd, cb, cc, cd, db, dc, dd, stb. (Arra ügyeljünk, hogy három d betű már nem lehet a szó közepében!) Ezt veszi körbe ba és ab szótagból tetszőleges, de ugyanannyi darab, lehet 0 darab is! Tehát a grammatika a következő lehet: G=<{a,b,c,d},{S, K, H, J},P,S> P={ S basab K K bk ck dh H bh ch dj J bj cj } L(G)=L indoklása: Számozzuk meg a nyelvtan szabályait: P={ S basab K (1) (2) (3) K bk ck dh (4) (5) (6) (7) H bh ch dj (8) (9) (10) (11) J bj cj } (12) (13) (14) (ha jött egy d, akkor már csak legfeljebb egy jöhet!) (ha a második d is bekerült, több d már nem jöhet!) L L(G) Világos, hogy az szó levezethető a (2)-es szabály miatt. Vegyünk L-ből egy tetszőleges nem szót: v=(ba) k u(ab) k ennek előállítása: k-szor alkalmazzuk az (1)-es szabályt. Ha u=, akkor (2)-vel fejezzük be a levezetést. Ha u, a (3)-as szabállyal S helyére írjunk K-t. Majd a középső (u-val jelölt) rész betűit vegyük sorra, ha u első betűje b, akkor (4)-es, ha c, akkor az (5)-ös stb. szabályt használjuk, majd vegyük a második betűt, és hasonlóan folytassuk a levezetést. Ha elfogytak u betűi, (7), (11) vagy (14) szabállyal fejezhetjük be a levezetést. L(G) L (1) szabály miatt a szavak elejére és végére azonos számú ba és ab szótag kerül, tehát (ba) n (ab) n teljesül a generált nyelv szavaira. A szó közepe a K nyelvtani jelből állítható elő: (4) (5) (8) (9) (12) és (13) szabályok tetszőleges sok és tetszőleges sorrendű b és c betűt állítanak elő. A kikötés, hogy a szó közepén legfeljebb 2 db d betű lehet pedig azért teljesül, mert amikor behozzuk az első d betűt, K nyelvtani jel helyére H-t írunk, H helyére újra írhatunk d -t, de akkor J-ből folytatódik a levezetés, J-ből viszont nem kerülhet több d betű a szóba, tehát legfeljebb két d fog a szó középső részében előfordulni. 6

8. feladat A feladat reguláris kifejezés keresése az L = { u u {a,b}* és bb nem része u-nak} nyelv szavaihoz, illetve 3-as típusú nyelvtan készítése a szavak generálásához. A reguláris kifejezés: (a+ba)*(b+ ) Helyes megoldások a nyelvtanra például: G1=<{a,b},{S},P,S> P={ S as bas b} G2=<{a,b},{S,A},P,S> P={ S as ba b A as } Persze itt sem maradhat el az L(G)=L indoklása, ami hasonló lehet, mint azt az előbbi feladatoknál láttuk. 9. feladat A CYK algoritmus segítségével döntse el, hogy a cabccb szó eleme-e a nyelvtan által generált nyelvnek. Ha igen, rajzolja fel a szó egy lehetséges levezetési fáját is, ha nem, akkor egy tetszőleges helyes, 6 hosszú szó levezetési fáját rajzolja fel: P={ } S AB SC A AC a c B BC b C CS SS c S a kezdőjel A szó nem eleme a generált nyelvnek. Levezethető lenne az A és C nemterminálisból, de S- ből nem! Példa 6 hosszú helyes szó levezetési fájára: 7