ZH feladatok megoldásai

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 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:

Formális nyelvek - 9.

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

Chomsky-féle hierarchia

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

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

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

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

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

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!

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

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

Véges automaták, reguláris nyelvek

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

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

Automaták mint elfogadók (akceptorok)

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

Permutációk véges halmazon (el adásvázlat, február 12.)

Atomataelmélet: A Rabin Scott-automata

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

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

Teljes visszalépéses elemzés

Automaták és formális nyelvek

Relációk. 1. Descartes-szorzat

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

Formális nyelvek és automaták

Nyelvek és automaták augusztus

Chomsky-féle hierarchia

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 Turing-gép. Formális nyelvek III.

1. tétel - Gráfok alapfogalmai

0,424 0,576. f) P (X 2 = 3) g) P (X 3 = 1) h) P (X 4 = 1 vagy 2 X 2 = 2) i) P (X 7 = 3, X 4 = 1, X 2 = 2 X 0 = 2) j) P (X 7 = 3, X 4 = 1, X 2 = 2)

Alap fatranszformátorok II

Relációk. 1. Descartes-szorzat. 2. Relációk

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

Formális nyelvek és automaták

Sorozatok és Sorozatok és / 18

Bisonc++ tutorial. Dévai Gergely. A szabály bal- és jobboldalát : választja el egymástól. A szabályalternatívák sorozatát ; zárja le.

1. A k-szerver probléma


Kiterjesztések sek szemantikája

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


Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

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

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 - 5.

Halmazok. Halmazelméleti alapfogalmak, hatványhalmaz, halmazm veletek, halmazm veletek azonosságai.

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

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

HALMAZELMÉLET feladatsor 1.

Bevezetés a számításelméletbe

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

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

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

A Számítástudomány alapjai

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

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

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

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

A matematika nyelvér l bevezetés

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

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

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

Diszkrét matematika I. gyakorlat

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

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

MintaFeladatok 1.ZH Megoldások

Halmazok. Halmazelméleti lapfogalmak, hatványhalmaz, halmazm veletek, halmazm veletek azonosságai.

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

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

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

KOVÁCS BÉLA, MATEMATIKA I.

Adatszerkezetek és algoritmusok

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

Modellek és Algoritmusok - 2.ZH Elmélet

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

Diszkrét matematika 2.

LOGIKA ÉS ÉRVELÉSTECHNIKA

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

Eötvös Loránd Tudományegyetem. Természettudományi Kar. Véges projektív síkok egy kártyajáték szemszögéb l. Rajta László. szakdolgozat.

Diszkrét matematika 1. középszint

Polinomok (el adásvázlat, április 15.) Maróti Miklós

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

2. gyakorlat. A polárkoordináta-rendszer

DiMat II Végtelen halmazok

Diszkrét matematika II., 8. előadás. Vektorterek

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Matematika alapjai; Feladatok

Csempe átíró nyelvtanok

Flex tutorial. Dévai Gergely

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

FORDÍTÓPROGRAMOK. MKSA3144F kidolgozott tételek ás verzió január 21., Domján Tamás

Speciális faautomata osztályok jellemzése

Matematika B/1. Tartalomjegyzék. 1. Célkit zések. 2. Általános követelmények. 3. Rövid leírás. 4. Oktatási módszer. Biró Zsolt. 1.

Csoporthatások. 1 Alapfogalmak 1 ALAPFOGALMAK. G csoport hatása az X halmazon egy olyan µ: G X X leképezés, amelyre teljesül

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.

Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós

Átírás:

ZH feladatok megoldásai A CSOPORT 5. Írja le, hogy milyen szabályokat tartalmazhatnak az egyes Chomskynyelvosztályok (03 típusú nyelvek)! (4 pont) 3. típusú, vagy reguláris nyelvek szabályai A ab, A a formájúak, ahol A, B N, a T N nyelvtani (nemterminális) jelek halmaza, T terminálisok halmaza. 2. típusú, vagy környezetfüggetlen nyelvek A α, formájú szabályokat tartalmazhatnak, ahol A N, α (T N), azaz α tetsz leges (beleértve a 0-t is), véges számú nyelvtani és terminális szimbólum sorozata. 1. típusú, vagy környezetfügg (esetleg hosszúság-nemcsökkent ) nyelvek βaγ βαγ formájú szabályokat tartalmazhatnak, ahol A N, α, β, γ (T N) 1

Ezzel ekvivalens deníció: alakú szabályok, ahol α β α β, azaz β hossza nem kisebb α hosszánál. 0. típusú nyelvek szabályaira nincs megkötés. 6. Alakítsa determinisztikussá a következ véges, nemdeterminisztikus automatát, majd minimalizálja az így kapott determinisztikus automatát! ahol M 1 = {S, A, B, C, D}, {a, b}, δ, S, {C, D}, δ(s, a) = A; δ(s, b) = B; δ(a, a) = B C; δ(a, b) = C D; δ(b, a) = C; δ(b, b) = C; δ(c, a) = A; δ(c, b) = B; δ(d, a) = C; δ(d, b) = A. (13 pont) A feladat két részfeladatból tev dik össze. El ször determinisztikussá alakítjuk az adott automatát, majd ez utóbbit minimalizáljuk, ha lehet. Determinisztikussá tétel: Deniálunk egy új automatát, melynek állapotai a nemdeterminisztikus automata állapotainak részhalmazai, a kiinduló állapot az eredeti kiinduló állapotot tartalmazó halmaz, elfodadó állapotao pedig azok az állapothalmazok lesznek, melyek tartalmazzák az eredeti automata valamely elfogadó állapotát, jelen esetben C-t vagy D-t. Az új automata állapotai és mozgásai szabályai a következ k: p 0 := {S} kiindulási állapot; δ(p 0, a) = {A} =: p 1 hiszen az eredeti automata S-b l az a szimbólum hatására az A állapotba megy át. Az így kapott halmaz még nem szerepelt a determinisztikus automata állapotai között, ezért deniálunk egy ilyen új állapotot, p 1 -et. δ(p 0, b) = {B} =: p 2

hasonló megfontolások miatt. δ(p 1, a) = {B, C} =: p 3 A p 1 állapotból a szimbólum hatására két állapotátmenet adott a kiindulási automatában, ezért p 3 állapothalmaz az eredeti automata két állapotát tartalmazza. Ezt az algoritmust követve addig megyünk míg új állapotokat találunk. A továbbiakban csak a mozgási szabályokat szabályokat adjuk meg magyarázat nélkül, ahol az aláhúzott állapotok az els el fordulások: δ(p 1, b) = {C, D} =: p 4 δ(p 2, a) = {C} =: p 5 δ(p 2, b) = {C} = p 5 δ(p 3, a) = {A, C} =: p 6 δ(p 3, b) = {B, C} = p 3 δ(p 4, a) = {A, C} = p 6 δ(p 4, b) = {A, B} =: p 7 δ(p 5, a) = {A} = p 1 δ(p 5, b) = {B} = p 2 δ(p 6, a) = {A, B, C} =: p 8 δ(p 6, b) = {B, C, D} =: p 9 δ(p 7, a) = {B, C} = p 3 δ(p 7, b) = {C, D} = p 4 δ(p 8, a) = {A, B, C} = p 8 δ(p 8, b) = {B, C, D} = p 9 δ(p 9, a) = {A, C} = p 6 δ(p 9, b) = {A, B, C} = p 8 Elfogadó állapot lesz p 3, p 4, p 5, p 6, p 8, p 9. Ezzel deniáltuk a determinisztikus automatát, hiszen az összes állapotszimbólum párra megadtuk az állapotátmenetet. Minimalizálás: Osztályozást végzünk a determinisztikus automata állapotain egy ún. ekvivalencia-reláció segítségével. A relációt úgy deniáljuk, hogy azok az állapotok legyenek relációban egymással, amelyeket tetsz leges

jelsorozattal nem tudunk megkülönböztetni egymástól, azaz ezen jelsorozatokat az automata mindig vagy elfogadja, vagy elutasítja bármely egymásssal relációban lév állapotokból kiindulva. Mivel ez a reláció ekvivalencia-reláció, ezért osztályozást generál az állapotokon. Az egyes ekvivalencia-osztályokat egy iteratív algoritmussal határozzuk meg az alábbiak szerint. Ekvivalenciaosztályokat-családot gyártunk, úgy hogy az egyes ekvivalencia osztályokba az i hosszúságú szimbólumsorozatokkal megkülönböztethetelen állapotok kerüljenek. A 0-dik ekvivalencia osztályba a 0 hosszúságú sorozatokkal megkülönböztethetelen állapotok kerülnek, ezek nyilván az elutasító, és elfogadó állapotok lesznek: 0-ekvivalencia osztályok {p 0, p 1, p 2, p 7 }, {p 3, p 4, p 5, p 6, p 8, p 9 } Az 1-ekvivalencia osztályokat a fentiekb l úgy kapjuk meg, hogy megnézzük, hogy vannak-e olyan szimbólumok, amikkel meg lehet az egy osztályba tartozó állapotokat különböztetni, azaz hogy bizonyos állapotokból különböz (el z szinten lév ) ekvivalencia-osztályokban lév állapotba kerülünke. Itt pl. p 0 -ból a és b hatására is bent maradunk a {p 0, p 1, p 2, p 7 } halmazba, viszont p 1, p 2, p 7 -b l kiindulva mindenképpen {p 3, p 4, p 5, p 6, p 8, p 9 } halmazbeli állapotba kerülünk. Hasonló gondolatmenettel az alábbi ekvivalenciaosztályokat kaphatjuk: 1-ekvivalencia-osztályok {p 0 }, {p 1, p 2, p 7 }, {p 4 }, {p 5 }, {p 3, p 6, p 8, p 9 } 2-ekvivalencia-osztályok {p 0 }, {p 1, p 7 }, {p 2 }, {p 4 }, {p 5 }, {p 3, p 6, p 8, p 9 } azaz a kiindulási determinisztikus automatának 10 állapotából egy 6 állapotot tartalmazó minimálautomatát tudunk létrehozni. 7. Határozza meg az alábbi (véges) automata által felismert nyelvet: M 2 = {q 0, q 1, q 2 }, {a, b}, δ, q 0, {q 0, q 1 }, ahol δ(q 0, a) = q 1 ; δ(q 0, b) = q 0 ; δ(q 1, a) = q 1 ; δ(q 1, b) = q 2 ; δ(q 2, a) = q 2 ; δ(q 2, b) = q 2.

(5 pont) Ha felrajzoljuk az automata gráfját nyilvánvaló lesz, hogy a q 2 -es állapot csapda, azaz egy szót akkor fogad el az automata, ha nem kerül bele a q 2 állapotba. A másik két állapot elfogadó állapot. Az automata a L(M 2 ) = b a nyelvet fogadja el, azaz azt, ahol tetsz leges hosszú (beleértve a 0-t is) b-kb l álló sorozatot tetsz leges hosszú (beleértve a 0-t is) a-kból álló sorozat követ. Ennek természetesen eleme az üres szó is (ε). Más formalizmussal L(M 2 ) = b i a j i, j 0. 8. Tekintsük az alábbi környezetfüggetlen grammatikát: G = {S, A}, {if, then, else, for, do, a, b, c}, S, {S if b then A, S if b then A else S, S a, A for c do S, A a}. Adjuk meg legbaloldalibb levezetését az if b then for c do if b then a else a jelsorozatnak. Egyértelm -e a levezetés, ill. a nyelvtan? (7 pont) Sajnos a feladat eredeti megadása hibás volt. A második szabályban most már az else is szerepel, így az adott mondat levezethet. A mondat egyik legbaloldalibb levezetési az alábbi (a behelyettesített szimbólum alá van húzva): S if b then A if b then for c do S if b then for c do if b then A else S if b then for c do if b then a else S if b then for c do if b then a else A if b then for c do if b then a else a Hasonlóan helyes legbaloldalibb levezetés azonban az, amikor az elején nem az els, hanem a második szabályt alkalmazzuk, majd ezt a levezetést foly-

tatjuk: S if b then A else S if b then for c do S else S if b then for c do if b then A else S if b then for c do if b then a else S if b then for c do if b then a else A if b then for c do if b then a else a Tehát a levezetés, s így a nyelvtan sem egyértelm. 9. Hozza jólfésült nyelvtani formára (proper grammar) az alábbi nyelvtant! Ügyeljen az átalakítások helyes sorrendjére! Hogyan módosítaná a végs nyelvtant, hogy az üres szó (ε) is eleme legyen a nyelvnek? S bb a D, B A a, A be a, C c, D Db, E a. (10 pont) Jólfésült nyelvtani formára hozás négy egyszer algoritmus alkalmazásából áll: 1. Bottom-up (lentr l felfelé történ ) sz rés 2. Top-down (fentr l lefelé történ ) sz rés 3. ε-mentesítés 4. Egyszeres szabályok kiiktatása Mint az els pillanatra látható, a nyelvtan nem tartalmaz ε-szabályokat, ezért a 3. algoritmust nem kell végrehajtani a megadott nyelvtanon. Helyette van példában a második kérdés feltéve, tehát, hogyan tudjuk ε-osítani a végs nyelvtant, ami lényegesen egyszer bb feladat, mint az ε-mentesítés. 1. Bottom-up sz rés: Az ismert algoritmus alapján az alábbi halmazsorozatot hozzuk létre: B 0 = {a, b, c} B 1 = {a, b, c, S, A, B, C, E} =: B

Tehát D nyelvtani szimbólum, és az összes t tartalmazó szabályt elhagyható, mivel nem vezethet le bel le terminális jelsorozat, így az alábbi szabályok maradnak: S bb a, B A a, A be a, C c, E a. Megjegyzés: itt D ún. álrekurzíót okozó jel. 2. Top-down sz rés: T 0 = {S} T 1 = {S, B, a, b} T 2 = {S, A, B, a, b} T 3 = {S, A, B, E, a, b} =: T Tehát C nyelvtani, és c terminális szimbólum nem érhet el a mondatszimbólumból, így marad: S bb a, B A a, A be a, E a. 3. Egyszeres szabályok kiiktatása: egy darab egyszeres szabály maradt: B A A top-down sz r algoritmus segítségével az alábbi, az egyes szimbólumokból elérhet nyelvtani szimbólumokat tartalmazó halmazokat hozzuk létre: T B = {B, A}, T A = {A}, ami persze els ránézésre is nyilvánvaló. Ezért a B A szabályban az A szimbólumot a bel le kiinduló szabályok jobboldalával helyettesítve az alábbiakat kapjuk: B be a Tehát a jólfésült nyelvtanunk az alábbi szabályokból áll: S bb a, B be a, E a, hiszen az A nyelvtani jel feleslegessé vált. 4. ε-osítás: bevezetünk egy új Ŝ-sel jelölt mondatszimbólumot, valamint az alábbi szabályokat adjuk a grammatikához: Ŝ ε, Ŝ S.

B CSOPORT 5. Deniálja, mit tekintünk egy Σ alfabéta felett reguláriss halmaznak, és adja meg a rajtuk értelmezett szokásos m veleteket! (4 pont) Egy Σ alfabéta felett annak összes egy elem részhalmaza reguláris halmaz ({a} reguláris halmaz a Σ), valamint reguláris halmaz az üres szót {ε}, és az üres halmazt { } tartalmazó halmaz is. Regulárist halmazt kapnuk, ha az akábbi m veletek alkalmazásával: unió: P + Q, ahol P, Q reguláris halmaz konkatenáció: P Q, ahol P, Q reguláris halmaz tranzitív lezárt: P, ahol P reguláris halmaz A konkatenáció m velete az egymásután-írást jelenti, azaz P és Q halmaz elemeit egymás után írjuk, míg a tranzitív lezárt a halmazt elemeinek önmagával való egymásutáni-írását tartalmazó halmazt adja meg, formálisan: P = 6. Alakítsa determinisztikussá a következ véges, nemdeterminisztikus automatát, majd minimalizálja az így kapott determinisztikus automatát! ahol i=0 P i M 1 = {q 0, q 1, q 2, q 3, q 4 }, {0, 1}, δ, q 0, {q 3, q 4 }, δ(q 0, 0) = q 1 ; δ(q 0, 1) = q 2 ; δ(q 1, 0) = q 3 q 4 ; δ(q 1, 1) = q 2 q 3 ; δ(q 2, 0) = q 3 ; δ(q 2, 1) = q 3 ; δ(q 3, 0) = q 2 ; δ(q 3, 1) = q 1 ; δ(q 4, 0) = q 3 ; δ(q 4, 1) = q 2. (13 pont) A feladat két részfeladatból tev dik össze. El ször determinisztikussá alakítjuk az adott automatát, majd ez utóbbit minimalizáljuk, ha lehet.

Determinisztikussá tétel: Deniálunk egy új automatát, melynek állapotai a nemdeterminisztikus automata állapotainak részhalmazai, a kiinduló állapot az eredeti kiinduló állapotot tartalmazó halmaz, elfodadó állapotao pedig azok az állapothalmazok lesznek, melyek tartalmazzák az eredeti automata valamely elfogadó állapotát, jelen esetben q 3 -at vagy q 4 -et. Az új automata állapotai és mozgásai szabályai a következ k: p 0 := {q 0 } kiindulási állapot; δ(p 0, 0) = {q 1 } =: p 1 hiszen az eredeti automata q 0 -ból a 0 szimbólum hatására a q 1 állapotba megy át. Az így kapott halmaz még nem szerepelt a determinisztikus automata állapotai között, ezért deniálunk egy ilyen új állapotot, p 1 -et. hasonló megfontolások miatt. δ(p 0, 1) = {q 2 } =: p 2 δ(p 1, 0) = {q 3, q 4 } =: p 3 A p 1 állapotból 0 szimbólum hatására két állapotátmenet adott a kiindulási automatában, ezért p 3 állapothalmaz az eredeti automata két állapotát tartalmazza. Ezt az algoritmust követve addig megyünk míg új állapotokat találunk. A továbbiakban csak a mozgási szabályokat szabályokat adjuk meg magyarázat nélkül, ahol az aláhúzott állapotok az els el fordulások: δ(p 1, 1) = {q 2, q 3 } =: p 4 δ(p 2, 0) = {q 3 } =: p 5 δ(p 2, 1) = {q 3 } = p 5 δ(p 3, 0) = {q 2, q 3 } = p 4 δ(p 3, 1) = {q 1, q 2 } =: p 6 δ(p 4, 0) = {q 2, q 3 } = p 4 δ(p 4, 1) = {q 1, q 3 } =: p 7 δ(p 5, 0) = {A} = p 2 δ(p 5, 1) = {B} = p 1 δ(p 6, 0) = {q 3, q 4 } = p 3 δ(p 6, 1) = {q 2, q 3 } = p 4

δ(p 7, 0) = {q 2, q 3, q 4 } =: p 8 δ(p 7, 1) = {q 1, q 2, q 3 } =: p 9 δ(p 8, 0) = {q 2, q 3 } = p 4 δ(p 8, 1) = {q 1, q 2, q 3 } = p 9 δ(p 9, 0) = {q 2, q 3, q 4 } = p 8 δ(p 9, 1) = {q 1, q 2, q 3 } = p 9 Elfogadó állapot lesz p 3, p 4, p 5, p 7, p 8, p 9. Ezzel deniáltuk a determinisztikus automatát, hiszen az összes állapotszimbólum párra megadtuk az állapotátmenetet. Minimalizálás: Osztályozást végzünk a determinisztikus automata állapotain egy ún. ekvivalencia-reláció segítségével. A relációt úgy deniáljuk, hogy azok az állapotok legyenek relációban egymással, amelyeket tetsz leges jelsorozattal nem tudunk megkülönböztetni egymástól, azaz ezen jelsorozatokat az automata mindig vagy elfogadja, vagy elutasítja bármely egymásssal relációban lév állapotokból kiindulva. Mivel ez a reláció ekvivalencia-reláció, ezért osztályozást generál az állapotokon. Az egyes ekvivalencia-osztályokat egy iteratív algoritmussal határozzuk meg az alábbiak szerint. Ekvivalenciaosztályokat-családot gyártunk, úgy hogy az egyes ekvivalencia osztályokba az i hosszúságú szimbólumsorozatokkal megkülönböztethetelen állapotok kerüljenek. A 0-dik ekvivalencia osztályba a 0 hosszúságú sorozatokkal megkülönböztethetelen állapotok kerülnek, ezek nyilván az elutasító, és elfogadó állapotok lesznek: 0-ekvivalencia osztályok {p 0, p 1, p 2, p 6 }, {p 3, p 4, p 5, p 7, p 8, p 9 } Az 1-ekvivalencia osztályokat a fentiekb l úgy kapjuk meg, hogy megnézzük, hogy vannak-e olyan szimbólumok, amikkel meg lehet az egy osztályba tartozó állapotokat különböztetni, azaz hogy bizonyos állapotokból különböz (el z szinten lév ) ekvivalencia-osztályokban lév állapotba kerülünke. Itt pl. p 0 -ból 0 és 1 hatására is bent maradunk a {p 0, p 1, p 2, p 6 } halmazba, viszont p 1, p 2, p 6 -ból kiindulva mindenképpen {p 3, p 4, p 5, p 7, p 8, p 9 } halmazbeli állapotba kerülünk. Hasonló gondolatmenettel az alábbi ekvivalenciaosztályokat kaphatjuk:

1-ekvivalencia-osztályok {p 0 }, {p 1, p 2, p 6 }, {p 3, p 5 }, {p 4, p 7, p 8, p 9 } 2-ekvivalencia-osztályok {p 0 }, {p 2 }, {p 1, p 6 }, {p 3 }, {p 5 }, {p 4, p 7, p 8, p 9 } Ezen az ekvivalencia-osztályok már tovább nem bonthatók, megkülönböztethetetlen állapotokat tartalmaznak, hiszen pl. p 1 -b l és p 6 -ból 0 hatására p 3 -ba, 1 hatására p 4 állapotba jut az automata. Így a minimálautomatánk 6 állapotot tartalmaz. 7. Határozza meg az alábbi (véges) automata által felismert nyelvet: M 2 = {S, A, B}, {a, b}, δ, S, {A, B}, ahol δ(s, a) = A; δ(s, b) = B; δ(a, a) = S; δ(a, b) = B; δ(b, a) = A; δ(b, b) = S. (5 pont) Ha felrajzoljuk az automata gráfját láthatjuk, hogy S-b l és B-b l két egymásutáni a-ra visszajutunk a kiinduló állapotba, míg S-b l és A-ból két egymásutáni b-re szintén ez történik. Ezek tehát azok a jelsorozatok, ami után elutasító állapotba kerül az automata. Áltanánosaban fogalmazva az automata olyan jelsorozatokat fogad el, amelyek nem párosszámú, vagyis páratlan számú a-ra vagy b-re végz dnek, formálisan: L(M 2 ) = {a 2i+1 b 2i+1 wab 2i+1 wba 2i+1 }, i 0; w {a, b}. Itt az els két kifejezés a csak a-kból és b-kb l álló elfogadott szavakat írja le, még a második kett azokat amelyek nem homogének. 8. Egyértelm -e az alábbi környezetfüggetlen grammatika? Ha nem, adjon meg olyan jelsorozatot, amelyhez két különböz levezetési fa tartozik! G = {S, A}, {a, b}, S, {S A, A AbA, A a}.

(7 pont) Sajnos ez a feladat némileg hibás volt, az utolsó szabály helyesen: A a. Tekintsük az alábbi mondatot: ababa. Ehhez két legbaloldalibb levezetés is tartozik, tehát a mondatnak nincs egyértelm szintaxisfája (a behelyettesített szimbólum alá van húzva): S AbA aba ababa ababa ababa S AbA AbAbA ababa ababa ababa Tehát a nyelvtan nem egyértelm. 9. Hozza jólfésült nyelvtani formára (proper grammar) az alábbi nyelvtant! Ügyeljen az átalakítások helyes sorrendjére! Hogyan módosítaná a végs nyelvtant, hogy az üres szó (ε) is eleme legyen a nyelvnek? S aa b E, A B b, B ad a, C c, D b, E Ea. (10 pont) Jólfésült nyelvtani formára hozás négy egyszer algoritmus alkalmazásából áll: 1. Bottom-up (lentr l felfelé történ ) sz rés 2. Top-down (fentr l lefelé történ ) sz rés 3. ε-mentesítés 4. Egyszeres szabályok kiiktatása Mint az els pillanatra látható, a nyelvtan nem tartalmaz ε-szabályokat, ezért a 3. algoritmust nem kell végrehajtani a megadott nyelvtanon. Helyette van példában a második kérdés feltéve, tehát, hogyan tudjuk ε-osítani a végs nyelvtant, ami lényegesen egyszer bb feladat, mint az ε-mentesítés.

1. Bottom-up sz rés: Az ismert algoritmus alapján az alábbi halmazsorozatot hozzuk létre: B 0 = {a, b, c} B 1 = {a, b, c, S, A, B, C, D} =: B Tehát E nyelvtani szimbólum, és az összes t tartalmazó szabályt elhagyható, mivel nem vezethet le bel le terminális jelsorozat, így az alábbi szabályok maradnak: S aa b, A B b, B ad a, C c, D b. Megjegyzés: itt E ún. álrekurzíót okozó jel. 2. Top-down sz rés: T 0 = {S} T 1 = {S, A, a, b} T 2 = {S, A, B, a, b} T 3 = {S, A, B, D, a, b} =: T Tehát C nyelvtani, és c terminális szimbólum nem érhet el a mondatszimbólumból, így marad: S aa b, A B b, B ad a, D b. 3. Egyszeres szabályok kiiktatása: egy darab egyszeres szabály maradt: A B A top-down sz r algoritmus segítségével az alábbi, az egyes szimbólumokból elérhet nyelvtani szimbólumokat tartalmazó halmazokat hozzuk létre: T A = {A, B}, T B = {B}, ami persze els ránézésre is nyilvánvaló. Ezért az A B szabályban a B szimbólumot a bel le kiinduló szabályok jobboldalával helyettesítve az alábbiakat kapjuk: A ad a Tehát a jólfésült nyelvtanunk az alábbi szabályokból áll: S aa b, A b ad a, D b.

hiszen a B nyelvtani jel feleslegessé vált. 4. ε-osítás: bevezetünk egy új Ŝ-sel jelölt mondatszimbólumot, valamint az alábbi szabályokat adjuk a grammatikához: Ŝ ε, Ŝ S.