Automták nlízise, szintézise és minimlizálás Formális nyelvek, 11. gykorlt Célj: Az utomták nlízisének és szintézisének gykorlás, utomt minimlizáió Foglmk: Anlízis és szintézis, nyelvi egyenlet és egyenletrendszer és megoldás, kiterjesztett utomták, leontási strtégiák, epszilon-átmenetes nem-determinisztikus utomt, epszilon-mentesítés, összefüggővé lkítás, állpotok ekvivleniáj, utomt redukió, minimális utomt Feldtok jellege: Egyszerű nyelvi egyenlet, illetve kétváltozós egyenletrendszer megoldás (uniitás ellenőrzése), 3 állpotú utomtár z egyenletrendszer felírás és megoldás. 3-4 műveletet trtlmzó reguláris kifejezéshez kiterjesztett utomt lpján epszilon-átmenetes VNDA készítése, mjd ól VNDA előállítás. Konkrét VDA összefüggővé lkítás és redukálás. 2008/09 I. félév 1. feldt Készítsünk VDA-t következő nyelvtnhoz! S A B A B C 3NF S K 1 B A F K 2 F K 4 K 1 B B K 2 F K 1 B C K 2 F K 4 K 1 B K 1 A K 2 B K 3 C K 4 K 3 F B S B C C B Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 1 / 23 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 2 / 23 1. feldt Készítsünk VDA-t következő nyelvtnhoz! S A B A B C B S B C C B VDA {S} {K 1 } {B} {} {K 1 } {} {} {A} {B} {K 1, K 2, F} {B} {} {} {} {} {} {A} {K 1, K 2, K 4, F} {B, F} {} {K 1, K 2, F} {} {B} {A} {K 1, K 2, K 4, F} {} {B} {A, K 3 } {B, F} {K 1, K 2, F} {B} {} {A, K 3 } {K 1, K 2, K 4, F} {B, C, F } {} {B, C, F } {K 1, K 2, K 4, F} {B} {} 2. feldt Készítsük el z lái VDA minimális utomtájá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 Összefüggővé lkítás: H = {1, 7, 6, 9, 8, 2}. Elhgyjuk 3,4,5-öt. Redukió: 0 : {1, 2, 7, 9}, {6, 8} 1 : {1, 7, 9}, {2}, {6, 8} 2 = 1 = A redukált utomt: {1,7,9} {1,7,9} {6,8} {2} {1,7,9} {2} {6,8} {6,8} {2} Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 3 / 23 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 4 / 23
3. feldt Htározzuk meg plindromák nyelvének (L = {u T u = u 1 }) mrdéknyelveit! (T tetszőleges.) Legyen L plindromák nyelve. Tetszőleges u T -r L u = u Y u, hol u = {v T v = wu 1, w L}, Y u = {v T u = v 1 w, w L}. Legyen ugynis v L u. H l(v) l(u), kkor mivel uv L, plindrom tuljdonság mitt v u. H l(v) < l(u), kkor mivel uv L, plindrom tuljdonság mitt v Y u. Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 5 / 23 4. feldt Bizonyítsuk e, hogy plindromák nyelve nem L 3 -eli Myhill-Nerode tétel illetve Kis Br-Hillel lemm segítségével! ( T 2) Megoldás (Myhill-Nerode): Feltehető, hogy, T. l L k k = l. Ezek tehát minden k-r különöznek, így végtelen sok különöző mrdéknyelv vn. Megoldás (Kis Br-Hillel lemm): Legyen L Pl plindromák nyelve. Feltehető, hogy, T (L Pl ). Tekintsük következő szvkt u n := n n, n N, ekkor u n L Pl, l(u n ) n. Tekintsük u n n hosszúságú prefixének egy tetszőleges nemüres y részszvát, tehát y = d, hol 0 < d n. y eiterálásávl következő szvkt kpjuk: n d k ( d ) i k n = n+(i 1)d n, (i N). De ezek ármely y részszó esetén i = 1 kivételével nem plindromák. Tehát u n -nek nem létezik nemüres eiterálhtó részszv z n hosszú prefixéen. Mivel n tetszőleges volt, ezért nem létezik Kis Br-Hillel lemm nyelvfüggő konstns, tehát L Pl L 3. Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 6 / 23 Nyelvi egyenletek megoldás 1. feldt: Oldjuk meg z = egyenletet! Egyértelmű-e megoldás? ( ). A megoldás egyértelmű, mert L( ). Áltlán, h R 1 és R 2 reguláris kifejezések és L(R 1 ), kkor z R 1 R 2 = egyenlet egyértelmű megoldás = R 1 R 2. Nyelvi egyenletrendszerek megoldás 2. feldt: Oldjuk meg z Y = Y = Y egyenletrendszert! Egyértelmű-e megoldás? Az első egyenletől kifejezzük -et: = ( ) ( Y ). Behelyettesítve második egyenlete: ( ( ) )Y ( ( ) ) = Y, miől Y = ( ( ) ) ( ( ) ). Hsonlón: = ( ( ) ) ( ( ) ). A megoldás egyértelmű. Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 7 / 23 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 8 / 23
Automtához reguláris kifejezés (Automtnlízis) VDA áltl elfogdott nyelv meghtározás z állpotok mrdéknyelveire felírt nyelvi egyenletrendszer segítségével 3. feldt: (már volt, 9. gyk. 1.HF.) 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 V = = ( ) ( ), = ( ) ( ), = ( ) ( ). Az egyenletrendszer: ( := L(A, q 0 ), Y := L(A, q 1 ), Z := L(A, q 2 ), V := L(A, q 3 ), L(A, q 4 ) = ) = Y Z V Y = Z Z = V V = V =? Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 9 / 23 Véges determinisztikus utomták áltlánosítási I. PDA, NDA Priális determinisztikus utomt (PDA) Nem feltétlenül mindenütt definiált VDA. A = Q, T, δ, q 0, F. δ(q, t) (és így δ(q, u) is) nem feltétlenül értelmezett minden párr. Egy PDA elfogd egy u szót, h δ(q 0, u) értelmezett és δ(q 0, u) F. Véges, nemdeterminisztikus utomt (NDA) Adott állpotól, dott etűt olvsv tö állpot is kerülhet z utomt. A = Q, T, δ, q 0, F. Most tehát δ : Q T 2 Q állpotok egy hlmzát rendeli egy állpot-etű párhoz. 0. δ(q, ) = q, 1. δ(q, u) már értelmezett, h l(u) = 1, 2. δ(q, vt) = q δ(q,v) δ(q, t) (t T, v T + ). Az NDA elfogd egy u szót, h δ(q 0, u) F. Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 10 / 23 Véges determinisztikus utomták áltlánosítási II. NDA Véges, -átmenetes, nemdeterminisztikus utomt (NDA) Továr is nemdeterminisztikus, zz dott állpotól, dott etűt olvsv tö állpot is kerülhet z utomt, de most megengedjük z -átmeneteket is, ekkor z olvsófej nem mozdul, z utomt viszont más állpot kerülhet. A = Q, T, δ, q 0, F. Most tehát δ : Q (T {}) 2 Q állpotok egy hlmzát rendeli egy állpot-etű vgy állpot-epszilon párhoz. (q, u) értelmezése: Legyen u = u 1 u n z u szónk egy olyn felontás, melyre l(u i ) 1 (1 i n). δ(q, u 1 u n )-t z eddigiekhez hsonlón rekurzív definíióvl értelmezzük, zz 1. δ(q, u) már meghtározott, h l(u) 1, 2. δ(q, u 1 u n 1 u n )) = q δ(q,u 1 u n 1 ) δ(q, u n ) (q, u) = {δ(q, u 1 u n ) u = u 1 u n, l(u i ) 1 (1 i n), n N}. Az NDA elfogd egy u szót, h (q 0, u) F. Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 11 / 23 Véges determinisztikus utomták áltlánosítási III. Szóátmenetes NDA, reguláris kifejezés átmenetes NDA Szóátmenetes, nemdeterminisztikus utomt A = Q, T, δ : Q T 2 Q, q 0, F Ugynúgy, mint z elő, sk itt most nins felontás részszvir z l(u i ) 1 megkötés. Reguláris kifejezés átmenetes, nemdeterminisztikus utomt A = Q, T, δ : Q R(T ) 2 Q, q 0, F (q, u) értelmezése: u = u 1 u n z u szó tetszőleges felontás. δ(q, u 1 u n ) rekurzív definíiój: 1. δ(q, u 1 ) = {δ(q, R) u 1 L(R)}, 2. δ(q, u 1 u n 1 u n ) = {δ(q, R) q δ(q, u 1 u n 1 ), u n L(R)}. (q, u) = {δ(q, u 1 u n ) u = u 1 u n }. A reg. kif. átmenetes, nemdet. utomt elfogd egy u szót, h (q 0, u) F. Ezen áltlánosított utomtákkl is z L 3 -eli nyelveket fogdhtjuk el. Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 12 / 23
NDA készítésére reguláris kifejezéshez NDA készítésére reguláris kifejezéshez 4. feldt: Legyen R = ( )( ). Készítsünk olyn A VDA-t, hogy L(A) = L(R)! 0. lépés: Adott R 0 reguláris kifejezéshez kiindulunk egy A = {, }, T, δ,, { } áltlánosított utomtáól, hol δ(, R 0 ) = { } z egyetlen átmenet. ( )( ) 1. lépés: R 0 felépítése szerint, véges sok lépésen leontjuk z utomtát NDA-vá. Legyen A = Q, T, δ,, { } z ktuális és A = Q, T, δ,, { } q 2 δ(q 1, R) átmenet leontásávl kpott új utomt. Azz legyen δ (q 1, R) = δ(q 1, R) \ {q 2 }. Továá, 1. h R = (R 1 R 2 ), kkor legyen Q = Q és δ (q 1, R 1 ) = δ(q 1, R 1 ) {q 2 }, δ (q 1, R 2 ) = δ(q 1, R 2 ) {q 2 }. 2. h R = (R 1 R 2 ), kkor legyen Q = Q {q új } és δ (q 1, R 1 ) = δ(q 1, R 1 ) {q új }, δ (q új, R 2 ) = {q 2 }. 3. h R = R 1, kkor legyen Q = Q {q új } és δ (q 1, ) = δ(q 1, ) {q új }, δ (q új, R 1 ) = {q új }, δ (q új, ) = {q új }. Ekkor L(A ) = L(A). Végül, h már minden reguláris kifejezés T {}-nk eleme, kkor egy NDA-t kpunk. Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 13 / 23 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 14 / 23 NDA-vá lkítás lépései (R 1 R 2 ) q 1 q 2 (R 1 R 2 ) q 1 q 2 R 1 q 1 q 2 R 2 R 1 R q 1 q 2 új q 2 R q 1 q 2 q 1 q új q 2 R ( )( ) ( )( ) q 1 ( ) q 2 q 3 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 15 / 23 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 16 / 23
q 4 q 5 q 1 q 8 q 2 q 7 q 3 Egyszerűsítési lehetőség: H δ(q, t) = {q } és δ(q, t ) = {q } (t, t T {}, leglá z egyikük ) z egyetlen átmenet q -e illetve q -ől, kkor q elhgyhtó, és legyen δ(q, tt ) = {q }. Például dott eseten q 1, q 4, q 2, q 3, q 11 elhgyhtó. q 9 q 4 q 5 q 1 q 11 q 10 q 8 q 2 q 7 q 3 q 9 q 5 q 10 q 8 q 7 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 17 / 23 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 18 / 23 2. lépés: NDA-ól NDA Adott A NDA-vl ekvivlens A NDA készítése: A = Q, T, δ, q 0, F, A = Q, T, δ, q 0, F, tehát ugynzok z állpotik és kezdõállpotuk. Legyen q δ (q, t), kkor és sk kkor h létezik q Q, hogy eljuthtunk A-n q -ől q- -átmenetekkel és q δ(q, t). (Azz létezik q (q, ) melyre q δ(q, t).) Megjegyzés: A már jól ismert rekurzív eljárássl meghtározhtó zon állpotok H(q) hlmz hov egy dott q állpotól -átmenetekkel eljuthtunk. (H i (q) hov i lépésen eljuthtunk, H 0 (q), H 1 (q),... sorozt stilizálódik.) A -en kkor lesz egy q állpot elfogdó, h A-n q-ól eljuthtunk -átmenetekkel elfogdó állpot. (q F (q, ) F ) q 10 q 9 q 5 q 8 q 7 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 19 / 23 Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 20 / 23
3. lépés: NDA-hoz VDA A = Q, T, δ, q 0, F NDA-hoz A = Q, T, δ, q 0, F VDA Ötlet: A végigköveti A lehetséges működéseit! A determinisztikussá tett utomt állpotink hlmz nemdeterminisztikus utomt állpothlmzánk htványhlmz, zz Q := 2 Q A {q 1,... q s } állpothoz és t etűhöz VDA állpotátmenet-függvénye nemdeterminisztikus utomt állpotátmenet-függvényének q i állpotokhoz és t etűhöz trtozó képeinek (zz: állpotok hlmzink) unióját rendelje, zz: δ ({q 1,... q s }, t) := s δ(q i, t). i=1 A kezdőállpot q 0 := {q 0}, z elfogdó állpotok F hlmz, pedig zon állpotokól álljon, melyek trtlmznk F-eli állpotot. Megjegyzés: A gykorltn, sk kezdőállpotól elérhető állpotokr htározzuk meg z átmeneteket. Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 21 / 23 q 10 q 9 q 5 q q7 8 { } {, q 9 } {q 5, q 7 } {q 8 } {, q 9 } {, q 9 } {q 5, q 7 } {q 8 } {q 5, q 7 } {} {q 7, q 10 } {q 5, q 8 } {q 8 } {} {} {q 8 } {} {} {} {} {q 7, q 10 } {} {q 7, q 10 } {q 5, q 8 } {q 5, q 8 } {} {q 10 } {q 5, q 8 } {q 10 } {} {q 10 } {q 5 } {q 5 } {} {q 10 } {q 5 } Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 22 / 23 Házi feldt 1. Oldjuk meg következő egyenletrendszert! () Y = Y = Y 2. Htározzuk meg reguláris kifejezéssel z lái véges determinisztikus utomt áltl elfogdott nyelvet! q 0 q 1 q 2 q 1 q 3 q 4 q 2 q 3 q 4 q 3 q 0 q 3 q 4 q 4 q 4 3. Készítsünk VDA-t következő reguláris kifejezéshez! ( ). Formális nyelvek (11. gykorlt) Anlízis, szintézis, minimlizáió 2008/09 I. félév 23 / 23