Hrmdik típusú nyelvek és véges utomták Formális nyelvek, 10. gykorlt Házi feldtok megoldás 1. feldt Melyik nyelvet fogdj el következő utomt? c q 0 q 1 q 2 q 3 q 1 q 4 q 2 q 4 q 2 q 0 q 4 q 3 q 3 q 4 q 3 q 4 q 4 q 4 q 4 q 4 Célj: Az utomt-nyelvekre vontkozó tételek elmélyítése, gykorlti lklmzás Foglmk: reguláris kifejezés, Kleene-tétel, áltlánosított reguláris kifejezés, direkt szorzt utomt, mrdéknyelvek és tuljdonságik, MYHILL-NERODE tétel, kis Br-Hillel lemm Feldtok jellege: Néhány reguláris és áltlánosított reguláris kifejezés felírás. Egy egyszerű utomt Kleene-nyelveinek elkészítése. Automtkészítés szimmetrikus differenciához vlmely konkrét, ngyon egyszerű VDA-k esetén. Konkrét nyelvek mrdéknyelvei hlmzánk felírás, ezekől MYHILL-NERODE lpján következtetések levonás. Konkrét nyelvről kis Br-Hillel lemmávl kimuttni, hogy nem reguláris. ( ) (c c c) 2008/09 I. félév Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 1 / 20 Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 2 / 20 Házi feldtok megoldás 2. feldt Készítsünk KMP utomtát következő mintához! cc (T = {,, c}) c q ε q ε q q ε q q q q ε q q ε q q ε q q q q ε q q q q c q c q c q q ε q c q ε q c q ε q c q q q F q F q F q F q F VDA-hoz 3NF nyelvtn készítése 1. Feldt: Adjunk 3NF nyelvtnt, mely ugynezt nyelvet generálj, mit z utomt elfogd! q 0 q 0 q 2 q 1 q 1 q 4 q 2 q 1 q 3 q 3 q 0 q 4 q 4 q 2 q 3 G = {, }, {q 0, q 1, q 2, q 3, q 4 }, P, q 0 q 0 q 0 q 2 q 1 q 1 q 4 q 2 q 1 q 3 q 3 q 0 q 4 q 4 q 2 q 3 q 3 ε q 4 ε Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 3 / 20 Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 4 / 20
VDA konstruálás 3.típusú nyelvtnhoz 1. lépés: Normálformár hozzuk nyelvtnt. 2. lépés: Az utomt elkészítése Legyen G = T, N, P, S 3NF nyelvtn. Készítünk egy A VDA-t, melyre L(A) = L(G). A = 2 N, T, δ, {S}, F, hol δ({a 1,..., A k }, t) = {B N 1 i k, A i tb P}, F = { X 2 N X {A N A ε P} }. A gykorltn csk zon állpotokr htározzuk meg z átmeneteket, melyek kezdőállpotól elérhető. VDA konstruálás 3.típusú nyelvtnhoz Péld 2. Feldt: Készítsünk VDA-t, mely ugynzt nyelvet fogdj el, melyet nyelvtn generál! 1..) lépés: Láncmentesítés S A S A A B A S B A B S 1..) lépés: Hosszredukció S K 1 S A K 1 K 2 K 1 S B K 1 K 2 S K 1 A K 2 B S A S A A B B S B 1.c.) lépés: A lkú szályok eliminálás S K 1 S A K 1 K 2 K 1 S F F B K 1 K 2 S K 1 A K 2 B F ε Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 5 / 20 Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 6 / 20 VDA konstruálás 3.típusú nyelvtnhoz Péld S K 1 S A K 1 K 2 K 1 S F F B K 1 K 2 S K 1 A K 2 B F ε {S} {K 1 } {S} {K 1 } {} {A} {} {} {} {A} {K 1, K 2, F} {K 1, S, F} {K 1, K 2, F} {} {A, B} {K 1, S, F} {K 1 } {A, S} {A, B} {K 1, K 2, F} {K 1, S, F} {A, S} {K 1, K 2, F} {K 1, S, F} A VDA-k éppen z L 3 -eli nyelveket ismerik fel. Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 7 / 20 Minimális utomt készítése Cél: Adott utomtához minél kevese állpotú, z eredeti utomt áltl felismert nyelvet elfogdó utomtát megdni. Minimális utomt: minimális állpotszámú ilyen utomt. 1) Összefüggővé lkítás: H 0 = {q 0 }. H i+1 = H i {q Q q H i, t T, q = δ(q, t)}. Trtlmzásr nézve monoton növő, felülről korlátos hlmzsororzt, így stilizálódik, zz i, hogy H i = H i+1 =: H. Hgyjuk el Q \ H-eli állpotokt és ezekre vontkozó állpotátmeneteket. 2) Redukció: H q és q állpotokól ugynzon szvk htásár kerül z utomt végállpot, kkor z elfogdás szempontjáól mindegy, hogy működés során q vgy q állpot kerül z utomt. Célunk z ilyen állpotok összevonás. Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 8 / 20
Redukció Ekvivlens állpotok Az q Q állpotr vontkozó mrdék nyelv: L(A, q) := {v δ(q, v) F}. Legyenek q, q Q állpotok. q és q ekvivlensek, h L(A, q) = L(A, q ). Jelölése: q q. ekvivlenci- és jokongruencireláció és nlóg módon kiterjeszthető két utomt állpoti közötti relációvá. A, A utomták (q 0 és q 0 kezdőállpotokkl) ekvivlensek, (jelölésen A A ) h q 0 q 0. Az A utomt A/ fktorutomtájáj ekvivlens z eredetivel, redukált (nincsenek különöző ekvivlens állpoti), továá izomorfi erejéig z egyetlen összefüggő, redukált A-vl ekvivlens utomt. Állpotok ekvivlenciájánk lgoritmikus eldöntése q q L(A, q)=l(a, q ) u T : ( δ(q, u) F δ(q, u) F ). Azt mondjuk, hogy q i q (q i-ekvivlens q -vel), h minden u T i esetén ( δ(q, u) F δ(q, u) F ) (i 0). i ekvivlencireláció, q 0 q, h (q F q F), minden q, q Q-r q i+1 q q i q ( t T : δ(q, t) i δ(q, t)), 0 1 2, továá q q i 0 : q i q. (ϱ 1 ϱ 2, h minden q, q Q esetén qϱ 2 q qϱ 1 q.) i i 0 := min{i = i+1 }. Ekkor i 0 Q 1, és így = Q 1. Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 9 / 20 Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 10 / 20 Redukálás 5. Feldt: Redukáljuk következő utomtát! 9 1 2 4 6 8 3 5 7 Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 11 / 20 Redukálás 0 : {1, 2, 3, 6, 7, 8, 9}, {4, 5} 4 {4,5} {1,2,3,6,7,8,9} 5 {4,5} {1,2,3,6,7,8,9} 1 : {1, 2, 3}, {4, 5}, {6, 7, 8}, {9} 4 {4,5} {6,7,8} 5 {4,5} {6,7,8} 1 {1,2,3,6,7,8,9} {4,5} 2 {1,2,3,6,7,8,9} {4,5} 3 {1,2,3,6,7,8,9} {4,5} 6 {1,2,3,6,7,8,9} {1,2,3,6,7,8,9} 7 {1,2,3,6,7,8,9} {1,2,3,6,7,8,9} 8 {1,2,3,6,7,8,9} {1,2,3,6,7,8,9} 9 {4,5} {1,2,3,6,7,8,9} 1 {1,2,3} {4,5} 2 {1,2,3} {4,5} 3 {1,2,3} {4,5} 2 : {1, 2, 3}, {4, 5}, {6, 7}, {8}, {9} 6 {6,7,8} {6,7,8} 7 {6,7,8} {6,7,8} 8 {6,7,8} {9} Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 12 / 20
Redukálás 2 : {1, 2, 3}, {4, 5}, {6, 7}, {8}, {9} 4 {4,5} {6,7} 5 {4,5} {6,7} 3 = 2 = A redukált utomt: 1 {1,2,3} {4,5} 2 {1,2,3} {4,5} 3 {1,2,3} {4,5} 6 {8} {6,7} 7 {8} {6,7} {1, 2, 3} {4, 5} {6, 7} {8} {9} Az átmenetek és elfogdó állpotok meghtározásához tetszőleges reprezentánst tekinthetünk. Az eredeti kezdőállpotot trtlmzó ekvivlenciosztály lesz z új kezdőállpot. Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 13 / 20 L 3 -eli-e egy nyelv? Egy L nyelv p T -r vontkozó mrdéknyelve L p := {v pv L}. L L 3 kkor és csk kkor, h {L p } p T <, hol T = T (L) z L nyelv áécéje. Kis Br-Hillel lemm Minden L L 3 nyelvhez vn olyn n = n(l) N nyelvfüggő konstns, hogy minden u L, l(u) n szó esetén vn u-nk olyn u = xyz felontás (x, y, z T (L) ), melyre l(xy) n, l(y) > 0, minden i 0 esetén xy i z L. Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 14 / 20 Mrdéknyelvek Htározzuk meg mrdéknyelveit z lái nyelveknek! 1. L = {,,, } 2. L = {0, 1} 00 {0} 3. HE (helyes zárójelezések nyelve) Megoldások: 1.feldt L ε = L, L = {ε, }, L = {ε, }, L = {}, L = {ε}, L = {ε}. L u = u Pre(L). A mrdéknyelvek hlmz tehát: {, {ε}, {}, {ε, }, {ε, }, {,,, }} Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 15 / 20 Mrdéknyelvek 2.feldt L \ {0} 1 Suf(u) L u = L u = ε 0 Suf(u) 00 Suf(u) u 0 L {ε} u = 0 00 Suf(u) 3.feldt Legyen k N-re: HE P k := {u {(, )} l ( (u) l ) (u) = k l ( (v) l ) (v), v Pre(u)} HE S k := {u {(, )} l ) (u) l ( (u) = k l ) (v) l ( (v), v Suf(u)} HE S k u HE P k (k N) Ekkor L u = u HE P k k=0 e lpján mivel z első két nyelvnek véges sok (6 illetve 3) mrdéknyelve vn, míg hrmdiknk végtelen, ezért z első két nyelv L 3 -eli, helyes zárójelezések nyelve viszont nem. Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 16 / 20
Automt készítése mrdéknyelvek segítségével Kis Br-Hillel Lemm A mrdéknyelvek segítségével készíthető 3. típusú nyelvekhez VDA: A = {L p } p T, T, δ, L ε, {L p ε L p }, hol δ(l p, t) = L pt. 1.feldt 2.feldt 0 1 {,,,} {ε, } {ε, } L L {ε} L\{0} {ε, } {} L {ε} L {ε} L\{0} {ε, } {ε} L\{0} L L\{0} {} {ε} {ε} Megjegyzés: z így kpott VDA minimális utomt is lesz. Legyen L Kif csk z változót trtlmzó helyes kifejezések nyelve. (Kifejezések: z 1. gykorlton tnultk szerint.) Feldt: L Kif? L3 A Kis Br-Hillel lemm segítségével eizonyítjuk, hogy L Kif L 3. Elegendő elátni, hogy L Kif nem rendelkezik Kis Br-Hillel lemmán leírt, minden L 3 -eli nyelvre igz tuljdonsággl, zz: Minden n N-re vn olyn u n L Kif, l(u n ) n szó, hogy minden u n = xyz, l(xy) n, l(y) > 0 felontás esetén létezik olyn i N, melyre xy i z L Kif. Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 17 / 20 Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 18 / 20 Kis Br-Hillel Lemm Tehát minden n-re válsszunk egy u n kifejezést. Legyen mondjuk u n = ( n ) n. Ekkor nyílván u n L Kif. Azt kell elátni, hogy u n n hosszúságú prefixének semelyik nemüres részszv sem iterálhtó e. De egy ilyen részszó mindenképp y = ( d lkú, hol d > 0. H y eiterálhtó lenne kkor Kis Br-Hillel lemm szerint ( n d k {( d } i ( k ) n = ( n+(i 1)d ) n ( képleten "{" és "}" metzárójelek!) is L Kif eleme lenne minden i természetes számr. De ez i 1 esetén nem igz, mert nem ugynnnyi "(" és ")" szerepel enne. Házi feldt 1. Készítsünk VDA-t következő nyelvtnhoz! S ca B ε A B C B S B C cc B 2. Készítsünk következő utomtávl ekvivlens minimális állpotszámú véges determinisztikus utomtát! 1 7 6 2 1 2 3 9 1 4 1 4 5 6 4 6 6 2 7 9 8 8 8 2 9 1 8 3. Htározzuk meg plindromák nyelvének (L = {u T u = u 1 }) mrdéknyelveit! (T tetszőleges.) 4. Bizonyítsuk e, hogy plindromák nyelve nem L 3 -eli illetve Kis Br-Hillel lemm segítségével! ( T 2 ) Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 19 / 20 Formális nyelvek (10. gykorlt) L 3 és VDA 2008/09 I. félév 20 / 20