monoid prelaza automata [7pt]...nedeterministicki automati monoid prelaza automata algoritam za...
TRANSCRIPT
Monoid prelaza automata
Jelena Ignjatovic
Teorija algoritama, automata i jezika2016
1 Jelena Ignjatovic Monoid prelaza automata
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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