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

Hasonló dokumentumok
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

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

Feladatok. BNF,EBNF,szintaxisgráf

Formális nyelvek - 5.

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:

Chomsky-féle hierarchia

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. Formális nyelvek elmélete

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

MintaFeladatok 1.ZH Megoldások

MintaFeladatok 1.ZH Megoldások

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


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

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

MintaFeladatok 2.ZH Megoldások

D G 0 ;8 ; 0 0 " & *!"!#$%&'" )! "#$%&' (! )* +,-. /0 )* **! / 0 1 ) " 8 9 : 7 ; 9 < = > A! B C D E +,-./0! 1#! 2 3!./0

Teljes visszalépéses elemzés


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

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

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.



ZH feladatok megoldásai

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

Formális nyelvek - 9.

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

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

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

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

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma


Automaták és formális nyelvek


Haladók III. kategória 2. (dönt ) forduló

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

A SZÁMÍTÁSTUDOMÁNY ALAPJAI



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


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

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

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

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


Diszkrét matematika I.

SHk rövidítéssel fogunk hivatkozni.


Megoldások 9. osztály

XXVI. Erdélyi Magyar Matematikaverseny Zilah, február II. forduló osztály

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

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

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

10. előadás. Konvex halmazok

2004_02/10 Egy derékszögű trapéz alapjainak hossza a, illetve 2a. A rövidebb szára szintén a, a hosszabb b hosszúságú.









































Átírás:

Házi feladatok megoldása Nyelvek felismerése Formális nyelvek, 5. gyakorlat 1. feladat Adjunk a következő nyelvet generáló 3. típusú nyelvtant! Azon M-áris számrendszerbeli számok, melyek d-vel osztva k maradékot adnak. (Nem állhat az elején 0.) Célja: A nyelvtanokkal való nyelvmegadás gyakorlása, a nyelvtani típusok, illetve a nyelvtípusok fogalmának elmélyítése. Fogalmak: A Chomsky-féle nyelvtanosztályozás és nyelvosztályozás, Chomsky-hierarchia (gyenge, erős). : S is i (mod d) 1 i M 1 S i js Mi+j (mod d) 0 i, j M 1 S k ε Feladatok jellege: Egyszerűbbtől a bonyolultabbig nyelvekhez nyelvtan, nyelvtanhoz a generált nyelv, a nyelvtan típusának detektálásával. 1 példán a kétirányú tartalmazás bizonyítása. 2008/09 I. félév Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 1 / 19 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 2 / 19 Házi feladatok megoldása 2. feladat Adjunk a következő nyelvet generáló 3. típusú nyelvtant! L = {u {a, b, c} ; ab, bc, ca u}. Házi feladatok megoldása 3. feladat Adjunk nyelvtant! T = {a} L = {a 2n ; n 0}. : Tiltott = {ab, bc, ca} S ts t S t t S t S ε S t ε t T t, t T, tt Tiltott t T : S LDaR LD ε R ε Da aad DR ER ER ε L ε ae Eaa LE LD Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 3 / 19 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 4 / 19

Nyelvtanok típusai Típus Megszorított típus szabályai Alaptípus szabályai 0. nincs további megkötés 1. γ 1 Aγ 2 γ 1 qγ 2, p q ahol l(p) l(q); ahol γ 1, γ 2 (T N), A N, q (T N) + ; 2. A q, ahol A N, q (T N) + ; 3. A ab vagy A a ahol A, B N, a T ; A q, ahol A N, q (T N) A ub vagy A u, ahol A, B N, és u T Nyelvek típusai Jelölje G i illetve G megszi, (i = 0, 1, 2, 3) az i. típusú illetve a megszorított i. típusú nyelvtanok osztályát. L (megsz)i = {L L nyelv, és van olyan G G (megsz)i, amelyre L(G) = L}. (i = 0, 1, 2, 3) Kiterjesztési tétel L i = L megszi, (i = 1, 2, 3). Az 1. típusú nyelveket környezetfüggő, a 2. típusúakat környezetfüggetlen, a 3. típusúakat reguláris nyelveknek is nevezzük. Az utóbbit a Kleene tétel miatt: L REG a reguláris kifejezéssel leírható nyelvek (reguláris nyelvek) nyelvcsaládja. Kleene tétele L REG = L 3. Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 5 / 19 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 6 / 19 Chomsky nyelvhierarchia L 3 L 2 L 1 L 0 0 0 1 1 2 2 3 3 Nyelvtanok Megszorított nyelvtanok ; nyelvek Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 7 / 19 Milyen típusúak a következő nyelvtanok? 1. S ε asb bsa SS 2. S ε asb BSa SS B ε b 3. S ε as asb bsa Sa SS 4. S tst ε t T 5. S X t t X t ts S ty t ty t S ty t Y t t X t Y t tx t X t t t, t T 1. típus (nem megszorított) Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 8 / 19

Melyik nyelvet generálják a következő nyelvtanok? 1. S ε asb bsa SS L 1 = {u {a, b} l a (u) = l b (u)} 2. S ε asb BSa SS B ε b L 2 = {u {a, b} l a (u) l b (u)} 3. S ε as asb bsa Sa SS L 3 = {u {a, b} l a (u) l b (u)} 4. S tst ε t T L 4 = {u u=v v 1,v T } 5. S X t t X t ts S ty t ty t S ty t Y t t X t Y t tx t X t t t, t T L 5 = {v v = uu, u T + } (dadogós nyelv) Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 9 / 19 Ugyanannyi a-t és b-t tartalmazó szavak nyelve (vázlat): Az első G nyelvtanra belátjuk, hogy L(G) = L 1. A levezetés hosszára vonatkozó teljes indukcióval belátjuk, hogy minden levezetett β {a, b, S} mondatformára l a (β) = l b (β). Az n = 0 eset nyilvánvaló. Tegyük fel, hogy minden n-nél rövidebb levezetésre igaz az állítás. Legyen S n β. Ekkor létezik egy olyan α {a, b, S} mondatforma, hogy S n 1 α β. Az indukciós feltevés alapján l a (α) = l b (α). Mivel α β, ezért léteznek γ 1, γ 2 {a, b, S}, hogy α = γ 1 Sγ 2 és β = γ 1 qγ 2, ahol q {ε, asb, bsa, SS}. Az első és a negyedik esetben ugyanannyi az α-ban és a β-ban szereplő a-k és b-k száma, míg a második és harmadik esetben β-ban eggyel több a és b van, mint α-ban, tehát l a (β) = l b (β) mind a négy esetben. Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 10 / 19 (folyt.) és a dadogós szavak nyelve Legyen u L 1. l(u)-ra vonatkozó teljes indukcióval bizonyítjuk, hogy u levezethető. Ha l(u) = 0, akkor nyilvánvaló. Tegyük fel, hogy minden l(u)-nál rövidebb L 1 -beli szó levezethető. Négy eset lehetséges: vagy u = ε, vagy u = au b, vagy u = bu a (ezen esetekben nyilván u L 1 ), vagy pedig létezik u, u L 1, u ε, u ε, hogy u = u u. Például a negyedik esetben ekkor az indukciós feltevés alapján S u és S u, tehát S SS u S u u = u. (A többi eset hasonló.) (vázlat): Az ötödik nyelvtan szabályainak segítségével (S X t t tt kivételével) csak az alábbi módon vezethetünk le S-ből terminális szót: S X t ts Xt tt 1 Y t1 t k Y tk Xt Y t1 tt 1 t 2 Y t2 t k Y tk tx t1 tt 1 t 2 Y t2 t k Y tk tt1 t k 1 X tk tt 1 t k tt 1 t k 1 t k tt 1 t k. Nyelvtanosztályok zártsági tulajdonságai (1. típus) 1. Feladat Készítsünk olyan 1. típusú G nyelvtant, melyre L(G) = L(G 1 ) L(G 2 ); L(G) = L(G 1 )L(G 2 ); L(G) = L(G 1 ). G 1 = {a, b}, {S, A, B}, {S ε ASB, AAB aaa, Aa aa, B b}, S G 2 = {a}, {S, A, B}, {S ABS A, ABA aaaa, BA aaa}, S G 1 = {a, b}, {S 1, A 1, B 1 }, {S 1 ε A 1 S 1 B 1, A 1 A 1 B 1 aaa, A 1 a aa 1, B 1 b}, S 1 G 2 = {a}, {S 2, A 2, B 2 }, {S 2 A 2 B 2 S 2 A 2, A 2 B 2 A 2 aaaa, B 2 A 2 aaa}, S 2 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 11 / 19 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 12 / 19

Nyelvtanosztályok zártsági tulajdonságai (1. típus) Nyelvtanosztályok zártsági tulajdonságai (2. típus) G = {a, b}, {S, S 1, A 1, B 1, S 2, A 2, B 2 }, {S S 1 S 2 ε, S 1 A 1 S 1 B 1, A 1 A 1 B 1 aaa, A 1 a aa 1, B 1 b, S 2 A 2 B 2 S 2 A 2, A 2 B 2 A 2 aaaa, B 2 A 2 aaa}, S G konk = {a, b}, {S, S 1, A 1, B 1, S 2, A 2, B 2 }, {S S 1 S 2 S 2, S 1 A 1 S 1 B 1, A 1 A 1 B 1 aaa, A 1 a aa 1, B 1 b, S 2 A 2 B 2 S 2 A 2, A 2 B 2 A 2 aaaa, B 2 A 2 aaa}, S G 1 = {a, b}, {S 1, A 1, B 1 }, {S ε S 1 S 1 S, S 1 ε A 1 S 1 B 1, A 1 A 1 B 1 aaa, A 1 a aa 1, B 1 b, as as 1, bs bs 1, as as 1 S, bs bs 1 S }, S 2. Feladat Készítsünk olyan 2. típusú G nyelvtant, melyre L(G) = L(G 1 ) L(G 2 ); L(G) = L(G 1 )L(G 2 ); L(G) = L(G 2 ). G 1 = {a}, {S}, {S Saa a}, S G 2 = {a, b}, {S, A}, {S asa ε, A b ε}, S G 1 = {a}, {S 1}, {S 1 S 1 aa a}, S 1 G 2 = {a, b}, {S 2, A 2 }, {S 2 as 2 A 2 ε, A 2 b ε}, S 2 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 13 / 19 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 14 / 19 Nyelvtanosztályok zártsági tulajdonságai (2. típus) Nyelvtanosztályok zártsági tulajdonságai (3. típus) G = {a, b}, {S, S 1, S 2, A 2 }, {S S 1 S 2, S 1 S 1 aa a, S 2 as 2 A 2 ε, A 2 b ε}, S G konk = {a, b}, {S, S 1, S 2, A 2 }, {S S 1 S 2, S 1 S 1 aa a, S 2 as 2 A 2 ε, A 2 b ε}, S G 2 = {a, b}, {S, S 2, A 2 }, {S S 2 S ε, S 2 as 2 A 2 ε, A 2 b ε}, S 3. Feladat Készítsünk olyan 3. típusú G nyelvtant, melyre L(G) = L(G 1 ) L(G 2 ); L(G) = L(G 1 )L(G 2 ); L(G) = L(G 2 ). G 1 = {a}, {S}, {S aas a}, S G 2 = {a, b}, {S, A}, {S as A, A aba S a}, S G 1 = {a}, {S 1}, {S 1 aas 1 a}, S 1 G 2 = {a, b}, {S 2, A 2 }, {S 2 as 2 A 2, A 2 aba 2 S 2 a}, S 2 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 15 / 19 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 16 / 19

Nyelvtanosztályok zártsági tulajdonságai (3. típus) 3. típusú nyelvtan készítése reguláris kifejezéshez G = {a, b}, {S, S 1, S 2, A 2 }, {S S 1 S 2, S 1 aas 1 a, S 2 as 2 A 2, A 2 aba 2 S 2 a}, S G konk = {a, b}, {S 1, S 2, A 2 }, {S 1 aas 1 as 2, S 2 as 2 A 2, A 2 aba 2 S 2 a}, S 1 G 2 = {a, b}, {S, S 2, A 2 }, {S ε S 2, S 2 as 2 A 2, A 2 aba 2 S 2 a as 2 }, S Nulladik típus esetén unió, konkatenáció úgy, mint a 2. típusnál, lezárás úgy, mint 1. típusnál. 4. Feladat Készítsünk olyan 3. típusú G nyelvtant, melyre L(G) = ((ab a) b ε) a! Aulról felfelé építkezve kövessük az előző feladat módszerét! S ε A a A B C ε B abc ac abb ab C b ba Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 17 / 19 Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 18 / 19 Házi feladat 1. Melyik nyelvet generálja a következő nyelvtan? T = {(, )} a. S (S) SS ε b. S XS ε és X (S) c. S (SS ) 2. Adjunk az L = {v v = uu, u T } (T = {a, b}) nyelvet generáló nyelvtant a v v 1 alakú szavak nyelvénél látott módszerre való visszavezetéssel! 3. Készítsünk olyan 3. típusú G nyelvtant, melyre L(G) = (b(ab a) ab) aa! Formális nyelvek (5. gyakorlat) Nyelvek felismerése 2008/09 I. félév 19 / 19