Jelena Ignjatović Teorija algoritama, automata i jezika 2016 1 Jelena Ignjatović
Polgrupa preslikavanja Preduzećemo još neke korake u opisivanju algebarskih - uspešniji odgovor na pitanja o raspoznatljivosti jezika. Neka je dat konačan deterministički automat dostižan. Svaka ulazna reč definiše na automatu funkciju koja skup stanja automata slika u sam taj skup. Bez obzira na to što ima beskonačno mnogo ulaznih reči, ovakvih funkcija može biti samo konačno mnogo, jer polazni automat ima konačan skup stanja. Tako definišemo konačan skup funkcija na skupu stanja, koji ima osobinu da kompozicija bilo koje dve funkcije ovog skupa, takode, pripada tom skupu. Kako je kompozicija preslikavanja asocijativna operacija, ovaj skup funkcija predstavlja konačnu polugrupu. Tako je, svakim konačnim automatom, odredena jedna konačna polugrupa. Dakle, konačnim minimalnom automatom koji raspoznaje dati jezik, takode je odredena je konačna polugrupa, te svakom raspoznatljivom jeziku odgovara polugrupa odredena njegovim minimalnim automatom. Ovu polugrupu iskoristićemo da bi dobili neke značajne informacije o datom jeziku. Uočimo, najpre, kakav uticaj ulazne reči imaju na stanja automata. 2 Jelena Ignjatović
Funkcije prelaza Neka je dat konačan, dostižan deterministički automata = (A, a 0, X,δ, T).Svakom slovu x X možemo pridružiti preslikavanjeη x : A A definisano sa η x (a)=δ(a, x), za a A. To preslikavanje nazivamo funkcijom prelaza automataaodredenom ulaznim slovom x. Teorema Neka jeakonačan, dostižan automat. Tada jeη xy =η x η y, za sve x, y X. Funkcija prelazaη e, odredena praznom reči e, jeste identičko preslikavanje skupa A. Dokaz: Za slova x, y Xi preslikavanjaη x,η y : A A imamo da važi (η x η y )(a)=η y (η x (a))=δ(δ(a, x), y)=δ(a, xy)=η xy, za svako stanje a A. Pored toga jeη e (a)=δ(a, e)=a, za svako a A, te je jasno da je η e identičko preslikavanje na skupu stanja automataa. 3 Jelena Ignjatović
Napomena: Kompoziciju funkcijaη x η y ćemo, jednostavnosti radi, pisatiη x η y. Indukcijom po dužini n N reči u=x 1 x 2...x n primenom prethodnog tvrdenja pokazujemo da je η u =η x1 x 2...x n =η x1 η x2 η xn =η x1 η x2...η xn. Odavde zaključujemo da,za sve reči u, v X, važi η uv =η u η v. Napomena: Uvedimo sada oznake M(A)={η u u X } i T X ={η x x X}. Teorema: Za proizvoljan automata, M(A) je monoid generisan skupom T X. 4 Jelena Ignjatović
Algoritam za konstrukciju slobodnog monoida Teorema: Neka je L X proizvoljan jezik ia L = (A L, L, X,δ L, T L ) minimalni automat koji raspoznaje dati jezik. Definišimo niz{h k } k N 0 podskupova monoida M(A L ) tako da je: H 0 ={η e }, H 1 = T X,... H k ={η x1 η x2...η xk =η x1 x 2...x k xi T X, i=1, k}. Zatim, induktivno formiramo niz skupova{y k } k N 0 sa: Y 0 = H 0, Y 1 = Y 0 H 1, Y k+1 = Y k H k+1, k N 0. Tada: (a) Niz{Y k } k N 0 je rastući. (b) Ako postoji n 0 N 0 takav da je Y n0 = Y n0 +1, tada je M(A L )=Y n0. 5 Jelena Ignjatović
Algoritam za konstrukciju slobodnog monoida ALGORITAM: Postupak se sastoji u konstrukciji stabla monoida prelaza automata A. Stablo se konstruiše induktivno, na sledeći način: (A1) Koren stabla jeη e i mi stavljamo da je Y 0 ={η e }. (A2) Posle itog koraka neka je konstruisano stablo Y i i neka su čvorovi u Y i označeni ili kao zatvoreni ili kao nezatvoreni. Značenje ta dva termina biće razjašnjeno u nastavku. (A3) U sledećem koraku konstruišemo stablo Y i+1 proširivanjem stabla Y i na sledeći način: za svaki nezatvoren listη u, za u X, u stablu Y i i svako x X, dodajemo čvorη ux =η u η x i granu izη u uη ux označenu sa x. Istovremeno, proveravamo da li jeη ux funkcija prelaza koja je već bila konstruisana, i ako je to tačno, ako je funkcijaη ux jednaka nekom prethodno izračunatom prelazu, onda kažemo da je čvorη ux zatvoren i označavamo ga sa. Postupak se završava kada svi listovi budu označeni kao zatvoreni. (A4) Kada je stablo monoida prelaza M(A) automataakonstruisano, njegovi unutrašnji čvorovi predstavljaju različite elemente monoida M(A). 6 Jelena Ignjatović
Algoritam za konstrukciju slobodnog monoida Primer: Naći monoid prelaza automata A sa skupom stanja A ={a, b, c}, inicijalnim stanjem a i ulaznim alfabetom X={x, y}, čija je funkcija prelaza data tablicom: δ a b c x b c a y b b b Nalazimo monoid M(A) generisan skupom T X korišćenjem prethodne teoreme. η e : ( ) a b c, η a b c x : ( ) a b c, η b c a y : Dakle, Y 0 = H 0 ={η e }, H={η x,η y } i Y 1 ={η e,η x,η y }. ( ) a b c. b b b 7 Jelena Ignjatović
Algoritam za konstrukciju slobodnog monoida (cont.) Primer (cont.): η xx =η x η x : η yx =η y η x : ( ) a b c, η c a b xy =η x η y : ( ) a b c =γ, η c c c yy =η y η y : ( ) a b c =η b b b y =β, ( ) a b c =η b b b y =β. Odavde dobijamo Y 2 = Y 1 H 2 ={η e,η x,η y,η xx,η yx }={η e,η x,β,η xx,γ}. η xxx =η x η xx : η xyx =η x η yx =η x γ : ( ) a b c =η a b c e, η xxy =η x η xy =η x β : ( ) a b c =γ, η c c c yxx =γη x : ( ) a b c =β, b b b ( ) a b c =η a a a y =α, η yxy =η y β=β, η xyy =βη y =β, η yyx =βη x =γ, η yyy =βη y =β. Dobili smo skup Y 3 = Y 2 H 3 ={η e,η x,β,η xx,γ,α}. 8 Jelena Ignjatović
Algoritam za konstrukciju slobodnog monoida (cont.) Primer (cont.): η x 4=η x η xxx =η x η e =η x, η x 3 y =η eη y =β, η xxyx =βη x =γ, η xxyy =η x β=β, η yx 3=αη x =β, η yxxy =αη y =β. Vidimo da je Y 4 = Y 3 H 4 = Y 3, što znači da se monoid prelaza sastoji od sledećih funkcija: M(A)=Y 3 ={η e,η x,β,η xx,γ,α}. η xxx η yx 3 η xxy x η yxx η yx 2 y x y x y η xx η xy η yx η yxy x y x y y η yy η x x η e y η y 9 Jelena Ignjatović
Algoritam za konstrukciju slobodnog monoida (cont.) Primer (cont.): Monoid prelaza M(A) se može predstaviti sledećom tablicom: η e η x β η xx γ α η e η e η x β η xx γ α η x η x η xx β η e γ α β β γ β α γ α η xx η xx η e β η x γ α γ γ α β β γ α α α β β γ γ α Komentar Od beskonačno mnogo reči ulaznog monoida X, samo konačno mnogo utiče na rad konačnog, determinističkog automata. Dakle, funkcije prelaza mogu znatno da pojednostave ispitivanje uticaja ulaznog alfabeta na rad automata grupišu reči prema tome kako one utiču na prelaze iz jednog stanja u drugo. 10 Jelena Ignjatović
Raspoznavanje jezika monoidom Komentar Jednostavno se pokazuje da je definisana sa: (u, v) η u =η v, za reči u, v X, ekvivalencija na X. Relacija ulazni monoid razbija na klase, pri čemu samo predstavnici svake od klasa utiču na rad automata. Šta više, ovako definisana relacija je desna kongruencija odredena desnim translacijama (prelazima) iz stanja u stanje. Raspoznavanje jezika monoidom Slično raspoznavanju jezika automatima definiše se i raspoznavanje jezika monoidom. Monoid S raspoznaje jezik L X skupom H S, ako postoji homomorfizamϕ : X S takav da je L=ϕ 1 (H), tj. L={u X ϕ(u) H} ( u X ) u L ϕ(u) H. Može se reći da monoid S raspoznaje jezik L homomorfizmomϕ : X S ako je L=(ϕ ϕ 1 )(L). 11 Jelena Ignjatović
Sintaksički monoid jezika (cont.) Glavna kongruencija Glavna kongruencija na X odredena jezikom L je relacija definisana sa: (u, v) P L ( p, q X ) (puq L pvq L). Kontekst reči Svaki par reči (p, q) X za koji važi da je puq L nazivamo kontekstom reči u X u odnosu na jezik L. Za dve reči u i v koje se javljaju u istim kontekstima u jeziku L kažemo da su sintaksički ekvivalentne. Sintaksički monoid Ako na faktor skupu X /P L, u odnosu na operaciju konkatenacije, prirodno definišemo operaciju na sledeći način: up L vp L = (uv)p L, za proizvoljne up L, vp L X. onda je (X /P L, ) faktor monoid koji se naziva sintaksički monoid jezika L i označava se sa Syn(L). 12 Jelena Ignjatović
Dostižan automat (cont.) Teorema: U rukopisu je glavna kongruencija jezika L označena saµ L, dok je sintaksički monoid označen sa X /µ L. Teorema Za jezik L X, Syn(L) je monoid najmanje kardinalnosti koji raspoznaje jezik L. Dokaz: Prirodno preslikavanje P L : X X /P L je homomorfizam i očigledno je da Syn(L) raspoznaje jezik L podskupom{up L u L} X. Neka je S monoid koji raspoznaje jezik L podskupom H. Tada postoji homomorfizamϕ : X S takav da je L=ϕ 1 (H). Pokažimo da je kerϕ P L. Za proizvoljne reči u, v X koje su u relaciji (u, v) kerϕ jeϕ(u)=ϕ(v). Ako u L, za sve reči p, q X imamo ϕ(puq) = ϕ(p)ϕ(u)ϕ(q) = ϕ(p)ϕ(v)ϕ(q) = ϕ(pvq) što prema definiciji glavne kongruencije znači da (u, v) P L. Syn(L) X /kerϕ = H S. 13 Jelena Ignjatović
(cont.) Dokaz: Ovim je dokaz komletiran. Sledeći dijagram komutira i važi ϕ X S P L X /P L ψ Teorema: Sintaksički monoid Syn(L) jezika L X izomorfan je monoidu prelaza minimalnog automataa L jezika L. I Dokaz: Definišimo preslikavanjeϕ : X M(A L ) na sledeći način: ϕ(u)=η u, za u X. Ovo preslikavanje je epimorfizam i pokazuje se da je kerϕ = P L, te je, prema prvoj teoremi o izomorfizmu Syn(L) izomorfan monoidu M(A L ). 14 Jelena Ignjatović
(cont.) II Dokaz: Označimo sa M(A L ) monoid prelaza minimalnog automataa L. Kako je A L ={L.u u X }, za reč v X jeste η v (L.u)=δ L (L.u, v)=(l.u).v=l.uv=η uv (L)=δ L (L, uv). Definišimo preslikavanjeψ : X /P L M(A L ) sa: ϕ(up L )=η u, u X. Najpre dokazjemo dobru definisanost preslikavanjaψ. Neka su u, v X reči takve da je up L = vp L. To znači da su (u, v) P L, tj. ( w, w X ) (wuw L) (wvw L) ( w, w X ) (uw L.w) (vw L.w) ( w, w X ) (w L.wu) (w L.wv). 15 Jelena Ignjatović
Sintaksicki monoid jezika (cont.) Dokaz (cont.): Dakle, ( H A L ) (H= L.w)η u (H)=η v (H) η u =η v ψ(up L )=ψ(vp L ) Slično se pokazuje da iz jednakostiη u =η v sledi jednakost klasa up L = vp L, za sve u, v X, pa jeψinjektivno preslikavanje. Sirjektivnost je očigledna, jer zaη u M(A L ) imamo up L X /P L, pa jeψ(up L )=η u, što znači da jeϕbijekcija. Ostaje da dokazemo da jeψhomomorfizam: ψ((up L )(vp L ))=ψ((uv)p L )=η uv =η u η v =ψ(up L ) ψ(vp L ) Jasno da jeψizomorfizam izmedju monoida Syn(L) i M(A L ), što je i trebalo dokazati. 16 Jelena Ignjatović
Najveća desna kongruencija na X R L Za dati jezik L X, definisaćemo relaciju R L na sledeći način: za reči u, v X je (u, v) R L ( w X ) (uw L vw L). Jednostavno se pokazuje da je R L relacija ekvivalencije na X, kao i da je desno kompatibilna (saglasna), pa je R L desna kongruencija na slobodnom monoidu X. R L se naziva glavnom desnom kongruencijom jezika L. Indeks relacije Broj klasa ekvivalencije u odnosu na proizvoljnu relaciju ekvivalencije R naziva se indeks relacije R u oznaci Ind(R). Broj klasa ekvivalencije u odnosu na relaciju R L, tj. broj elemenata faktor skupa X /R L, je Ind(R L ). 17 Jelena Ignjatović
Najveća desna kongruencija na X Unija klasa Za relaciju ekvivalencije na skupu H kažemo da zasićuje podskup H K ako se K maže predstaviti u obliku unije nekih -klasa od H. ε L Za dati jezik L X, saε L ćemo označiti relaciju ekvivalencije takvu da važi (u, v) ε L (u L v L). Stav: Neka je L X. Relacija ekvivalencije na X zasićuje L ako i samo ako je ε L. 18 Jelena Ignjatović
Najveća desna kongruencija na X Dokaz: Neka je relacija ekvivalencije na X koja zasićuje L. To znači da se jezik L može napisati u obliku L= {L i i I}, gde L i, i I jesu -klase monoida X. Posmatrajmo proizvoljan par (u, v). Ako u L to znači da u L i za neki i I, pa iz (u, v) sledi da v L i L. Na potpuno isti način pokazujemo da iz uslova v L sledi da u L. Dakle imamo da je (u, v) ε L, tj. ε L. Obratno, neka je ε L. Jasno je da je L {L i i I}. Da bi dokazali obratnu inkluziju, treba dokazati da je u L, za svaku reč u L. Zaista, neka je u L i v u. Tada (u, v) ε L, pa v L, što je i trebalo dokazati. Prema tome pokazali smo da je L= {L i i I}, što znači da zasićuje L. Stav: Za dati jezik L, relacija R L je najveća desna kongruencija na slobodnom monoidu X koja zasićuje L. 19 Jelena Ignjatović
Najveća desna kongruencija na X Dokaz: R L je desna kongruencija na X definisana za dati jezik L X. Za proizvoljne reči (u, v) R L i w=e dobijamo da u=ue L ako i samo ako ve=v L, tj. (u, v) ε L. R L ε L, te R L zasićuje L. Dokazaćemo da je, proizvoljna desna kongruencija na X, koja zasićuje L, sadržana u R L. Posmatrajmo proizvoljan par (u, v). Zbog desne saglasnosti relacije, za proizvoljnu reč w X važi (uw, vw) ε L. Dakle, reč uw L ako i samo ako vw L, za svaki w X, što znači da (u, v) R L. Time smo pokazali da je R L, tj. da je R L najveća desna kongruencija na X koja zasićuje L. Teorema: Neka je L X dati jezik i neka jeσ proizvoljna desna kongruencija na X. Faktor automata σ raspoznaje L ako i samo akoσ zasićuje jezik L. 20 Jelena Ignjatović
Najveća desna kongruencija na X Dokaz: Pretostavimo da automata σ = (A σ, eσ, X,δ σ, T σ ) raspoznaje jezik L skupom finalnih stanja T σ. To znači da je L={u X (eσ)u T σ }={u X uσ T σ }= uσ, uσ T σ pa prema tomeσ zasićije L. Obratno, nekaσ zasićuje L, tj. neka je L unija nekihσ-klasa. Označimo sa T σ uniju svih σ-klasa sadržanih u L. Tada je L={u X uσ T σ }={u X (eσ)u T σ }, paa σ raspoznaje L skupom završnih stanja T σ. Teorema: Neka je L X proizvoljan jezik koji je raspoznatljiv konačnim automatom. Faktor automat A RL = (X /R L, er L, X,δ RL, TR L ) je izomorfan minimalnom automatua L = (A L, L, X,δ L, T L ) desnih razlomaka jezika L. 21 Jelena Ignjatović
Najveća desna kongruencija na X Dokaz: Definišimo preslikavanjeϕ : X /R L A L sa: ϕ(ur L )=L.u, za proizvoljnu reč u X. Neka su u, v X reči takve da je ur L = vr L. To znači da su (u, v) R L, tj. da uw L ako i samo ako vw L, za svaki w X. Dakle, uslov da w L.u ekvivalentan je sa w L.v, čime smo dokazali dobru definisanost preslikavanja ϕ. Slično se pokazuje da iz jednakosti slika L.u=L.v sledi jednakost klasa ur L = vr L, za sve u, v X, pa jeϕpreslikavanje 1-1. Sirjektivnost je očigledna, što znači da jeϕbijekcija. Takode važiϕ(er L )=L.e=L i ur L TR L u L ue L e L.u L.u T L ϕ(ur L ) T L, pa se inicijalno stanje preslikavanjemϕslika i inicijalno stanje automataa L i svako završno stanje automataa RL slika se u završno stanje automata desnih razlomaka. Po definiciji faktor automata, za reči u, v X važi: ϕ(δ RL (ur L, v))=ϕ((ur L )v)=ϕ((uv)r L )=L.uv = (L.u).v=δ L (L.u, v)=δ L (ϕ(ur L ), v). Jasno da jeϕizomorfizam automataa RL naa L, što je i trebalo dokazati. 22 Jelena Ignjatović
Najveća desna kongruencija na X Teorema: Jezik L X je raspoznatljiv konačnim automatom ako i samo ako je glavna desna kongruencija R L konačnog indeksa. Dokaz: Kako glavna desna kongruencija R L zasićuje L, faktor automata RL raspoznaje L. Ako je Ind(R L ) konačan, skup X /R L je konačan, što znači da jea RL konačan automat koji raspoznaje jezik L. Obratno, ako je A konačan automat sa n stanja koji raspoznaje L, prema prethodnom zadatku je Ind(R L )= X /R L n, što je i trebalo dokazati. 23 Jelena Ignjatović
Raspoznatljivost jezika Komentar: Na osnovu ranije dokazanog, jednostavno se dokazuje sledeća teorema koja daje karakterizaciju raspoznatljivih jezika: Teorema: Neka je L X jezik nad konačnim alfabetom X. Tada su sledeći uslovi ekvivalentni: (i) L je raspoznatljiv; (ii) L je zasićen nekom desnom kongruencijom na X konačnog indeksa; (iii) glavna desna kongruencija R L na X je konačnog indeksa; (iv) L može biti raspoznat konačnim monoidom; (v) L je zasićen nekom kongruencijom na X konačnog indeksa; (vi) sintaksička kongruencija P L na X je konačnog indeksa. 24 Jelena Ignjatović
Raspoznatljivost jezika Komentar: Na osnovu ranije dokazanog, jednostavno se dokazuje sledeća teorema koja daje karakterizaciju raspoznatljivih jezika: Teorema: Neka je L X jezik nad konačnim alfabetom X. Tada su sledeći uslovi ekvivalentni: (i) L je raspoznatljiv; (ii) L je zasićen nekom desnom kongruencijom na X konačnog indeksa; (iii) glavna desna kongruencija R L na X je konačnog indeksa; (iv) L može biti raspoznat konačnim monoidom; (v) L je zasićen nekom kongruencijom na X konačnog indeksa; (vi) sintaksička kongruencija P L na X je konačnog indeksa. 24 Jelena Ignjatović
Raspoznatljivost jezika Komentar: Na osnovu ranije dokazanog, jednostavno se dokazuje sledeća teorema koja daje karakterizaciju raspoznatljivih jezika: Teorema: Neka je L X jezik nad konačnim alfabetom X. Tada su sledeći uslovi ekvivalentni: (i) L je raspoznatljiv; (ii) L je zasićen nekom desnom kongruencijom na X konačnog indeksa; (iii) glavna desna kongruencija R L na X je konačnog indeksa; (iv) L može biti raspoznat konačnim monoidom; (v) L je zasićen nekom kongruencijom na X konačnog indeksa; (vi) sintaksička kongruencija P L na X je konačnog indeksa. 24 Jelena Ignjatović
Raspoznatljivost jezika Komentar: Na osnovu ranije dokazanog, jednostavno se dokazuje sledeća teorema koja daje karakterizaciju raspoznatljivih jezika: Teorema: Neka je L X jezik nad konačnim alfabetom X. Tada su sledeći uslovi ekvivalentni: (i) L je raspoznatljiv; (ii) L je zasićen nekom desnom kongruencijom na X konačnog indeksa; (iii) glavna desna kongruencija R L na X je konačnog indeksa; (iv) L može biti raspoznat konačnim monoidom; (v) L je zasićen nekom kongruencijom na X konačnog indeksa; (vi) sintaksička kongruencija P L na X je konačnog indeksa. 24 Jelena Ignjatović
Raspoznatljivost jezika Komentar: Na osnovu ranije dokazanog, jednostavno se dokazuje sledeća teorema koja daje karakterizaciju raspoznatljivih jezika: Teorema: Neka je L X jezik nad konačnim alfabetom X. Tada su sledeći uslovi ekvivalentni: (i) L je raspoznatljiv; (ii) L je zasićen nekom desnom kongruencijom na X konačnog indeksa; (iii) glavna desna kongruencija R L na X je konačnog indeksa; (iv) L može biti raspoznat konačnim monoidom; (v) L je zasićen nekom kongruencijom na X konačnog indeksa; (vi) sintaksička kongruencija P L na X je konačnog indeksa. 24 Jelena Ignjatović
Raspoznatljivost jezika Komentar: Na osnovu ranije dokazanog, jednostavno se dokazuje sledeća teorema koja daje karakterizaciju raspoznatljivih jezika: Teorema: Neka je L X jezik nad konačnim alfabetom X. Tada su sledeći uslovi ekvivalentni: (i) L je raspoznatljiv; (ii) L je zasićen nekom desnom kongruencijom na X konačnog indeksa; (iii) glavna desna kongruencija R L na X je konačnog indeksa; (iv) L može biti raspoznat konačnim monoidom; (v) L je zasićen nekom kongruencijom na X konačnog indeksa; (vi) sintaksička kongruencija P L na X je konačnog indeksa. 24 Jelena Ignjatović
Nedetrministicki automati Definicija: Konačni deterministički automati, kao što smo videli, imaju svojstvo da se iz proizvoljnog stanja a, pod uticajem ulaznog slova x, prelazi u jedno tačno odredeno stanjeδ(a, x). Medutim, mogu se razmatrati i takvi automati kod kojih je iz stanja a, pod uticajem ulaznog slova x, moguće preći u više od jednog stanja, ili ne preći ni u jedno stanje. Drugim rečima, kod ovakvih automata prelazi nisu jednoznačno odredeni, pa takve automate nazivamo nedeterministički automati, skraćeno NDA. Formalna matematička definicija NDA je: Nedeterministički automat je petorkaa=(a, I, X,δ, T) koju čine: A neprazan, konačan skup stanja; I A skup inicijalnih stanja; X neprazan i konačan ulazni alfabet X; δ : A X P(A) funkcija prelaza, gde je sap(a) označen partitivni skup skupa A, odnosno skup svih podskupova skupa A. T A skup završnih stanja. Dakle, kod NDA se može reći da jeδ(a, x) skup stanja u koje je moguće preći iz stanja a pod uticajem ulaznog simbola x. 25 Jelena Ignjatović
Nedeterministički automati (cont.) Napomena: KakoP(A) sadrži i prazan skup, to prema gornjoj definicijiδ(a, x) može biti i prazan skup. U tom slučaju, iz stanja a se pod uticajem ulaznog simbola x ne može preći ni u jedno drugo stanje. Primetimo da se deterministički automat može tretirati kao specijalan slučaj nedeterminističkog automata, kod koga su svi podskupoviδ(a, x) jednoelementni. Ekvivalentna definicija: NDA se može definisati kao uredena petorkaa=(a, I, X, E, T), koju čine: A neprazan skup stanja; I A skup inicijalnih stanja; X neprazan i konačan ulazni alfabet ; E A X A relacija prelaza; T A skup završnih stanja. 26 Jelena Ignjatović
Nedeterministički automati (cont.) Komentar: Ovako definisana relacija prelaza znači da se iz stanja a se pod uticajem ulaznog simbola x može preći u stanje b ako i samo ako je (a, x, b) E. Iz druge definicije, vidimo da je nedeterministički automat zapravo označeni graf, pri čemu (a, x, b) E možemo shvatiti kao granu grafa izmedu čvorova a i b označenu sa x. Komentar: Neka jea = (A, I, X,δ, T) dati nedeterministički automat. Za P P(A) i x X, definišimo δ(p, x) P(A) sa δ(p, x)= δ(a, x). a P Preslikavanjeδprošireno je sa A X nap(a) X, poistovećivanjem elemenata iz A sa odgovarajućim jednoelementnim podskupovima izp(a): za sve a A i x X. δ({a}, x)=δ(a, x), 27 Jelena Ignjatović
Determinizacija nedeterminističkih automata Komentar: Ovim smo pokazali da se nedeterministički automata = (A, I, X,δ, T) na prirodan način može prevesti u deterministički automat A p = (P(A), I, X,δ,T ), gde jet ={P P(A) P T }. Automat A p zvaćemo determinizacija nedeterminističkog automata A dobijena podskupovnom konstrukcijom. Raspoznatljivost jezika Jezik L(A)={u X δ(i, u) T }, nazivamo jezikom nedeterminističkog automata A. Ako je L=L(A), onda kažemo daaraspoznaje jezik L skupom završnih stanja T. U tom slučaju jezik L može biti raspoznat nedeterminističkim automatoma. Teorema: Neka je A = (A, I, X, δ, T) nedeterministički automat i A p = (P(A), I, X,δ,T ) je njegova determinizacija. Tada je L(A)=L(A p ). 28 Jelena Ignjatović
Determinizacija nedeterminističkih automata (cont.) Teorema: Jezik L X može biti raspoznat konačnim determinističkim automatom ako i samo ako može biti raspoznat konačnim nedeterminističkim automatom. Primer: Ako je nedeterministički automatadat sledećim grafom, naći deterministički automat koji raspoznaje isti jezik kaoa. x x, y a 0 a 1 Primer: x Determinizacijom automataapodskupovnom konstrukcijom dobijamo automata p : 29 Jelena Ignjatović
Raspoznatljivost unije raspoznatljivih jezika x, y a 0 x a 01 y y x a y 1 x Konstrukcija: Neka sua 1 = (A 1, a 1 0, X,δ 1, T 1 ) ia 2 = (A 2, a 2 0, X,δ 2, T 2 ) automati koji raspoznaju jezike L 1 i L 2, redom. Tada automata=(a, a 0, X,δ, T) konstruisan na sledeći način: A=A 1 A 2, a 0 = (a 1, 0 a2 ), sa funkcijom prelazaδ : A X A definisanom sa 0 δ((a 1, a 2 ), x)=(δ 1 (a 1, x),δ 2 (a 2, x)), i T= (T 1 A 2 ) (A 1 T 2 ). raspoznaje jezik L 1 L 2. 30 Jelena Ignjatović
Raspoznatljivost unije raspoznatljivih jezika Dokaz: Zaista, iz iz definicije funkcije prelazaδ lako se dobija da je δ((a 1, a 2 ), u)=(δ 1 (a 1, u),δ 2 (a 2, u)), za proizvoljne a 1 A 1, a 2 A 2 i u X, odakle sledi da je u L 1 L 2 u L 1 ili u L 2 δ 1 (a 0, u) T 1 iliδ 2 (a 0, u) T 2 (δ 1 (a 0, u),δ 2 (a 0, u)) (T 1 A 2 ) (A 1 T 2 ) δ(a 0, u) T u L(A). Jasno je da ovako konstruisan automataraspoznaje jezik L 1 L 2. Presek raspoznatljivih jezika: Neka sua 1 = (A 1, a 1 0, X,δ 1, T 1 ) ia 2 = (A 2, a 2 0, X,δ 2, T 2 ) dati automati koji, redom, raspoznaju jezike L 1, L 2 X. Jednostavno se pokazuje da automat A definisan u prethodnom zadatku raspoznaje jezik L 1 L 2 skupom završnih stanja T= T 1 T 2. 31 Jelena Ignjatović
Komplement raspoznatljivog jezika Komplement raspoznatljivog jezika: Ako konačan automata=(a, a 0, X,δ, T) raspoznaje L skupom T A, tada isti automat raspoznaje komplement jezika L u X skupom A\T. Razlika raspoznatljivih jezika: Neka sua 1 = (A 1, a 1 0, X,δ 1, T 1 ) ia 2 = (A 2, a 2 0, X,δ 2, T 2 ) automati koji, raspoznaju, redom, jezike L 1, L 2 X. Važi da je L 1 \ L 2 = L 1 L 2, gde L 2 označava komplement od L 2 u X, pa je na osnovu prethodnih tvrdenja razlika raspoznatljivih jezika raspoznatljiv jezik. Proizvod raspoznatljivih jezika: Neka sua 1 = (A 1, a 1 0, X,δ 1, T 1 ) ia 2 = (A 2, a 2 0, X,δ 2, T 2 ) dati automati koji, redom, raspoznaju jezike L 1, L 2 X. Konstruisaćemo automata=(a, a 0, X,δ, T) koji raspoznaje jezik L 1 L 2. 32 Jelena Ignjatović
Proizvod raspoznatljivih jezika Proizvod raspoznatljivih jezika: Razlikovaćemo slučajeve kada je e L i kada e L. Slučaj e L : Za i {1, 2} neka jea i = (A i, a i 0, X,δ i, T i ) konačan deterministički automat koji raspoznaje L i skupom T i A i. Ne umanjujući opštost dokaza možemo uzeti da je A 1 A 2 =. Definišimo konačan nedeterministički automat A = (A, I, X, δ, T) na sledeći način: Neka je A=A 1 A 2, I={a 1}, T= T 2 i funkcija prelazaδ : A X P(A) je definisana 0 sa {δ 1 (a, x)} ako je a A 1 iδ 1 (a, x) T 1 δ(a, x)= {δ 1 (a, x), a 2 0 } ako je a A 1 iδ 1 (a, x) T 1 (1) {δ 2 (a, x)} ako je a A 2. Nedeterministički automataraspoznaje jezik L. 33 Jelena Ignjatović
Proizvod raspoznatljivih jezika(cont.) Proizvod raspoznatljivih jezika: Razlikovaćemo slučajeve kada je e L i kada e L. Slučaj e L : Za i {1, 2} neka jea i = (A i, a i 0, X,δ i, T i ) konačan deterministički automat koji raspoznaje L i skupom T i A i. Ne umanjujući opštost dokaza možemo uzeti da je A 1 A 2 =. Definišimo konačan nedeterministički automat A = (A, I, X, δ, T) na sledeći način: Neka je A=A 1 A 2, I={a 1}, T= T 2 i funkcija prelazaδ : A X P(A) je definisana 0 sa {δ 1 (a, x)} ako je a A 1 iδ 1 (a, x) T 1 δ(a, x)= {δ 1 (a, x), a 2 0 } ako je a A 1 iδ 1 (a, x) T 1 (2) {δ 2 (a, x)} ako je a A 2. Nedeterministički automataraspoznaje jezik L. 34 Jelena Ignjatović
Proizvod raspoznatljivih jezika(cont.)... x x... a 1 0 a a 2 0 A 1 A 2 Komentar: Automat A kreće sa radom iz inicijalnog stanja a 1 0 automata A 1, i svi prelazi u automatu A 1 prisutni su i u automatu A. Jedina razlika je u tome što ako se u automatu A 1 iz stanja a sa x može preći u neko završno stanje, onda se u automatu A zadržava taj prelaz, ali se omogućuje i da se iz a sa x prede u inicijalno stanje a 2 0 automata A 2. Ukoliko se prede u stanje a 2 0, onda automat A nastavlja da radi u okviru automata A 2, čiji su prelazi zadržani u A bez ikakvih izmena, i tu radi sve do eventualnog zaustavljanja. 35 Jelena Ignjatović
Proizvod raspoznatljivih jezika(cont.) Proizvod raspoznatljivih jezika: Slučaj e L : Ovaj slučaj je moguć samo ako je e L 1 i e L 2. Uvedimo oznake L = L\{e}, L 1 = L 1\{e} i L 2 = L 2\{e}. Lako se proverava da je L = L 1 L 2 L 1 L, odakle sledi da je 2 L=L 1 L 2 L 1 L {e}. (3) 2 L 1 i L 2 su raspoznatljivi jezici, pri čemu e L 1 L 2, pa kao što je napred dokazano, L 1 L 2 je raspoznatljiv jezik. Odavde sledi da je L raspoznatljiv jezik. 36 Jelena Ignjatović
L + L + Ako se jezik L može raspoznati konačnim automatoma=(a, a 0, X,δ, T), onda se jezik L + = L n. n N raspoznaje nedeterminističkim automatomâ=(a, I, X, δ, T) na sledeći način: I={a 0 }, funkcija prelaza je δ : A X P(A) definisana sa { {δ( a, x)} akoδ(a, x) T δ(a, x)= {δ ( a, x), a 0 } akoδ(a, x) T. skupom finalnih stanja T. Primer: Konstruisati automat koji raspoznaje jezik L=L 1 + L 2, gde je jezik L 1 = y x + i L 2 = x y +. 37 Jelena Ignjatović
Primer Primer: Konstruisaćemo minimalne automate jezika L 1 i L 2 nalaženjem desnih razlomaka datih jezika. L 1 = a 0 L 1.x={u X xu L 1 }=x = a 1, L 1.y={u X yu L 1 }=y x + = a 0, pa je A 1 ={a 0, a 1 }. Dalje, odredujemo skup A 2 : a 1.x={u X xu L 1 }=x = a 1 a 1.y={u X yu L 1 }= =a 2, i jasno je da je A 2 ={a 0, a 1, a 2 }. Odredujemo istim postupkom skup A 3 i dobijamo a 2.x=a 2.y= =a 2, pa je A 3 ={a 0, a 1, a 2 }, što znači da je A 3 = A 2. Prema tome, dobili smo da je A L1 = A 2 ={a 0, a 1, a 2 }. Dakle, automata L1 = (A L1, a 0, X,δ 1, T 1 ) je zadat grafom: 38 Jelena Ignjatović
Primer a 0 x a 1 x y a 2 x, y Primer: Dualno, dobijamo da je minimalni automata L2 = (A L2, b 0, X,δ 2, T 2 ) koji raspoznaje jezik L 2 predstavljen grafom: 39 Jelena Ignjatović
Primer b 0 y b 1 y x b 2 x, y Primer: Jezik L 1 L 2 je raspznatljiv automatom sa skupom stanja A=A L1 A L2 ={a ij = (a i, b j ) i, j {0, 1, 2}}, u kome je inicijalno stanje a 00 = (a 0, b 0 ) i skup završnih stanja T={a 1i i {0, 1, 2}} {a i1 i {0, 1, 2}}. Po definiciji funkcije prelaza dobijamo da se do stanja a 02, a 11 i a 20 ne može stici iz inicijalnog stanja, što znači da su ova stanja suvišna. Traženi automat može se predstaviti grafom prelaza na sledeći način: 40 Jelena Ignjatović
Primer x y x a 00 a 10 a 21 y y x y a 01 x a 12 y a 22 x x, y 41 Jelena Ignjatović