monoid prelaza automata [7pt]...nedeterministicki automati monoid prelaza automata algoritam za...

46
Monoid prelaza automata Jelena Ignjatovi´ c Teorija algoritama, automata i jezika 2016 1 Jelena Ignjatovi´ c Monoid prelaza automata

Upload: others

Post on 06-Mar-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Monoid prelaza automata

Jelena Ignjatovic

Teorija algoritama, automata i jezika2016

1 Jelena Ignjatovic Monoid prelaza automata

Page 2: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Monoid prelaza automata

Polgrupa preslikavanja

Preduzecemo jos neke korake u opisivanju algebarskih - uspesniji odgovor na pitanja oraspoznatljivosti jezika.

Neka je dat konacan deterministicki automat – dostizan. Svaka ulazna rec definise naautomatu funkciju koja skup stanja automata slika u sam taj skup.

Bez obzira na to sto ima beskonacno mnogo ulaznih reci, ovakvih funkcija moze bitisamo konacno mnogo, jer polazni automat ima konacan skup stanja. Tako definisemokonacan skup funkcija na skupu stanja, koji ima osobinu da kompozicija bilo koje dvefunkcije ovog skupa, takode, pripada tom skupu. Kako je kompozicija preslikavanjaasocijativna operacija, ovaj skup funkcija predstavlja ”konacnu polugrupu”.

Tako je, svakim konacnim automatom, odredena jedna konacna polugrupa. Dakle,konacnim minimalnom automatom koji raspoznaje dati jezik, takode je odredena jekonacna polugrupa, te svakom raspoznatljivom jeziku odgovara polugrupa odredenanjegovim minimalnim automatom. Ovu polugrupu iskoristicemo da bi dobili nekeznacajne informacije o datom jeziku.

Uocimo, najpre, kakav uticaj ulazne reci imaju na stanja automata.

2 Jelena Ignjatovic Monoid prelaza automata

Page 3: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Monoid prelaza automata

Funkcije prelaza

Neka je dat konacan, dostizan deterministicki automat A = (A, a0,X, δ, T).Svakomslovu x ∈ X∗ mozemo pridruziti preslikavanje ηx : A → A definisano sa

ηx(a) = δ(a, x), za a ∈ A.

To preslikavanje nazivamo funkcijom prelaza automataA odredenom ulaznim slovomx.

Teorema

Neka jeA konacan, dostizan automat. Tada je ηxy = ηx ◦ ηy , za sve x, y ∈ X∗. Funkcijaprelaza ηe, odredena praznom reci e, jeste identicko preslikavanje skupa A.

Dokaz:

Za slova x, y ∈ X i preslikavanja ηx, ηy : A → A imamo da vazi

(η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 identicko preslikavanje na skupu stanja automataA.

3 Jelena Ignjatovic Monoid prelaza automata

Page 4: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Monoid prelaza automata

Napomena:

Kompoziciju funkcija ηx ◦ ηy cemo, jednostavnosti radi, pisati ηxηy.

Indukcijom po duzini n ∈ N reci u = x1x2 . . . xn primenom prethodnog tvrdenjapokazujemo da je

ηu = ηx1x2 ...xn = ηx1 ◦ ηx2 ◦ · · · ◦ ηxn = ηx1ηx2 . . . ηxn .

Odavde zakljucujemo da,za sve reci u, v ∈ X∗, vazi

ηuv = ηuηv.

Napomena:

Uvedimo sada oznake

M(A) = {ηu | u ∈ X∗} i TX = {ηx | x ∈ X}.

Teorema:

Za proizvoljan automatA, M(A) je monoid generisan skupom TX .

4 Jelena Ignjatovic Monoid prelaza automata

Page 5: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Algoritam za konstrukciju slobodnog monoida

Teorema:

Neka je L ⊆ X∗ proizvoljan jezik i AL = (AL, L,X, δL, TL) minimalni automat koji

raspoznaje dati jezik. Definisimo niz {Hk}k∈N0 podskupova monoida M(AL) tako da je:

H0= {ηe}, H1

= TX , . . .

Hk= {ηx1ηx2 . . . ηxk

= ηx1x2 ...xk| xi ∈ TX , i = 1, k}.

Zatim, induktivno formiramo niz skupova {Yk}k∈N0 sa:

Y0 = H0, Y1 = Y0 ∪ H1,

Yk+1 = Yk ∪ Hk+1, k ∈ N0.

Tada:

(a) Niz {Yk}k∈N0 je rastuci.

(b) Ako postoji n0 ∈ N0 takav da je Yn0 = Yn0+1, tada je M(AL) = Yn0 .

5 Jelena Ignjatovic Monoid prelaza automata

Page 6: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Algoritam za konstrukciju slobodnog monoida

ALGORITAM:

Postupak se sastoji u konstrukciji stabla monoida prelaza automataA. Stablo sekonstruise induktivno, na sledeci nacin:

(A1) Koren stabla je ηe i mi stavljamo da je Y0 = {ηe}.

(A2) Posle itog koraka neka je konstruisano stablo Yi i neka su cvorovi u Yi oznaceniili kao ’zatvoreni’ ili kao ’nezatvoreni’. Znacenje ta dva termina bice razjasnjenou nastavku.

(A3) U sledecem koraku konstruisemo stablo Yi+1 prosirivanjem stabla Yi na sledecinacin: za svaki nezatvoren list ηu, za u ∈ X∗, u stablu Yi i svako x ∈ X, dodajemocvor ηux = ηuηx i granu iz ηu u ηux oznacenu sa x. Istovremeno, proveravamo dali je ηux funkcija prelaza koja je vec bila konstruisana, i ako je to tacno, ako jefunkcija ηux jednaka nekom prethodno izracunatom prelazu, onda kazemo da jecvor ηux ’zatvoren’ i oznacavamo ga sa �. Postupak se zavrsava kada svi listovibudu oznaceni kao zatvoreni.

(A4) Kada je stablo monoida prelaza M(A) automataA konstruisano, njegoviunutrasnji cvorovi predstavljaju razlicite elemente monoida M(A).

6 Jelena Ignjatovic Monoid prelaza automata

Page 7: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Algoritam za konstrukciju slobodnog monoida

Primer:

Naci monoid prelaza automataA sa skupom stanja A = {a, b, c}, inicijalnim stanjem a iulaznim alfabetom X = {x, y}, cija je funkcija prelaza data tablicom:

δ a b c

x b c ay b b b

Nalazimo monoid M(A) generisan skupom TX koriscenjem prethodne teoreme.

ηe :

(a b ca b c

), ηx :

(a b cb c a

), ηy :

(a b cb b b

).

Dakle, Y0 = H0= {ηe}, H = {ηx, ηy} i Y1 = {ηe, ηx, ηy}.

7 Jelena Ignjatovic Monoid prelaza automata

Page 8: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Algoritam za konstrukciju slobodnog monoida (cont.)

Primer (cont.):

ηxx = ηxηx :

(a b cc a b

), ηxy = ηxηy :

(a b cb b b

)= ηy = β,

ηyx = ηyηx :

(a b cc c c

)= γ, ηyy = ηyηy :

(a b cb b b

)= ηy = β.

Odavde dobijamo Y2 = Y1 ∪ H2= {ηe, ηx , ηy, ηxx , ηyx} = {ηe, ηx, β, ηxx , γ}.

ηxxx = ηxηxx :

(a b ca b c

)= ηe, ηxxy = ηxηxy = ηxβ :

(a b cb b b

)= β,

ηxyx = ηxηyx = ηxγ :

(a b cc c c

)= γ, ηyxx = γηx :

(a b ca a a

)= ηy = α,

ηyxy = ηyβ = β, ηxyy = βηy = β, ηyyx = βηx = γ, ηyyy = βηy = β.

Dobili smo skup Y3 = Y2 ∪ H3= {ηe, ηx, β, ηxx, γ, α}.

8 Jelena Ignjatovic Monoid prelaza automata

Page 9: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Algoritam za konstrukciju slobodnog monoida (cont.)

Primer (cont.):

ηx4 = ηxηxxx = ηxηe = ηx, ηx3y = ηeηy = β, ηxxyx = βηx = γ,

ηxxyy = ηxβ = β, ηyx3 = αηx = β, ηyxxy = αηy = β.

Vidimo da je Y4 = Y3 ∪ H4= Y3, sto znaci da se monoid prelaza sastoji od sledecih

funkcija: M(A) = Y3 = {ηe, ηx , β, ηxx, γ, α}.

ηe

ηx ηy

ηxx ηxy

�ηyx

ηyy

ηxxx

�ηxxy

�ηyxx ηyxy

ηyx3

�ηyx2y

x y

x y x y

x y x y

x y

9 Jelena Ignjatovic Monoid prelaza automata

Page 10: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Algoritam za konstrukciju slobodnog monoida (cont.)

Primer (cont.):

Monoid prelaza M(A) se moze predstaviti sledecom tablicom:

ηe ηx β ηxx γ αηe ηe ηx β ηxx γ αηx ηx ηxx β ηe γ αβ β γ β α γ αηxx ηxx ηe β ηx γ αγ γ α β β γ αα α β β γ γ α

Komentar

Od beskonacno mnogo reci ulaznog monoida X∗, samo konacno mnogo utice na radkonacnog, deterministickog automata.

Dakle, funkcije prelaza mogu znatno da pojednostave ispitivanje uticaja ulaznog alfabetana rad automata – grupisu reci prema tome kako one uticu na prelaze iz jednog stanja udrugo.

10 Jelena Ignjatovic Monoid prelaza automata

Page 11: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Raspoznavanje jezika monoidom

Komentar

Jednostavno se pokazuje da je definisana sa:

(u, v) ∈ ⇔ ηu = ηv, za reci u, v ∈ X∗,ekvivalencija na X∗.

Relacija ulazni monoid razbija na klase, pri cemu samo predstavnici svake od klasa

uticu na rad automata. Sta vise, ovako definisana relacija je desna kongruencija odredenadesnim translacijama (prelazima) iz stanja u stanje.

Raspoznavanje jezika monoidom

Slicno raspoznavanju jezika automatima definise 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.

Moze se reci da monoid S raspoznaje jezik L homomorfizmom ϕ : X∗ → S ako jeL = (ϕ ◦ ϕ−1)(L).

11 Jelena Ignjatovic Monoid prelaza automata

Page 12: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Sintaksicki monoid jezika (cont.)

Glavna kongruencija

Glavna kongruencija na X∗ odredena jezikom L je relacija definisana sa:

(u, v) ∈ PL ⇔ (∀p, q ∈ X∗) (puq ∈ L ⇔ pvq ∈ L).

Kontekst reci

Svaki par reci (p, q) ∈ X∗ za koji vazi da je puq ∈ L nazivamo kontekstom reci u ∈ X∗ uodnosu na jezik L.

Za dve reci u i v koje se javljaju u istim kontekstima u jeziku L kazemo da su sintaksickiekvivalentne.

Sintaksicki monoid

Ako na faktor skupu X∗/PL, u odnosu na operaciju konkatenacije, prirodno definisemooperaciju ”·” na sledeci nacin:

uPL · vPL = (uv)PL, za proizvoljne uPL, vPL ∈ X∗.

onda je (X∗/PL, ·) faktor monoid koji se naziva sintaksicki monoid jezika L i oznacavase sa Syn(L).

12 Jelena Ignjatovic Monoid prelaza automata

Page 13: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Dostizan automat (cont.)

Teorema:

U rukopisu je glavna kongruencija jezika L oznacena sa µL , dok je sintaksicki monoidoznacen sa X∗//µL .

Teorema

Za jezik L ⊆ X∗, Syn(L) je monoid najmanje kardinalnosti koji raspoznaje jezik L.

Dokaz:

Prirodno preslikavanje P♮

L: X∗ 7→ X∗/PL je homomorfizam i ocigledno je da Syn(L)

raspoznaje jezik L podskupom {uPL | u ∈ L} ⊆ X∗. Neka je S monoid koji raspoznajejezik L podskupom H. Tada postoji homomorfizamϕ : X∗ → S takav da je L = ϕ−1(H).Pokazimo da je kerϕ ⊆ PL. Za proizvoljne reci u, v ∈ X∗ koje su u relaciji (u, v) ∈ kerϕjeϕ(u) = ϕ(v). Ako u ∈ L, za sve reci p, q ∈ X∗ imamo

ϕ(puq) = ϕ(p)ϕ(u)ϕ(q) = ϕ(p)ϕ(v)ϕ(q) = ϕ(pvq)

sto prema definiciji glavne kongruencije znaci da (u, v) ∈ PL.

|Syn(L)| 6 |X∗/kerϕ| = |H| 6 |S|.

13 Jelena Ignjatovic Monoid prelaza automata

Page 14: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Monoid prelaza automata (cont.)

Dokaz:

Ovim je dokaz komletiran. Sledeci dijagram komutira i vazi

X∗ S

X∗/PL

ϕ

P♯

L

ψ

Teorema:

Sintaksicki monoid Syn(L) jezika L ⊆ X∗ izomorfan je monoidu prelaza minimalnogautomataAL jezika L.

I Dokaz:

Definisimo preslikavanjeϕ : X∗ 7→ M(AL) na sledeci nacin:

ϕ(u) = ηu, za u ∈ X∗.

Ovo preslikavanje je epimorfizam i pokazuje se da je kerϕ = PL, te je, prema prvojteoremi o izomorfizmu Syn(L) izomorfan monoidu M(AL).

14 Jelena Ignjatovic Monoid prelaza automata

Page 15: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Monoid prelaza automata (cont.)

II Dokaz:

Oznacimo sa M(AL) monoid prelaza minimalnog automataAL.Kako je AL = {L.u | u ∈ X∗}, za rec v ∈ X∗ jeste

ηv(L.u) = δL(L.u, v) = (L.u).v = L.uv = ηuv(L) = δL(L, uv).Definisimo preslikavanje ψ : X∗/PL 7→ M(AL) sa:

ϕ(uPL) = ηu , u ∈ X∗.Najpre dokazjemo dobru definisanost preslikavanja ψ . Neka su u, v ∈ X∗ reci takve daje uPL = vPL. To znaci da su (u, v) ∈ PL, 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 Ignjatovic Monoid prelaza automata

Page 16: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Sintaksicki monoid jezika (cont.)

Dokaz (cont.):

Dakle,

(∀H ∈ AL) (H = L.w) ηu(H) = ηv(H) ⇔ ηu = ηv ⇔ ψ(uPL) = ψ(vPL)

Slicno se pokazuje da iz jednakosti ηu = ηv sledi jednakost klasa uPL = vPL, za sveu, v ∈ X∗, pa je ψ injektivno preslikavanje.

Sirjektivnost je ocigledna, jer za ηu ∈ M(AL) imamo uPL ∈ X∗/PL, pa je ψ(uPL) = ηu,sto znaci da jeϕ bijekcija.Ostaje da dokazemo da je ψ homomorfizam:

ψ((uPL)(vPL)) = ψ((uv)PL) = ηuv = ηu ◦ ηv = ψ(uPL) ◦ ψ(vPL)

Jasno da je ψ izomorfizam izmedju monoida Syn(L) i M(AL), sto je i trebalo dokazati.

16 Jelena Ignjatovic Monoid prelaza automata

Page 17: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Najveca desna kongruencija na X∗

RL

Za dati jezik L ⊆ X∗, definisacemo relaciju RL na sledeci nacin: za reci u, v ∈ X∗ je

(u, v) ∈ RL ⇔ (∀w ∈ X∗) (uw ∈ L ⇔ vw ∈ L).

Jednostavno se pokazuje da je RL relacija ekvivalencije na X∗, kao i da je desno kompat-ibilna (saglasna), pa je RL desna kongruencija na slobodnom monoidu X∗.

RL se naziva glavnom desnom kongruencijom jezika L.

Indeks relacije

Broj klasa ekvivalencije u odnosu na proizvoljnu relaciju ekvivalencije R naziva se indeksrelacije R u oznaci Ind(R).

Broj klasa ekvivalencije u odnosu na relaciju RL, tj. broj elemenata faktor skupa X∗/RL,je Ind(RL).

17 Jelena Ignjatovic Monoid prelaza automata

Page 18: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Najveca desna kongruencija na X∗

Unija klasa

Za relaciju ekvivalencije na skupu H kazemo da zasicuje podskup H ⊆ K ako se Kmaze predstaviti u obliku unije nekih -klasa od H.

εL

Za dati jezik L ⊆ X∗, sa εL cemo oznaciti relaciju ekvivalencije takvu da vazi

(u, v) ∈ εL ⇔ (u ∈ L ⇔ v ∈ L).

Stav:

Neka je L ⊆ X∗. Relacija ekvivalencije na X∗ zasicuje L ako i samo ako je ⊆ εL.

18 Jelena Ignjatovic Monoid prelaza automata

Page 19: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Najveca desna kongruencija na X∗

Dokaz:

Neka je relacija ekvivalencije na X∗ koja zasicuje L. To znaci da se jezik L mozenapisati u obliku L =

⋃{Li | i ∈ I}, gde Li, i ∈ I jesu -klase monoida X∗. Posmatrajmo

proizvoljan par (u, v) ∈ . Ako u ∈ L to znaci da u ∈ Li za neki i ∈ I, pa iz (u, v) ∈ sledi da v ∈ Li ⊆ L. Na potpuno isti nacin pokazujemo da iz uslova v ∈ L sledi dau ∈ L. Dakle imamo da je (u, v) ∈ εL, tj. ⊆ εL.

Obratno, neka je ⊆ εL. Jasno je da je L ⊆⋃{Li | i ∈ I}. Da bi dokazali obratnu

inkluziju, treba dokazati da je u ⊆ L, za svaku rec u ∈ L. Zaista, neka je u ∈ L i v ∈ u.Tada (u, v) ∈ ⊆ εL, pa v ∈ L, sto je i trebalo dokazati.

Prema tome pokazali smo da je L =⋃{Li | i ∈ I}, sto znaci da zasicuje L.

Stav:

Za dati jezik L, relacija RL je najveca desna kongruencija na slobodnom monoidu X∗

koja zasicuje L.

19 Jelena Ignjatovic Monoid prelaza automata

Page 20: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Najveca desna kongruencija na X∗

Dokaz:

RL je desna kongruencija na X∗ definisana za dati jezik L ⊆ X∗. Za proizvoljne reci(u, v) ∈ RL i w = e dobijamo da u = ue ∈ L ako i samo ako ve = v ∈ L, tj. (u, v) ∈ εL.RL ⊆ εL, te RL zasicuje L.

Dokazacemo da je, proizvoljna desna kongruencija na X∗, koja zasicuje L, sadrzana uRL.

Posmatrajmo proizvoljan par (u, v) ∈ . Zbog desne saglasnosti relacije , za proizvoljnurec w ∈ X∗ vazi (uw, vw) ∈ ⊆ εL. Dakle, rec uw ∈ L ako i samo ako vw ∈ L, za svakiw ∈ X∗, sto znaci da (u, v) ∈ RL.

Time smo pokazali da je ⊆ RL, tj. da je RL najveca desna kongruencija na X∗ kojazasicuje L.

Teorema:

Neka je L ⊆ X∗ dati jezik i neka je σ proizvoljna desna kongruencija na X∗. FaktorautomatAσ raspoznaje L ako i samo ako σ zasicuje jezik L.

20 Jelena Ignjatovic Monoid prelaza automata

Page 21: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Najveca desna kongruencija na X∗

Dokaz:

Pretostavimo da automat Aσ = (Aσ , eσ,X, δσ , Tσ) raspoznaje jezik L skupom finalnihstanja Tσ . To znaci da je

L = {u ∈ X∗ | (eσ)u ∈ Tσ} = {u ∈ X∗ | uσ ∈ Tσ} =⋃

uσ∈Tσ

uσ,

pa prema tome σ zasicije L.Obratno, neka σ zasicuje L, tj. neka je L unija nekih σ-klasa. Oznacimo sa Tσ uniju svihσ-klasa sadrzanih u L. Tada je

L = {u ∈ X∗ | uσ ∈ Tσ} = {u ∈ X∗ | (eσ)u ∈ Tσ},

paAσ raspoznaje L skupom zavrsnih stanja Tσ .

Teorema:

Neka je L ⊆ X∗ proizvoljan jezik koji je raspoznatljiv konacnim automatom. Faktorautomat

ARL = (X∗/RL, eRL,X, δRL , TRL)

je izomorfan minimalnom automatuAL = (AL, L,X, δL, TL) desnih razlomaka jezika L.

21 Jelena Ignjatovic Monoid prelaza automata

Page 22: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Najveca desna kongruencija na X∗

Dokaz:

Definisimo preslikavanjeϕ : X∗/RL 7→ AL sa:

ϕ(uRL) = L.u,

za proizvoljnu rec u ∈ X∗. Neka su u, v ∈ X∗ reci takve da je uRL = vRL. To znaci dasu (u, v) ∈ RL, tj. da uw ∈ L ako i samo ako vw ∈ L, za svaki w ∈ X∗. Dakle, uslov daw ∈ L.u ekvivalentan je sa w ∈ L.v, cime smo dokazali dobru definisanost preslikavanjaϕ.

Slicno se pokazuje da iz jednakosti slika L.u = L.v sledi jednakost klasa uRL = vRL, zasve u, v ∈ X∗, pa jeϕ preslikavanje ”1-1”.

Sirjektivnost je ocigledna, sto znaci da jeϕ bijekcija. Takode vaziϕ(eRL) = L.e = L i

uRL ∈ TRL ⇔ u ∈ L ⇔ ue ∈ L ⇔ e ∈ L.u ⇔ L.u ∈ TL ⇔ ϕ(uRL) ∈ TL,

pa se inicijalno stanje preslikavanjem ϕ slika i inicijalno stanje automata AL i svakozavrsno stanje automataARL slika se u zavrsno stanje automata desnih razlomaka. Podefiniciji faktor automata, za reci u, v ∈ X∗ vazi:

ϕ(δRL (uRL, v)) = ϕ((uRL)v) = ϕ((uv)RL) = L.uv

= (L.u).v = δL(L.u, v) = δL(ϕ(uRL), v).

Jasno da jeϕ izomorfizam automataARL naAL, sto je i trebalo dokazati.

22 Jelena Ignjatovic Monoid prelaza automata

Page 23: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Najveca desna kongruencija na X∗

Teorema:

Jezik L ⊆ X∗ je raspoznatljiv konacnim automatom ako i samo ako je glavna desnakongruencija RL konacnog indeksa.

Dokaz:

Kako glavna desna kongruencija RL zasicuje L, faktor automatARL raspoznaje L. Akoje Ind(RL) konacan, skup X∗/RL je konacan, sto znaci da jeARL konacan automat kojiraspoznaje jezik L.Obratno, ako je A konacan automat sa n stanja koji raspoznaje L, prema prethodnomzadatku je

Ind(RL) = |X∗/RL| 6 n,

sto je i trebalo dokazati.

23 Jelena Ignjatovic Monoid prelaza automata

Page 24: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Raspoznatljivost jezika

Komentar:

Na osnovu ranije dokazanog, jednostavno se dokazuje sledeca teorema koja dajekarakterizaciju raspoznatljivih jezika:

Teorema:

Neka je L ⊆ X∗ jezik nad konacnim alfabetom X. Tada su sledeci uslovi ekvivalentni:

(i) L je raspoznatljiv;

(ii) L je zasicen nekom desnom kongruencijom na X∗ konacnog indeksa;

(iii) glavna desna kongruencija RL na X∗ je konacnog indeksa;

(iv) L moze biti raspoznat konacnim monoidom;

(v) L je zasicen nekom kongruencijom na X∗ konacnog indeksa;

(vi) sintaksicka kongruencija PL na X∗ je konacnog indeksa.

24 Jelena Ignjatovic Monoid prelaza automata

Page 25: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Raspoznatljivost jezika

Komentar:

Na osnovu ranije dokazanog, jednostavno se dokazuje sledeca teorema koja dajekarakterizaciju raspoznatljivih jezika:

Teorema:

Neka je L ⊆ X∗ jezik nad konacnim alfabetom X. Tada su sledeci uslovi ekvivalentni:

(i) L je raspoznatljiv;

(ii) L je zasicen nekom desnom kongruencijom na X∗ konacnog indeksa;

(iii) glavna desna kongruencija RL na X∗ je konacnog indeksa;

(iv) L moze biti raspoznat konacnim monoidom;

(v) L je zasicen nekom kongruencijom na X∗ konacnog indeksa;

(vi) sintaksicka kongruencija PL na X∗ je konacnog indeksa.

24 Jelena Ignjatovic Monoid prelaza automata

Page 26: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Raspoznatljivost jezika

Komentar:

Na osnovu ranije dokazanog, jednostavno se dokazuje sledeca teorema koja dajekarakterizaciju raspoznatljivih jezika:

Teorema:

Neka je L ⊆ X∗ jezik nad konacnim alfabetom X. Tada su sledeci uslovi ekvivalentni:

(i) L je raspoznatljiv;

(ii) L je zasicen nekom desnom kongruencijom na X∗ konacnog indeksa;

(iii) glavna desna kongruencija RL na X∗ je konacnog indeksa;

(iv) L moze biti raspoznat konacnim monoidom;

(v) L je zasicen nekom kongruencijom na X∗ konacnog indeksa;

(vi) sintaksicka kongruencija PL na X∗ je konacnog indeksa.

24 Jelena Ignjatovic Monoid prelaza automata

Page 27: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Raspoznatljivost jezika

Komentar:

Na osnovu ranije dokazanog, jednostavno se dokazuje sledeca teorema koja dajekarakterizaciju raspoznatljivih jezika:

Teorema:

Neka je L ⊆ X∗ jezik nad konacnim alfabetom X. Tada su sledeci uslovi ekvivalentni:

(i) L je raspoznatljiv;

(ii) L je zasicen nekom desnom kongruencijom na X∗ konacnog indeksa;

(iii) glavna desna kongruencija RL na X∗ je konacnog indeksa;

(iv) L moze biti raspoznat konacnim monoidom;

(v) L je zasicen nekom kongruencijom na X∗ konacnog indeksa;

(vi) sintaksicka kongruencija PL na X∗ je konacnog indeksa.

24 Jelena Ignjatovic Monoid prelaza automata

Page 28: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Raspoznatljivost jezika

Komentar:

Na osnovu ranije dokazanog, jednostavno se dokazuje sledeca teorema koja dajekarakterizaciju raspoznatljivih jezika:

Teorema:

Neka je L ⊆ X∗ jezik nad konacnim alfabetom X. Tada su sledeci uslovi ekvivalentni:

(i) L je raspoznatljiv;

(ii) L je zasicen nekom desnom kongruencijom na X∗ konacnog indeksa;

(iii) glavna desna kongruencija RL na X∗ je konacnog indeksa;

(iv) L moze biti raspoznat konacnim monoidom;

(v) L je zasicen nekom kongruencijom na X∗ konacnog indeksa;

(vi) sintaksicka kongruencija PL na X∗ je konacnog indeksa.

24 Jelena Ignjatovic Monoid prelaza automata

Page 29: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Monoid prelaza automata

Raspoznatljivost jezika

Komentar:

Na osnovu ranije dokazanog, jednostavno se dokazuje sledeca teorema koja dajekarakterizaciju raspoznatljivih jezika:

Teorema:

Neka je L ⊆ X∗ jezik nad konacnim alfabetom X. Tada su sledeci uslovi ekvivalentni:

(i) L je raspoznatljiv;

(ii) L je zasicen nekom desnom kongruencijom na X∗ konacnog indeksa;

(iii) glavna desna kongruencija RL na X∗ je konacnog indeksa;

(iv) L moze biti raspoznat konacnim monoidom;

(v) L je zasicen nekom kongruencijom na X∗ konacnog indeksa;

(vi) sintaksicka kongruencija PL na X∗ je konacnog indeksa.

24 Jelena Ignjatovic Monoid prelaza automata

Page 30: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Nedetrministicki automati

Definicija:

Konacni deterministicki automati, kao sto smo videli, imaju svojstvo da se izproizvoljnog stanja a, pod uticajem ulaznog slova x, prelazi u jedno tacno odredenostanje δ(a, x).Medutim, mogu se razmatrati i takvi automati kod kojih je iz stanja a, pod uticajemulaznog slova x, moguce preci u vise od jednog stanja, ili ne preci ni u jedno stanje.Drugim recima, kod ovakvih automata prelazi nisu jednoznacno odredeni, pa takveautomate nazivamo nedeterministicki automati, skraceno NDA. Formalna matematickadefinicija NDA je:Nedeterministicki automat je petorkaA = (A, I,X, δ, T) koju cine:

A – neprazan, konacan skup stanja;

I ⊆ A – skup inicijalnih stanja;

X – neprazan i konacan ulazni alfabet X;

δ : A × X → P(A) – funkcija prelaza, gde je sa P(A) oznacen partitivni skupskupa A, odnosno skup svih podskupova skupa A.

T ⊆ A – skup zavrsnih stanja.

Dakle, kod NDA se moze reci da je δ(a, x) skup stanja “u koje je moguce preci” iz stanjaa pod uticajem ulaznog simbola x.

25 Jelena Ignjatovic Monoid prelaza automata

Page 31: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Nedeterministicki automati (cont.)

Napomena:

Kako P(A) sadrzi i prazan skup, to prema gornjoj definiciji δ(a, x) moze biti i prazanskup. U tom slucaju, iz stanja a se pod uticajem ulaznog simbola x ne moze preci ni ujedno drugo stanje.Primetimo da se deterministicki automat moze tretirati kao specijalan slucaj nedeter-ministickog automata, kod koga su svi podskupovi δ(a, x) jednoelementni.

Ekvivalentna definicija:

NDA se moze definisati kao uredena petorkaA = (A, I,X, E, T), koju cine:

A – neprazan skup stanja;

I ⊆ A – skup inicijalnih stanja;

X – neprazan i konacan ulazni alfabet ;

E ⊆ A × X × A – relacija prelaza;

T ⊆ A – skup zavrsnih stanja.

26 Jelena Ignjatovic Monoid prelaza automata

Page 32: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Nedeterministicki automati (cont.)

Komentar:

Ovako definisana relacija prelaza znaci da se iz stanja a se pod uticajem ulaznog simbolax moze preci u stanje b ako i samo ako je (a, x, b) ∈ E.Iz druge definicije, vidimo da je nedeterministicki automat zapravo oznaceni graf, pricemu (a, x, b) ∈ E mozemo shvatiti kao granu grafa izmedu cvorova a i b oznacenu sa x.

Komentar:

Neka je A = (A, I,X, δ, T) dati nedeterministicki automat. Za P ∈ P(A) i x ∈ X,definisimo δ(P, x) ∈ P(A) sa

δ(P, x) =⋃

a∈P

δ(a, x).

Preslikavanje δ prosireno je sa A × X na P(A) × X, poistovecivanjem elemenata iz A saodgovarajucim jednoelementnim podskupovima iz P(A):

δ({a}, x) = δ(a, x),za sve a ∈ A i x ∈ X.

27 Jelena Ignjatovic Monoid prelaza automata

Page 33: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Determinizacija nedeterministickih automata

Komentar:

Ovim smo pokazali da se nedeterministicki automat A = (A, I,X, δ, T) na prirodannacin moze prevesti u deterministicki automat

Ap= (P(A), I,X, δ,T ),

gde je T = {P ∈ P(A) |P ∩ T , ∅}.Automat Ap zvacemo determinizacija nedeterministickog automata A dobijena pod-skupovnom konstrukcijom.

Raspoznatljivost jezika

Jezik L(A) = {u ∈ X∗ | δ(I, u) ∩ T , ∅}, nazivamo jezikom nedeterministickog automataA. Ako je L = L(A), onda kazemo daA raspoznaje jezik L skupom zavrsnih stanja T.U tom slucaju jezik L moze biti raspoznat nedeterministickim automatomA.

Teorema:

Neka jeA = (A, I,X, δ, T) nedeterministicki automat i

Ap= (P(A), I,X, δ,T )

je njegova determinizacija. Tada je L(A) = L(Ap).

28 Jelena Ignjatovic Monoid prelaza automata

Page 34: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Determinizacija nedeterministickih automata (cont.)

Teorema:

Jezik L ⊆ X∗ moze biti raspoznat konacnim deterministickim automatom ako i samoako moze biti raspoznat konacnim nedeterministickim automatom.

Primer:

Ako je nedeterministicki automatA dat sledecim grafom, naci deterministicki automatkoji raspoznaje isti jezik kaoA.

a1a0

x, y

x

x

Primer:

Determinizacijom automataA podskupovnom konstrukcijom dobijamo automatAp:

29 Jelena Ignjatovic Monoid prelaza automata

Page 35: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Raspoznatljivost unije raspoznatljivih jezika

a01a0

∅ a1

x

y

y

y

x

x

x, y

Konstrukcija:

Neka su A1 = (A1, a10,X, δ1, T1) i A2 = (A2, a2

0,X, δ2, T2) automati koji raspoznaju

jezike L1 i L2, redom.

Tada automatA = (A, a0,X, δ, T) konstruisan na sledeci nacin:

A = A1 × A2, a0 = (a10, a2

0), sa funkcijom prelaza δ : A × X → A definisanom sa

δ((a1 , a2), x) = (δ1(a1, x), δ2(a2, x)),

i T = (T1 × A2) ∪ (A1 × T2). raspoznaje jezik L1 ∪ L2.

30 Jelena Ignjatovic Monoid prelaza automata

Page 36: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Raspoznatljivost unije raspoznatljivih jezika

Dokaz:

Zaista, iz iz definicije funkcije prelaza δ lako se dobija da je

δ((a1, a2), u) = (δ1(a1, u), δ2(a2, u)),

za proizvoljne a1 ∈ A1, a2 ∈ A2 i u ∈ X∗, odakle sledi da je

u ∈ L1 ∪ L2 ⇔ u ∈ L1 ili u ∈ L2

⇔ δ1(a0, u) ∈ T1 ili δ2(a0, u) ∈ T2

⇔ (δ1(a0, u), δ2(a0, u)) ∈ (T1 × A2) ∪ (A1 × T2)⇔ δ(a0, u) ∈ T ⇔ u ∈ L(A).

Jasno je da ovako konstruisan automatA raspoznaje jezik L1 ∪ L2.

Presek raspoznatljivih jezika:

Neka su A1 = (A1, a10,X, δ1, T1) i A2 = (A2, a2

0,X, δ2, T2) dati automati koji, redom,

raspoznaju jezike L1, L2 ⊆ X∗.

Jednostavno se pokazuje da automat A definisan u prethodnom zadatku raspoznajejezik L1 ∩ L2 skupom zavrsnih stanja T = T1 × T2.

31 Jelena Ignjatovic Monoid prelaza automata

Page 37: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Komplement raspoznatljivog jezika

Komplement raspoznatljivog jezika:

Ako konacan automatA = (A, a0,X, δ, T) raspoznaje L skupom T ⊆ A, tada isti automatraspoznaje komplement jezika L u X∗ skupom A \ T.

Razlika raspoznatljivih jezika:

Neka su A1 = (A1, a10,X, δ1, T1) i A2 = (A2, a2

0,X, δ2, T2) automati koji, raspoznaju,

redom, jezike L1, L2 ⊆ X∗.

Vazi da je L1 \ L2 = L1 ∩ L∁

2, gde L

2oznacava komplement od L2 u X∗, pa je na osnovu

prethodnih tvrdenja razlika raspoznatljivih jezika raspoznatljiv jezik.

Proizvod raspoznatljivih jezika:

Neka su A1 = (A1, a10,X, δ1, T1) i A2 = (A2, a2

0,X, δ2, T2) dati automati koji, redom,

raspoznaju jezike L1, L2 ⊆ X∗.

Konstruisacemo automatA = (A, a0,X, δ, T) koji raspoznaje jezik L1L2.

32 Jelena Ignjatovic Monoid prelaza automata

Page 38: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Proizvod raspoznatljivih jezika

Proizvod raspoznatljivih jezika:

Razlikovacemo slucajeve kada je e ∈ L i kada e < L.

Slucaj e < L : Za i ∈ {1, 2} neka je Ai = (Ai, ai0,X, δi, Ti) konacan deterministicki

automat koji raspoznaje Li skupom Ti ⊆ Ai. Ne umanjujuci opstost dokaza mozemouzeti da je A1 ∩ A2 = ∅.

Definisimo konacan nedeterministicki automatA = (A, I,X, δ, T) na sledeci nacin:

Neka je A = A1 ∪ A2, I = {a10}, T = T2 i funkcija prelaza δ : A × X → P(A) je definisana

sa

δ(a, x) =

{δ1(a, x)} ako je a ∈ A1 i δ1(a, x) < T1

{δ1(a, x), a20} ako je a ∈ A1 i δ1(a, x) ∈ T1

{δ2(a, x)} ako je a ∈ A2.

(1)

Nedeterministicki automatA raspoznaje jezik L.

33 Jelena Ignjatovic Monoid prelaza automata

Page 39: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Proizvod raspoznatljivih jezika(cont.)

Proizvod raspoznatljivih jezika:

Razlikovacemo slucajeve kada je e ∈ L i kada e < L.

Slucaj e < L : Za i ∈ {1, 2} neka je Ai = (Ai, ai0,X, δi, Ti) konacan deterministicki

automat koji raspoznaje Li skupom Ti ⊆ Ai. Ne umanjujuci opstost dokaza mozemouzeti da je A1 ∩ A2 = ∅.

Definisimo konacan nedeterministicki automatA = (A, I,X, δ, T) na sledeci nacin:

Neka je A = A1 ∪ A2, I = {a10}, T = T2 i funkcija prelaza δ : A × X → P(A) je definisana

sa

δ(a, x) =

{δ1(a, x)} ako je a ∈ A1 i δ1(a, x) < T1

{δ1(a, x), a20} ako je a ∈ A1 i δ1(a, x) ∈ T1

{δ2(a, x)} ako je a ∈ A2.

(2)

Nedeterministicki automatA raspoznaje jezik L.

34 Jelena Ignjatovic Monoid prelaza automata

Page 40: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Proizvod raspoznatljivih jezika(cont.)

. . .

A1

. . .

A2

xx

a10

a a20

Komentar:

Automat A krece sa radom iz inicijalnog stanja a10

automata A1, i svi prelazi u

automatu A1 prisutni su i u automatu A.Jedina razlika je u tome sto ako se u automatu A1 iz stanja a sa x moze preci u nekozavrsno stanje, onda se u automatu A zadrzava taj prelaz, ali se omogucuje i da se iz asa x prede u inicijalno stanje a2

0automata A2.

Ukoliko se prede u stanje a20, onda automat A nastavlja da radi u okviru automata A2,

ciji su prelazi zadrzani u A bez ikakvih izmena, i tu radi sve do eventualnogzaustavljanja.

35 Jelena Ignjatovic Monoid prelaza automata

Page 41: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Proizvod raspoznatljivih jezika(cont.)

Proizvod raspoznatljivih jezika:

Slucaj e ∈ L : Ovaj slucaj je moguc samo ako je e ∈ L1 i e ∈ L2.

Uvedimo oznake

L′ = L \ {e}, L′1= L1 \ {e} i L′

2= L2 \ {e}.

Lako se proverava da je L′ = L′1L′

2∪ L′

1∪ L′

2, odakle sledi da je

L = L′1L′

2∪ L′

1∪ L′

2∪ {e}. (3)

L′1

i L′2

su raspoznatljivi jezici, pri cemu e < L′1L′

2, pa kao sto je napred dokazano, L′

1L′

2je raspoznatljiv jezik.

Odavde sledi da je L raspoznatljiv jezik.

36 Jelena Ignjatovic Monoid prelaza automata

Page 42: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

L+

L+

Ako se jezik L moze raspoznati konacnim automatomA = (A, a0,X, δ, T), onda se jezik

L+ =⋃

n∈N

Ln.

raspoznaje nedeterministickim automatom A = (A, I,X, δ, T) na sledeci nacin:

I = {a0}, funkcija prelaza je δ : A × X → P(A) definisana sa

δ(a, x) =

{{δ(a, x)} ako δ(a, x) < T

{δ(a, x), a0} ako δ(a, x) ∈ T.

skupom finalnih stanja T.

Primer:

Konstruisati automat koji raspoznaje jezik L = L1 + L2, gde je jezik L1 = y∗x+ iL2 = x∗y+.

37 Jelena Ignjatovic Monoid prelaza automata

Page 43: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Primer

Primer:

Konstruisacemo minimalne automate jezika L1 i L2 nalazenjem desnih razlomaka datihjezika.

L1 = a0

L1.x = {u ∈ X∗ | xu ∈ L1} = x∗ = a1,

L1.y = {u ∈ X∗ | yu ∈ L1} = y∗x+ = a0,

pa je A1 = {a0, a1}. Dalje, odredujemo skup A2:

a1.x = {u ∈ X∗ | xu ∈ L1} = x∗ = a1

a1.y = {u ∈ X∗ | yu ∈ L1} = ∅ = a2,

i jasno je da je A2 = {a0, a1, a2}. Odredujemo istim postupkom skup A3 i dobijamo

a2.x = a2.y = ∅ = a2,

pa je A3 = {a0, a1, a2}, sto znaci da je A3 = A2. Prema tome, dobili smo da jeAL1 = A2 = {a0, a1, a2}. Dakle, automatAL1 = (AL1 , a0,X, δ1, T1) je zadat grafom:

38 Jelena Ignjatovic Monoid prelaza automata

Page 44: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Primer

a1a0

a2

x

y

x

x, y

Primer:

Dualno, dobijamo da je minimalni automatAL2 = (AL2 , b0,X, δ2, T2) koji raspoznajejezik L2 predstavljen grafom:

39 Jelena Ignjatovic Monoid prelaza automata

Page 45: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Primer

b1b0

b2

y

x

y

x, y

Primer:

Jezik L1 ∪ L2 je raspznatljiv automatom sa skupom stanjaA = AL1 × AL2 = {aij = (ai, bj) | i, j ∈ {0, 1, 2}}, u kome je inicijalno stanje a00 = (a0, b0) iskup zavrsnih stanja

T = {a1i | i ∈ {0, 1, 2}} ∪ {ai1 | i ∈ {0, 1, 2}}.

Po definiciji funkcije prelaza dobijamo da se do stanja a02, a11 i a20 ne moze stici izinicijalnog stanja, sto znaci da su ova stanja suvisna. Trazeni automat moze sepredstaviti grafom prelaza na sledeci nacin:

40 Jelena Ignjatovic Monoid prelaza automata

Page 46: Monoid prelaza automata [7pt]...Nedeterministicki automati Monoid prelaza automata Algoritam za konstrukciju slobodnog monoida Primer: Nac´i monoid prelaza automata A sa skupom stanja

Sintaksicki monoid jezikaNedeterministicki automati

Nedeterministicki automati

Primer

a10a00 a21

a01 a12 a22

x y

xy

x y

x y

x, y

x

y

41 Jelena Ignjatovic Monoid prelaza automata