kongruencije i homomorfizmi deterministicˇkih automata ......kako konstruisati automat sa sˇto je...

23
Kongruencije i homomorfizmi deterministiˇ ckih automata Jelena Ignjatovi´ c Teorija algoritama, automata i jezika 2016 1 Jelena Ignjatovi´ c Jezici i gramatike

Upload: others

Post on 06-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Kongruencije i homomorfizmi

deterministickih automata

Jelena Ignjatovic

Teorija algoritama, automata i jezika2016

1 Jelena Ignjatovic Jezici i gramatike

Page 2: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Kongruencije i homomorfizmi

Osnovni problemi

Pri dizajniranju automata radi njihovih prakticnih primena najvaznija pitanja su:

Da li za dati jezik postoji konacan automat koji ga raspoznaje?

Kako konstruisati automat sa sto je moguce manje stanja koji raspoznaje dati jezik?

U prakticnim primenama automata ucestvuju samo konacni automati.

Beskonacni automati imaju samo teoretski znacaj, jer je lakse raditi u teoriji u kojoj nismosputani uslovom konacnosti skupa stanja.

Drugi problem je bitan iz razloga sto veci broj stanja automata znaci

veci broj hardverskih komponenti, kada se radi o primeni automata udizajniranju hardvera;

glomaznije i sporije programe, kada se radi o primeni automata u dizajniranjusoftvera.

Pri redukciji broja stanja automata koji raspoznaje dati jezik koristimo ideje i metodekoji dolaze iz algebre, dva centralna algebarska koncepta:

kongruencije i homomorfizme.

2 Jelena Ignjatovic Jezici i gramatike

Page 3: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Relacija kongruencije na automatu

Podsecanje

Proizvoljna relacija ekvivalencije na skupu A razbija taj skup na klase ekvivalencije.

Relacija ekvivalencije grupise, udruzuje u jednu klasu sve one elemente kojeobjedinjuje neko zajednicko svojstvo (opisano tom relacijom).

Svaki element a ∈ A pripada jednoj klasi ekvivalencije koju cemo oznacavati sa a ⊆ A.

Faktor (kolicnicki) skup A/ (A//) je skup klasa ekvivalencije relacije ekvivalencije .

3 Jelena Ignjatovic Jezici i gramatike

Page 4: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Relacija kongruencije na automatu

Karakteristike faktor skupa

Faktor skup je

A/ =⋃

a∈A

a,

a a, b ∈ A koji medusobno nisu u relaciji pripadaju disjunktnim klasama a i b.

Ako je a ∩ b , ∅ onda vazi a = b.

Neformalno, faktor skup se, zapravo, dobija sazimanjem svake -klase u jedan element.

Dakle, osnovni smisao upotrebe relacija ekvivalencija je upravo u redukciji broja eleme-nata iz A formiranjem kolicnickog (faktor) skupa A/ sa manjim brojem elemenata.

Saglasnost relacije

Neka sada skup A ima izvesnu algebarsku strukturu, odnosno, neka je na A definisanizvestan sistem operacija.

Da bi operacije sa skupa A mogli da na prirodan nacin prenesemo na faktor skup A/, nijedovoljno da bude samo relacija ekvivalencije, vec je potrebno da relacija ekvivalencije bude saglasna sa operacijama na A, i takve relacije ekvivalencije zovemo kongruencije.

4 Jelena Ignjatovic Jezici i gramatike

Page 5: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Relacija kongruencije na automatu

Relacije kongruencije

Kongruencije imaju dvojaku ulogu:

treba da grupisu sve elemente sa izvesnim zajednickim svojstvom i sazmu ih ujedan element i da time redukuju broj elemenata iz A;

treba da omoguce da se operacije sa A na prirodan nacin prenesu naodgovarajuci faktor skup.

Napomena:

Kada sve elemente iz A sa izvesnim zajednickim svojstvom grupisemo u klasu, i potomtoj klasi pridruzimo odredeni element faktor skupa A/, dobijamo preslikavanje iz A uA/, koje zovemo prirodno preslikavanje relacije ekvivalencije .

Ovo preslikavanje se obicno oznacava sa ♯ .

Komentar

Ako deterministicki automat posmatramo kao algebarsku strukturu sa konstantama(inicijalno stanje i zavrsna stanja), i unarnom operacijom (funkcija prelaza) mozemokongruenciju na automatu definisati na sledeci nacin:

5 Jelena Ignjatovic Jezici i gramatike

Page 6: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Relacija kongruencije na automatu

Formalna definicija kongruencije

A = (A, a0,X, δ, T) – dat automat;

– relacija ekvivalencije na skupu stanja A;

Za kazemo da je kongruencija na automatuA ako je saglasna sa funkcijom prelaza δA,pri cemu zavrsna stanja mogu biti u relaciji samo sa zavrsnim stanjima, tj. za proizvoljnastanja a, b ∈ A, vazi sledece:

za a ∈ T i b < T uvek vazi (a, b) < ;

iz (a, b) ∈ sledi (δA(a, x), δA(b, x)) ∈ , za svaki x ∈ X.

Komentar:

Indukcijom se lako dokazuje da je relacija kongruencije saglasna sa prosirenomfunkcijom prelaza, za proizvoljna stanja a, b ∈ A, takva da su

(a, b) ∈ sledi da su (δA(a, u), δA(b, u)) ∈ , za sve reci u ∈ X∗.

Relacija saglasnosti graficki se moze predstaviti na sledeci nacin:

6 Jelena Ignjatovic Jezici i gramatike

Page 7: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Relacija kongruencije na automatu

x

xa

b

δ(a, x)

δ(b, x)

7 Jelena Ignjatovic Jezici i gramatike

Page 8: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Faktor automat

Faktor automat

– kongruencija na automatuA;

Na faktor skupu A/ definisemo preslikavanje δ : (A/) × X → A/, sa

δ(a , x) = δ(a,x), za sve a ∈ A i x ∈ X∗, gde je sa a oznacena -klasa stanja a.

Automat A/ = (A/, a0 ,X, δ, T) (A// = (A//,X, δA//, aA//

0, τA//)) naziva se

kolicnicki (faktor) automat sa skupom stanja A/, funkcijom prelaza δ (δA//), inici-

jalnim stanjem a0 (aA//

0= a0 ) i skupom zavrsnih stanja T = {a | a ∈ T} (τA//

= τA ).

Prosirena funkcija prelaza u faktor automatu

Definisimo funkciju δ : (A/) × X∗ → A/ na sledeci nacin:

δ(a , u) = δA(a,u)

za svako a ∈ A i u ∈ X∗. Lako se proverava da vrednosti preslikavanja δ ne zavise odizbora predstavnika klasa, dok se indukcijom po duzini reci u ∈ X∗ pokazuje se da jefunkcija prelaza korektno definisana, tj. δ(a, u) = δA (a,u).

Zaista, pretpostavimo da za rec v ∈ X∗ duzine |v| = n − 1, imamo δA/(a, v) = δA (a,v).Za rec u = vx dobijamo

δA/(a, u) = δA/(a, vx) = δA/(δA/(a , v), x) = δA/(δA(a,v), x)

= δA (δA(a,v),x) = δA(a,vx) = δA(a,u),

8 Jelena Ignjatovic Jezici i gramatike

Page 9: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Homomorfizam automata

Komentar

Kao sto smo videli, funkcija prelaza automata ima izvesna svojstva bliska algebarskimoperacijama, sto nam omogucava da, po analogiji sa odgovarajucim algebarskimpojmom, definisemo homomorfizam izmedju automata, kao preslikavanje koje jesaglasno sa funkcijom prelaza i ocuvava njena algebarska svojstva.

Homomorfizam automata

Ako su A = (A, a0,X, δA, TA) i B = (B, b0,X, δB, TB) automati, onda je ϕ : A → Bhomomorfizam automataA u automatB ako za proizvoljne a ∈ A i x ∈ X vazi:

ϕ(δA(a, x)) = δB(ϕ(a), x),

ϕ(a0) = b0 i

TB= ϕ(TA) = {ϕ(a) | a ∈ TA}.

Teorema

Za proizvoljan homomorfizamϕ automataA u automatB i za proizvoljno stanje a ∈ Ai ulaznu rec u ∈ X∗ vaziϕ(δA(a, u)) = δB(ϕ(a), u).

9 Jelena Ignjatovic Jezici i gramatike

Page 10: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Homomorfizam automata

Dokaz:

Za reci duzine jedan, ovo jasno vazi prema definiciji homomorfizma.

Pretpostavimo da, za sve v ∈ X∗ duzine n − 1, a ∈ A vaziϕ(δA(a, v)) = δB(ϕ(a), v).

Neka je u ∈ X∗ rec duzine n oblika u = vx za v ∈ X∗ i x ∈ X.

ϕ(δA(a, u)) = ϕ(δA(a, vx)) = ϕ(δA(δA(a, v), x)) = δB(ϕ(δA(a, v)), x)

= δB(δB(ϕ(a), v), x) = δB(ϕ(a), vx) = δB(ϕ(a), u).

Dakle, jednakost vazi za sve reci ulaznog alfabeta, sto je i trebalo pokazati.

Monomorfizam, epimorfizam, izomorfizam automata

Injektivno preslikavanje automataA = (A, a0,X, δA, TA) u B = (B, b0,X, δB, TB), kojeje homomorfizam naziva se monomorfizam.

Sirjektivni homomorfizam automataA naB naziva se epimorfizam.

U tom slucaju automatB zovemo homomorfna slika automataA.

Bijektivni homomorfizam zove se izomorfizam automata.

Ako postoji bijektivni homomorfizam izmedu automata A i B onda su ovi automatiizomorfni.

10 Jelena Ignjatovic Jezici i gramatike

Page 11: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Prirodni homomorfizam automata

Prirodno preslikavanje automata

Za datu relaciju ekvivalencije na automatuA, preslikavanje ♮ : A 7→ A/ izA ukolicnicki automatA/, koje svakom stanju automataA pridruzuje njegovu klasuekvivalencije, naziva se prirodno preslikavanje ekvivalencije .

Lema

Neka je kongruencija na automatuA = (A, a0,X, δA, TA). Tada je prirodno preslika-

vanje ♮ : A 7→ A/ epimorfizam izA na faktor automatA/ = (A/, a0 ,X, δ, T).

Dokaz:

Prirodno preslikavanje ♮ : A 7→ A/ definise se sa

♮(a) = a , za svako stanje a ∈ A.

Ocigledno da je preslikavanje ”na”, jer je svaka klasa ekvivalencije neprazna i postoji

element koji pripada toj klasi, tj. za proizvoljno a ∈ A/ vazi ♮(a) = a. Za stanjea ∈ A i rec u ∈ X∗ imamo

♮(δA(a, u)) = δA(a,u) = δ(a , u) = δ(♮(a), u),

sto je i trebalo dokazati.

11 Jelena Ignjatovic Jezici i gramatike

Page 12: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Minimalni automat jezika

Razlomak jezika

Da bi smo dokazali postojanje automata koji raspoznaje dati jezik L, uvodimo pojamrazlomka jezika.

U opstem slucaju, automat koji prihvata dati jezik L ne mora biti konacan.

Neka je dat jezik L ⊆ X∗ i rec u ∈ X∗.

Razlomak jezika L ili izvod jezika L u odnosu na rec u, u oznaci L.u (u−1L), je jezik u X∗

definisan sa

L.u = {w ∈ X∗ | uw ∈ L}.

Lema

Za proizvoljan jezik L ⊆ X∗, reci u, v ∈ X∗ i praznu rec e ∈ X∗ vazi sledece:

(i) (L.u).v = L.(uv);

(ii) L.e = L;

(iii) e ∈ L.u ⇔ u ∈ L.

12 Jelena Ignjatovic Jezici i gramatike

Page 13: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Minimalni automat jezika

Dokaz:

(i) Imamo da vazi niz ekvivalencija

w ∈ (L.u).v ⇔ vw ∈ L.u

⇔ u(vw) ∈ L

⇔ (uv)w ∈ L

⇔ w ∈ L.(uv),

odakle sledi da je (L.u).v = L.(uv).(ii) Prema definiciji razlomka jezika imamo da je

w ∈ L.e ⇔ ew ∈ L

⇔ w ∈ L,

odakle zakljucujemo da je e−1L = L.(iii) Posto vazi

e ∈ L.u ⇔ ue ∈ L

⇔ u ∈ L,

dobijamo (iii).

13 Jelena Ignjatovic Jezici i gramatike

Page 14: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Minimalni automat jezika

AL

Za jezik L ⊆ X∗, oznacimo sa AL skup svih razlomaka jezika L, tj.

AL = {L.u | u ∈ X∗}.

Definisimo podskup TL ⊆ AL (τAL ) na sledeci nacin:

TL = {L.u | u ∈ L}.

Na osnovu dela (iii) prethodne leme, TL se moze izraziti i sa:

TL = {H ∈ AL | e ∈ H}.

Za proizvoljan razlomak H ∈ AL i v ∈ X∗ vazi H.v ∈ AL. Naime, ako je H = u−1L, zaneku rec u ∈ X∗, imamo da je

H.v = (L.u).v = L.(uv) ∈ AL.

Odavde se vidi da ima smisla definisati preslikavanje δL : AL × X → AL (δAL ) sa

δL(H, x) = H.x, za H ∈ AL i x ∈ X.

Dakle, AL = (AL, L,X, δL, TL) (AL = (AL,X, δAL , L, τAL )) je automat sa inicijalnimstanjem L i skupom zavrsnih stanja TL, dok je prosirena funkcija prelaza

δL : AL × X∗ → AL data sa δL(H, v) = H.v.

14 Jelena Ignjatovic Jezici i gramatike

Page 15: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Minimalni automat jezika

Teorema

Proizvoljan jezik L ⊆ X∗ moze biti raspoznat (ne obavezno konacnim) deterministickimautomatomAL = (AL, L,X, δL, TL).

Dokaz:

Neka je w ∈ X∗ proizvoljna rec. Vazi da je δL(L,w) = L.w i

L.w ∈ TL ⇔ e ∈ L.w

⇔ we ∈ L

⇔ w ∈ L.

Prema tome,

L(AL) = [[AL]] = {w ∈ X∗ | δL(L,w) ∈ TL} = {w ∈ X∗ | L.w ∈ TL} = L,

cime smo dokazali da automatAL raspoznaje jezik L.

Automat desnih razlomaka jezika

AL = (AL, L,X, δL, TL) – automat desnih razlomaka (izvodni automat) jezika L

15 Jelena Ignjatovic Jezici i gramatike

Page 16: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Automat desnih razlomaka jezika

Desni razlomci jezika

Prirodno se namece pitanje kako odrediti sve razlomke datog jezika.

Naredna teorema nam daje algoritam za konstrukciju svih razlomaka jezika L, uslucaju kada su alfabet X i skup AL konacni.

Teorema:

Neka je L ⊆ X∗ proizvoljan jezik. Definisimo induktivno niz {Ak}k∈N0 podskupova odAL sa:

A0 = {L},Ak+1 = Ak ∪ {H.x |H ∈ Ak, x ∈ X}, k ∈ N0.

(1)

Tada:(a) Niz {Ak}k∈N0 je rastuci.

(b) Ako postoji k ∈ N0 takav da je Ak = Ak+1, tada je Ak = AL.

(c) Ako je AL konacan skup, tada postoji k ∈ N0 takav da je Ak = AL.

Dokaz:

Tvrdenje (a) sledi neposredno.

16 Jelena Ignjatovic Jezici i gramatike

Page 17: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Automat desnih razlomaka jezika

Dokaz:

(b) Podskup A′ ⊆ AL koji sadrzi L nazvacemo zatvorenim za slovo u ∈ X∗ ako jeH.u ∈ A′, za svaki element H ∈ A′.

Kako je svaki element iz AL oblika L.u, za neku rec u ∈ X∗, i A′ sadrzi L, to je A′ zatvorenza sve reci iz X∗ ako i samo ako je A′ = AL.

Drugim recima, AL je jedini podskup od AL zatvoren za sve reci iz X∗.

Sa druge strane, nije tesko dokazati da je A′ zatvoren za sve reci iz X∗ ako i samo ako jezatvoren za sva slova iz X.

Kako jednakost Ak = Ak+1, za neki k ∈ N0 u stvari znaci da je

{H.x |H ∈ Ak, x ∈ X} ⊆ Ak,

odnosno da je skup Ak zatvoren za sva slova iz X, to prema napred ustanovljenomimamo da je Ak = AL, sto je i trebalo dokazati.(c) Kako je niz {Ak}k∈N0 rastuci, to je

|A0| 6 |A1| 6 · · · 6 |Ak| 6 |Ak+1| 6 · · · 6 |AL|,

pa kada je AL konacan skup dobijamo da je |Ak| = |Ak+1|, za neki k ∈ N0, i u tom slucajuje Ak = Ak+1, ponovo iz razloga sto je niz {Ak}k∈N0 rastuci.Prema tome, zakljucujemoda je Ak = AL.

17 Jelena Ignjatovic Jezici i gramatike

Page 18: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Automat desnih razlomaka jezika

Primer

Konstruisacemo automat desnih razlomaka koji raspoznaje jezik

L = {xmyn |m, n ∈ N},

nad alfabetom X = {x, y}.

Najpre odredujemo skup A1:

L.x = {u ∈ X∗ | xu ∈ L} = L ∪ {y}+,

L.y = {u ∈ X∗ | yu ∈ L} = ∅,

pa je A1 = {L,L1, L2}, gde je L1 = L.x = L ∪ {y}+ i L2 = L.y = ∅.

Dalje, odredujemo skup A2:

L1.x = L.x2= {u ∈ X∗ | x2u ∈ L} = L ∪ {y}+ = L1,

L1.y = L.xy = {u ∈ X∗ | xyu ∈ L} = {y}∗,

L2.x = ∅.x = ∅ = L2,

L2.y = ∅.y = ∅ = L2,

pa je A2 = {L,L1, L2, L3}, gde je L3 = L.xy = {y}∗.

18 Jelena Ignjatovic Jezici i gramatike

Page 19: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Automat desnih razlomaka jezika

Primer 1.

Nastavljajuci isti postupak odredujemo skup A3 i dobijamo

L3.x = L.xyx = {u ∈ X∗ | xyxu ∈ L} = ∅ = L2,

L3.y = L.xy2= {u ∈ X∗ | xy2u ∈ L} = {y}∗ = L3,

pa je A3 = A2. Prema tome, AL = A2 = {L,L1, L2, L3}. Kako je L3 = {y}∗ jedini razlomak

iz AL koji sadrzi praznu rec e, to je TL = {L3}.

Dakle, automat AL je zadat grafom:

L L1

L2

L3x

y

y

x

x

y

x, y

19 Jelena Ignjatovic Jezici i gramatike

Page 20: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Automat desnih razlomaka jezika

Primer 2.

Konstruisimo automat desnih razlomaka koji raspoznaje jezik

X = {x, y} i L = {xnyn | n ∈ N}.

Imamo da je

L.x = {u ∈ X∗ | xu ∈ L} = {xn−1yn | n ∈ N},

L.y = {u ∈ X∗ | yu ∈ L} = ∅,

pa je A1 = {L,L1,K1}, gde je L1 = {xn−1yn | n ∈ N} i K1 = ∅.

Zatim

L1.x = {u ∈ X∗ | xu ∈ L1} = {xn−2yn | n > 2},

L1.y = {u ∈ X∗ | yu ∈ L1} = {e},

K1.x = K1.y = ∅ = K1,

odakle je A2 = A1 ∪ {L2,K2}, gde je L2 = {xn−2yn | n > 2} i K2 = {e}.

Dalje je

L2.x = {u ∈ X∗ | xu ∈ L2} = {xn−3yn | n > 3},

L2.y = {u ∈ X∗ | yu ∈ L2} = {y},

20 Jelena Ignjatovic Jezici i gramatike

Page 21: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Automat desnih razlomaka jezika

Primer 2.

K2.x = {u ∈ X∗ | xu ∈ K2} = {u ∈ X∗ | xu = e} = ∅ = K1,

K2.y = {u ∈ X∗ | yu ∈ K2} = {u ∈ X∗ | yu = e} = ∅ = K1,

pa je A3 = A2 ∪ {L3,K3}, gde je L3 = {xn−3yn | n > 3} i K3 = {y}.

Nastavljajuci na isti nacin u sledecem koraku dobijamo da je

L3.x = {u ∈ X∗ | xu ∈ L3} = {xn−4yn | n > 4},

L3.y = {u ∈ X∗ | yu ∈ L3} = {y2},

K3.x = {u ∈ X∗ | xu ∈ K3} = {u ∈ X∗ | xu = y} = ∅ = K1,

K3.y = {u ∈ X∗ | yu ∈ K3} = {u ∈ X∗ | yu = y} = {e} = K2,

pa je A4 = A3 ∪ {L4,K4}, gde je L4 = {xn−4yn | n > 4} i K4 = {y

2}.

Sada vec mozemo zakljuciti da za proizvoljan m ∈ N vazi

Am = Am−1 ∪ {Lm,Km},

gde su Lm i Km zadati sa

Lm = {xn−myn | n > m},

Km = {ym−2}, za m > 2, K1 = ∅.

21 Jelena Ignjatovic Jezici i gramatike

Page 22: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Automat desnih razlomaka jezika

Primer 2.

To cemo dokazati indukcijom.

Pretpostavimo da su prethodna tvrdenja tacno. Tada je

Lm.x = {u ∈ X∗ | xu ∈ Lm} = {xn−m−1yn | n > m + 1} = Lm+1,

Lm.y = {u ∈ X∗ | yu ∈ Lm} = {ym−1} = Km+1 ,

Km.x = {u ∈ X∗ | xu ∈ Km} = {u ∈ X∗ | xu = ym−2} = ∅ = K1 ,

Km.y = {u ∈ X∗ | yu ∈ Km} = {u ∈ X∗ | yu = ym−2} = {ym−1} = Km−1 ,

odakle dobijamo da je Am+1 = Am ∪ {Lm+1,Km+1}.

Iz svega ovog zakljucujemo da razlomaka jezika L = {xnyn | n ∈ N} ima beskonacnomnogo, i da je AL automat sa beskonacno mnogo stanja, koji se moze graficki predstavitina sledeci nacin:

22 Jelena Ignjatovic Jezici i gramatike

Page 23: Kongruencije i homomorfizmi deterministicˇkih automata ......Kako konstruisati automat sa sˇto je moguc´e manje stanja koji raspoznaje dati jezik? U prakticˇnim primenama automata

Minimalni automat jezika

Automat desnih razlomaka jezika

Primer 2.

K1

L L1 L2 L3 L4

K5K3 K4K2

x

y

xx x

y

yyy

y y y

y

x, y x x x

x, y

x

23 Jelena Ignjatovic Jezici i gramatike