Formális nyelvek I/2. Véges utomták minimlizálás Fülöp Zoltán SZTE TTIK Informtiki Intézet Számítástudomány Alpji Tnszék 6720 Szeged, Árpád tér 2. Véges utomták minimlizálás Két utomt ekvivlens, h ugynzt nyelvet ismerik fel. Definíció. Egy M = (Q,Σ,δ,q 0,F) utomt minimális, h ármely, vele ekvivlens M = (Q,Σ,δ,q 0,F ) utomtár Q Q teljesül. Cél: Olyn lgoritmus megdás, melynek inputj egy tetszőleges M utomt, outputj pedig egy M-mel ekvivlens minimális utomt. (Az M utomt minimlizálás.) Az lgoritmust két lépésen djuk meg: (1) M összefüggő részének meghtározás (nem elérhető állpotok elhgyás). (2) Ekvivlens állpotok összevonás (redukálás). 1/19 2/19 Véges utomták minimlizálás M = (Q,Σ,δ,q 0,F) egy utomt Tetszőleges q Q állpot és x Σ szó esetén qx-szel jelöljük zt Q-eli állpotot, melye M q-ól z x htásár kerül: Megjegyzés: (qx)y = q(xy). qx := p, hol (q,x) M (p,λ). Egy p állpotot elérhetőnek nevezünk, h vn olyn x Σ, melyre p = q 0 x. Az elérhető állpotok hlmz Q = {q 0 x x Σ }. Véges utomták minimlizálás Definíció. M = (Q,Σ,δ,q 0,F) utomt M összefüggő része z M = (Q,Σ,δ,q 0,F ) utomt, hol Q = {q 0 x x Σ }, F = F Q, δ (p,) = δ(p,) minden p Q -re. M összefüggő, h M = M. Q meghtározás: (i) Legyen Q 0 = {q 0 } és legyen i = 0. (ii) Legyen Q i+1 = Q i {q Q (p Q i és Σ) melyre q = δ(p,)} (iii) H Q i = Q i+1, kkor legyen Q = Q i és álljunk meg, különen legyen i = i +1 és menjünk (i)-re. 3/19 4/19
Véges utomták minimlizálás, q2, Véges utomták minimlizálás A következő két álĺıtás nyilvánvló: (1) H M z M összefüggő része, kkor L(M) = L(M ). (2) H M minimális, kkor összefüggő. A minimlizálás első lépése, hogy elhgyjuk nem elérhető állpotokt (más szóvl, kiszámoljuk M összefüggő részét). Egy utomt és z összefüggő része. 5/19 6/19 Véges utomták minimlizálás Véges utomták minimlizálás Ekvivlens állpotok: Definíció. Legyen M = (Q,Σ,δ,q 0,F) egy utomt. Definiáljuk Q Q relációt következőképpen: p,q Q-r Ekkor: p q h minden x Σ esetén px F qx F. (1) ekvivlenci reláció (reflexív, szimmetrikus és trnzitív) (2) h p q, kkor minden Σ-r δ(p,) δ(q,) (3) h p q, kkor (p F q F) A relációt M kongruenci relációjánk (röviden M kongruenciájánk) nevezzük. (1) triviális p q h minden x Σ esetén px F qx F. (2) izonyítás: Tfh p q és vn olyn Σ, hogy δ(p,) δ(q,). Akkor vn olyn z Σ, melyre (p)z F (q)z / F. Akkor viszont p(z) F q(z) / F, mi ellentmondás, mert p q. (3) izonyítás: p q, kkor x = ε-r: pε = p F qε = q F 7/19 8/19
Véges utomták minimlizálás M = (Q,Σ,δ,q 0,F) utomt és kongruenci reláció Jelölések: p-t trtlmzó ekvivlenci osztály: [p] = {q Q p q} (ekkor: [p] = [q] p [q] p q) z összes ekvivlenci osztály: [Q] = {[p] p Q} z F-et lkotó ekvivlenci osztályok: Véges utomták minimlizálás M = (Q,Σ,δ,q 0,F) utomt és kongruenci reláció Definiáljuk következő utomtát: hol minden Σ-r: M/ = ( [Q],Σ,δ,[q 0 ],[F] ), δ ([p],) = [δ(p,)]. (A [p] osztályól htásár [δ(p,)] állpot megy.) A definíció helyes, mert h [p] = [q], kkor p q, ezért δ(p,) δ(q,), mi zt jeleti, hogy [δ(p,)] = [δ(q,)]. [F] = {[p] p F} 9/19 10/19 Véges utomták minimlizálás Péld: Véges utomták minimlizálás M = (Q,Σ,δ,q 0,F) utomt és kongruenci reláció, Tétel. L(M) = L(M/ ) (M és M/ ekvivlensek). Bizonyítás. Meg lehet muttni x szerinti indukcióvl, hogy minden p,q Q-r és x Σ + -r px = q (M-en) [p] x = [q] (M/ -en). C0 C1 C2 M/, hol = {q 0,q 1 },{q 3,q 4 },{q 5,q 6,q 7 } Ezután x L(M) q 0 x = q, q F-re [q 0 ] x = [q], q F-re [q 0 ] x = [q], [q] [F] -re x L(M/ ). A hrmdik ekvivlenci (3) tuljdonságól következik. 11/19 12/19
Véges utomták minimlizálás Véges utomták minimlizálás Tétel. H M összefüggő, kkor M/ z M-mel ekvivlens minimális utomt. Bizonyítás. Lásd FZ, Formális nyelvek és szintktikus elemzésük A minimlizálás két fő lépése: (1) M összefüggő részének meghtározás (nem elérhető állpotok elhgyás). (2) A kongruenci kiszámolás. A kongruenciát kiszámító lgoritmus: -et közeĺıtjük ρ 0,ρ 1,... Q Q relációkkl: (i) Legyen ρ 0 következő: minden p,q Q-r, pρ 0 q kkor és csk kkor teljesül, h p F q F. Legyen i = 0. (ii) Legyen ρ i+1 következő: minden p,q Q-r, pρ i+1 q kkor és csk kkor teljesül, h pρ i q és minden Σ-r, δ(p,)ρ i δ(q,). (iii) H ρ i = ρ i+1, kkor legyen =ρ i és álljunk meg, különen legyen i = i +1 és menjünk (i)-r. ρ 0 ρ 1, ρ 2... ρ i = ρ i+1 =... 13/19 14/19 Véges utomták minimlizálás Péld kiszámításár: Véges utomták minimlizálás Péld kiszámításár:,, ρ 1 = {q 0,q 1 }, {q 3,q 4 }, {q 5,q 6,q 7 } 15/19 16/19
Véges utomták minimlizálás Péld kiszámításár: Véges utomták minimlizálás A minimális utomt:,, C0 C1 C2, C0 C1 C2 ρ 1 = {q 0,q 1 }, {q 3,q 4 }, {q 5,q 6,q 7 } ρ 2 = {q 0,q 1 }, {q 3,q 4 }, {q 5,q 6,q 7 }, tehát = ρ 2 17/19 = {q 0,q 1 },{q 3,q 4 },{q 5,q 6,q 7 } 18/19 Véges utomták minimlizálás Tétel. Egy dott L nyelvet felismerő minimális utomt (izomorfizmus erejéig) egyértelműen meghtározott. Ez zt jelenti, hogy h z L-et felismerő ármelyik utomtát minimlizáljuk, mindig ugynzt minimális utomtát kpjuk eredményül. Két utomt ekvivlenciáját úgy is el lehet dönteni, hogy mindkettőt minimlizáljuk, mjd megnézzük, hogy mindkét eseten ugynzt kpjuk-e eredményül. 19/19