You are on page 1of 104

UNIVERZITET "Sv.

KIRIL I METODIJ" Prirodno-matematiqki fakultet Institut za informatika

ALGORITMI I AVTOMATI Bi ana Janeva

SKOPJE
1999

Sodr ina

1 Voved 2 Algoritmi

2.1 Osnovni poimi . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Azbuki, bukvi i zborovi . . . . . . . . . . . . . . 2.1.2 Funkcii, termi i algebri . . . . . . . . . . . . 2.1.3 Zadaqi . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Tjuringovi maxini . . . . . . . . . . . . . . . . . . . 2.2.1 Tjuringovi maxini . . . . . . . . . . . . . . . . . . 2.2.2 Zadaqi: . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Normalni algoritmi . . . . . . . . . . . . . . . . . 2.3.1 Normalni algoritmi . . . . . . . . . . . . . . . . 2.3.2 Zadaqi . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Primitivno rekurzivni funkcii . . . . . . 2.4.1 Operatori za supstitucija i primitivna rekurzija . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Primitivno rekurzivni funkcii . . . . . . . 2.4.3 Zadaqi . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Rekurzivni funkcii . . . . . . . . . . . . . . . . . . 2.5.1 Operator za minimizacija . . . . . . . . . . . . 2.5.2 Rekurzivni i opxto rekurzivni funkcii . 2.5.3 Zadaqi . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Regularni jazici . . . . . . . . . . . . . . . . . . . . . 3.1.1 Regularni izrazi . . . . . . . . . . . . . . . . . . . 3.1.2 Regularni jazici . . . . . . . . . . . . . . . . . . . 3.1.3 Zadaqi . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Koneqni avtomati . . . . . . . . . . . . . . . . . . . . 3.2.1 Deterministiqki koneqni avtomati . . . . . 3.2.2 Nedeterministiqki koneqni avtomati . . . . 3.2.3 Ekvivalentnost na deterministiqki i nedeterministiqki koneqni avtomati . . . . . . 3.2.4 Svojstva na jazicite prepoznaeni od koneqen avtomat . . . . . . . . . . . . . . . . . . . . . . . 3.2.5 Koneqni avtomati i regularni jazici . . . . 3.2.6 Zadaqi . . . . . . . . . . . . . . . . . . . . . . . . . . . Push-down avtomati 4.1 Jazici generirani od gramatiki . . . . . . 4.1.1 Gramatiki . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Regularni i kontekstno slobodni jazici . 1

6 6 7 10 11 11 18 21 21 27 30 30 32 33 35 35 36 38

3 6

3 Regularni jazici i koneqni avtomati

41

41 41 44 45 47 47 51 54 59 64 66

4 Gramatiki i

. 76 . 76 . 80

76

4.2 Push-down avtomati . . . . . . . . . . . . . . . . . . . . . 4.2.1 Push-down avtomati . . . . . . . . . . . . . . . . . . . 4.2.2 Push-down avtomati i KS -gramatiki . . . . . . 4.3 Svojstva na kontekstno slobodnite jazici 4.3.1 Svojstva na zatvorenost na KS -jazici vo odnos na nekoi operacii so mno estva . . . 4.3.2 Svojstva na periodiqnost . . . . . . . . . . . . . 4.3.3 Zadaqi . . . . . . . . . . . . . . . . . . . . . . . . . . .

81 82 84 90 90 91 97

Voved

Uxte vo poqetokot na razvitokot na matematikata (Star Egipet, Vavilon, Grcija)poqnale da se pojavuvaat problemi i naqini za nivno rexava e koi se sveduvalena qisto mehaniqki procesi na presmetuva a qekor po qekor. So vreme takviteprocesi na rexava e go dobile imeto "algoritam". Do triesettite godini od naxiovvek poimot "algoritam" vo osnova ne se menuval, iako dobival se pogolemaprimena. Nekoi primeri na algoritmi se, da reqeme, sobira e, mno e e, odzema e prirodni broevi. Najpoznat primer e taka nareqeniot Evklidov algoritam za nao& ga e najgolem zaedniqki delitel na dva prirodni broja (ili pak, na dva polinoma). Da odbele ime nekoi zaedniqki crti na ovoj poim za "algoritam": 1. Algoritmot e proces na ednopodrugo konstruira e veliqini, odej& ki vo diskretno vreme, na takov naqin xto vo poqetniot moment se zadava poqetniot koneqen sistem veliqini, a vo sekoj nareden moment, po strogo opredeleni pravila (programa) od veliqinite vo prethodniot moment se dobivaat novi veliqini (diskretnost na algoritmot). 2. Sistemot veliqini, dobien vo proizvolen (no ne poqeten moment) ednoznaqno e opredelen od sistemot veliqini vo prethodniot moment (determiniranost na algoritmot). 3. Zakonot po koj se dobiva sekoj nareden sistem veliqini od prethodniot e ednostaven i lokalen (elementarnost na qekorite na algoritmot) 4. Ako naqinot na dobiva e nareden sistem veliqini ne dava rezultat, toqno e utvrdeno xto vo ovoj sluqaj se smeta za rezultat (nasoqenost na algoritmot). 5. Poqetniot sistem veliqini mo e da se izbira od proizvolno potencijalno beskoneqno mno estvo (masovnost na algoritmot). Poimot za algoritam opredelen so gorenavedenite pet uslovi ne e strogo matematiqki definiran i zatoa se narekuva intuitiven poim za algoritam. Dolgo vreme nemalo nikakvi nedorazbira a so ovoj poim za algoritam imeno dokolku bila najdena postapka so koja se rexava nekoj problem i taa gi zadovoluvala gornite uslovi, site se slo uvale deka taa postapka e algoritam. Problemot se pojavil pri doka uva e deka za nekoja zadaqa ne postoi"algoritamsko" rexenie. Bidejki poimot e neprecizen, ne postoele metodida se doka e deka dadeniot problem "algoritamski ne e rexliv". Zatoa se barale naqini za precizno

definira e na poimot algoritam, za da mo at da se rexavaat i problemite za algoritamska nerexlivost na nekoja zadaqa. Obidi za rexava e na ovoj problem se praveni vo tekot na triesettite godini od naxiov vek, i Hilbert, Gedel, Qerq, Tjuring i Post doxle do nekoi rexenija koi se glavno od dva vida. Prvoto rexenie e so voveduva e na poimite primitivno rekurzivni i rekurzivni funkcii, dodeka vtoriot vid dava opis na toqno opredelena klasa procesi. Tipiqna situacija koga treba da se primeni nekoj algoritam e pri dadena koneqna niza prirodni broevi rezultatot da bide opredelen priroden broj. Dokolku postoi takov algoritam, vo suxtina postoi algoritam za presmetuva e opredelena funkcija nad prirodnite broevi. Togax za taa funkcija velime deka e "algoritamski presmetliva". Potpolno rekurzivnite funkcii se algoritamski presmetlivi, no bidej& ki tie se definirani precizno, mo eme da doka eme i koga dadena funkcija ne e potpolno rekurzivna. Vtoriot naqin na rexava e na problemot za nao& ga e precizna definicija na poimot algoritam se zasniva na problemot zadadena zadaqa da mo e da se rexi so pomox na "maxina". Vo triesettite godini od ovoj vek nezavisno eden od drug Tjuring i Post definirale sliqni (no ne isti) "apstraktni" maxini, koi bile mnogu ednostavni, a sepak rexavale mnogu problemi. Vo 1936 godina Qerq prv ja postavil hipotezata deka "sekoja algoritamski presmetliva funkcija e rekurzivna", koja, bidej& ki se zasniva na neprecizniot poim za algoritam, ne mo e da se doka e. Se poka alo dela site praktiqno poznati presmetlivi funkcii se rekurzivni, xto odelo vo prilog na ovaa hipoteza. Klini go vovel poimot na delumno rekurzivni funkcii, i potoa ja obopxtil hipotezata na Qerq, i ja postavil slednava hipoteza: "Site delumni algoritamski presmetlivi funkcii se toqno delumnite rekurzivni funkcii." Od istite priqini kako i pogore, ni ovaa hipoteza ne e vozmo no da se doka e. Natamu, koga & ke velime hipoteza (ili teza) na Qerq, vsuxnost & ke mislime na obopxtenata teza na Klini. Se poka alo i deka sekoja funkcija nad prirodnite broevi koja mo e da se presmeta so Tjuringova maxina, t.e. mo e da se opredeli takva Tjuringova maxina, koja koga na vlezot ima n prirodni broevi, na izlezot se dobiva prirodniot broj, koj xto e rezultat pri primena na dadenata funkcija vrz poqetnata niza prirodni broevi, e rekurzivna, i obratno, sekoja rekurzivna funkcija e presmetliva so Tjuringova maxina, xto odelo vo prilog na opxtosta na definicijata na algoritam so pomox na Tjuringovi maxini. Drug vid na definicija na algoritam se taka nareqenite normalni algoritmi, definirani od Markov. I vo ovoj sluqaj, kako i

pred toa, poka ana e ekvivalentnost pome& gu funkcii presmetlivi so Tjuringovi maxini i normalni algoritmi. Vo ovoj kurs & ke razgleduvame pove& ke problemi. & razgleduvame nekolku vida na precizni definicii na algo1. Ke ritmi. & razgleduvame taka nareqeni regularni jazici, & 2. Ke ke definirame koneqni avtomati, i & ke doka eme deka sekoj jazik prepoznaen od koneqen avtomat e regularen, kako i obratnoto, sekoj regularen jazik e prepoznaen od koneqen avtomat. & se zapoznaeme so poimite gramatika i kontekstno sloboden 3. Ke jazik i & ke ja najdeme vrskata pomegu opredelen vid gramatiki i avtomati, a specijalno, vrskata pome& gu opredelen vid avtomati i kontekstno slobodnite jazici.

2
2.1

Algoritmi

2.1.1

Osnovni poimi
Azbuki, bukvi i zborovi

Proizvolno koneqno mno estvo A se vika azbuka. Elementite od azbukata A & ke gi vikame bukvi. Koneqna niza od bukvi od azbukata A dopixani edna do druga se vika zbor vo azbukata A. Pogodno e da se vovede i poim za prazen zbor, t.e. "niza bez bukvi", prazniot zbor vo sekoja azbuka & ke go oznaquvame so . Mno estvoto neprazni zborovi od azbukata A se oznaquva so A+ , a ako e vkluqen i prazniot zbor, so A . Zborovite od dadena azbuka A & ke gi oznaquvame so krajnite bukvi od latinicata, pa, taka, w 2 A oznaquva deka zborot w e element od A .Dol ina na zbor w e brojot bukvi xto go soqinuvaat, pri xto, ako vo eden zbor ima pove& ke pojavuva a na ista bukva pri opredeluva eto na dol inata taa se broi onolku pati kolku xto se pojavuva vo zborot. Za dol ina na zborot w ja koristime oznakata jwj. Po definicija, dol ina na prazniot zbor e 0. Primeri: 1. Neka A = fa b cg. Togax zborovi vo A se: xto jaabj = 3 jabacj = 4, a jabbcbaaj = 7. 2. Neka

aab, abac, abbcbaa, pri

abba abaa 2 A i abca 2 =A . Neka A e azbuka i v w 2 A . Definirame proizvod (ili konkatenacija) v w na zborovite v i w so dopixuva e na zborot w vednax po zborot v i, pritoa, jv wj = jv j + jwj. Poprecizno, ako v = v1 vr , a w = w1 ws , togax konkatenacijata v w na v i w se definira so v w = v1 vr w1 ws . Konkatenacijata e operacija vo mno estvoto A pritoa (A ) e polugrupa so neutralen element . Za zborot w velime deka e podzbor od od zborot t ako za nekoi zborovi u i v od A , t = u w v . Ako w e podzbor od t, togax velime deka w se pojavuva ili nastapuva vo t. Natamu namesto v w & ke pixuvame samo vw.
Togax Primeri: 1. Neka A = fa bg i neka ababba 2 A+ . Togax ab nastapuva vo ababba zatoa xto ababba = ab abba i ababba = ab ab ba. Vo prviot sluqaj, koga ulogata na u ja ima prazniot zbor, stanuva zbor za prvoto pojavuva e na zborot ab vo ababba, a vo vtoriot sluqaj, za vtoroto pojavuva e. 2. Neka

A = fa bg.

A = fa bg, v = aba w = bbaba 2 A . jvj = 3 jwj = 5, a jvwj = jababbabaj = 8.


6

Togax

vw = ababbaba i

Neka t = u1 vu2 , a s = u1 wu2 . Togax za s velime deka e zbor dobien od t so zamena na pojavuva e na podzborot v so zborot w. Ako u1 = ili u1 ne sodr i podzbor v , togax s e zbor dobien od t so zamena na prvoto pojavuva e na v vo t.

A i B se proizvolni mno estva. Togax za sekoj element a 2 A i b 2 B definirame podreden par (a b), a mno estvoto od site podredeni parovi f(a b) a 2 A b 2 B g go oznaquvame so A B i go vikame direkten proizvod na mno estvata A i B . Ako A1 An e koneqna familija mno estva, togax A1 An se definira so
Neka

2.1.2

Funkcii, termi i algebri

An i se vika direkten n-ti stepen na A. Neka X i Y se dadeni mno estva, D X i f : D ! Y e preslikuva e. Togax za f velime deka e delumno preslikuva e od X vo Y so domen D. Ako D An , Y = A i f : D ! A, togax za f velime deka e delumna n-arna operacija na A. Ako, pak D = An , togax za f velime deka e potpolna n-arna operacija na A, ili samo n-arna operacija na A. Dokolku stanuva zbor za delumno preslikuva e f : D ! N , kade xto N e mno estvoto prirodni broevi, a D N k , togax za f velime deka e k -arna delumna brojna funkcija .
so Natamu qesto & ke se sretnuvame so specijalni brojni funkcii, kako xto se: n (x1 x2 s 1 (x) = x + 1, o n (x1 x2 xn ) = 0 i Im xn ) = xm pri xto (1 m n n = 1 2 ): Ovie funkcii & ke gi vikame osnovni brojni funkcii. Pri izuquva eto na rekurzivite funkcii & ke ni bide potreben i poimot za term. Za definicija na termite upotrebuvame azbuka xto se sostoi od tri vida simboli. Imeno:

A1 A2 A3 An = f(a1 a2 an )jai 2 Ai g skrateno se oznaquva a dokolku A1 = A2 = = An , togax | A {z A }


n

1. individualni simboli (promenlivi ili konstanti) za koi se upotrebuvaat oznakite: abxy a0 x1 ,

r f 4 . Za 2. funkciski simboli koi & ke gi oznaquvame so f 1 f n f0 2 n bukva f so goren indeks n n 1, so ili bez dolen indeks & ke velime deka e n-aren funkciski simbol. Ponekogax gornite indeksi nema da gi pixuvame, no togax & ke bide naglaseno na kolku individualni simboli mo e da se primeni dadeniot funkciski simbol.

3. pomoxni simboli koi se sostojat od: (, ) i ,. Od gornive simboli induktivno se konstruiraat termi na sledniov naqin: 1. Sekoj individualen simbol e term. 2. Ako t1 se termi i f n e n-aren funkciski simbol, togax i tn ) e term.

f n (t1

tn

3. Eden zbor od gore zadadenite simboli e term akko mo e da se dobie so koneqna primena na 1. i 2.. Termite mo eme da gi zapixuvame i so drugi, pokratki zapisi. Ako stanuva zbor za binaren funkciski simbol, najqesto funkciskiot simbol go pixuvame pome& gu dvata terma (ili individualni simboli) na koi deluva. Taka na primer, ako funkciskiot simbol e znakot +, togax termot +(t1 t2 ) pokratko se zapixuva so t1 + t2 . Neka A e zadadeno neprazno mno estvo i neka e zadadena familija funkciski simboli ffini ji 2 I ni 2 N g = , kade xto I e dadeno indeksno mno estvo. Neka na sekoj funkcionalen simbol fini od mu pridru ime soodvetna ni -arna operacija na A, i dobienoto mno estvo go oznaqime so F . Togax za podredenata dvojka A = (A F ) velime deka e algebra od tip , a za mno estvoto A deka e nositel na algebrata A. Pritoa, so n go oznaquvame mno estvoto od site n-arni funkciski simboli na dadena algebra A od daden tip . Natamu nema da pravime razlika pome& gu funkciskite simboli i soodvetnite operacii, pa za algebra & ke ja smetame sekoja podredena dvojka (A F ), kade xto A e neprazno mno estvo, a F mno estvo operacii na A so soodvetna arnost. Neka A i B se dve algebri od ist tip, i neka ' e preslikuva e od A vo B . Za ' velime deka e homomorfizam od algebrata A vo algebrata B ako e ispolnet sledniov uslov: Neka za sekoj n 2 N i za sekoj f 2 n , g i h se soodvetnite n-arni operacii na A, odnosno B . Togax,

(8(x1

xn ) 2 An )'(g(x1

xn )) = h('(x1 )

'(xn )):

Ako ' e homomorfizam pome& gu dve algebri, i pritoa e injekcija, togax za ' velime deka e monomorfizam ako e surjekcija, za ' velime deka e epimorfizam, a ako ' e biekcija, togax velime deka e izomorfizam pome& gu dadenite algebri. Primeri: 1. Neka P e neprazno mno estvo i binarna operacija vo P . Togax algebrata (P ) se vika grupoid. Ako, pokraj toa, za operacijata

va i i sledniov uslov togax za algebrata

(8x y z 2 P )x (y z ) = (x y) z

2. Neka G e neprazno mno estvo, e binarna operacija vo G, ;1 unarna, a e e daden element od G. Togax G= (G ;1 e) e algebra so tri operacii. Ako, pritoa, va at i slednive uslovi:

P velime deka e polugrupa.

(i) (a b) c = a (b c), za sekoi a b c 2 G, (ii) a e = e a = a, za sekoj a 2 G, i (iii) a a;1 = a;1 a = e, za sekoj a 2 G


togax za algebrata

4. Preslikuva eto j j : A ! N , definirano so: za sekoj w 2 A jwj e dol inata na zborot w od A e homomorfizam od monoidot A vo (N +). Neka A = (A ) e algebra od tip i neka B A. Za B velime deka e podalgebra od algebrata A ako e ispolnet sledniov uslov.

3. Neka so N go oznaqime mno estvoto prirodni broevi, a so 2N mno estvoto parni prirodni broevi. Jasno e deka vo odnos na standardnoto sobira e na prirodni broevi i dvete strukturi se komutativni polugrupi. Definirame preslikuva e ' od N vo 2N so x 7! 2x. Dobienoto preslikuva e e homomorfizam od (N +) vo (2N +).

G velime deka e grupa.

(8m 2 N )(8f 2 m )(8xi 2 B )f (x1

xm ) 2 B:

2. Neka Z e mno estvoto celi broevi. Togax (Z + ;) e algebra so tri binarni operacii: sobira e, mno e e i odzema e celi broevi. Ako so 2Z go oznaqime mno estvoto parni celi broevi, togax povtorno dobivame podalgebra od gorenavedenata algebra celi broevi. Neka A e algebra, a S e podmno estvo od A. Neka (Ai ji 2 I ) e familijata od site T podalgebri na A takvi xto S Ai , za sekoj i 2 I . Togax presekot B = i2I Ai e najmalata podalgebra od algebrata A xto go sodr i mno estvoto S . Za B velime deka e podalgebra generirana od S i ja oznaquvame so B = hS i. Ako S e takvo podmno estvo od A, xto A= hS i, togax za A velime deka e algebra generirana od S , a za samoto mno estvo S deka e generatorno mno estvo za algebrata A.

Primeri: 1. (N +) e algebra so edna binarna operacija, sobira e na prirodni broevi. Pritoa (2N +) e podalgebra od N , bidej& ki zbir od parni prirodni broevi e povtorno paren priroden broj.

2.1.3

1. Neka N e mno estvoto prirodni broevi, a + obiqnata operacija sobira e celi broevi. Da se poka e deka f2g ja generira podalgebrata od parni prirodni broevi, f1g podalgebrata od pozitivni prirodni broevi, dodeka f0 1g celata algebra (N +). 2. Da se poka e deka site podalgebri od algebrata N = (N +) se podmno estvata od oblik fmxjx 2 N g, za sekoj priroden broj m.

Zadaqi

3. Neka G = (G ) i G0 = (G0 ) se grupi i ' : G ! G0 e preslikuva e. Da se doka e deka ' e homomorfizam od G vo G0 ako i samo ako ' e homomorfizam od (G e ;1 ) vo (G0 e0 ;1 ). 4. Neka

5. Neka : A ! B e homomorfizam i neka A1 e podalgebra od e podalgebra od algebrata B. Da se poka e deka:

= (A FA ) i B = (B FB ) se dve algebri od ist tip i Da se poka e deka smestuva eto " : A ! B , t.e. " : a 7! a, e homomorfizam od A vo B ako i samo ako A e podalgebra od algebrata B.

A B.

A, B1

(i) (A1 ) e podalgebra od B (ii) ;1 (B1 ) e podalgebra od A.

10

2.2

Tjuringovi maxini

Prv obid precizno da se definira poimot algoritam bil napraven od Tjuring (1936) i Post (1937). Algoritmite od ovaa klasa se odlikuvaat so svojstva na maxini, koi vo prvo vreme i se vikale maxini na Tjuring i Post, a potoa samo maxini na Tjuring. Vo suxtina i Tjuring i Post samostojno doxle do sliqni idei za definicija na poimot algoritam. Ovie maxini vo bitnite crti se obiduvaat da ja imitiraat rabotata na qovekot, presmetuvaj& ki daden problem so zadadena programa. Vo ovoj del & ke gi opixeme Tjuringovite maxini i naqinot na nivnata rabota, a potoa & ke dademe primeri, nexto vo samiot tekst, a nexto preku zadaqi. Natamu & ke definirame poim za funkcija presmetliva po Tjuring, kako i poim za rekurzivno mno estvo.

2.2.1

Tjuringovi maxini Tjuringovite maxini se sostojat od slednive delovi:


suxtina ovaa koneqna lenta vo sekoj moment mo e da se proxiri i od levo i od desno so uxte koneqen broj & kelii, taka xto mo e da se smeta za potencijalno beskoneqna od dvete strani. Vo sekoja & kelija od lentata mo e da bide zapixan eden od koneqno mnogu vlezni simboli od dadena koneqna azbuka, nadvorexna azbuka na maxinata ili da bide prazna t.e. vo & kelijata da bide zapixan simbolot 2. Site novododadeni & kelii se prazni. Lentata se smeta za nasoqena i toa od levo na desno. Na toj naqin, ako lentata ima r & kelii, a nadvorexnata azbuka e fa1 a2 am g, togax lentata e vo potpolnost opixana so zborot aj1 aj2 ajr , kade xto aj1 aj2 ajr 2 fa1 a2 am g f2g, aj1 e simbolot zapixan vo prvata (najlevata) & kelija od lentata, aj2 simbolot vo vtorata & kelija, i t.n. vo sekoj moment se nao& ga vo nekoja sostojba. Pretpostavuvame deka mno estvoto vnatrexni sostojbi e koneqno i & ke go oznaquvame so K = fq0 q1 qm g, pri xto sekoja Tjuringova maxina ima sopstveno mno estvo vnatrexni sostojbi. Sekogax & ke pretpostavuvame deka mno estvoto vnatrexni sostojbi i nadvorexnata azbuka se disjunktni mno estva. Edna od vnatrexnite sostojbi se vika zavrxna sostojba i vo rabotata na maxinata ima specijalna uloga. Simbolot koj xto ja oznaquva zavrxnata sostojba & ke go vikame stop{simbol i & ke go oznaquvame so !. Sekoja maxina ima i poqetna sostojba koja xto & ke ja oznaquvame so q0 .

Koneqna lenta. Lentata e razdelena na koneqen broj & kelii. Vo

Vnatrexna memorija. Vnatrexnata memorija e mehanizam, koj

11

Glava za zapixuva e i qita e. Glavata za zapixuva e i qita e e mehanizam koj mo e da se dvi i vdol lentata, taka xto vo sekoj moment toj nab uduva edna & kelija od lentata. Ovaa glava mo e da se dvi i ili za edno pole levo, ili za edno pole desno, ili, pak, da ostane na mesto i da ja nab uduva istata & kelija. Koga glavata e pozicionirana na dadena & kelija, mo e i da zapixe simbol od dadenata nadvorexna azbuka ili pak simbolot 2 vo nea (poslednovo vsuxnost znaqi deka se brixe sodr inata na & kelijata).
dena so specijalen mehanizam, koj vo zavisnost od vnatrexnata sostojba i simbolot zapixan vo tekovnata & kelija (& kelijata na koja e pozicionirana glavata) mo e da ja izmeni vnatrexnata sostojba, istovremeno da ja izmeni sodr inata na tekovnata & kelija i da ja pridvi i glavata za edna & kelija na desno ili za edna & kelija na levo. Ovoj mehanizam za upravuva e na Tjuringovata maxina vo suxtina e upravuvan od zadadena "programa". Dokolku maxina ja dostigne poslednata & kelija od desno i upravuvaqkiot mehanizam nalo uva glavata da se podvi i za edno mesto nadesno, togax se pretpostavuva deka istovremeno so prikelija vo dvi uva eto na glavata nadesno e dodadena i edna & koja e zapixan simbolot 2. Istoto ova se pretpostavuva i ako stanuva zbor za najlevata & kelija i naredba za dvi e e na glavata za edno mesto na levo. Mo no e maxinata pri svojata rabota da dojde do zavrxnata vnatrexna sostojba i togax taa prekinuva so rabota, a rezultat na rabotata e zborot zapixan na lentata. Dokolku maxinata se najde vo nekoja sostojba qi i pritoa ne nastapuva nikakva promena nitu vo vnatrexnata sostojba na maxinata nitu pak na samata lenta, vo toj sluqaj & ke smetame deka maxinata prodol uva da raboti "beskoneqno". Po definicija konfiguracija na Tjuringova maxina e zbor od oblik

Mehanizam za upravuva e. Se pretpostavuva deka maxinata e snab-

aj1 aj2

aj ;1 qi aj
k

aj

(1)

kade xto ajs se simboli od nadvorexnata azbuka, a qi e edna od vnatrexnite sostojbi. Pri toa se pretpostavuva deka glavata ja nab uduva & kelijata vo koja xto e zapixan simbolot ajk i se nao& ga vo sostojba qi . Znaqi, sekoja konfiguracija ja dava konkretnata momentalna sostojba na maxinata. Za Tjuringovata maxina da mo e da otpoqne so rabota, potrebno e da se znae mno estvoto vnatrexni sostojbi K , nadvorexnata azbuka ,

12

poqetnata konfiguracija (t.e. zborot zapixan na lentata, sostojbata vo koja se nao& ga maxinata pred poqetokot na rabota i & kelijata na koja e pozicionirana glavata), kako i da bide opredelena "programata" po koja taa natamu & ke raboti.

Programata na Tjuringovata maxina se sostoi od niza podredeni petorki od oblik

qi aj ar qs M

(2)

koi & ke & gi vikame naredbi. Vo petorkata (2) M e eden od simbolite L R N , pri xto L oznaquva deka glavata treba da se pridvi i nalevo, R{da se pridvi i nadesno, a N {da ostane na mesto. Naredbata od oblik (2) oznaquva deka maxinata se nao& ga vo sostojba qi , ja nab uduva & kelijata vo koja e zapixan simbolot aj , go promenuva simbolot aj vo ar (koj mo e da bide i simbolot 2 ili pak da se sovpa& ga so prethodniot simbol aj ), preminuva vo sostojba qs (koja mo e da bide i qi ) i se pridvi uva vo zavisnost od simbolot M . Za programata da bide nedvosmislena (determiniranost na algoritmot) se pretpostavuva deka vo programata nema dve naredbi koi zapoqnuvaat so ednakvi prvi dva simbola. Da zabele ime deka poradi poslednoto ograniquva e na naredbite vo programata, redosledot na naredbite ne e biten. Poradi ova, najednostaven naqin za zapixuva e na programa za dadena Tjuringova maxina e so pomox na tablica. Tablicata sodr i onolku koloni kolku xto ima vnatrexni sostojbi ne smetaj& ki ja stop{sostojbata, a onolku redici kolku xto ima bukvi vo nadvorexnata azbuka, vkluquvaj& ki go i simbolot 2. Ako maxinata e vo sostojba qi i ja nab uduva & kelijata vo koja e zapixan simbolot aj , togax vo presekot na redicata na simbolot aj i kolonata na vnatrexnata sostojba qi se zapixuva ar Mqs , t.e. simbolot vo koj se menuva aj (dokolku postoi promena), sostojbata vo koja se menuva sostojbata qi (dokolku postoi promena) i nasokata na dvi e e na glavata na maxinata L ili R (simbolot N mo e i da se izostavi.)

Neka mno estvoto vnatrexni sostojbi e K = fq0 q1 qn g f!g, nadvorexnata azbuka e = f2 a1 an g. Edna od naredbite vo programata na dadena Tjuringova maxina neka e qj ai as qt M , kade xto M zamenuva eden od simbolite L ili R, dodeka dokolku namesto M nema nixto zapixano, togax se smeta deka na toa mesto se nao& ga znakot N . Ovaa naredba vo programata zadadena so tablica & ke izgleda kako xto e prika ano podolu.

13

2 a1 a2
ai an
. . . . . .

q0 q1

qj

qs

as Mqt

Poqetnata konfiguracija e mnogu bitna pri opredeluva e na programata na Tjuringova maxina. Za da se standandizira programata, se voveduva takanareqen standarden poqetok na rabota { poqetna konfiguracija vo koja glavata za qita e i zapixuva e e postavena na prvata od levo neprazna & kelija, a maxinata e vo sostojba q0 . Dokolku i pri zavrxuva e na rabotata na maxinata glavata se nao& ga na najlevata popolneta & kelija, togax stanuva zbor za standardna Tjuringova maxina. Podolu & ke navedeme primeri od koi & ke se zabele i deka sekoja Tjuringova maxina mo e da se preraboti (t.e. da se napravi nova maxina koja & ke ja izvrxuva istata zadaqa) vo standardna Tjuringova maxina. Znaqi, ako rabotime so standardna Tjuringova maxina, na poqetokot treba da go znaeme vlezniot zbor i da ja primenime, qekor po qekor, programata, dodeka ako stanuva zbor za nestandardna Tjuringova maxina, morame da ja poznavame poqetnata konfiguracija za programata da ja izvrxi zadadenata zadaqa. Primeri: 1. Neka e zadadena Tjuringova maxina so samo dve vnatrexni sostojbi q0 i stop{sostojbata !, so nadvorexna azbuka = f0 1 2 3 4 5 6 7 8 9g i programa zadadena so slednava tablica:

q0 2 1N !
0 1 2 3 4 5 6 7 8 9

0Lq0

1! 2! 3! 4! 5! 6! 7! 8! 9!

14

Ovaa Tjuringova maxina ne e standardna, tuku poqetnata konfiguracija e takva xto glavata ja nabluduva poslednata neprazna & kelija i se nao& ga vo poqetnata sostojba q0 . Ako se zeme predvid poqetnata konfiguracija, togax ako poslednata cifra na zborot sostaven od cifrite vo dekaden broen sistem e pomala od 9, togax ovaa Tjuringova maxina toj zbor (toa e vo suxtina broj vo dekaden broen sistem) go prerabotuva vo negoviot sledbenik i zavrxuva so rabota. Ako, pak, poslednata cifra e 9, togax ja prerabotuva vo 0, se pomestuva za edno mesto na levo i ja povtoruva postapkata so prethodnata cifra. Znaqi, ovaa Tjuringova maxina sekoj broj od desetiqniot broen sistem go prerabotuva vo negoviot sledbenik. 2. Da vidime, sega, kako istiot problem mo e da se rexi so standardna Tjuringova maxina, t.e. ako poqetnata konfiguracija e takva xto glavata ja nab uduva prvata neprazna & kelija i se nao& ga vo poqetnata sostojba q0 . Mno estvoto vnatrexni sostojbi e stop{sostojbata i K = fq0 q1 q2 g, mno estvoto nadvorexni simboli e ist kako i vo primerot 1., a programata e zadadena so slednava tablica:

q0 2 Lq1 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 D 8 D 9 D

1! 1Lq2 2Lq2 3Lq2 4Lq2 5Lq2 6Lq2 7Lq2 8Lq2 9Lq2 0Lq1

q1

q2 D! L L L L L L L L L L

So ovaa programa se postignuva slednovo: Ako glavata e postavena da go gleda prazniot simbol, znaqi na lentata e zapixan prazniot zbor, togax glavata odi edno pole nalevo i preminuva vo sostojba q1 , potoa pixuva 1 i zastanuva so rabota. Ako zborot zapixan na lentata ne e prazniot zbor, togax glavata se dvi i desno i ostanuva vo sostojba q0 se dodeka ne stigne do prvoto prazno pole, potoa se vra& ka nalevo edno

15

pole i preminuva vo sostojba q1 , se primenuva postapkata od primerot 1. i preminuva vo sostojba q2 so koja se obezbeduva vra& ka e na glavata do prvata od levo popolneta & kelija i zastanuva so rabota. Za n-arnata brojna funkcija f & ke velime deka e presmetliva so Tjuringova maxina ako postoi Tjuringova maxina takva xto sekoja n-torka prirodni broevi (x1 xn ) zapixana na lentata ja prerabotuva vo brojot f (x1 xn ). Pritoa, najqesto & ke rabotime so unarniot zapis na prirodni broevi, t.e. prirodniot broj n & ke go pretstavuvame so n crtiqki (jj j) (ili, koga toa e popraktiqno, so n + 1 crtiqka).
| {z }

n{torka

prirodni broevi & ke zapixuvame soznak za odvojuva e na prirodnite broevi. Taka na primer, trojkata (2 3 5) & ke bide pretstavena so zborot jj jjj jjjjj. Da dademe nekolku primeri na Tjuringovi maxini koi presmetuvaat dadeni brojni funkcii: Primeri: 1. Da dademe programa na standardna Tjuringova maxina koja & ke ja presmetuva funkcijata sobira e prirodni broevi. Nadvorexnata azbuka se sostoi od dva simbola fj g, a programata e zadadena so slednava tablica:

q0

q1

j q1 D

D 2D! jq2 L

q2 q3 q3 D L 2D!

Kako raboti ovaa Tjuringova maxina. Ako na lentata e zapixan par prirodni broevi vo unaren zapis, i maxinata e vo sostojba q0 i ja gleda prvata neprazna & kelija, togax glavata se pomestuva nadesno se dodeka ne stigne do znakot za odvojuva e . Togax namesto pixuva j i preminuva vo nova sostojba q2 . Vo ovoj moment se primenuva naredbata glavata da se dvi i na levo i maxinata da ostane vo sostojbata q2 se dodeka ne go najde prvoto prazno pole levo od zapixaniot zbor. Togax glavata se pomestuva za edno mesto na desno i preminuva vo sostojba q3 , so koja brixe edna crtiqka, odi edno pole desno i zastanuva so rabota. Znaqi ako bil zapixan zborot m n po rabotata na maxinata na lentata & ke bide zapixan zborot m + n, bidej& ki znakot e zamenet so j, a prvata crtiqka od zborot e izbrixana. 2. Da sostavime programa na Tjuringova maxina koja & ke ja presmetuva funkcijata f (n) = 2n.

16

Idejata za rexava e na problemot e slednata: za sekoja crtiqka od zadadeniot broj treba da se dopixe na lentata (vo prodol enie na zborot) uxte po edna crtiqka, so xto & ke se dobie baraniot rezultat. Crtiqkite mo e da se dopixuvaat levo ili desno od zborot vo programata vo prodol enie crtiqkite se dopixuvaat levo od vlezniot zbor, bidej& ki taka se postignuva pogolema efikasnost (pomalku dvi e a na glavata i pomalku sostojbi na maxinata). Pritoa azbukata e f2 j g, e simbol od azbukata koj ne se javuva ni vo vlezniot zbor ni vo rezultatot (maxinata treba da presmetuva brojna funkcija), no e neophoden pri rabotata na maxinata { vakvite simboli gi narekuvame pomoxni simboli ili markeri. Programata e dadena so slednava tablica

q0 Lqz Lqn D

qn qz Dq0 D! L

jL

Sostojbata q0 e poqetna sostojba. Na poqetokot na rabotata dokolku glavata e pozicionirana na prazna & kelija znaqi deka vlezot e 0 i rezultatot & ke bide istotaka 0. Ako, pak, glavata e pozicionirana na & kelija koja sodr i j, se povtoruva slednoto: crtata se zamenuva so , sostojbata se menuva vo qn , vo koja glavata se dvi i na levo se dodeka qita simbol . Koga & ke dojde do prazna & kelija vo nea zapixuva (so xto poslednata proqitana crtiqka e duplirana) i preminuva povtorno vo sostojbata q0 , vo koja glavata se dvi i na desno se dodeka qita simbol . Taka se dobiva nexto kako ciklus koj se izvrxuva onolku pati kolku xto ima crtiqki vo vlazniot zbor. Izvrxuva eto na ciklusot zavrxuva koga ve& ke nema crtiqki, odnosno koga vo sostojba q0 , po izminuva e na site simboli , glavata e pozicionirana na prazna & kelija. Togax maxinata preminuva vo sostojba qz i glavata se pridvi uva za edno mesto na levo. Vo ovoj moment od rabotata na maxinata na lentata e zapixan zbor vo koj se nao& gaat zapixani duplo pove& ke simboli otkolku xto imal crtiqki poqetniot (vlezniot) zbor. Sega, vo sostojbata qz dvi ejki se na levo, sekoj simbol se zamenuva so crta, se dodeka glavata ne satigne do prazna & kelija, potoa se vra& ka edno mesto nadesno i maxinata zavrxuva so rabota. Taka q0 e sostojba so koja se bara naredna crta, qn e sostojba za vra& ka e nazad i udvojuva e, a qz za preimenuva e na markerite. Iako na prv pogled Tjuringovite maxini izgledaat kako bavni, ednostavni i dosta ograniqeni vo svoite mo nosti, poka ano e deka

17

sekoj problem koj mo e da se rexi so dosega napravena maxina e rexliv i so Tjuringova maxina, se razbira so dobro izbrana nadvorexna azbuka, mno estvo sostojbi i programa. Za edno podmno estvo L od mno estvoto zborovi nad edna azbuka A velime deka e odluqlivo ili presmetlivo po Tjuring ako negovata karakteristiqna funkcija e presmetliva po Tjuring, t.e. ako postoi Tjuringova maxina koja na praxa eto dali zborot w e element od L & ke dava eden fiksiran simbol (da reqeme simbolot Y ) ako odgovorot e pozitiven, a drug fiksiran simbol (da reqeme N ), ako odgovorot e negativen. Na primer, neka A = fag i neka L = fw 2 A jwj e paren brojg. Togax L e odluqlivo, a Tjuringovata maxina zadadena so programata:

go prepoznava mno po Tjuring. Vo ovaa programa vsuxnost se broi po modul 2, so pomox na dvete sostojbi (q0 oznaquva deka do sega se izbrixani i izbroeni paren broj bukvi, a q1 { neparen broj bukvi od vlezniot zbor). Taka, ako koga ve& ke nema bukvi maxinata maxinata e vo sostojba q0 { taa zavrxuva so pozitiven odgovor, inaku so negativen.

q0 q1 2 Y! N! a 2q1 D 2q0 D estvoto L, t.e. mno estvoto aborovi L e odluqlivo

2.2.2

Zadaqi:

1. Da se sostavi programa za Tjuringova maxina so koja glavata se dvi i po lentata i zapira na vtorata po red prazna & kelija. 2. Da se sostavi programa za Tjuringova ma ina za presmtnuva e na funkcijata I3 4 : N ! N I3 4 (x1 x2 x3 x4 ) = x3 , vo azbukata fj 2g. Prirodnite broevi se pretstaveni vo unarna notacija{ brojot n so n + 1 crtiqka i vleznite veliqini se odvoeni so prazno mesto. 3. Da se sostavi programa za Tjuringova maxina koja & ke ja presmetuva funkcijata f (n) = 3n. 4. Da se sotavi programa za Tjuringova maxina koja & ke ja presmetuva funkcijata proizvod na prirodni broevi. 5. Da se sostavat programi za Tjuringovi maxini koi & ke gi presmetuvaat slednive brojni funkcii: (a)

f (m n) = minfm ng
18

(b) (v) (g)

f (m n) = m{ .n f (m n) = jm ; nj f (m n) = nzd(m n), t.e. delitel na m i n.

go presmetuva najgolemiot zaedniqki

6. Da se sostavi programa za Tjuringova maxina koja daden zbor sostaven od bukvite a i b & ke go pomesti za edno mesto levo (desno) na lentata. 7. Da se poka e deka mno estvoto od neparni prirodni broevi e presmetlivo po Tjuring. 8. Da se poka e deka mno estvoto broevi delivi so 3 e presmetlivo po Tjuring. 9. Da se sostavi pprograma za Tjuringova maxina za presmetuva e na funkcijata sg : N ! f0 1g definirana so sg (0) = 0 sg (x) = 1 x 1. Prirodnite broevi se zadadeni vo unaren zapis. 10. Da se sostavi programa za Tjuringova maxina za presmetuva e na ostatok pri dele e na broj so brojot 3. Prirodnite broevi se zadadeni vo unaren zapis. 11. Da se sotavi programa za Tjuringova maxina so koja glavata & ke se pozicionira na najbliskata neprazna & kelija od lentata. 12. Da se sostavi programa za Tjuringova maxina koja & ke presmetuva ostatok pri dele e so 2. Broevite se zadadeni vo dekaden zapis. 13. Da se sostavi programa za Tjuringova maxina za presmetuva e na ostatok pri dele e na broj so brojot 3. Prirodnite broevi se zadadeni vo dekaden zapis. 14. Da se sostavi programa za Tjuringova maxina koja za daden zbor nad azbukata = f0 1 2g se pozicionira na prvoto pojavuva e (najlevo) na najgolemata cifra vo zborot. 15. Da se sostavi programa za Tjurongova maxina koja poka uva deka mno estvoto palindromi so neparna dol ina nad azbukata fa bg e Tjuring presmetlivo (odluqlivo) mno estvo. 16. Da se sostavi programa za Tjuringova maxina so koja vo daden zbor nad azbukata fa bg sekoe treto pojavuva e na bukvata a se zamenuva so b i sekoe treto pojavuva e na b so a. 17. Da se sostavi programa za Tjuringova maxina koja za poqeten zbor vo binaren zapis & ke dade broj sostaven samo od edinici i toa onolku kolku xto ima vo poqetniot broj. Poqetniot broj ne treba da ostane na lentata.

19

18. Na lentata na Tjuringova maxina e zapixan zbor nad azbukata fa bg so neparna dol ina . Da se sostavi programa koja site bukvi & ke gi zameni so srednata bukva od zborot. 19. Da se sostavi programa za Tjuringova maxina koja presmetuva #aa(w) w 2 fa bg (broj na pojavuva a na zborot aa kako podzbor od zborot w), pri xto rezultatot e daden vo unaren zapis, desno od zborot w, odvoen so prazna & kelija.

20. Neka L = fw 2 fa bg jw zapoqnuva so bbb ili postojat paren broj bukvi a vo wg. Glavata na Tjuringovata maxina e na poqetokot od zborot w. Da se sostavi programa taka xto:

w 2 L, na lentata da se zapixe Y w2 = L, na lentata da se zapixe N . Vo dvata sluqai zborot w treba da bide izbrixan od lentata i glavata pozicionirana na Y=N .
ako ako

(Vakva Tjuringova maxina se narekuva Tjuringova maxina za prepoznava e na jazikot L.) 21. Da se sostavi programa za Tjuringova maxina koja daden zbor w 2 fa b cg go transformira vo zbor koj e dobien od w so udvojuva e na sekoe pojavuva e na bukvata a. 22. Dadeni se dva broja vo binaren zapis, odvoeni so . Da se sostavi programa za Tjuringova maxina za sporeduva e na dvata broja i rezultatot da bide izrazen so pomox na < = ili >. 23. Da se sostavi programa za Tjuringova maxina so koja se odzema brojot 3 od daden broj vo binaren zapis. 24. Da se sostavi programa za Tjuringova maxina koja za daden broj x vo unaren zapis ja presmetuva vrednosta na funkcijata f : N ! N f (x) = (div(x 3) rest(x 3)), pri xo div(x 3) pretstavuva koliqnik, a rest(x 3) ostatok pri dele e na x so 3. Parot broevi vo rezultatot se povtorno vo unarna notacija, odvoeni so prazno mesto.

20

2.3

Normalni algoritmi

Normalnite algoritmi gi vovel A.A.Markov vo 1955 godina i so toa dal druga precizna definicija na poimot algoritam. Kako xto & ke vidime podocna, so ovoj obid toj ne uspeal da dade poopxta definicija na poimot algoritam, zatoa xto se poka uva deka site brojni funkcii presmetlivi so normalni algoritmi se toqno funkciite presmetlivi so Tjuringovi maxini. Poradi faktot xto A.A.Markov prv gi vovel normalnite algoritmi, tie qesto se vikaat algoritmi na Markov, a brojnite funkcii presmetlivi so ovie algoritmi, funkcii presmetlivi po Markov.

2.3.1

Normalni algoritmi

Vo prviot del vovedovme poim za azbuka, zbor, podzbor, pojavuva e na podzbor vo daden zbor. Da vovedeme uxte nekoi polezni oznaki. Za dva zbora v i w velime deka se grafiqki ednakvi ako se sostojat od edni isti bukvi podredeni po ist redosled. Ako u i v se dva : grafiqki ednakvi zbora vo dadena azbuka A, togax pixuvame v = w, a _ w. ako v i w ne se grafiqki ednakvi, pixuvame v 6= : Na primer, ako A = fa b cg e dadena azbuka, togax aabbcab = aabbcab, dodeka abac i acab ne se grafiqki ednakvi zborovi. Zabelexka: Bidejki vo grupoid (G ) dva proizvoda u1 un i v1 vm mo e da bidat ednakvi i ako ne se grafiqki ednakvi, t.e. tie se ednakvi ako davaat ist rezultat vo G, za ednakvi proizvodi (odnosno zborovi) vo polugrupata (A ), kade xto A e azbuka, a operacigutoa, jata konkatenacija na zborovi se voveduva posebna oznaka. Me& bidej& ki nie & ke rabotime samo so grafiqka ednakvost, mo e da se upotre: buva i standardnata oznaka za ravenstvo =, namesto =, pri xto sekogax & ke se podrazbira deka stanuva zbor za grafiqki ednakvi zborovi. Ako A e algoritam vo azbukata A, t.e. algoritam koj zborovi od azbukata A prerabotuva povtorno vo zborovi od istata azbuka A, v e zbor vo azbukata A i ako procesot na primena na algoritmot A vrz zborot v zavrxuva so rabota, togax pixuvame !A(v ). Rezultatot na rabotata na algoritmot A vrz zborot v go oznaquvame so A(v ). Na toj naqin zapisot

:w A(v) =

ili

oznaquvaat deka so primena na algoritmot A vrz zborot v , kako rezultat se dobiva zborot w. Neka A i B se dva algoritmi vo dadena azbuka A. Ako v e zbor vo azbukata A i ako sekogax koga algoritmot A primenet na zborot

: A(v) w=

21

zavrxuva so rabota i kako rezultat go dava zborot w, zavrxuva so rabota i algoritmot B primenet na zborot u i pritoa rezultat e povtorno zborot w, togax velime deka !A(v ) e ekvivalentno so !B (u), i ja upotrebuvame oznakata

A(v) ' B(u):


Za simbolot ' velime deka e uslovno ravenstvo. Qestopati namesto vo dadena azbuka A & ke konstruirame algoritmi vo poxiroka azbuka B , znaqi vo mno estvo B takvo xto A B . Vo toj sluqaj qesto & ke ne interesira rabotata na algoritmot vrz zborovi od azbukata A i pri toa & ke sakame i rezultatot da bide povtorno zbor od azbukata A. Za taa cel voveduvame uxte nekolku poimi. Za algoritmot A velime deka e algoritam nad azbukata A ako e algoritam vo nekoe proxiruva e na A. Neka A1 i A2 se dva algoritmi nad azbukata A. Za ovie algoritmi velime deka se ekvivalentni nad azbukata A ako se ispolneti slednive uslovi: 1. Sekogax koga A1 prerabotuva nekoj zbor v od azbukata A vo zbor w od istata azbuka A, A2 istotaka v go prerabotuva vo w. 2. Sekogax koga A2 prerabotuva nekoj zbor v od azbukata A vo zbor w od istata azbuka A, A1 istotaka v go prerabotuva vo w.

A ako:

Za algoritmite

A1 i A2 velime deka se potpolno ekvivalentni nad


v vo A, primenliv e v vo A, primenliv e

1'. Sekogax koga A1 e primenliv na nekoj zbor i A2 i davaat ist rezultat. 2'. Sekogax koga A2 e primenliv na nekoj zbor i A1 i davaat ist rezultat.

So pomox na simbolot za uslovno ravenstvo, potpolnata ekvivalentnost na algoritmite A1 i A2 nad azbukata A se izrazuva na sledniov naqin: za sekoj zbor v od azbukata A. Neka A e dadena azbuka, ! i se simboli koi ne pripa& gaat na A i neka u i v se zborovi vo azbukata A. Zborovite u ! v i u ! v gi vikame prosta i zavrxna formula za zamena vo azbukata A. Pritoa u i v se vikaat leva i desna strana vo soodvetnata formula za zamena. Normalen algoritam vo azbukata A e zadaden so podredena lista od formuli za zamena (kako prosti, taka i zavrxni). Vakva podredena

A1 (v) ' A2 (v)

22

lista od formuli za zamena se vika programa na normalniot algoritam. Pri rabotata na normalen algoritam vo dadena azbuka A daden zbor w od azbukata A se prerabotuva vo nov zbor. Dozvoleni "izlezni" zborovi se zborovi od azbukata A. Rabotata na normalniot algoritam A se opixuva na sledniov naqin: Ako ni edna od levite strani na formulite za zamena ne nastapuva vo w, togax procesot na rabota na algoritmot A vrz zborot w zavrxuva i rezultatot A(w) e samiot zbor w. Ako barem edna od levite strani na formulite za zamena nastapuvaat vo zborot w, togax prvoto pojavuva e vo w na levata strana od prvata formula za zamena se zamenuva so soodvetnata desna strana od istata formula za zamena. Ako pritoa formulata za zamena ne e zavrxna, postapkata prodol uva so proverka dali nekoj zbor od levite strani na formulite za zamena nastapuva vo novodobieniot zbor. Pritoa, proverkata dali zbor od leva strana na nekoja formula nastapuva vo novodobieniot zbor povtorno se izveduva od prvata formula od zadadenata podredena lista formuli. Vo sprotivno, algoritmot A zavrxuva so rabota. Isto taka, i vo sluqaj koga formulata primeneta na zborot w bila zavrxna, algoritmot prestanuva so rabota. Nekoj od zborovite na levata ili desnata strana vo formulite za zamena mo e da bide i prazniot zbor, koj obiqno nema da go pixuvame. Taka, namesto u ! & ke pixuvame samo u ! . Znaqi, za normalniot algoritam da bide potpolno zadaden, potrebno e da bide zadadena azbuka, formuli za zamena i da bide toqno opredelen redosledot na dadenite formuli za zamena. Nie & ke koristime zapixuva e na formulite za zamena vo kolona, so xto avtomatski & ke bide opredelen redosledot na formulite za zamena, taka xto za prva & ke se smeta najgornata, za vtora onaa pod nea, i t.n. Ako procesot na rabota na daden normalen algoritam vrz daden zbor od azbukata nikogax ne zavrxuva so rabota, togax velime deka algoritmot ne e primenliv na dadeniot zbor. Ako algoritmot zavrxuva so rabota zatoa xto niedna leva strana od formula za zamena ne nastapuva vo prethodno dobieniot zbor, velime deka algoritmot ja zavrxuva rabotata prirodno. Ako, pak, algoritmot ja zavrxil svojata rabota zatoa xto vo poslednata primena na formula za zamena, taa bila zavrxna, togax velime deka algoritmot zavrxno prestanal so rabota. Da vovedeme uxte nekoi oznaki. Neka A e algoritam vo azbukata A, neka p e zbor vo A i neka q e zbor dobien so primena na edna formula za zamena (se razbira, prvata vozmo na). Togax pixuvame: A : p ` q , ako stanuva zbor za prosta formula, a A : p ` q , ako stanuva zbor za

23

zavrxna formula za zamena. Na ovoj naqin se dobiva relacija A. Namesto zapisot:

` vo

A : p0 ` p1 A : p1 ` p2
& ke go upotrebuvame pokratkiot zapis:

A : pn;1 ` pn

A : p0 j=n pn
koj vsuxnost e tranzitivnoto i refleksivno proxiruva e na relacijata `. Po analogija, namesto zapisot:

A : p0 ` p1 A : p1 ` p2
& ke go upotrebuvame pokratkiot zapis:

A : pn;1 ` pn

A : p0 j=n pn :
Primeri: 1. Identiqen algoritam. Neka normalniot algoritam so slednava programa:

A1 e zadaden

Togax e jasno deka za sekoj zbor w vo azbukata A va i A1 (w)= _ w. Na toj naqin A1 e primenliv na sekoj zbor od abukata A i kako rezultat se dobiva samiot toj zbor. 2. Prazen algoritam. Da definirame normalen algoritam azbukata A so slednava programa:

f!

A2

vo

f!
Oqigledno, A2 ne e primenliv na nieden zbor od azbukata A zatoa xto prazniot zbor sekogax "nastapuva" vo sekoj zbor od azbukata i formulata za zamena zadadena so programata beskoneqno & ke se primenuva na dadeniot zbor. 3. Anuliraqki algoritam. Neka e zadaden normalniot algoritam vo azbukata A so programata:
8 > > < > > :

A3

u1 ! u2 ! un !
24

Neka t= _ w1 w2 wr e zbor od azbukata A. Ako nieden od zborovite ui od levata strana na formulite za zamena od programata na algoritmot ne nastapuva vo zborot t, togax algoritmot prirodno ja zavrxuva rabotata i rezultat e povtorno zborot t. Dokolku nekoj od ui nastapuva vo t, prviot nastap vo t na prviot zbor ui od programata se brixe i postapkata prodol uva se dodeka ima nastapuva a na simboli vo novodobienite zborovi. Dokolku, pak, A = fu1 u2 un g, togax algoritmot go anulira sekoj zbor od azbukata A, t.e. sekoj zbor od azbukata A go prerabotuva vo prazniot zbor. 4. Algoritam primenliv samo na prazniot zbor. opredelen so programata: Algoritmot

A4

fx ! x (x 2 A)
e algoritam koj ne prestanuva so rabota vrz neprazen zbor, a ako e daden prazniot zbor, togax prirodno ja zavrxuva rabotata i rezultat e povtorno prazniot zbor. Da zabele ime deka vo ovoj sluqaj programata e zapixana vo "skratena forma", t.e. namesto da se zapixani site formuli za zamena tie se zadadeni so edna "xema" formuli. Pritoa, vo ovoj sluqaj, redosledot na formulite ne e biten. Koj bilo redosled da se izbere, sekogax rabotata na ovoj algoritam & ke dava ist rezultat. 5. Algoritam primenliv samo na neprazni zborovi. Algoritmot zadaden so programata zapixana vo skratena forma:

A5

x ! x (x 2 A)

e primenliv na sekoj neprazen zbor od azbukata A, a ne zavrxuva so rabota ako treba da se primeni na prazniot zbor. Koristej& ki gi ovie oznaki, vo primerot 4. za sekoj zbor w 2 A+ , dobivame za sekoj

n > 0, dodeka za prazniot zbor

A4 : wj=n w A4 : ` :

Ako stanuva zbor za primerot 5., togax za sekoj zbor dobivame

w 2 A+

A5 : w ` w
25

a za prazniot zbor za sekoj

n > 0.

A5 : j=n

6. Qesto pati & ke upotrebuvame pomoxni simboli koi ne se ni vo azbukata A niti pak vo mno estvoto f! g, i & ke gi razgleduvame algoritmite nad azbukata A, pri xto novite simboli mo at da ni koristat i kako simboli za odvojuva e na zborovi od azbukata A. Taka, ako sakame od daden zbor da izbrixeme zavrxen podzbor, mo eme da se poslu ime so sledniov algoritam A6 nad azbukata A, i so pomoxen simbol :

x!

Ovoj algoritam sekoj zbor od oblik p q od azbukata A f g go prerabotuva vo zborot p. Na ovoj naqin dobivme algoritam koj otsekuva podzbor od daden zbor. Po analogija mo e da se napravi i algoritam koj otsekuva poqeten podzbor od daden zbor vo dadenata azbuka A. 7. Algoritam koj daden zbor go prerabotuva vo inverzniot. Neka p= _ x1 x2 xk . Togax inverzen na zborot p e zborot q= _ xk xk;1 x1 . Algoritmot A7 koj ja izvrxuva ovaa zadaqa e sostaven vo azbukata A f g, znaqi koristi dva pomoxni simbola i i e zadaden so slednava programa:
8 > > > > > > < > > > > > > :

(x 2 A)

! ! x!x (x 2 A) ! xy ! y x (x y 2 A) !

8. Algoritam za sobira e prirodni broevi Neka prirodnite broevi se zadadeni vo unaren zapis, t.e. n vertikalni crti jj j go oz| {z }

naquvaat prirodniot broj n. Bidej& ki sobira eto na prirodni broevi e binarna operacija, se dogovarame par prirodni broevi (m n) da oznaquvame samo so m n. Togax algoritmot A8 vo azbukata A f g zadaden so programot: sekoj par prirodni broevi

m + n.

m n go prerabotuva vo negoviot zbir


26

f!

Za edna brojna funkcija velime deka e presmetliva so normalen algoritam ako mo e da se sostavi normalen algoritam koj sekoj priro-

den broj za koj funkcijata e definirana & ke go prerabotuva vo prirodniot broj xto e rezultat pri primena na taa funkcija, a & ke bide neprimenliv na sekoj priroden broj za koj taa funkcija ne e definirana. Normalniot algoritam A8 poka uva deka sobira eto prirodni broevi e funkcija presmetliva so normalen algoritam. Postojat najrazliqni mo nosti za "sostavuva e" normalni algoritmi, koi xto nie nema da gi razgleduvame. So pomox na tie svojstva i dodatni svojstva za Tjuringovi maxini se poka uva deka: Dokazot na ova svojstvo bara dodatni svojstva i za Tjuringovi maxini i za normalnite algoritmi, pa zatoa nema da go dademe, no moe da se najde vo 1, 2]. Ova svojstvo odi vo prilog na tezata na Qerq, no sepak, zaradi nepreciznata definicija na algoritam iskoristena vo taa teza, tezata mo e da se doka e samo vo edna nasoka, t.e. deka sekoja funkcija presmetliva so Tjuringova maxina (ili presmetliva so normalen algoritam) e algoritamski presmetliva funkcija.

"Edna brojna funkcija e presmetliva so normalen algoritam ako i samo ako epresmetliva so Tjuringova maxina."

2.3.2

Zadaqi

1. Da se sostavi normalen algoritam koj ne menuva nitu eden zbor na koj se primenuva. 2. Da se sostavi normalen algoritam nad azbukata A, koj daden zbor od oblik uv & ke go prerabotuva vo zborot v , kade xto u 2 A e fiksiran zbor. 3. Da se sostavi normalen algoritam nad dadena azbuka A koj na sekoj zbor od azbukata A & ke mu dodava od levo daden fiksiran zbor od A. 4. Da se sostavi normalen algoritam, koj sekoj zbor od azbukata go prerabotuva vo odnapred zadaden fiksen zbor.

5. Da se sostavi normalen algoritam nad azbukata A, koj sekoj zbor od oblik u v w, kade xto 2 = A, go prerabotuva vo zborot v. 6. Da se sostavi normalen algoritam A koj & ke udvojuva daden zbor od azbukata A, t.e. ako u e zbor od azbukata A, togax A(u)= _ uu. 7. Da se sostavi normalen algoritam koj & ke mno i dva prirodni broja zadadeni vo unaren zapis. 8. Da se sostavi normalen algoritam nad azbuka

A koj:

27

(a) go izdvojuva prvoto pojavuva e na zborot v 2 A , (izdvojuva eto go izvrxuva so v ). (b) go izdvojuva poslednoto pojavuva e na zborot v . 9. Da se sostavi normalen algoritam koj ja presmetuva i-tata proekcija od dadena n-torka zborovi vo azbukata A. (Zabelexka: ntorka zborovi se zadava so simbol za izdvojuva e na koordinatite kojxto ne e vo A. Imeno, ako x1 x2 xn se zborovi vo A i ne e vo A, togax (x1 x2 xn ) se zapixuva vo oblik x 1 x2 xn .

10. Neka A = f0 1 2 9 g, kade xto slu i za odvojuva e na broevite. Da se sostavi normalen algoritam koj ja presmetuva funkcijata : (a) (b) (v) (g) (d) (& g)

f (x) = 0 f (x1 x2 xn ) = 0 f (x) = 5 f (x1 x2 xn ) = 4 f (x) = x + 1 sg(x) =


1 0
ako ako

x>0 x=0

11. Da se sostavi normalen algoritam koj ja presmetuva funkcijata: (a) (b) (v)

f (x) = rest(x 3) f (x y) = max(x y) f (x) = x 3 ].

Pritoa broevite se zadadeni vo unaren zapis, i rezultatot po primena na algoritmot se dobiva vo unaren zapis. 12. Da se sostavi normalen algoritam koj od zborovite nad azbukata f0 1 2g & gi brixe site cifri, osven onie so najgolema vrednost. 13. Da se sostavi normalen algoritam koj ja dava razlikata pome& gu najgolemata i najmalata cifra vo broj nad azbukata f0 1 2 3g. 14. Da se sostavi normalen algoritam za prepoznava e na jazikot

L = fw 2 fa b c dg j#a(w) + #c(w) = #b(w) + #d(w)g:


15. Da se sostavi normalen algoritam koj na broj zpixan vo binaren zapis mu dodava 1.

28

16. Da se sostavi normalen algoritam koj za broj vo binaren zapis ja odreduva cifrata koja poqesto se javuva na neparna pozicija (poqnuvajki od levo), ako zaqestenosta na 0 i 1 e ednakva, togax dava rezultat . 17. Da se sostavi normalen algoritam koj broj od dekaden sistem go prerabotuva vo istiot broj vo unaren sistem.

29

2.4

Primitivno rekurzivni funkcii

Vo ovoj del & ke definirame klasi brojni funkcii dobieni od osnovnite brojni funkcii so primena na nekoi operatori. Prvo & ke definirame taka nareqeni primitivno rekurzivni funkcii sokoriste e na operatori za supstitucija i primitivna rekurzija. Vo naredniotoddel & ke definirame -operator i funkciite dobieni so primena i naovoj operator & ke gi vikame delumni rekurzivni funkcii. Na krajot & kevovedeme operator za slaba minimizacija i & ke givovedeme i opxto rekurzivnite funkcii, kako funkcii dobieni od osnovnitebrojni funkcii so pomox na operatorite za supstitucija, primitivna rekurzijai slaba minimizacija. Pritoa & ke dobieme deka opxto rekurzivnite funkciise potpolni brojni funkcii. & razgleduvame samo brojni funkcii,t.e delumni preslikuva a od Ke N n vo N , pa zatoa natamu namesto brojni funkcii & ke velime samo funkcii. Ve& ke spomnavme deka osnovni brojni funkcii se s(x) = x+1, o(x) = 0 n (x1 x2 i Im xn ) = xm , za sekoj n m 2 N + m n. Neka f1 f2 fn se n proizvolni (delumni) m-arni funkcii i neka f e n-arna (delumna) funkcija. Definirame m-arna funkcija g so:

2.4.1

Operatori za supstitucija i primitivna rekurzija

g(x1 x2 xm ) = f (f1 (x1 xm ) fn (x1 xm )) za proizvolni x1 x2 xm 2 N: Za funkcijata g velime deka e dobiena so operator za supstitucija od funkciite f f1 f2 fn. Operatorot za supstitucija & ke go oznaquvame so S n+1 . Gorniot indeks go oznaquva

brojot na funkcii na koi e primenet operatorot za supstitucija. Ako so F n go oznaqime mno estvoto od site n-arni delumni brojni funkcii, togax S n+1 e preslikuva e od F n F m F m F m vo F m . n +1 Pritoa, S (f f1 fn ) & ke bide opredelen i & ke ima vrednost m-arna funkcija g akko f e n-arna funkcija, a sekoja od funkciite f1 fn e m-arna, za daden fiksiran priroden broj m. Primeri: 1. S 3 2.

Vo soglasnost so definicijata za algebra i delumna algebra dobivame deka ako so F go oznaqime mno estvoto od site brojni funkcii, a so S 2 , S 3 , mno estvo operatori za supstitucija na F , togax dobienata struktura (F S 2 , S 3 , ) e delumna algebra. Funkciite dobieni so pomox na supstitucija od dadeni funkcii mo at da se zapixat na dva naqina, imeno:

2 ,I1 3 , I2 2 ) ne e definiran. ( I1 2 ,I1 3 , I2 3 ) e definiran i ima vrednost I1 3. S 3 (I1

30

(1) kako vrednosti na termi vo koi S n slu at kako operatorni simboli, a fij kako individualni promenlivi (2) kako termi, a ne vrednosti na termi, od istite simboli. Ovoj, vtoriov vid za zapixuva e funkcii dobieni so supstitucija od dadeni funkcii & ke go vikame termalen. Na primer, ako se zadadeni operaciite sobira e (+) i mno e e ( ) na prirodni broevi, togax funkcijata x1 x2 + x3 e vrednost na operatorniot term
S3

(+ S 3 (

kade xto x1 x2 x3 se proizvolni prirodni broevi. Neka se zadadeni proizvolni delumni funkcii n-arna g i n +2-arna h. Definirame n + 1-arna delumna funkcija f na sledniov naqin: za sekoi x1 x2 xn y 2 N

3 I2 3 ) I3 3) I1

xn 0) = g(x1 xn ) xn y + 1) = h(x1 xn y f (x1 xn y)) Za delumnata funkcijata f velime deka e delumna n + 1-arna funkcija dobiena so primitivna rekurzija od delumnite funkcii g i h. Ovaa definicija & ke ja primenuvame i za n = 0, i pri toa g & ke bide konstantna unarna funkcija ednakva na brojot a, h binarna funkcija, af & ke ja dobieme so ravenstvata: f (0) = a
i Se postavuva praxa eto dali za proizvolni funkcii g i h od n, odnosno n + 2 promenlivi postoi delumna funkcija f od n + 1 promenliva dobiena od g i h so primitivna rekurzija, i dali taka dobienata funkcija & ke bide ednoznaqno opredelena. Ako postoi funkcijata f , togax nejzinite vrednosti gi nao& game postapno od (i) i (ii). Imeno:

(i) f (x1 (ii) f (x1

f (x + 1) = h(x f (x)):

f (x1 f (x1 f ( x1

xn 0) = g(x1 xn ) f (x1 xn 1) = h(x1 xn 0 g(x1 xn )) xn 2) = h(x1 xn 1 f (x1 xn 1)) xn m + 1) = h(x1


31

xn m f (x1

xn m))

pa poradi ova f e opredelena ednoznaqno. Ako za nekoja vrednost na x1 xn t vrednosta na f (x1 xn t) ne e definirana, togax za sekoj y t nema da bide definirana ni vrednosta na f (x1 xn y). Ako g e n-arna, h e n + 2-arna funkcija i ako n + 1-arnata funkcija f e dobiena so primitivna rekurzija od funkciite g i h, togax simboliqki toa go zapixuvame na sledniov naqin:

f = R(g h)
i R go razgleduvame kako delumen binaren operator definiran nad mno estvoto F od site delumni funkcii. Od definicijata na operatorot R proizleguva deka ako g i h se sekade opredeleni funkcii, so arnosti n i n + 2, togax f & ke bide sekade opredelena n + 1{arna funkcija.

2.4.2

Primitivno rekurzivni funkcii

Da go vovedeme osnovniot poim od teorijata na rekurzivni funkcii. Neka G e proizvolno mno estvo funkcii. Za delumnata funkcija f velime deka e primitivno rekurzivna vo odnos na G , ako e dobiena od m i funkcii od G so pomox na operatorite osnovnite funkcii s, o, In za supstitucija i primitivna rekurzija. Specijalno, ako funkcijata f e dobiena samo od osnovnite funkm so pomox na operatorite za supstitucija iprimitivna cii s, o, In rekurzija, togax za f velime deka e primitivno rekurzivna funkcija. Da zabele ime deka primitivno rekurzivnite funkici se potpolni funkcii ako, pak, i G e mno estvo funkcii koi se sekade opredeleni na N , togax i primitivno rekurzivnite funkcii vo odnos na ova mnoestvo G se isto taka potpolni funkcii. Primeri: 1. Funkcijata on (x1 so termalen zapis: 2. Funkcijata

xn ) = 0 e primitivno rekurzivna funkcija n ): on = S 2 (o1 I1


Imeno:

f (x y) = x + y e primitivno rekurzivna. x+0=x x + (y + 1) = (x + y) + 1

a termalniot zapis i e

1 S (s I3 3 )): f = R(I1
32

3. Funkcijata

f (x y) = x y e primitivno rekurzivna. x 0=0 x (y + 1) = (x y) + x:

Imeno:

(Da zabele ime deka natamu retko & ke go upotrebuvame termalniot zapis, iako toj mo e da se dobie od definicijata na operatorite za supstitucija i primitivna rekurzija.) 4. Funkcijata xy e primitivno rekurzivna:

x0 = 1 xy+1 = xy x:

2.4.3

Zadaqi
(a)

1. Da se poka e deka slednive funkcii se primitivno rekurzivni:

sg(x) =
(b)

0 1 0 1

za za za za

x=0 x=1 x 6= 0 x=0


za za

sg(x) =
(v)

_y= f (x y) = x;
(g) (d)

x;y
0

x y x y

_ x: f (x y ) = y ;

f (x y) = jx ; yj:
xn X i=0

2. Neka g e primitivno rekurzivna funkcija so n promenlivi. Da se doka e deka n-arnata funkcija f definirana so

f (x1 x2

xn ) =

g(x1 x2

xn;1 i)

e primitivno rekurzivna funkcija.

33

3. Neka g e primitivno rekurzivna funkcija so n promenlivi. Da se doka e deka n-arnata funkcija f definirana so

f (x1 x2

xn ) =

xn Y i=0

g(x1 x2

xn;1 i)

e primitivno rekurzivna funkcija. 4. Neka f1 f2 fs+1 1 s se primitivno rekurzivni funkcii. Pritoa, za sekoi i i j , i 6= j , i i j ne mo at istovremeno da bidat ednakvi na 0. Da se doka e deka n-arnata funkcija f definirana so:

f (x1 x2

xn ) = >
> > :

8 > > > <

f1 (x1 f2 (x1

xn ) xn )

ako 1 (x1 ako 2 (x1

xn ) = 0 xn ) = 0

fs (x1 xn ) fs+1 (x1 xn )

ako s (x1 xn ) = 0 vo sekoj drug sluqaj

e primitivno rekurzivna funkcija. 5. Doka i deka slednive funkcii se primitivno rekurzivni: (a) (b) (v)

f (x y ) = x koliqnikot pri y ] t.e. f (x y ) za rezultat go dava x dele e na x so y . Pritoa, po definicija 0 ] = x. f (x y) = rest(x y), t.e. f (x y) kako rezultat go dava ostatokot pri dele e na x so y . f (x y) = div(x y) =
1 0
ako ako

Imeno, funkcijata div (x y ) dava so y , a vo sprotivo, dava rezultat 0. (a) (b)

rest(x y) = 0 rest(x y) 6= 0 rezultat 1 ako x

e delivo

6. Da se doka e deka slednive funkcii se primitivno rekurzivni:

f (x) = (x), kade xto (x) za sekoj priroden broj rezultat go dava brojot na deliteli na x. pr(x) = 1 0
ako ako

kako

(v)

x e prost broj x ne e prost broj. (x), kade xto na sekoj priroden broj x mu go pridru brojot na prosti broevi pomali od x.
34

uva

2.5

Neka f e proizvolna n-arna funkcija (n 1). Neka postoi nekoja "postapka" za opredeluva e na vrednostite na funkcijata f , pri xto, & ke smetame deka f e neopredelena ako pri utvrduva eto na vrednosta na funkcijata taa postapka raboti beskoneqno. Da gi fiksirame vrednostite na promenlivite x1 x2 xn;1 za prvite n ; 1 promenlivi na koi xto deluva funkcijata f i da go razgledame ravenstvoto

2.5.1

Rekurzivni funkcii
Operator za minimizacija

f (x1 x2

xn;1 y) = xn :

(3)

Za da go opredelime rexenieto y na ravenstvoto (3) & ke ja presmetuvame vrednosta na funkcijata f so gorenavedenata postapka za y = 0 1 2 . Najmaliot broj a za kojxto va i ravenstvoto

f (x1 x2
& ke go oznaquvame so

xn;1 a) = xn xn;1 y) = xn ):
(4) (4)
nema

y (f (x1 x2

Opixanata postapka za nao& ga e na vrednosta na izrazot da zavrxi vo slednive sluqai: (a) vrednosta na (b)

f (x1 x2 xn;1 0) ne e definirana vrednosta na f (x1 xn;1 y) e definirana za y = 0 1 2 a; 1 no e razliqna od xn , a vrednosta na f (x1 x2 xn;1 a) ne e
definirana

(v) vrednosta na f (x1 x2 xn;1 broj y , no e razliqna od xn .

y) e definirana za sekoj priroden

Vo site ovie sluqai vrednosta na izrazot (4) & ke smetame deka ne e opredelena. Vo site ostanati sluqai postapkata za opredeluva e na izrazot (4) zavrxuva i kako rezultat se dobiva najmaloto rexenie y = a na ravenkata (3). Vrednosta na izrazot (4) zavisi od vrednostite na promenlivite x1 x 2 xn , pa so izrazot (4) e opredelena n-arna funkcija g. Znaqi, ako e zadadena delumna n-arna funkcija f , togax za n-arnata funkcija g opredelena so:

xn ) = y (f (x1 x2 xn;1 y) = xn ) (5) velime deka e dobiena od f so primena na operator za minimizacija.


35

g(x1 x2

Da zabele ime deka i vo sluqaj funkcijata f da e sekade definirana, funkcijata g dobiena od f so operator za minimizacija mo e da bide delumna. Ovoj fakt proizleguva od sluqajot (v) izrazot (4) da ne bide opredelen, t.e. od faktot xto mo e da se sluqi f (x1 xn;1 y) nikogax da ne ja dobie vrednosta xn . Primeri: 1. Obiqnata razlika na prirodni broevi e delumna funkcija i mo e da se izrazi so pomox na operatorot za minimizacija na sledniov naqin x ; y = z (y + z = x). 2. x (sg (x) = 1) = 1.

_ x = 0) = 0. Ova e oqigledno najmaloto rexenie na ravenkata 3. y (y ; _ x = 0. y;


4. Vrednosta na izrazot

y ((y ; (x + 1)) = 0)

(6)

ne e opredelena, bidej& ki ve& ke vrednosta na (0 ; (x +1)) ne e definirana vo mno estvoto prirodni broevi, iako ravenkata (y ; (x + 1)) = 0 ima rexenie y = x + 1, no toa ne se sovpa& ga so vrednosta na izrazot (6). Funkcijata g dobiena od funkcijata f so primena na operatorot za minimizacija simboliqki & ke ja oznaquvame so M f . Ako funkcijata f e unarna, togax funkcijata M f se oznaquva so f ;1 i se vika inverzija na funkcijata f . Na toj naqin:

f ;1 (x) = y (f (y) = x):


Primeri: 1. Za funkciite

sg i s, inverzii se slednive funkcii: x ako x = 0 1, sg;1(x) = nedefinirana, ako x > 0, s;1 (x) =
nedefinirana,

x;1

ako x > 0, ako x = 0

2.5.2

Rekurzivni i opxto rekurzivni funkcii Za delumnata funkcija f velime deka e rekurzivna funkcija vo odnos na dadena familija delumni funkcii G ako f mo e da se dobie od funkcii
od familijata G i osnovnite brojni funkcii so koneqna primena na operatorite za supstitucija, primitivna rekurzija i minimizacija.

36

Za delumnata funkcija f velime deka e rekurzivna ako mo e da se dobie od osnovnite funkcii so koneqna primena na operatorite za supstitucija, primitivna rekurzija i minimizacija. Da zabele ime deka vo opxt sluqaj so primena na operatorot za minimizacija od osnovnite funkcii ne mora da se dobie potpolna funkcija, taka xto familijata funkcii xto se dobiva od osnovnite funkcii so pomox na operatorite za supstitucija, primitivna rekurzija i minimizacija se delumni funkcii. Od osnovnata definicija neposredno sleduvaat slednive svojstva za rekurzivnite funkcii: 1. Sekoja delumna funkcija primitivno rekurzivna vo odnos na dadena familija G delumni funkcii e rekurzivna funkcija vo odnos na G . Specijalno, sekoja primitivno rekurzivna funkcija e i rekurzivna. 2. Klasata rekurzivni funkcii e poxiroka od klasata primitivno rekurzivni funkcii bidej& ki site primitivno rekurzivni funkcii se sekade definirani, dodeka rekurzivnite ne se. Na primer funkciite sg ;1 i s;1 ne se sekade definirani. Isto taka i funkcijata

f (x) = z (x + 1 + z = 0)
ne e definirana za nieden priroden broj. 3. So operatorite za supstitucija, primitivna rekurzija i minimizacija primeneti na funkcii rekurzivni vo odnos na familija rekurzivni funkcii G povtorno se dobivaat rekurzivni funkcii. Da vovedeme uxte nekolku poimi. Neka A e proizvolno podmno estvo prirodni broevi. Definirame unarna funkcija A , koja dobiva vrednost 0 za sekoj priroden broj x koj pripa& ga na A i 1 za ostanatite prirodni broevi. Za funkcijata A velime deka e karakteristiqna funkcija za mno estvoto A. Za edna funkcija velime deka e delumna karakteristiqna funkcija za mno estvoto A ako taa dobiva vrednost 0 za sekoj priroden broj x koje element od mno estvoto A, a ne e definirana za ostanatite prirodni broevi. Primeri: 1. Funkcijata koja ima konstantna vrednost 1 za sekoj priroden broj e karakteristiqna funkcija za praznoto podmno estvo prirodni broevi, a delumna karakteristiqna funkcija na praznoto podmno estvo prirodni broevi e funkcijata koja ne e definirana za nieden priroden broj.

37

Za sekoja rekurzivna funkcija f postoi algoritam so koj za sekoj priroden broj x mo e da se dobie f (x) ako f e definirana za prirodniot broj x, a raboti beskoneqno ako f ne e definirana za prirodniot broj x. Imeno, toa svojstvo go imaat Tjuringovite maxini, kako i normalnite algoritmi, t.e. sekoja rekurzivna funkcija e presmetliva so Tjuringova maxina (so normalen algoritam). & vovedeme uxte eden operator nad mno estvoto delumni funkcii, Ke & ke go oznaquvame so M l i & ke go vikame operator za slaba minimizacija. Imeno, po definicija: ako funkcijata M f e sekade definirana funkcija. Vo sprotivo & ke smetame deka M l f ne e definirana. Funkciite koi xto mo at da se dobijat od osnovnite funkcii o, s, n so primena na koneqen broj operatori za supstitucija,primitivna Im rekurzija i slaba minimizacija se vikaat opxto rekurzivnifunkcii. Od samata definicija proizleguva deka mno estvoto opxto rekurzivni funkcii e mno estvo potpolni funkcii, t.e. funkcii definirani na celoto mno estvo prirodni broevi. Znaqi:
M lf

Za mno estvoto A od prirodni broevi velime deka e primitivno rekurzivno mno estvo ako negovata karakteristiqna funkcija e primitivno rekurzivna. Za mno estvoto A velime deka e rekurzivno mnoestvo ako negovata karakteristiqna funkcija e rekurzivna. Hipoteza na Qerq: Klasata algoritamski presmetlivi brojni funkcii se sovpa& ga so klasata od site rekurzivni funkcii.

2. Karakteristiqnata i delumnata karakteristiqna funkcija se sovpa& gaat samo za celoto mno estvo prirodni broevi.

= Mf

Opxto rekurzivnite funkcii se potpolni rekurzivni funkcii. Obratnoto tvrde e isto taka va i, t.e. sekoja potpolna rekurzivna funkcija e opxto rekurzivna.

Znaqi klasata rekurzivni funkcii e poxiroka od klasata opxto rekurzivni funkcii.

Teorema 2.5.1 (Teorema na Tjuring) Klasata funkcii presmetlivi so Tjuringova maxina e toqno klasata rekurzivni funkcii.

2.5.3

Zadaqi
so:

1. Za binarni funkcii voveduvame operator

f (x y) = f (y x):
Da se poka e deka

2 I1 2) f = S 3 (f I2 x (f (x y ) = z ) = (M f )(y z ):
38

gi zadovoluva slednite ravenstva:

2. Ako x e realen broj, togax so broj koj ne e pogolem od x. Za Da se poka e deka funkcijata

x] go oznaquvame najgolemiot cel x] velime deka e cel del od x.

q (x) = x ;

px]2

gi zadovoluva ravenstvata:

(i) q ;1 (2x) = x2 + 2x (ii) q ;1 (2x + 1) = x2 + 4x + 2:

3. Da se poka e deka ako f i rekurzivni i funkciite: (a) (b) (v) (g) (d) (& g)

se rekurzivni funkcii, togax se

y f (x1 y f (x1 y f (x1 y f (x1 y f (x1 y f (x1

xn xn xn xn xn xn

y) = g(x1 xn y) 6= g(x1 xn y) g(x1 xn y) g(x1 xn y) = 0 i g(x1 y) = 0 ili g(x1

y)] y)] y)] y)] xn y) = 0] xn y) = 0]:

4. Da se poka e deka funkcijata

A(0 y) = y + 1 A(x + 1 0) = A(x 1) A(x + 1 y + 1) = A(x A(x + 1 y))


e rekurzivna funkcija, no ne e primitivno rekurzivna. (Zabelexka: Funkcijata A definirana pogore se vika Akermanova funkcija i rexenieto na ovaa zadaqa ne e ednostavno. Zadaqata e navedena pove& ke za da se ima uxte eden primer na rekurzivna funkcija xto ne e primitivno rekurzivna.) 5. Da se poka e deka sekoja funkcija koja ima konstantna vrednost a za skoro sekoj priroden broj, t.e. e razliqna od a samo za koneqno mnogu prirodni broevi, e primitivno rekurzivna funkcija. 6. Da se poka e deka ako e zadadena primitivno rekurzivna (rekurzivna, opxto rekurzivna funkcija) i ako i se izmeni vrednosta samo za koneqno mnogu toqki, togax novodobienata funkcija & ke bide povtorno primitivno rekurzivna (rekurzivna, opxto rekurzivna) funkcija.

39

7. Da se poka e deka slednive mno estva: (a) koneqno mno estvo broevi, (b) mno estvoto broevi od oblik an + b (n = 0 1 2 (v) mno estvoto broevi od oblik a bn (n = 0 1 2 se primitivno rekurzivni mno estva.

),

40

Regularni jazici i koneqni avtomati

Vo ovoj del & ke definirame specijalna klasa jazici, & ke gi vikame regularni jazici, & ke definirame specijalni zborovi so qija pomox & ke mo eme napolno da gi opredeluvame regularnite jazici i niv & ke gi vikame regularni izrazi, potoa & ke definirame koneqni avtomati, deterministiqki i nedeterministiqki, i & ke poka eme deka regularni jazici se toqno onie prepoznaeni so koneqni avtomati.

3.1

3.1.1

Regularni jazici
Regularni izrazi

Vo oddelot za osnovni poimi vovedovme poim za podzbor, kako i prvo, vtoro, ,n- to pojavuva e na daden podzbor vo daden zbor isto taka vo primerot 7 od poglavieto za normalni algoritmi vovedovme poim za inverzija na zbor w koja i natamu & ke ja oznaquvame so wR . Pritoa R R R (uv) = v u . Da zabele ime deka ako 6= e koneqno mno estvo, togax e prebroivo, xto e poka ano vo kursot "matematiqka logika i algebra" od vtora godina. Ako = , togax = f g. Neka e dadena azbuka. Za sekoe podmno estvo L velime deka e jazik vo . Znaqi, , i se jazici vo . Sekoj koneqen jazik mo e da se zadade so naveduva e na site negovi zborovi. Od interes se jazici koi ne se koneqni niv mo eme da gi zadademe so nekoe svojstvo koe go zadovoluvaat zborovite xto se negovi elementi. Taka, na primer, eden beskoneqen jazik vo dadena azbuka e i jazikot L = fw w 2 w = wR g. Bidej& ki jazicite nad dadena azbuka se mno estva, mo eme da vovedeme operacii me& gu jazici preku operacii na mno estva: unija, presek, razlika, komplement (vo odnos na ). Pokraj ovie operacii, mo at da se vovedat i drugi, imeno:

Konkatenacija na jazici. Neka L1 i L2 se dva jazika nad azbukata , t.e. L1 L2 . Togax konkatenacijata L = L1 L2 (ili samo L = L1 L2 ) se definira so : L = fwjw = x y x 2 L1 y 2 L2g (7)
kade xto so

x y e oznaqena konkatenacijata na zborovite x i y. Unarna operacija nad jazik L e i takanareqenata operacija zatvoraq ili Klinieva vezda. Jazikot dobien od L so ovaa operacija & ke go oznaquvame so L . Toj se definira na sledniov
naqin:

L = fw 2

j(9k 0)w = w1 w2
41

wk & w1 w2

wk 2 Lg: (8)

Ako t.e.

L 6=

, togax ja upotrebuvame oznakata

L+

za jazikot

LL

L+ = fwj(9k > 0 & w1

wk 2 L)w = w1 w2

wk g: (9)

Da navedeme nekoi svojstva na definiranite operacii.

Svojstvo 3.1.1 Za sekoi L L1 L2 L3 de a:


(a)

, toqni se slednive tvr-

(L1 L2 )L3 = L1 (L2 L3)

(b) Ako L1

(v) (g) (d) (& g)

L2 , togax (1) L1 L3 L2 L3 (2) L3 L1 L3 L2 (3) L1 L2 : (1) (L1 L2 )L3 = L1 L3 L2 L3 (2) L1 (L2 L3 ) = L1 L2 L1 L3 : (1) L1 L3 n L2 L3 (L1 n L2 )L3 (2) L3 L1 n L3 L2 L3 (L1 n L2 ): L L = L (L ) = L : (1) L1 L2 ) = (L1 L2 ) (2) (L1 \ L2 ) (L1 \ L2 ) (3) L1 n L2 (L1 n L2 ) :

Centralna uloga vo teorijata na presmetlivost igra pretstavuvaeto na jazici so koneqni specifikacii. Koneqnoto pretstavuva e na jazici e specijalno va no kaj beskoneqnite jazici. Bidej& ki azbukata e koneqno mno estvo, a prebroivo, mno estvoto od site jazici nad e neprebroivo, (niv gi ima 2 ), pa samo prebroivo mnogu beskoneqni jazici & ke mo at da se zadadat so koneqno pretstavuva e. Pokraj toa, idejata e edno koneqno pretstavuva e da opredeluva toqno eden jazik, xto pretstavuva dosta jako ograniquva e. & navedeme pove& Ke ke naqini na koneqni pretstavuva a na jazici, pri xto & ke uoqime deka nekoi ovozmo uvaat pretstavuva a na jazici koi ne se pretstavuvaat so prethodno navedenite metodi. Na toj naqin & ke dobieme i klasifikacija na jazicite koi dozvoluvaat koneqno pretstavuva e.

42

Na poqetokot & ke razgleduvame izrazi{nizi simboli, koi obezbeduvaat aparat za grade e jazici so pomox na operaciite: presek, unija, komplement, konkatenacija i Klinieva vezda. Neka e zadadena azbuka i neka 1 = f) ( g. Specijalni zborovi nad azbukata 1 & ke velime deka se regularni izrazi i & ke gi definirame induktivno na sledniov naqin: (i) i sekoj simbol od se regularni izrazi (ii) Ako i se regularni izrazi, togax i regularni izrazi

( ), (

se

(iii) Eden izraz od azbukata 1 e regularen ako i samo ako mo e da se dobie so koneqna primena na (i) i (ii). So sekoj regularen izraz e pretstaven eden jazik L nad . Imeno, definirame preslikuva e L od mno estvoto regularni izrazi vo mnoestvoto jazici nad , taka xto za sekoj regularen izraz , L( ) & ke bide jazikot pretstaven so regularniot izraz . L e definirano na sledniov naqin: (i)

L( ) =
i

L(a) = fag, za sekoj a 2


se regularni izrazi, togax

(ii) Ako

L(( )) = L( )L( ) L(( )) = L( ) L( ) L( ) = L( ) .

Primer: Da go opredelime jazikot

L(((a b) a)). L(((a b) a)) = L((a b) )L(a) = L(a b) fag = = (L(a) L(b)) fag = (fag fbg) fag = = fa bg fag = = fw 2 fa bg jw zavrxuva so ag:

L(c (a (bc )) ). L(c (a (bc )) ) = L(c) L(a (bc )) = = fcg (L(a) L(bc )) = = fcg (fag (fbgfcg )) = n = fw 2 fa b cg jw = c (am (bck ))r _w = cn am _w = cn (am (bck ))r n m k r 0g:
43

Primer: Da go opredelime jazikot

Jasno e deka ako w 2 L, togax w ne sodr i podzbor ac. Neka w e zbor xto ne sodr i podzbor ac. Ako a se pojavuva vo w, togax, bidej& ki w ne sodr i podzbor ac, po a mo e da sleduva ili a ili b, xto znaqi deka w 2 L. Bidej& ki i unijata i konkatenacijata se asocijativni, vo regularnite izrazi mo e da se otfrlat nekoi zagradi. Pokraj toa, eden jazik pretstaven so eden regularen izraz mo e da bide pretstaven i so drugi regularni izrazi. Isto taka, bidej& ki ne interesiraat jazicite, qesto pati nema da pravime razlika pome& gu regularen izraz i jazikot pretstaven so toj regularen izraz. Jasno e deka regularnite izrazi ne mo at da gi pretstavuvaat site jazici nad dadena azbuka . Da gi opredelime svojstvata na jazicite koi xto mo at da se pretstavat so regularen izraz.

3.1.2

Regularni jazici

& definirame specijalna klasa jazici (regularni jazici) , a potoa & Ke ke doka eme deka tie se toqno onie jazici xto mo at da se pretstavat so regularni izrazi. Klasata regularni jazici R nad azbukata e podmno estvo od 2 , so slednive svojstva:

2 R a 2 ) fag 2 R (ii) L1 L2 2 R ) L1 L2 L1 L2 L1 2 R (iii) Ako S e klasa jazici nad xto gi zadovoluva uslovite (i) i (ii), togax R S .
(i)

Zabelexka Poradi (iii) od gornata definicija, klasata regularni jazici eednoznaqno opredelena. Od definicijata na regularen izraz i jazik opredelen od regularen izraz kako i od samata definicija na regularen jazik sleduva slednovo svojstvo:

Svojstvo 3.1.2 Eden jazik L nad azbukata e regularen ako i samo ako postoi regularen izraz nad , takov xto L = L( ). 2
So regularni izrazi mo e da se pretstavi relativno "mala" klasa jazici. Postojat relativno "ednostavni" jazici, kako na primer:

fanbn jn 1g kade xto = fa bg


koi ne mo at da se pretstavat so regularni izrazi. Ova tvrde e & ke go poka eme podolu, otkako & ke izgradime soodveten aparat za opredeluva e koga eden jazik ne e regularen.

44

Za pretstavuva e jazici mo eme da go upotrebime i naqinot na pretstavuva e mno estva (podmno estva od ) kako rexenie na iskazna funkcija nad . Na primer:

L = fw 2

j(9x y z 2 N n f0g)xjwj + yjwj = z jwjg

no, od gledna toqka na presmetlivost, naiduvame na texkotii. Ideata e da se opredeli jazik L nad takov xto da postoi toqno opredelena "postapka" (algoritam) kojaxto po koneqen broj qekori & ke dade odgovor na praxa eto dali zbor od e zbor od L. Algoritmot kojxto e specijalno sostaven za nekoj jazik L i proveruva dali w 2 e element od L se vika algoritam za prepoznava e na jazik. Naredniot qekor e definira e na algoritmi za prepoznava e na jazici.

3.1.3

Zadaqi
(a) (b) (v)

1. Da se doka e deka:

v e podzbor od w ako i samo ako vR e podzbor od wR (8i 2 N )(wi )R = (wR )i , kade xto wi e zborot xto se sostoi od i pati dopixan zborot w eden po drug, t.e. e i-ti stepen od w. a 6= b, togax

(wR )R = w, za koj bilo zbor w od dadena azbuka

2. Da se doka e deka: (a) Ako

fa bg = fag (fbgfag ) :
(b) Ako (v) Za sekoj jazik

= (L1 L2 ) = (L1 L2 )

e azbuka i

L1 L2

, pri xto

2 L1 2 L2 , togax

L toqni se ravenstvata: L=L = :


) e monoid so krate
e, kade xto

3. Neka e azbuka. Togax ( e operacijata konkatenacija.

4. Koj jazik e pretstaven so regularniot izraz:

(((a a)b) b):


5. Da se uprostat slednive regularni izrazi:

45

6.

a b ((a b ) (b a ) ) (a b) (b a) (a b) a(a b) . Neka = fa bg. Da


(a) (b) (v) (g) (a) (b) (v) (g) (d) (& g) (e)

se zapixat regularni izrazi xto gi pretstavuvaat slednive jazici:

fw 2 fw 2 fw 2 fw 2 fw 2 fw 2 fw 2

jw ne sodr i pove& ke od tri pojavuva a na ag jbrojot na pojavuva a na a vo w e deliv so trig jpodzborot aaa se pojavuva vo w toqno ednaxg jsekoe a vo w e prethodeno i sledeno so bg jabab e podzbor od wg jni aa ni bb ne se podzborovi od wg jab i ba se podzborovi od wg.
wk ne se pojavuva vo wi i = 1 2 w1 w2

7. Eden regularen izraz e vo disjunktivna normalna forma ako e zapixan vo forma kade xto simbolot k. Da se doka e deka za sekoj regularen izraz postoi ekvivalenten regularen izraz (regularen izraz kojxto go opredeluva istiot jazik) vo disjunktivna normalna forma.

46

3.2

Koneqni avtomati

Vo ovoj oddel & ke razgledame nekoi modeli na koneqen avtomat. Toj ima "centralen procesor" so fiksiran koneqen kapacitet xto zavisi od osnovniot problem. Pokraj ova toj nema memorija. Vlezot e niza simboli zapixani na lenta. Izlezot samo dava informacija dali avtomatot go prepoznava zborot od vleznata lenta ili ne, t.e. toa e samo naprava za prepoznava e jazici. Vsuxnost, & ke razgledame dva vida koneqni avtomati{deterministiqki i nedeterministiqki, i & ke poka eme deka klasata jazici prepoznaena od sekoj od ovie dva vida avtomati e toqno klasata regularni jazici.

3.2.1

Deterministiqki koneqni avtomati

Koneqniot deterministiqki avtomat se sostoi od vlezna lenta podelena na poli a so po eden simbol vpixan vo sekoe pole. Glavniot del od avtomatot e "crna kutija" koja mo e da se nao& ga vo edna od koneqno mnogu vnatrexni sostojbi. Crnata kutija se vika koneqna kontrola i so pomox na podvi na glava mo e da prepoznae koj simbol e zapixan vo & kelijata na lentata. Vo poqetokot glavata e postavena da ja gleda prvata najleva & kelija od lentata i e postavena vo poqetna sostojba. Vo pravilni intervali glavata qita simbol od lentata i preminuva vo nova sostojba, koja zavisi od sostojbata vo koja se nao& ga i simbolot xto go qita, i potoa se podvi uva za edno pole na desno. Po koneqno qekori avtomatot stignuva do poslednata & kelija od lentata na koja e zapixan vlezniot zbor i preminuva vo nova sostojba. Ako ovaa posledna sostojba e edna od mno estvoto zavrxni sostojbi se smeta deka avtomatot go prepoznava zborot, vo sprotivno, se smeta deka toj ne go prepoznava zborot. Jazikot prepoznaen od ovoj koneqen avtomat e mno estvoto zborovi xto toj gi prepoznava. Da dademe formalna definicija na deterministiqki koneqen avtomat. Deterministiqki koneqen avtomat e podredena petorka

M = (K
kade xto:

s F)

e koneqno mno estvo sostojbi, e nadvorexna azbuka,

s 2 K e poqetna sostojba, F K e mno estvo zavrxni sostojbi,


47

e funkcija na premin, t.e. preslikuva e od

vo

K.

Funkcijata na premin ednoznaqno ja opredeluva sostojbata vo koja & ke premine koneqniot avtomat M ako se nao& ga vo sostojba q i go qita simbolot a. Taa mo e da bide zadadena na razliqni naqini: so tablica (zaradi koneqnosta na ili grafiqki, so pomox na dijagram.

Ki

),

1:K ! K na sledniov naqin: 1 (q a) = (q a), za sekoj (q a) 2 K


Ako

Sekoja funkcija na premin mo e da se proxiri do preslikuva e

q2K a2

w = aw0 2

. , togax

1 (q aw0 ) = 1 ( (q a) w0 ) = 1 (q0 w0 )
kade xto (q a) = q 0 . Ako e zadaden zborot w = a1 a2 ak 2 , togax sekoj qekor na rabotata na koneqniot avtomat pri vlez w mo e da se opixe so sostojbata vo koja e toj vo momentot koj se razgleduva i podzborot xto se uxte ne e proqitan. Ovoj naqin na opixuva e na sostojbata na koneqen avtomat se vika konfiguracija. Konfiguracija na koneqen avtomat se sostoi od niza xto poqnuva so edna od sostojbite na maxinata (onaa vo koja maxinata se nao& ga vo toj moment) i preostanatiot neproqitan podzbor. Taka, nizata qr ai ai+1 an oznaquva deka vo dadeniot moment koneqniot avtomat e vo sostojba qr , go gleda simbolot ai , i ostanuva da se proqita podzborot ai ai+1 an Primer 1.: Neka K = fq0 q1 g, = fa bg, s = q0 i F = fq0 g, a

q (q ) q0 a q0 q0 b q1 q1 a q1 q1 b q0 Ako w = aabba, togax q0 aabba e poqetnata konfiguracija na lentata. Po qita e na bukvata a maxinata ostanuva vo sostojbata q0 i preminuva edno pole na desno, na koe povtorno e zapixana bukvata a, xto znaqi, deka maxinata i natamu ostanuva vo sostojbata q0 i ja qita narednata bukva b. Koga maxinata e vo sostojba q0 i ja qita bukvata b, spored funkcijata na premin, taa preminuva vo sostojba q1 i preminuva edno pole na
48

desno. Ako maxinata e vo sostojba q1 i ja qita bukvata b, togax preminuva vo sostojba q0 i edno pole na desno, vo koe e zapixana bukvata a. Spored funkcijata na premin, maxinata ostanuva vo sostojbata q0 , kojaxto e zavrxna, a na lentata nema zapixano drugi simboli, xto znaqi deka maxinata go prepoznava zborot w. Opisot na rabotata na maxinata od ovoj primer so pomox na konfiguracii mo e da se zapixe pokratko na sledniov naqin: kade xto `M oznaquva direkten premin na maxinata M od edna konfiguracija vo narednata. Dokolku odnapred se znae za koj koneqen avtomat stanuva zbor, togax indeksot M na `M mo e da se izostavi. Ako, pak, sakame so simboli da prika eme xto se dobiva pri rabota na zadaden koneqen avtomat poqnuvajki od dadena konfiguracija po odreden broj qekori izvrxeni od maxinata, togax ja koristime oznakata j=M , pri xto mo e da go zapixeme i brojot na qekorite koi se izvedeni od poqetnata razgleduvana konfiguracija do poslednata. Taka, na primer, ako ja zememe toqno poqetnata konfiguracija na avtomatot od ovoj primer, i sakame da prika eme deka zborot w = aabba e prepoznaen od avtomatot, togax, znaej& ki deka q0 e i zavrxna sostojba, pixuvame q0 aabba j=M q0 . Vo suxtina ` e relacija vo mno estvoto konfiguracii na daden koneqen avtomat, dodeka j= e tranzitivnoto zatvora e na `. Funkcijata na premin mo e da se prika e i so dijagram. Sekoja sostojba se oznaquva so krugqe, zavrxnite se zaokru eni so pogolemo krugqe, dodeka poqetnata e oznaqena so simbolot >. Za sekoja bukva od azbukata i dadeni sostojbi q1 q2 2 K e postavena strelka od q1 do q2 oznaqena so bukvata a, ako (q1 a) = q2 . Na toj naqin funkcijata na premin na avtomatot daden vo ovoj primer e prika ana so slednava sl.3.1.

q0 aabba `M q0 abba `M q0 bba `M q1 ba `M q0 a `M q0

>
q0 b
Slika 3.1: Primer 2.: Neka K = fq0 q1 q2 q3 g,

q1

= fa bg, s = q0 , a F = fq0 q1 q2 g. 49

Funkcijata na premin e zadadena so slednava tablica:

q q0 q0 q1 q1 q2 q2 q3 q3

a b a b a b a b

(q )

q0 q1 q0 q2 q0 q3 q3 q3

ili so dijagramot prika an na sl.3.2.

a a a a,b b b

>
q0

q1

q2

q3

Slika 3.2: Ako e zadaden zborot

w = abbba, togax dobivame:

q0 abbba ` q0 bbba ` q1 bba ` q2 ba ` q3 a ` q3


xto znaqi deka avtomatot ne go prepoznava dadeniot zbor w. Za jazikot L nad azbukata velime deka e prepoznaen od avtomatot M , go oznaquvame so L(M ), ako toj se sostoi toqno od onie zborovi nad xto toj gi prepoznava, t.e.

L(M ) = fwjw 2
Jazikot

sw j= q q 2 F g:

L(M ) prepoznaen od avtomatot od Primerot 1 e L(M ) = a ba ba

dodeka vo Primerot 2,

L(M ) = fwjw 2 fa bg w ne sodr


50

i podzbor bn

n 3g:

3.2.2

Nedeterministiqki koneqni avtomati

Vo ovoj del & ke razgleduvame malku poinakov vid avtomati kaj koi & ke dozvoluvame od dadena sostojba pri qita e daden simbol avtomatot da mo e da premine vo edna od pove& ke sostojbi po sopstven izbor. Znaqi nema da postoi toqno opredelen premin od sostojba pri daden simbol (determiniranost na rabotata na avtomatot), tuku toj & ke ima pove& ke mo nosti za izbor na premin (nedeterminiranost na avtomatot). Iako vo praksa smetaqkite maxini go nemaat ova svojstvo, se poka uva pogodno za rabota so niv i poednostavno prika uva e na rabotata na vakov avtomat. Da zabele ime deka sekoj deterministiqki koneqen avtomat e nedeterministiqki. Vo naredniot del & ke poka eme deka za sekoj nedeterministiqki koneqen avtomat M postoi deterministiqki koneqen avtomat M 0 kojxto go prepoznava istiot jazik kako i M , t.e takov xto L(M ) = L(M 0). Primer 1.: Neka L = (ab aba) . Togax deterministiqkiot avtomat prika an na sl.3.3. go prepoznava jazikot L.

>
q0

a a q1 b q2 b q3

a b

q4 a,b
Slika 3.3: Me& gutoa, i avtomatot prika an na sl.3.4. kojxto e nedeterministiqki, go prepoznava istiot jazik. Vo ovoj sluqaj, ako vlezniot zbor e aba avtomatot mo e od q0 da premine vo sostojbata q1 , pa vo q2 i nazad vo q0 , no mo e da go izbere i "pogrexniot" pat q0 q1 q0 q1 i da zavrxi

51

>
q0

a q2 b
Slika 3.4:

b q1

so rabota vo sostojba kojaxto ne e zavrxna. Ova ne e bitno, bidej& ki dovolno e za maxinata da go prepoznae vlezniot zbor da postoi barem eden naqin (pat) pri "qita e" na zborot od poqetnata sostojba da stigne vo zavrxna. Nekogax e pogodno strelka da bide oznaqena i so prazniot zbor , pa gorniot nedeterministiqki avtomat da go ima i sledniov, poednostaven, grafiqki prikaz: Mo e da se dozvoli uxte edno obopx-

>
q0

q2 a
Slika 3.5:

b q1

tuva e: strelkite da mo at da se oznaquvaat i so celi zborovi, pri xto uxte pove& ke se poednostavuva dijagramot na koneqen nedeterministiqki avtomat. Ako se iskoristi ova obopxtuva e, avtomatot od naxiov primer mo e da se prika e i so sledniov dijagram:

aba

>
q0
Slika 3.6:

ab

Da dademe formalna definicija na nedeterministiqki koneqen av-

52

tomat.

Nedeterministiqki koneqen avtomat e podredena petorka

M = (K
kade xto:

s F)

e koneqno mno estvo sostojbi, e koneqna azbuka od vlezni simboli,

s 2 K e poqetna sostojba, F K e mno estvo zavrxni sostojbi, a


e relacija za premin i e koneqno podmno estvo od Znaqe eto na (q u p) 2 e deka ako M e vo sostojba q , togax toj moe da go "proqita" zborot u i da premine vo sostojba p. Ova grafiqki u se prika uva so q ;! p . Sekoja trojka (q u p) 2 se vika premin vo M . Konfiguracija se definira po analogija na definicijata kaj deterministiqki koneqni avtomati. Za poednostavno opixuva e na rabotata na nedeterministiqki koneqen avtomat i vo ovoj sluqaj se definira relacija `M vo K so:

K.

(q w) `M (q0 w0 )
ako i samo ako postoi u 2 takvo xto uw0 = w i (q u q 0 ) 2 . Nejzinoto tranzitivno proxiruva e se oznaquva so j=M . Zborot w 2 e prepoznaen od M ako i samo ako postoi sostojba q 2 F takva xto (s w) j=M (q ). Jazikot L(M ) prepoznaen od avtomatot M se sostoi od site zborovi nad prepoznaeni od M .

Lema 3.2.1 Neka M = (K s F ) e nedeterministiqki koneqen avtomat, neka q r 2 K i x y 2 . Ako za nekoj p 2 K (q x) j=M (p ) i (p y) j=M (r ), togax (q xy) j=M (r ) . Dokaz. Neka (q x) j=M (p ) i (p y ) j=M (r ). Togax postojat

n 0 q0 q1
i takvi xto

qn 2 K

x0

xn 2

(q x) = (q0 x0 ) `M (q1 x1 ) `M 53

`M (qn xn ) = (p ):

Tvrdime deka za i = 0 1 n ; 1 (qi xi y) `M (qi+1 xi+1 y). Bidej& ki (qi xi ) `M (qi+1 xi+1 ), od definicijata na `M postoi ui 2 takvo xto xi = ui xi+1 i (qi ui qi+1 ) 2 . Istotaka, xi y = ui xi+1 y, pa, od definicijata na `M dobivame deka va i (qi xi y ) `M (qi+1 xi+1 y ). Znaqi,

(q xy) = (q0 x0 y) `M (q1 x1 y) `M `M (qn xn y) = (p y) pa (q xy ) j=M (p y ). No, od (p y ) j=M (r ) i faktot deka j=M e tranzitivna relacija, dobivame (q xy ) j=M (r ). 2
Ekvivalentnost na deterministiqki i nedeterministiqki koneqni avtomati Za avtomatite M1 i M2 velime deka se ekvivalentni ako L(M1 ) = L(M2). Teorema 3.2.1 Za sekoj nedeterministiqki koneqen avtomat postoi ekvivalenten so nego deterministiqki koneqen avtomat.
Dokaz: Neka M = (K s F ) e nedeterministiqki koneqen avtomat. Za sekoj premin (q u q 0 ) 2 , takov xto juj > 1 i u = a1 a2 ak definirame novi nezavrxni sostojbi p1 pk;1 vo trojkata (q u q0 ) ja zamenuvame so trojkite (pi;1 ai pi ), i = 1 k, kade xto p0 = q pk = q0 . So toa dobivame nova relacija na premin 0 . Jasno e deka noviot 0 s F ) e nedeterministiqki avtomat ekvivalenavtomat M 0 = (K 0 ten so M i juj 1 za sekoj premin (q u q 0 ) od M 0 . Ovaa postapka e ilustrirana so sl.3.7 Sega & ke konstruirame deterministiqki koneqen avtomat M 00 = (K 00 00 s00 F 00 ) ekvivalenten na M 0 , xto & ke bide dovolno za da se doka e teoremata. Idejata e nedeterministiqkiot avtomat da se razgleduva kako avtomat koj vo sekoj moment ne e vo edinstvena sostojba tuku vo mno estvo sostojbi. Znaqi, ako M 0 ima pet sostojbi fq0 q1 q4 g i, posle qita e na vlezen simbol mo e da bide vo sostojba q0 q2 q3 no ne i vo q1 ili q4 , za sostojba mo e da se razgleduva mno estvoto fq0 q2 q3 g, namesto poedineqen qlen od toa mno estvo. Ako sledniot vlezen simbol mo e da go dovede avtomatot M 0 od q0 vo q1 ili q2 , od q2 vo q0 i od q3 vo q2 , togax za naredna sostojba na M 0 mo e da se smeta mno estvoto fq0 q1 q2 g. Ovaa konstrukcija & ke ja formalizirame, za da go dobieme deterministiqkiot avtomat M 00 . 0 Mno estvoto sostojbi na M 00 & ke bide 2K , t.e. buleanot od mno estvoto sostojbi na M 0 . Mno estvoto zavrxni sostojbi & ke se sostoi od onie podmno estva od K 0 koi sodr at barem edna zavrxna sostojba od M 0 . Definicijata na funkcijata na premin na M 00 & ke bide malku

3.2.3

54

bab

b q0 q1 ba q2

a,b M

>
p2 b a b p1 b

a,b M b a

>
q0 q1

p3

q2

Slika 3.7: pokomplicirana. Osnovnata ideja e preminot vo M 00 pri qita e na vlezen simbol a 2 da go imitira preminot od M 0 za vlezniot simbol a, sledeno so odreden broj premini od M 0 za koi ne e proqitan nikakov vlezen simbol. Za formalizacija na ovaa ideja neophodna ni e specijalna definicija. Za sekoja sostojba q 2 K 0 , neka E (q ) bide mno estvoto sostojbi od 0 M koi mo at da se dostignat od q bez qita e na nekakov vlez. Znaqi:

E (q) = fp 2 K 0 j(q ) j=M 0 (p )g:


Ako M 0 ima premin od edna vo druga sostojba bez prima e na vlez, togax toj ne zavisi od samiot vlez. Znaqi, drug naqin na definira e na E (q ) bi bil da se izbere proizvolna niza w 2 i da se zapixe:

E (q) = fp 2 K 0j(q w) j=M 0 (p w)g: M 00 = (K 00


00

Sega definirame koneqen avtomat

s00 F 00 )

kade xto

K 00 = 2K 0 s00 = E (s) F 00 = fQ K 0 jQ \ F 0 6= g i za sekoj Q K 0 i sekoj simbol a 2 , 00 (Q a) = fE (p)jp 2 K 0 i(9q 2 Q)(q a p) 2 0 g:


55

q1 a q2

q3

>
q0

q4

Slika 3.8: Na primer, ako


00

E (q0 ) =
deka

e avtomatot prika an na sl.3.8. togax s00 = fq0 q1 q2 q3 g. Bidej& ki (q1 a q0 ) 2 0 i (q1 a q4 ) 2 0 , sleduva

M0

Sliqno se deka

(fq1 g a) = E (q0 ) E (q4 ) = fq0 q1 q2 q3 q4 g: proveruva deka od (q0 b q2 ) 2 0 i (q2 b q4 ) 2


00

sleduva

Ostanuva da se doka e deka M 00 e deterministiqki koneqen avtomat ekvivalenten so M 0 . Dokazot deka M 00 e deterministiqki sleduva od toa xto po konstrukcija 00 e preslikuva e. Da zabele ime deka 2 K ", pa e vozmo no 00 (Q a) = , za nekoj Q 2 K 00 i a 2 . Isto taka 00 ( a) = , za sekoj a 2 . Ostanuva da se doka e deka za sekoja niza w 2 , i sekoi q p 2 K 0 , toqno e tvrde eto

(fq0 q2 g b) = E (q2 ) E (q4 ) = fq2 q3 q4 g:

(q w) j=M 0 (p ) ako i samo ako(E (q) w) j=M 00 (P )


za nekoe mno estvo P xto go sodr i p. Od tuka sleduva tvrde eto na teoremata. Imeno, neka w 2 e proizvolna niza. Togax w 2 L(M 0 ) 0 0 ako i samo ako (s w) j=M (f ) za nekoj f 0 2 F 0 (po definicija na L(M 0)), a ova e toqno ako i samo ako (E (s) w) j=M 00 (Q ) za nekoj Q xto go sodr i f 0 , ako i samo ako (s00 w) j=M 00 (Q ) za nekoj Q 2 F 00 . Posledniov uslov e definicijata za w 2 L(M 00 ). Gornoto tvrde e & ke go doka eme so indukcija po jwj. Osnova na indukcijata. Za jwj = 0, t.e. za w = treba da poka eme deka (q ) j=M 0 (p ) , (E (q) ) j=M 00 (P ) za nekoe mno estvo P xto go sodr i p. Prvoto tvrde e e ekvivalentno so tvrde eto deka p 2 E (q ). Bidej& ki M 00 e deterministiqki i

56

pritoa mora da qita vlezen simbol pri sekoj qekor, vtoroto tvrde e e ekvivalentno so P = E (q ) i P go sodr i p, t.e. p 2 E (q ). Induktivna pretpostavka. Neka za nekoj k 0 tvrde eto e toqno za sekoj zbor w so dol ina ednakva ili pomala od k . & go doka eme tvrde eto za proizvolen Qekor na indukcijata. Ke zbor w so dol ina k + 1. Neka w = va, kade xto a 2 i v 2 . Neka, prvo, (q w) j=M 0 (p ). Togax postojat sostojbi r1 i r2 takvi xto (q va) j=M 0 (r1 a) `M 0 (r2 ) j=M 0 (p ): Znaqi, M 0 ja dostignuva sostojbata p od sostojbata q preku nekoj broj qekori pri koi vlezot v e proqitan, sleden so eden qekor pri koj bukvata a e proqitana, sleden so nekoj broj qekori pri koj ne e proqitan nikakov vlez. Bidej& ki (q va) j=M 0 (r1 a), togax (q v ) j=M 0 (r1 ), pa bidej& ki jv j = k , spored induktivnata pretpostavka (E (q ) v ) j=M 00 (R1 ), za nekoj R1 xto go sodr i r1 . Od druga strana, bidej& ki (r1 a) `M 0 (r2 ), trojkata (r1 a r2 ) 2 0 togax, spored konstrukcijata na M 00 00 (R a). No, bidej& ki (r2 ) j=M 0 (p ), p 2 00 (R1 a). imame E (r2 ) 1 Znaqi, (R1 a) `M 00 (P ), za nekoj P xto go sodr i p i (E (q ) va) j=M 00 (R1 a) `M 00 (P ). Od druga strana, neka (E (q ) va) j=M 00 (R1 a) `M 00 (P ), za nekoj P , takov xto p 2 P i R1 , takov xto 00 (R1 a) = P . Spored definicijata na 00 sega 00 (R1 a) e unija od site mno estva E (r2 ), kade xto za nekoja sostojba r1 2 R1 , (r1 a r2 ) e premin vo M 0 . Bidej& ki p 2 P = 00 (R1 a), postoi opredeleno r2 takvo xto p 2 E (r2 ) i za nekoe r1 2 R1 (r1 a r2 ) e premin vo M 0 . Togax, od definicijata na E (r2 ), (r2 ) j=M 0 (p ). Isto taka, od induktivnata pretpostavka (q v ) j=M 0 (r1 ), pa spored toa (q va) j=M 0 (r1 a) `M 0 (r2 ) j=M 0 (p ). 2 Da prodol ime so primerot prika an na slika 3.8. Neka M 0 e avtomatot prika an na sl. 3.8. Bidej& ki M 0 ima 5 sostojbi, M 00 & ke 5 ima 2 = 32 sostojbi. Me& gutoa samo nekolku od niv & ke bidat bitni za operacijata na premin na M 00 , imeno onie sostojbi koi & ke mo at & go konstruirame da se dostignat od s00 qitaj& ki nekoj vlezen zbor. Ke ki nova sostojba samo koga ovoj del od M 00 poqnuvaj& ki od s00 i dodavaj& e neophodna kako vrednost na 00 (q a) za nekoja ve& ke vovedena sostojba q i nekoj a 2 . Porano gi definiravme E (q ) za sekoja sostojba q od M 0 . Bidej& ki 00 s = E (q0 ) = fq0 q1 q2 q3 g, imame deka

(q1 a q0 ) (q1 a q4 ) (q3 a q4 ) 57

se site premini

(q a p) za nekoe q 2 s0 . Znaqi: 00 (s00 a) = E (q ) E (q ) = fq q q q q g: 0 4 0 1 2 3 4 (q0 b q2 ) (q2 b q4 )

Na ist naqin postapuvame i za bukvata

b2

. Imeno,

se site premini

(q b p) za nekoj q 2 s00 . Znaqi 00 00 (s b) = E (q2 ) E (q4 ) = fq2 q3 q4 g:


00

Povtoruvaj& ki ja istata postapka za novodobienite sostojbi, imame:

(fq0 q1 q2 q3 q4 g a) = fq0 q1 q2 q3 q4 g 00 (fq0 q1 q2 q3 q4 g b) = fq2 q3 q4 g 00 (fq2 q3 q4 g a) = E (q4 ) = fq3 q4 g 00 (fq q q g b) = E (q ) = fq q g 2 3 4 4 3 4


00

Na krajot,

(fq3 q4 g a) = E (q4 ) = fq3 q4 g 00 (fq3 q4 g b) =


00

( a) = 00 ( b) = :
a

> {q ,q ,q ,q }
0 1 2 3

a b a

{q0 ,q1 ,q2 ,q3 ,q4 } a a,b {q3 ,q4 } b 0

b {q2 ,q3 ,q4 }

Slika 3.9: Bitniot del od M 00 e ilustriran na sl.3.9. Mno estvoto zavrxni sostojbi F 00 gi sodr i site mno estva sostojbi vo koi e qlen q4 , bidej& ki F 0 = fq4 g. Znaqi F 00 = ffq0 q1 q2 q3 q4 g fq2 q3 q4 g fq3 q4 gg e mno estvoto zavrxni sostojbi za M 00 .

58

3.2.4

Svojstva na jazicite prepoznaeni od koneqen avtomat

Osnovniot rezultat vo prethodniot del e deka klasata jazici prepoznaeni od koneqni avtomati ostanuva ista duri i ako e voveden nedeterministiqki avtomat. Vo ovoj del & ke poka eme deka kombinira e na jazici prepoznaeni od koneqni avtomati so poznatite operacii so jazici ne doveduva do jazici nadvor od spomnatata klasa, od klasata jazici prepoznaeni so koneqni avtomati. Natamu, ovie rezultati & ke bidat doka ani so tehnika so koja od eden ili pove& ke avtomati se konstruira avtomat koj go prepoznava jazikot dobien so dadenata operacija. Na ovoj naqin se dobiva algoritam za konstrukcija na soodveten koneqen avtomat, koja & ke ni pomogne pri vospostavuva e na vrskata pome& gu regularnite izrazi i jazicite prepoznaeni so koneqni avtomati. Niz celiot ovoj del & ke bide zadadena azbuka, a glaven rezultat na ovoj del & ke bide slednava teorema:

Teorema 3.2.2 Klasata jazici prepoznaneni od koneqni avtomati e zatvorena vo odnos na:
(a) unija (b) konkatenacija (v) Klinieva vezda (g) komplement (d) presek. Dokaz: Vo sekoj od dadenite sluqai & ke konstruirame avtomat koj go raspoznava dadeniot jazik od eden ili pove& ke zadadeni avtomati. (a) Unija. Neka L1 i L2 se jazici koi se prepoznaeni od avtomatite M1 i M2 , soodvetno. Neka

M1 = (K1

1 s1 F1 ) i M2 = (K2

2 s2 F2 ):

Bez gube e na opxtosta na rezultatot, mo eme da pretpostavime deka K1 i K2 se disjunktni mno estva. Konstruirame nedeterministiqki koneqen avtomat M koj go prepoznava jazikot L(M1 ) L(M2 ) na sledniov naqin: M = (K s F ), kade xto s e nova sostojba xto ne prip& ga vo K1 K2 ,

K = K1 K2 fsg F = F1 F2
59

>
s1

>
s2 s1 F2

>
s s2

F1

F = F1 U F2 M1 M2
Slika 3.10:

= 1

f(s s1 ) (s s2 )g:

(b) Konkatenacija. Povtorno, neka M1 i M2 se nedeterministiqki koneqni avtomati konstruirame nedeterministiqki koneqen avtomat M xto & ke go prepoznava jazikot L(M1 ) L(M2 ). Konstrukcijata e prika ana xematski na sl.11 imeno avtomatot M poqnuva so rabota kako avtomatot M1 , a potoa od zavrxna sostojba na M1 preminuva vo poqetna sostojba na M2 i prodol uva da raboti kako i avtomatot M2 . Formalno, ako M1 , M2 i M se oznaqeni kako i vo (a), togax:

Znaqi, M zapoqnuva so proverka dali prepoznava nekoj zbor od poqetnata sostojba s, od koja preminuva ili vo s1 ili vo s2 i prodol uva da raboti kako soodvetniot avtomat M1 ili M2 . Od tuka se dobiva deka M go prepoznava toqno jazikot L(M1 ) L(M2 ).

K = K1 K2 s = s1 F = F2
i

= 1

2 (F1

f g fs2g):
M
& ke go prepoznava toqno

(v) Klinieva vezda. Neka M1 e nedeterministiqki koneqen avtomat. & konstruirame nedeterministiqki koneqen avtomat M , takov Ke xto L(M ) = L(M1 ) . Konstrukcijata e sliqna na onaa za konkatenacija i e ilustrirana na slika 12. M se sostoi od site sostojbi

Jasno e deka vo ovoj sluqaj avtomatot jazikot L(M1 ) L(M2 ).

60

>
s1 F1

>
s2

>
s1 s2

F2

F = F2 M1 M2
Slika 3.11: na M1 i site premini od M1 . Sekoja zavrxna sostojba na M1 e zavrxna sostojba i na M . Pokraj ova M ima nova poqetna sostojba s01 . Ovaa nova poqetna sostojba e istotaka i zavrxna, taka xto M go prepoznava prazniot zbor i so nego mo e da se dostigne poqetnata sostojba s1 na M1 . Pritoa relaciite od M1 mo at da se izveduvaat otkako e inicirana maxinata M . Koneqno, dodadeni se premini preku od sekoja zavrxna sostojba na M1 nazad do s1 . Znaqi, otkako e otpoqnata rabotata na maxinata M1 , taa mo e da se inicira povtorno od dobieniot zbor preku zavrxnata sostojba od M1 koja preku prazniot zbor se vra& ka nazad vo poqetnata sostojba s1 na M1 . Formalno, ako M1 = (K1 s01 F ) e 1 s1 F1 ), togax M = (K takva xto:

s01 e nova sostojba xto ne se sodr i vo K1 F = F1 fs01 g = 1 (F f g fs1g) f(s01 s1 )g:


So direktna proverka se dobiva deka ako w 2 L(M ), togax ili ili w = w1 wk za nekoj k 1, kade xto za i = 1 k, postoi fi 2 F takvo xto (si wi ) j=M1 (fi ), t.e. w 2 L(M1 ) . Obratno, ako w 2 L(M1 ) , togax ili w = ili w = w1 wk , za nekoi w1 wk 2 L(M1). Vo prviot sluqaj w 2 L(M ) zatoa xto s01 e

K = K1 fs01g

w=

61

>
s1 F1

>
s 1 s1 F

M1
Slika 3.12: zavrxna sostojba, a vo vtoriot w 2 f1 fk 2 F1 , (s01 w1 wk ) `M (s1 w1

(s1 w2 L(M1 ).

wk ) j=M (f2 w3

wk ) j=M

L(M ), zatoa xto za nekoi wk ) j=M (f1 w2 wk ) j=M j=M (fk ). Znaqi L(M ) =

(g) Komplement. Neka M = (K s F ) e deterministiqki avtomat. Togax jazikot n L(M ) e prepoznaen od avtomatot

M = (K

s K n F ):

(d) Presek. Ako L1 i L2 se jazici prepoznaeni od koneqni avtomati M1 i M2 , soodvetno, togax

L1 \ L2 =

n (( n L1 ) ( n L2 ))

Da zabele ime deka iako i dvata avtomati M1 i M2 na poqetokot mo at da bidat deterministiqki avtomati, vo opxt sluqaj dobieniot koneqen avtomat e nedeterministiqki Gornive svojstva mo at da se iskoristat za da se rexat nekoi algoritamski problemi za koneqni avtomati. Narednoto svojstvo e, vsuxnost, svojstvo koe obezbeduva algoritam za odgovara e na odredeni praxa a vo vrska so jazici prepoznaeni so koneqni avtomati.

i L1 \ L2 e prepoznaen od koneqen avtomat spored (a) i (g) od ova svojstvo. 2

62

Teorema 3.2.3 Neka M M1 M2 se koneqni avtomati i w tojat algoritmi za odgovara e na slednive praxa a:
(a) Dali (b) (v) (g) (d)

2 . Pos-

w 2 L(M )? Dali L(M ) = ? Dali L(M ) = ? Dali L(M1) L(M2 )? Dali L(M1) = L(M2 )?

Dokaz: Dokazot se sproveduva so pomox na prethodnata teorema. Pretpostavuvame deka vo sekoj od baranite sluqai rabotime so deterministiqki avtomati, zatoa xto poka avme deka za sekoj nedeterministiqi avtomat, postoi deterministiqki ekvivalenten so nego. Vo sluqajot (a) dovolno e da ja sledime rabotata na daden zbor w 2 , i posle jwj qekori da vidime dali poslednata dobiena sostojba pri rabotata na avtomatot e zavrxna. Bidej& ki stanuva zbor za deterministiqki avtomat, sekoj qekor e ednoznaqno opredelen od vleznata bukva i sostojbata na avtomatot vo toj moment. Za da proverime dali L(M ) = dovolno e da proverime dali postoi niza od posledovatelni strelki vo dijagramot na avtomatot koja vodi od poqetnata sostojba do zavrxna sostojba, xto e vozmo no da se napravi poradi koneqnosta na avtomatot. Za da odgovorime na praxa eto pod (v), konstruirame avtomat M 0 , takov xto L(M 0 ) = n L(M ), i proveruvame dali L(M 0) = . Za praxa eto pod (g), konstruirame koneqen deterministiqi avtomat koj xto go prepoznava jazikot ( n L(M2 )) \ L(M1 ) i proveruvame dali jazikot prepoznaen od ovoj avtomat e praznoto mno estvo. Na kraj, za da odgovorime na praxa eto pod (d), proveruvame dali L(M1 ) L(M2) i dali L(M2 ) L(M1). 2

63

3.2.5

Koneqni avtomati i regularni jazici

Na krajot od ovoj del da ja razgledame vrskata pome& gu koneqnite avtomati i regularnite izrazi. Bidej& ki sekoj regularen izraz opredeluva toqno opredelen regularen jazik, i obratno, sekoj regularen jazik opredeluva regularen izraz, vsuxnost & ke ja razgledame vrskata pome& gu jazicite prepoznaeni od koneqen avtomat i regularnite jazici.

Dokaz: Da se potsetime deka klasata regularni jazici e minimalnata klasa jazici xto gi sodr i , ednoelementnite podmno estva od azbukata i e zatvorena vo odnos na unija, konkatenacija i Klinieva vezda. Spored Teoremata 3.2.2., klasata jazici prepoznaeni od koneqen avtomat go sodr i prazniot jazik, sekoj koneqen jazik i e zatvorena vo odnos na unija, konkatenacija i Klinieva vezda. Znaqi, sekoj regularen jazik e prepoznaen od koneqen avtomat. Neka M = (K s F ) e deterministiqki koneqen avtomat. Dovolno e da poka eme deka postoi regularen jazik R, takov xto R = L(M ). L(M ) & ke go pretstavime kako koneqna unija od ednostavni jazici i & ke poka eme deka sekoj od ovie jazici e regularen. Neka K = fq1 qn g, s = q1 . Za i j = 1 n i k = 1 n + 1, neka so R(i j k) bide oznaqeno mno estvoto od zborovi od koe avtomatot M go vodi od qi vo qj bez da pomine niz sostojba qr , za r k . Formalno:

Teorema 3.2.4 (Cleeny) Eden jazik e regularen akko e prepoznaen od koneqen avtomat.

R(i j k) = fx 2 j(qi x) j=M (qj )

i ako

(qi x) j=M (ql y) za nekoj y 2 , togax l < k ili y = i l = j , ili y = x i l = ig: Koga k = n + 1, togax sleduva deka

R(i j n + 1) = fx 2
Poradi toa

j(qi x) j=M (qj )g:

L(M ) = fR(1 j n + 1)jqj 2 F g:

Bitno e da navedeme deka sekoe mno estvo od oblik R(i j k ) e regularen jazik, pa i L(M ) e regularen, kako unija od regularni jazici. Tvrde eto deka R(i j k ) e regularen za sekoj k = 1 n+1 & ke go doka eme so indukcija po k . Za k = 1 imame

R(i j 1) =

f 2 j (qi ) = qj g f g f 2 j (qi ) = qj g
64

ako ako

i 6= j i=j

Neka tvrde eto e toqno za sekoj k = 1 s, t.e. sekoe od mno estvata R(i j k ) se definirani i pretstavuvaat regularen jazik. Togax

R(i j k + 1) = R(i j k) R(i k k)R(k k k) R(k j k):


Ova ravenstvo poka uva deka ako sakame da stigneme od qi do qj bez da pomineme niz sostojba qr , za r pogolemo k , M mo e ili da premine od qi vo qj bez da premine niz sostojba numerirana so broj pogolem od k ; 1 ili da premine (a) od qi vo qk potoa (b) od qk vo qk so povtoruva e na ovoj premin i potoa (v) od qk vo qj vo sekoj od sluqaite bez da pomine niz sostojba numerirana so broj pogolem od k ; 1. Znaqi, sekoj od jazicite R(i j k ) e regularen, pa i jazikot kako unija od regularni jazici, e regularen. 2

L(M ),

Nie spomnavme deka postojat jazici koi ne se regularni. Gornive tehniki ni ovozmo uvaat da poka eme deka nekoj jazik e regularen, no nemame naqin da poka eme deka nekoj jazik ne e regularen. Narednata teorema, nareqena Teorema za pumpa e, & ke obezbedi tehnika za doka uva e deka nekoj jazik ne e regularen.

Teorema 3.2.5 (Teorema za pumpa e) Neka L e beskoneqen regularen jazik. Togax postojat zborovi x y i z , takvi xto y 6= i za sekoj n 0, xyn z 2 L.
Dokaz: Bidej& ki L e regularen, L e prepoznaen od koneqen deterministiqki avtomat M . Neka M ima n sostojbi. Od toa xto L e beskoneqen, M prepoznava nekoj zbor w so dol ina pogolema ili ednakva na n. Neka l = jwj w = 1 2 l , kade xto i 2 . Da ja razgledame rabotata na M vrz zborot w:

kade xto q0 e poqetnata sostojba, a ql e zavrxna sostojba na M . Bidej& ki l n i M ima samo n sostojbi, postojat i i j , 0 i < j l, takvi xto qi = qj . Znaqi nizata i+1 j ja doveduva maxinata M od sostojba qi povtorno vo istata sostojba qi , i ovaa niza e neprazna, bidej& ki i+1 j . No, vo ovoj sluqaj, ovoj podzbor mo e da se otstrani od w ili proizvolen broj kopii na ovoj podzbor da se vnesat posledovatelno toqno po

(q0 1

l ) `M

`M (ql;1 l ) `M (ql )

65

j -tiot simbol vo w, i M & ke go prepoznava novodobieniot zbor. Znaqi M go prepoznava zborot 1 i ( i+1 j )n j+1 l , za sekoj n 0 pa ako stavime x = 1 i y = i+1 j i z = j +1 l , togax (q0 xyn z ) j=M (qi yn;1 z ) j=M j=M (qi z ) j=M (ql ): 2
Narednite primeri & ke ja ilustriraat primenata na ovaa teorema. Primer 1. L1 = fanbn jn 0g ne e regularen. Bidej& ki L1 e beskoneqen jazik, na nego mo e da se primeni teoremata za pumpa e. Znaqi, postojat zborovi x y i z , takvi xto y 6= i xyn z 2 L1 . Vozmo ni se tri sluqai:

Sluqaj 1. y se sostoi od niza koja go sodr i samo simbolot a. Togax x =

ap y = aq

i z = ar bs , kade xto p r 0 i q s > 0. No, togax, L mora da go sodr i i zborot xy n z = ap+qn+r bs za sekoj n 0, i najmnogu edna od ovie nizi ima ednakov broj na simboli a i b. gax, kako i vo sluqajot 1., se doka uva deka L mora da sodr i i zborovi vo koi brojot na pojavuva a na a i b ne e ednakov. ima pojavuva e na

Sluqaj 2. Ako y se sostoi od niza koja go sodr i samo simbolot b, to-

Sluqaj 3. Neka y sodr i i simboli a i simboli b. Togax, za n > 0, xyn z & ke

xyn z 2 = L.
Primer 2.

b xto mu prethodi na simbolot a, xto znaqi,

L2 = fanjn e prost brojg ne e regularen jazik. Neka L2 e regularen. Togax postojat x y i z kako vo teoremata za pumpa e, x = ap y = aq i z = ar , kade xto p r 0 i q > 0. Vo toj sluqaj, spored teoremata, i ap+nq+r 2 L, za sekoj n 0, xto znaqi deka za sekoj n 0 brojot p + nq + r e prost, xto ne e vozmo no. Imeno, za n = p + 2q + r + 2 imame p + nq + r = (q + 1) (p + 2q + r), t.e. e proizvod
na dva broja pogolemi od 1.

3.2.6

1. Neka M e deterministiqki koneqen avtomat. Pod toqno koi uslovi 2 L(M )? Da se doka e dobienoto tvrde e. 2. Koi jazici se prepoznaeni so avtomatite prika ani so slednive dijagrami:

Zadaqi

66

(a)

q1 a b a

>
q0 b q3 a,b
Slika 3.13: (b)

a,b

q2

a q1 a b q2 a,b a,b b q4
Slika 3.14:

>

q0

a,b

q3

67

(v)

q1 a b b q2 a

>
q0 b q3 a,b
Slika 3.15: (g)

q0 a b b q2 a

>

q1 b q3 a,b
Slika 3.16:

68

(d)

>
a

q0

q1

b q2

b q5 a q4 a b a,b
Slika 3.17: 3. Da se konstruira deterministiqki koneqen avtomat koj & ke gi prepoznava slednive jazici: (a) (b) (v) (g) (d)

q3

fw 2 fa bg j na sekoj a vo w neposredno mu prethodi i po nego sleduva b g: fw 2 fa bg jw go sodr i podzborot ababg: fw 2 fa bg jw ne go sodr i ni podzborot aa ni podzborot bbg: fw 2 fa bg jw neparen broj pojavuva a na a i paren broj pojavuva a na bg: fw 2 fa bg jw gi sodr i i ab i ba kako podzborovi g:

4. Koj od slednive zborovi e prepoznaen od navedeniot nedeterministiqki koneqen avtomat:

69

(a)

aa aba abb ab abab, kade xto avtomatot


jagramot na sl.3.18.

e prika an so di-

b a

>
b a b

Slika 3.18: (b)

ba ab bb b bba,

gramot na sl.3.19.

kade xto avtomatot e prika an so dija-

>

b b
Slika 3.19:

5. Konstruiraj nedeterministiqki koneqni avtomati (prika ani so nivnite dijagrami) koi & ke gi prifa& kaat slednive jazici: (a) (b) (v) (g)

(ab) (ba) aa ((ab aab) a ) ((a b a ) b) (ba b) (bb a)

70

6. Da se napixat regularnite izrazi za jazicite prepoznaeni od slednive nedeterministiqki koneqni avtomati: (a)

ab a
Slika 3.20: (b)

bb

>

a b a b a

>
Slika 3.21: (v)

>
a

a a

a a
Slika 3.22:

71

7. Neka = f0 1 poznava jazicite: (a) (b) (v)

9g.

Da se sostavi koneqen avtomat koj gi pre-

fw 2 jw e broj deliv so 2 g fw 2 jw e broj deliv so 3 g fw 2 jw e broj deliv so 4 g

8. Konstruiraj deterministiqki avtomat ekvivalenten so nedeterministiqkiot prika an so svojot dijagram na premin: (a)

q1

ab

q4

>

q0 b q2

q3

Slika 3.23: (b)

aba

>
q0
Slika 3.24:

bba

Objasni xto se sluquva koga algoritmot za premin od nedeterministiqi avtomat vo deterministiqki & ke se primeni na deterministiqki avtomat. 9. Neka L L0 nava jazikot: (a) . Da se opredeli koneqen avtomat koj go prepoz-

Pref (L) = fw 2 jx = wy za nekoi x 2 L y 2 prefiksi na L).


72

g: (mno

estvo

Suf (L) = fw 2 jx = yw za nekoi x 2 L y 2 g: (mno estvo sufiksi na L). (v) Subseq (L) = fw1 w2 wk jk 2 N wj 2 za j = 1 2 k i postoi niza x = x0 w1 x1 w2 wk xk vo Lg: (mno estvo podnizi na L). (g) L=L0 = fw 2 jwx 2 L za nekoj x 2 L0 g: (mno estvo desni kompleksi od L po L0 ). (d) Max(L) = fw 2 Ljx 6= povlekuva wx 2 = Lg: R R (& g) L = fw jw 2 Lg: Poka i deka ako L e prepoznaen od nakoj koneqen avtomat, togax
(b) prepoznaen e i sekoj od:

Pref (L) Suf (L) Subseq(L) L=L0, kade xto i L0 e prepoznaen od nekoj koneqen avtomat L=L0, kade L0 e proizvolen jazik Max(L) LR.
10. Obrazlo i dali postojat algoritmi koi odgovaraat na slednive praxa a za koneqnite avtomati M1 i M2 :

11.

L(M1) i L(M2 ) se disjunktni. L(M1) i L(M2 ) se komplementarni, t.e. dali L(M1 ) = n L(M2 ). (v) Dali L(M1 ) = L(M2 ). Neka M = (K s F ). Definirame serija ekvivalentnosti na so: K: 0 1 n p 0 q () p i q se i dvete zavrxni ili i dvete nezavrxni sostojbi: p k+1 q () p k q i za sekoj a 2 (p a) k (q a): Koga & ke dobieme nekoj k , takov xto k = k+1 , zapirame so kon(a) Dali (b) Dali strukcijata na ekvivalentnostite i go formirame koneqniot av0 s0 F 0 ), kade xto tomat M 0 = (K 0

K 0 = K= n 0 (p a) = (p a)
n

73

Da se proveri deka va Pritoa avtomatot M 0 e avtomat so minimalen broj na sostojbi koj xto go prepoznava jazikot L(M ). Za avtomatot M 0 velime deka e minimalen koj xto go prepoznava jazikot L(M ), a samata konstrukcija ja vikame postapka za minimizacija na daden avtomat. Da se minimizira avtomatot:

s0 = s F 0 = fq jq 2 F g: i L(M ) = L(M 0 ).
n n

a b a q1 q2 a

>

q0 b q3

q5 a,b

a,b

q4 a,b

Slika 3.25: 12. (a) Da se sostavi nedeterministiqki koneqen avtomat koj go prepoznava jazikot (baa) (baa ) (abb ). (b) Dobieniot avtomat da se pretvori vo deterministiqki koneqen avtomat. (v) Avtomatot dobien pod (b) da se minimizira. 13. (a) Da se sostavi nedeterministiqki koneqen avtomat koj go prepoznava jazikot: (a b) aabab (b) Dobieniot avtomat da se pretvori vo deterministiqki koneqen avtomat. (v) Avtomatot dobien pod (b) da se minimizira.

74

14. (a) Da se sostavi nedeterministiqki koneqen avtomat koj go prepoznava jazikot: (ab aab aba) . (b) Da se konstruira deterministiqki koneqen avtomat ekvivalenten so nedeterministiqkiot avtomat dobien pod (a). (v) Dobieniot deterministiqki koneqen avtomat da se minimizira. 15. Da se dade direktna konstrukcija na avtomat kojxto & ke prifa& ka presek na dva regularni jazika dadeni so soodvetni avtomati. 16. Da se konstruira dijagram na premin na koneqen avtomat koj & ke go prifa& ka komplementot na jazikot a b. 17. Doka i deka jazikot (a) (b) (v)

L = fan bm an+m jn m 1g ne e regularen.

18. Da se doka e deka nitu eden od slednive jazici ne e regularen:

L = fwwR jw 2 fa bg g. L = fwwjw 2 fa bg g. L = fwwjw 2 fa bg g i w e zbor dobien sekoe pojavuva e na a so b, a na b so a.

od

so zamena na

19. Da se proveri toqnosta na slednive iskazi: (a) Sekoe podmno estvo od regularen jazik e regularen jazik. (b) Sekoj regularen jazik sodr i regularen jazik kako vistinsko podmno estvo. (v) Ako L e regularen jazik, togax i fxy jx 2 L y 2 = Lg e regularen. (g) fwjw = wR g e regularen jazik. (d) Proizvolna unija od regularni jazici e regularen jazik.

75

Gramatiki i

Push-down

avtomati

Vo ovoj del & ke se zapoznaeme so drug metod za pretstavuva e na jazici nad dadena azbuka , t.e. & ke vovedeme poim za gramatika i jazik generiran od gramatika. Potoa & ke se zapoznaeme so razliqni vidovi gramatiki i so podelba na jazicite vo zavisnost od vidot na gramatikata od koja e generiran. Posebno & ke se zadr ime na taka nareqenite kontekstno slobodni gramatiki ili KS-gramatiki i reg& definirame push down avtomati, & ularnite gramatiki. Ke ke poka eme deka regularnite gramatiki gi generiraat regularnite jazici i & ke dademe vrska pome& gu push down avtomatite i kontekstno slobodnite gramatiki.

4.1

4.1.1

Jazici generirani od gramatiki


Gramatiki

Poimot "formalna gramatika" najopxto mo e da se interpretira kako algoritam koj ovozmo uva da se opredeli jazik nad dadena azbuka. Pritoa, vozmo no e: Da oznaquva mo nost za daden zbor od jazikot da postoi takov naqin na rabota na algoritmot xto na krajot od rabotata na algoritmot da se dobie ("generira") zbor od zadadeniot jazik. Ako nekoj zbor ne e od jazikot, togax so ovaa postapka toj ne mo e da bide generiran. Da se dade algoritam, koj na krajot od svojata rabota & ke dade odgovor na praxa eto dali daden zbor e od jazikot ili ne. ili Algoritmot da go "prebroi" jazikot, t.e. da se dade takov algoritam, xto na krajot se dobiva podredena niza zborovi vo koja mo e da se najde sekoj zbor od zadadeniot jazik, no ne i zbor xto ne pripa& ga na jazikot. Vo ovoj del nie & ke go izbereme prviot naqin na opredeluva e formalni gramatiki, taka nareqeni generativni gramatiki. Imeno, formalna gramatika ili samo gramatika G e podredena qetvorka G = (V S R), kade xto

V \ = i V i se koneqni mno estva S 2 V e poqeten neterminal R e koneqno mno estvo zborovi od oblik v ! w, kade xto v w 2 (V ) ! e simbol xto ne e vo V .
76

Za velime deka e osnovna azbuka ili azbuka od terminalni simboli, a za V deka e pomoxna azbuka na gramatikata G ili azbuka od neterminalni simboli, S e poqeten simbol od G, R e mno estvo pravila za generira e zborovi i se vika xema ili programa na gramatikata G. Sekoj qlen od R se vika pravilo, v se vika leva strana, a w desna strana na praviloto v ! w. Mno estvoto V se vika potpolna azbuka na gramatikata G. Neka r = v ! w e pravilo i neka ? v ? e nastapuva e na v vo zborot s = v od azbukata V . Vo toj sluqaj za zborot t = ? w ? velime deka e dobien od s so primena na praviloto r. Ako t se dobiva od s so primena na edno pravilo od G, pixuvame s )G t ili samo s ) t. Za nizata zborovi s0 s1 sn velime deka e izvod na sn od s0 vo gramatikata G ako za sekoj 1 i n va i si;1 ) si . Brojot n se vika dol ina na izvodot na sn od s0 vo G, i pritoa pixuvame s0 )G sn ili samo s0 ) sn . Za izvodot s0 s1 sn velime deka e potpoln ako s0 = S e poqetniot simbol na G, a sn 2 . Jazikot L(G) generiran od gramatikata G se sostoi od site zborovi od koi imaat potpoln izvod vo G, t.e L(G) = fw 2 jS ) wg. Primer 1. Neka e zadadena gramatikata

G = (fS B C Dg fa b cg S

fS ! BCS BCB ! D BC ! bc DC ! a cS ! c aS ! ag):


G e nizata: S BCS BCBCS BCBCBCS BCDCS BCDCBCS BCDCbcS BCabcS , bcabcS bcabc. Znaqi, bcabc 2 L(G). Za gramatikata G velime deka e kontekstno osetliva ili kontekstno zavisna ako sekoe nejzino pravilo e od oblik A ! w , kade xto 2 (V ) A 2 V w 2 (V ) . Vo suxtina ovie pravila se takvi xto zamenata na simbol A od V zavisi od "kontekstot" vo koj se nao& ga simbolot A, pa ottuka i imeto
Primer na potpoln izvod vo na ovoj tip gramatiki. Ako vo praviloto r = A ! w = , togax velime deka toa e bezkontekstno pravilo. Za gramatikata G velime deka e kontekstno slobodna ako site nejzini pravila se bezkontekstni. Kontekstno slobodnite gramatiki pokratko & ke gi vikame KS -gramatiki. Za KS -gramatikata G velime deka e regularna ili R-gramatika ako sekoe nejzino pravilo e od oblik A ! aB A ! a kade xto A B 2 V a a2 .

77

Zabelexka: Vo literaturata se sretnuva i slednata defiicija na regularna gramatika: G e regularna gramatika ako sekoe nejzino pravilo e od oblik A ! wB A ! w, kade xto A B 2 V a w 2 . Se poka uva deka ovie definicii se ekvivalentni. Vo zavisnost od tipot na gramatikata so koja e generiran nekoj jazik, tie se delat na kontekstno zavisni jazici, kontekstno slobodni jazici i R{jazici, pritoa eden jazik e kontekstno osetliv (kontekstno sloboden, R{jazik) ako postoi kontekstno zavisna (KS , R) gramatika xto go generira jazikot, sodvetno. Da zabele ime deka postoi vrska pome& gu regularnite jazici i jazicite generirani od R-gramatiki. Imeno, & ke poka eme deka klasta jazici generirani od R-gramatiki e toqno klasata regularni jazici. Zatoa ne e vo protivreqnost nazivot "regularen jazik" za jazik generiran od R-gramatika, pa natamu i R{jazicite & ke gi vikame regularni jazici. Primeri:
2 Sekoj neprazen koneqen jazik

L = fs1 s2 sk g kade xto si 2 , e generiran od R-gramatikata G = (fS g S fS ! s1 S ! sk g), kade xto si 2 Prazniot jazik e generiran od R-gramatikata G = (fS g
kade xto

S fS ! aS g) L= +
e generiran

a2

4 Neka e proizvolna azbuka. Togax jazikot od R-gramatikata

G = (fS g

S fS ! aS S ! aja 2 g):

5 Sekoja aritmetiqka progresija vo N , kade xto prirodnite broevi se vo unaren zapis, e generirana od R-gramatika. Imeno, ako k 2 N+ l = 0 1 k ; 1, togax fkn + ljn 2 N + g e aritmetiqka progresija. Gramatikata

G = (fA0 = S A1

Ak;1 B1

Bl;1 g fjg S fA0 ! jA1

Ak;2 ! jAk;1 Ak;1 ! jA0 A0 ! jB1 Bl;2 ! jBl;1 Bl;1 ! jg): Ako l = 1, togax poslednite l-pravila se zamenuvaat so A0 ! j, a ako l = 0, so Ak;1 ! j.
78

6 Jazikot a+ b+ e generiran od

R-gramatika G = (fS B g fa bg S fS ! aS S ! aB B ! bB B ! bg):

7 Jazikot

fanbn jn 2 N + g e generiran od KS -gramatika G = (fS g fa bg S fS ! aSb S ! abg):

8 Jazikot (a)

(b)

fanbn am jm n 2 N + g e generiran od KS - gramatikata G = (fS Ag fa bg S fS ! Sa S ! Aa A ! aAb A ! abg): fambn an jm n 2 N + g e generiran od KS - gramatikata G = (fS Ag fa bg S fS ! aS S ! aA A ! bAa A ! bag):
) ( e ge-

9 Mno estvoto od site mo ni pravilno postavei zagradi neriran od KS -gramatikata

G = (fS g f) (g S fS ! SS S ! (S ) S ! ( )g):
10 Jazikot L vo azbukata = fa bg, xto gi sodr i site neprazni zborovi od koi sodr at ednakov broj na pojavuva a na bukvite a i b e generiran od KS -gramatikata

G = (fS g fa bg S fS ! SS S ! aSb S ! bSa S ! ab S ! bag):


Jasno e deka sekoj zbor generiran od gramatikata G e od baraniot oblik. So indukcija po dol ina na zborovite od L & ke go doka eme obratnoto tvrde e. Neka jwj = 2. Togax w = ab ili w = ba, pa w e generiran od gramatikata G. Neka tvrde eto e toqno za sekoj zbor t od L takov xto jtj = 2k i jtj < n i neka jwj = 2s = n. Togax, w 2 fa b b a g, kade xto 2 L i j j j j j j j j < 2s, pa spored induktivnata pretpostavka postoi izvod na vo G, pri xto S se pojavuva vo sekoj od ovie zborovi. So primena na uxte edno pravilo (soodvetno) se dobiva zborot w.

11 Jazikot L = fxxR jx 2 + g, kade xto xR e inverzijata na generiran od KS -gramatikata

x vo

G = (fS g

S fS ! aSa S ! aaja 2 g):


79

12 Jazikot

L = fanbn an jn 2 N g e generiran od gramatikata G = (fS B g fa bg S fS ! aSBa S ! aba aB ! Ba bB ! bbg):

Zabelexka: Ovaa gramatika ne e KS {gramatika bidej& ki bB ! bb


ne e kontekstno slobodno pravilo, no ne e ni kontekstno osetliva, bidej& ki praviloto aB ! Ba ne e kontekstno osetlivo. Vo sekoj izvod vo G samo na edno mesto mo e da se primeni praviloto S ! aba. Togax, se dobiva zbor od oblik an bw, kade xto w sodr i n nastapuva a na a i n ; 1 na B . Za da se dobie potpoln izvod potrebno e site simboli B da se najdat zaedno po simbolot b, xto se postignuva so posledovatelna primena na praviloto aB ! Ba. Duri potota mo e da se primeni praviloto bB ! bb, i toa dodeka ne se zamenat site simboli B so terminalniot simbol b.

Teorema 4.1.1 Klasata jazici generirani od gramatiki se sovpa& ga so klasata rekurzivno prebroivi jazici (t.e. jazici qija karakteristiqna funkcija e rekurzivna). 2
Zabelexka: Od svojstvata dadeni vo vtorata glava, kako i od gornava teorema, neposredno sleduva deka klasata prepoznaena od Tjuringovi maxini, kako i klasata jazici prepoznaena so normalni algoritmi, se sovpa& ga so klasata jazici generirani od gramatiki.

4.1.2

Regularni i kontekstno slobodni jazici

Vo ovoj del & ke go opravdame terminot "regularna gramatika", t.e. & ke poka eme deka klasata jazici generirani od R-gramatiki e toqno klasata regularni jazici (t.e. jazici prepoznaeni od koneqni avtomati). Da zabele ime deka klasata jazici generirani od R-gramatiki e potklasa od klasata KS -jazici. Zemaj& ki go predvid svojstvoto xto sleduva, kako i primerot 7, & ke sleduva deka klasata R-jazici e vistinska potklasa od klasta KS -jazici.

Teorema 4.1.2 Eden jazik e regularen ako i samo ako e generiran od R-gramatika. Dokaz: Neka L e regularen jazik i neka M = (K s F ) e deterministiqki koneqen avtomat xto go prepoznava jazikot L, t.e. L(M ) = L. Definirame regularna gramatika G = (V S R), kade xto V = K, S = s, R = fq ! apj (q a) = pg fq ! jq 2 F g.

80

Znaqi pravilata na gramatikata ja imitiraat rabotata na maxinata. Treba da doka eme deka L(M ) = L(G). Neka w 2 L(M ). Togax za nekoj

p 2 F , pa

(s w)j=M (p )

t.e. w 2 L(G). Ako, pak, w 2 L(G), togax S ) w, t.e. s ) w i, pritoa, poslednoto upotrebeno pravilo mora da bide od oblik p ! , za nekoj p 2 F . No, togax (s w) j= (p ) i w 2 L(M ). & definiObratno, neka G = (V S R) e regularna gramatika. Ke rame nedeterministiqki koneqen avtomat M , takov xto L(M ) = L(G). Neka M = (K s F ), kade xto:

S ) wp ) w

K = V ff g, pri xto f e nov simbol, s = S, F = ff g, = f(A w B )jA ! wB 2 R A B 2 V w 2 f(A w f )jA ! w 2 R A 2 V w 2 g.

Povtorno, maxinata e konstruirana taka xto go imitira izvodot na zborovite generirani od gramatikata. Kako i pogore, i vo ovoj sluqaj lesno se proveruva toqnosta na ravenstvoto L(M ) = L(G) 2. Znaqi klasata jazici generirani od R-gramatiki e toqno klasata regularni jazici. Bidej& ki jazikot od primerot 7 e generiran od KS gramatika i ne e regularen (xto poka avme porano so koriste e na teoremata za pumpa e za regularni jazici), sleduva deka klasata Rjazici e vistinska potklasa od klasata KS -jazici.

4.2

Push-down

avtomati

Vidovme porano deka klasata regularni jazici se sovpa& ga so klasata jazici prepoznaeni od koneqni avtomati, kako i so klasata R-jazici, no deka e vistinska potklasa od klasata KS -jazici. Sakame da konstruirame specijalni avtomati koi & ke gi prepoznavaat toqno KS jazicite i & ke bidat obopxtuva e na koneqnite avtomati. Vakvite avtomati se vikaat push-down avtomati. Ovie avtomati vo opxt sluqaj & ke bidat nedeterministiqki i, za razlika od sluqajot kaj koneqni avtomati, & ke postojat KS -jazici koi nema da mo e da bidat prepoznaeni od "deterministiqki" push-down avtomati.

81

4.2.1

Push-down avtomati

Vo ovoj oddel & ke dademe obopxtuva e na poimot koneqen avtomat. Idejata e da se vovede naqin na smestuva e na simboli vo "sklad" (stack) i so pomox na kontrola da se obezbedi slede e na redosledot na skladiranite simboli. Pritoa, posledniot simbol smesten vo skladot e najgore i mo e prv da se izvadi od skladot. Precizno, push-down avtomat e podredena xestorka M = (K ; s kade xto:

F ),

e koneqno mno estvo sostojbi, e azbuka od vlezni simboli, estvo simboli od skladot (stack symbols),

; e mno

s 2 K e poqetna sostojba, F K e mno estvo zavrxni sostojbi,


e relacija na premin, t.e. koneqno podmno estvo od

(K

; ) (K ; ):

Intuitivno gledano, ako ((p u ) (q )) 2 , togax sekogax koga M e vo sostojba p, go gleda zborot u na lentata i e na vrvot od skladot, maxinata go qita zborot u, preminuva vo sostojba q , odi edno mesto na desno i vo skladot go zamenuva so . Parot ((p u ) (q )) se vika premin na M . Vaka definiranite avtomati ovozmo uvaat simbol da se dodade ili da se izvadi od skladot. Imeno, preminot ((p u ) (q a)) dodava simbol a, dodeka preminot ((p u a) (q )) go vadi simbolot a od skladot. Kako i kaj koneqnite avtomati, push-down avtomatite mo at samo da prepoznavaat zbor od daden jazik i poqetniot, ve& ke proqitan, podzbor ne vlijae na natamoxnata rabota na avtomatot. Vo soglasnost so ova konfiguracija na push-down avtomat e element od K ; pritoa, prviot element e sostojbata vo koja se nao& ga avtomatot vo dadeniot moment, vtoriot e zborot koj doprva treba da go proqita, a tretiot e sodr inata na skladot. Na primer, (q w abc) e konfiguracija na M takva xto M e vo sostojba q , go gleda najleviot simbol od zborot w, a e na vrvot, a c na dnoto od skladot. Definirame relacija `M vo K ; na sledniov naqin:

(p ux

) `M (q x 82

za sekoj x 2 2 ; , ((p u ) (q )) 2 . Refleksivnoto i tranzitivno zatvora e na `M go oznaquvame so j=M . Velime deka M go prepoznava zborot w 2 ako i samo ako (s w ) j= (p ), kade xto p 2 F . Znaqi jazikot L(M ) prepoznaen od avtomatot M e definiran so:

L(M ) = fw 2
Primeri:

j(s w ) j= (p

) p 2 F g:

1 Da konstruirame push-down avtomat kojxto go prepoznava jazikot L = fwcwR jw 2 fa bg g. Avtomatot M = (K ; s F ), kade xto

K = fs f g, = fa b cg, ; = fa bg, F = ff g , = f((s a ) (s a)) ((s b ) (s b)) ((s c ) (f )), ((f a a) (f )) ((f b b) (f ))g.

Kako raboti ovoj avtomat? Ako vlezniot zbor na lentata e wcwR , togax se dodeka ne stigne do simbolot c, avtomatot e vo poqetnata sostojba i gi smestuva po redosled na qita e simbolite a i b vo skladot. Koga & ke stigne do simbolot c, preminuva vo zavrxnata sostojba f i nitu vnesuva nitu iznesuva simbol od skladot. Natamu, go qita sekoj nareden simbol, go sporeduva so najgorniot simbol vo skladot i ako tie se sovpa& gaat go vadi soodvetniot simbol od skladot i postapkata prodol uva so qita e na naredniot simbol od lentata. Bidej& ki vlezniot simbol e od baraniot oblik, na kraj & ke go isprazni skladot i & ke ostane vo zavrxnata sostojba f . Ako zborot ne e od dadeniot oblik, avtomatot ili nikogax nema da stigne do zavrxnata sostojba f ili, pak, nema da go isprazni skladot. Na primer, ako vlezniot zbor e abbcbba, togax: (s abbcbba ) ` 2

(s bbcbba a) ` (s bcbba ba) ` (s cbba bba) ` ` (f bba bba) ` (f ba ba) ` (f a a) ` (f ). Da konstruirame push-down avtomat kojxto & ke go prepoznava jazikot L = fwwR jw 2 fa bg g. Baraniot avtomat ne se razlikuva mnogu
od onoj vo primerot 1. Imeno

M = (K
kade xto:

s F)

83

Vo vo sekoj moment, pa zatoa ovoj avtomat e nedeterministiqki. Bitno e deka ako vlezniot zbor e od baraniot oblik postoi niza premini koja od poqetnata sostojba s i prazen sklad, po qita e na zborot go doveduva avtomatot do zavrxnata sostojba i prazen sklad. Me& gutoa, postojat nizi premini i pri zbor od baraniot oblik koi nema da dovedat do zavrxna sostojba ili do zavrxna sostojba i prazen sklad. Znaqi, za avtomatot da prepoznae nekoj zbor od dadenata azbuka potrebno e da postoi niza premini koi od poqetnata sostojba i prazen sklad, po qita e na zborot & ke ja dovedat maxinata do zavrxna sostojba i prazen sklad. Vo ovoj oddel & ke ja poka eme vrskata pome& gu KS -jazici i push-down avtomati. Pred da go iska eme i doka eme osnovnoto svojstvo & ke vovedeme nekoi pomoxni poimi i lemi. Neka G = (V S R) e KS -gramatika. Togax, kako xto definiravme porano w 2 L(G) ako i samo ako w 2 i postoi izvod

K = fs f g, = fa bg, ; = fa bg, F = ff g, = f((s a ) (s a)) ((s b ) (s b)) ((s ) (f )), ((f a a) (f )) ((f b b) (f ))g. ovoj sluqaj preminot ((s ) (f )) mo e da se primeni

4.2.2

Push-down avtomati i KS -gramatiki

S ) w1 ) w2 )

) wn;1 ) w

za nekoi wi 2 (V ) i=1 2 n ; 1 n > 0. Za eden izvod vo G velime deka e lev izvod ako vo sekoj qekor zamena se izveduva na prviot od levo neterminalen simbol vo zborot. Na primer, ako G = (fS g f) (g S fS ! S ! SS S ! (S )g), togax

S ) SS ) (S )S ) ( )S ) ( )(S ) ) ( )( )
e lev izvod na

( )( ), dodeka

S ) SS ) S (S ) ) (S )(S ) ) ( )(S ) ) ( )( )
ne e lev izvod vo G na istiot zbor ( )( ). Formalno & ke pixuvame v )L w, kade v w 2 (V ) akko vo ovoj qekor e primeneto pravilo od G na najleviot neterminal, a w0 ) L wn ako e daden lev izvod na wn od w0 vo G.

84

Lema 4.2.1 Za sekoja KS -gramatika G i zbor w S ) L w.

,S

) w akko

w0 ) w1 ) ) wn e izvod vo G na wn od w0 , pri xto wn 2 . Ako ovoj izvod e lev izvod, togax tvrde eto e toqno. Zatoa, neka k e najmaliot priroden broj takov xto preminot wk ) wk+1 ne e izvrxen na najleviot neterminal & definirame nov izvod vo G na wn od w0 : vo wk . Ke 0 0 0 w0 ) w1 ) ) wn 0 = w i w0 = w , vo koj ako preminot w0 ) w0 takov xto w0 0 n n k0 k0 +1 ne e lev premin, togax k 0 > k . Od tuka tvrde eto & ke sleduva so indukcija. Neka wk ) wk+1 ne e lev premin. Togax wk e od oblik A B , kade xto 2 2 (V ) A B 2 V i wk+1 = A , kade B ! e praviloto primeneto vo preminot. Bidej& ki wn 2 k + 1 < n, togax postoi pravilo primeneto po k -tiot qekor so koe pojavuva eto na A e zameneto. Neka l e najmaliot priroden broj l > k takvo xto wl = A" za nekoj " 2 (V ) i wl+1 = ", kade xto e primeneto praviloto A ! . Togax B ) " vo l ; k qekori i mo eme da gi zamenime primenite na pravilata B ! i A ! na sledniov naqin: w0 ) L wk = A B vo k qekori, A B )L B vo 1 qekor, B ) " vo l ; k qekori, " ) wn vo n ; l ; 1 qekor. Noviot izvod e povtorno so dol ina n i zapoqnuva so najmalku k +1 levi premini. 2
Ovaa lema ovozmo uva polesno da se sprovedat dokazite na ostanatite svojstva, taka xto namesto so opxt izvod na zbor vo KS gramatika G, & ke rabotime samo so levi izvodi, pri xto nema da se izgubi od opxtosta na tvrde eto. Isto taka, polezno e da se kombiniraat dva premini vo push down avtomat M vo eden, poradi xto potrebna ni e narednata lema.

Dokaz: Vo ednata nasoka, t.e. akko postoi lev izvod na w vo G, togax postoi i izvod na w vo G tvrde eto e oqigledno toqno. Zatoa da ja doka eme vtorata nasoka. Neka

Lema 4.2.2 Ako M e push-down avtomat i (q1 w1 1 ) j= (q2 2) i q ) . (q2 w2 2 3 ) j= (q3 ) , togax ( q w w ) j = ( 3 4 4 1 1 2 1 3 Specijalno, ako (q1 w1 1 ) j= (q2 ) i (q2 w2 3 ) j= (q3 ), togax (q1 w1 w2 1 3 ) j= (q3 ). 2

85

Dokazot na ova svojstvo e ednostaven i e ostaven kako zadaqa. Narednoto svojstvo e osnovnata teorema od ovoj del koja ja dava vrskata pome& gu KS -jazicite i push-down avtomatite.

Teorema 4.2.1 Klasata jazici prepoznaena od push-down avtomati e toqno klasta kontekstno slobodni jazici.
Dokazot na ovaa teorema & ke go podelime na dva dela preku narednite dve lemi.

Lema 4.2.3 Sekoj kontekstno sloboden jazik e prepoznaen od nekoj pushdown avtomat. & Dokaz: Neka G = (V S R) e kontekstno slobodna gramatika. Ke konstruirame push-down avtomat M , takov xto L(M ) = L(G). Avtomatot xto & ke go konstruirame & ke ima samo dve sostojbi p i q i & ke ostanuva permanento vo sostojbata q posle prviot qekor. Imeno

M = (fp qg
kade xto 1 2 3

p fqg)

gi sodr i slednive relacii:

((p ) (q S )), ((q A) (q x)), za sekoe pravilo A ! x vo R, ((q a a) (q )), za sekoj a 2 .

Ovoj avtomat zapoqnuva so smestuva e na S vo skladot kojxto e prazen i preminuva vo sostojbata q . Vo sekoj nareden qekor, ili go zamenuva najgorniot simbol A od skladot so desnata strana na praviloto A ! x od R ili go vadi najgorniot simbol od skladot dokolku toj e terminalen simbol i e ednakov so sledniot vlezen simbol. Avtomatot e konstruiran taka xto pri svojata rabota imitira lev izvod na gramatikata G. Za da doka eme deka L(M ) = L(G), treba da gi doka eme slednive dve tvrde a:

Tvrde e 1. Ako S ) L 1 2 , kade xto 1 2 i 2 2 V (V togax (q 1 S ) j= (q 2 ). Tvrde e 2. Ako (q 1 S ) j= (q 2 ), kade xto 1 2 (V ) , togax S ) L 1 2 .

) f g,
i 2

Lemata e direktna posledica od ovie dve tvrde a vo sluqaj 2 = . Dokaz na Tvrde eto 1. Neka S ) L kade xto = 1 2 1 2 & go doka eme tvrde eto 1 so indukcija po i 2 2 V (V ) f g. Ke dol inata na izvodot na od S . Ako izvodot e so dol ina 0, Togax S = , pa 1 = i 2 = S no togax jasno e deka (q 1 S ) j= (q 2 ).

86

Da pretpostavime deka tvrde eto e toqno za sekoj lev izvod so dol ina pomala ili ednakva na n, kade xto n 0. Neka

Spored induktivnata pretpostavka

S = u0 )L u1 )L )L un+1 = e lev izvod na od S vo G so dol ina n +1, i neka 1 i 2 se kako xto e navedeno pogore. Togax e jasno deka un ima barem eden neterminal i pritoa un = 1 A 2 , a un+1 = 1 2 , kade xto 1 2 A2V i A! . A!
((q (q 1 S ) j= (q A 2 ) A) (q )) e premin vo M (q (10)
od vidot 2, pa

no poradi

A 2 ) j= (q

2 ):

(11)

No, od = 1 2 , kade xto 1 2 i, isto taka, = 1 2 , sleduva deka 2 e ili ili zapoqnuva so neterminal. Znaqi j 1 j j 1j i j 2 j j 2 j, i mo eme 1 da go zapixeme kako 1 za nekoj 2 takov xto 2 = 2 . Znaqi,

(q

2) j= (q

2)

(12)

spored preminot od tip 3. Od (10), (11) i (12), spored Lema 4.2.2 dobivame

(q 1 S ) = (q 1 S ) j= (q A 2 ) ` (q 2) j= (q 2 )

i so toa e zavrxen dokazot na qekorot na indukcija. Dokaz na tvrde eto 2. Da pretpostavime, sega, deka (q 1 S ) j= & poka eme deka S ) L 1 2 . (q 2 ), pri xto 1 2 i 2 2 (V ) . Ke Povtorno dokazot & ke go sprovedeme so indukcija, no ovoj pat po brojot na qekori na avtomatot M . Ako (q 1 S ) j= (q 2 ) vo nula qekori, togax e jasno deka (q 1 S ) = (q 2 ), pa 1 = , a 2 = S , xto znaqi deka S ) L 1 2 . Da pretpostavime deka ako (q 1 S ) j= (q 2 ) e dobieno so n ili pomalku od n qekori, n 0, togax S ) L 1 2 . Da go doka eme tvrde eto ako (q 1 S ) j= (q 2 ) e dobieno so n +1 qekori. Imeno, vo ovoj sluqaj za nekoj 2 2 ; (q 1 S ) j= (q ) e dobieno so n qekori i (q ) ` (q 2 ). Pritoa, ovoj posleden qekor e rezultat na premin od tipot 2 ili od tipot 3. Ako posledniot premin bil od tipot 2, togax = =A1 i = , za nekoj A 2 V 2 ( V ) i nekoe pravilo od oblik A! . 2 1 1

87

Bidej& ki od induktivnata pretpostavka imame S ) L 1 A 1 , dobivame L S ) 1 1 = 1 2. Ako, pak, posledniot premin bil od tipot 3, togax = a e terminalen simbol, a = a 2 . Togax 1 = a, za nekoj 2 , i (q S ) j= (q a 2 ) vo n qekori, pa spored induktivnata pretpostavka S ) L a 2 = 1 2. So ova e doka ano i tvrde eto 2., xto znaqi i lemata 4.2.3. Ostanuva da se doka e obratnata nasoka na Teoremata. 2

Lema 4.2.4 Ako eden jazik e prepoznaen od push-down avtomat, togax toj e kontekstno sloboden jazik. Dokaz: Pogodno e da se zadr ime na poednostaven vid push-down avtomat. Imeno, za push-down avtomatot M = (K ; s F ) velime deka e ednostaven ako se ispolneti slednive dva uslova: (1) ako ((q u ) (p )) e premin vo , togax j j 1 (2) ako ((q u ) (p )) 2 , togax i ((q u A) (p A)) 2 , za sekoj A 2 ;.
So drugi zborovi (1) znaqi deka ako maxinata go proveruva skladot, togax go proveruva i eventualno go izvlekuva samo najgorniot simbol dodeka (2) znaqi deka ako avtomatot mo e da se pridvi i bez proverka na skladot, toj toa mo e da go napravi i so istovremeno izvlekuva e i vnesuva e na istiot najgoren simbol vo nego. Tvrdime deka ne se gubi od opxtosta na dokazot so ova ograniquva e na razgleduvaniot avtomat. & konNeka M = (K ; s F ) e proizvolen push-down avtomat. Ke struirame ednostaven push-down avtomat koj & ke go prepoznava istiot jazik L(M ). Prvo gi otstranuvame od site premini ((q u ) (p )) kaj koi j j > 1. Ova se obezbeduva so modifikacija na M da izvlekuva samo poedineqni simboli od , namesto da gi otstrani site vo eden qekor. Poprecizno, ako = B1 B2 Bn , kade xto n > 1 i B1 B2 Bn 2 ;, togax na K se dodavaat novi sostojbi t1 t2 tn;1 , a edinstveniot premin ((q u ) (p )) od se zamenuva so preminite:

B1 ) (t1 )) ((t1 B2 ) (t2 ))


((tn;1 u Bn ) (p ))
Sliqna modifikacija na preminite vo se pravi dokolku tie go naruxuvaat uslovot (1) za ednostavnost na avtomatot. Za da se . . .

((q

88

obezbedi uslovot (2), na samo i gi dodavame preminite ((q u A) (p A)) za sekoj A 2 ;, sekogax koga ((q u ) (p )) e premin vo . Jasno e deka dobieniot avtomat e ednostaven i go prepoznava istiot jazik kako i M. Ostanuva da poka eme deka ako M e proizvolen ednostaven pushdown avtomat, togax postoi KS -gramatika G xto go generira jazikot L(M ). Konstruirame kontekstno slobodna gramatika G = (V S R), kade xto V sodr i simbol S i novi simboli hq A pi , za sekoi q p 2 K i sekoj A 2 ; f g. Za da se razbere ulogata na novite neterminali, da se potsetime deka G treba da gi generira toqno onie zborovi xto gi prepoznava M . Pravilata od R se od slednive qetiri tipa: 1. Za sekoj 2.

f 2 F , pravilo od oblik S ! hs f i. Za sekoj premin ((q u A) (r B1 B2 Bn )) 2 , kade xto q r 2 Ku 2 n > 0 B1 B2 Bn 2 ;, i A 2 ; f g, i za site p q1 qn;1 2 K , pravilo od oblik

hq A pi ! uhr B1 q1 ihq1 B2 q2 i hqn;1 Bn pi:


3. Za sekoj premin ((q u A) (r )) site p 2 K , pravilo od oblik

, kade xto

A 2 ; f g,

i za

hq A pi ! uhr pi:
4. Za sekoj

q 2 K , pravilo od oblik

hq q i ! :
Da zabele ime deka od faktot xto M e ednostavna, samo edno od pravilata od oblik 2. ili 3. se primenuvaat za sekoj premin vo M . Vo suxtina, praviloto od tip 1. ima za cel da premine od poqetnta sostojba vo zavrxna sostojba, pritoa ostavaj& ki go skladot vo ista sostojba na krajot, vo koja bil i na poqetokot. Praviloto od tip 4. veli deka e potreben premin od edna sostojba vo sebe. Pravilo od tip 2. opixuva dolg premin so efekt na premin od sostojbata q vo sostojbata p, pri xto od skladot go izvlekuva neterminalot A (ili eventualno . Desnata strana na pravilo od tipot 2. pretstavuva n + 1 2 pokratki premini na M , od koi prviot e edinstveno preminuva e vo sostojbata r dodeka go qita vlezniot simbol u, a ostanatite n se me& gu premini koi imaat za cel da gi izvleqat B1 Bn od skladot. Praviloto od tip 3. e po analogija na praviloto od tip 2. za n = 0,

89

t.e simbol (ili ) e odstranet od skladot i vo nego ne e vnesen nov simbol. Za da go doka eme tvrde eto od lemata, vsuxnost treba da go doka eme slednoto tvrde e:

Tvrde e. Za sekoi q p 2 K A 2 ;

f g i x 2 , toqno e hq A pi ) x akko (q x A) j= (p ):

Vo ednata nasoka dokazot se sproveduva so indukcija po dol inata na izvodot vo G, a vo drugata so indukcija po dol ina na brojot na premini vo avtomatot M . Dokazot & ke mu go ostavime na qitatelot kako zadaqa. 2

4.3

Svojstva na kontekstno slobodnite jazici

Vo ovoj posleden del & ke razgledame nekolku svojstva na kontekstno slobodnite jazici i & ke poka eme deka postoi jazik generiran od gramatika xto ne e kontekstno sloboden.

4.3.1

pravila koi go vkluquvaat noviot poqeten simbol S se S ! S1 i S ! S2 , pa S ) w, kade xto w 2 ( 1 2 ) ako i samo ako S1 ) w ili S2 ) w. Priota, S1 )G w ako i samo ako S1 )G1 w, a S2 )G w ako i samo ako S2 )G2 w. Konkatenacija. Konstrukcijata na gramatikata G takva xto L(G) = L(G1 )L(G2 ) e sliqna kako i vo sluqajot za unija. Imeno:

Svojstva na zatvorenost na KS -jazici vo odnos na nekoi operacii so mno estva Teorema 4.3.1 Kontekstno slobodnite jazici se zatvoreni vo odnos na unija, konkatenacija i Klinieva vezda. Dokaz: Neka G1 = (V1 1 S1 R1 ) i G2 = (V2 2 S2 R2 ) se kontekstno slobodni gramatiki i neka V1 \ V2 = . Unija. Neka S e nov simbol i neka G = (V1 V2 fS g 1 2 S R1 R2 fS ! S1 S ! S2 g). Togax L(G1 ) L(G2 ) = L(G). Imeno, edinstveni

G = (V1 V2 fS g 1

2 S R1 R2

fS ! S1 S2 g):

Klinieva vezda. L(G1 ) e generiran od gramatikata

G = (V1 1 S1 R1 fS1 ! S1 ! S1 S1 g): 2


Kako xto & ke vidime podolu, presek od kontekstno slobodni jazici ne mora da bide kontekstno sloboden jazik. Me& gutoa toqna e slednava teorema.

90

Dokaz: Vo ovoj sluqaj poednostaven e dokaz so pomox na koneqni avtomati. Neka L e kontekstno sloboden, a R e regularen jazik. Togax, L = L(M1 ) za nekoj push-down avtomat M1 = (K1 1 ;1 1 s1 F1 ), a R = L(M2 ), za nekoj deterministiqki koneqen avtomat M2 = (K2 2 2 s2 F2 ). Idejata e da se kombiniraat ovie dva avtomata vo eden push-down avtomat M qii premini zavisat i od preminite vo M1 i od onie vo M2 i gi prepoznava samo onie zborovi koi gi prepoznavaat i dvata avtomata. Imeno, neka M = (K ; s F ), kade xto

Teorema 4.3.2 Presek od kontekstno sloboden i regularen jazik e kontekstno sloboden jazik.

K = K1 K2
= 1 ; = ;1
2

s = (s1 s2 ) F = F1 F2 , i
, relacijata na premin, e definirana so

(((q1 q2 ) u ) ((p1 p2 ) )) 2
akko i

((q1 u ) (p1 )) 2 1 (q2 u) j=M2 (p2 ):

Avtomatot M preminuva od sostojba (q1 q2 ) vo sostojba (p1 p2 ) na ist naqin na koj M1 preminuva od sostojba q1 vo sostojba p1 , no pritoa vodi kontrola vrz promenite vo sostojbite na M2 sozdadeni od istiot vlezen zbor. Ako se ima ova predvid, lesno se poka uva deka M e push-down avtomat so baranoto svojstvo. 2

4.3.2

Svojstva na periodiqnost

Beskoneqnite kontekstno slobodni jazici imaat svojstvo na periodiqnost xto se razlikuva od ona kaj regularnite jazici. Za da go ispitame ova svojstvo, & ke vovedeme grafiqki prikaz na pretstavuva e na izvod kaj kontekstno slobodnite jazici, koe & ke bide polezno i vo natamoxni ispituva a na ovoj vid jazici. Neka G e kontekstno slobodna gramatika. Eden zbor w 2 L(G) mo e da ima pove& ke izvodi vo G. Na primer, ako G = (fS g fag S fS !

91

SS S ! ag), togax zborot aa mo


dva razliqni naqini:

e da bide generiran od S na slednive

S ) SS ) aS ) aa
i

S ) SS ) Sa ) aa:

No, ovie dva izvoda se vo suxtina ednakvi bidej& ki se upotrebeni istite pravila na istite mesta vo sredniot del od izvodot. Edinstvenata razlika e vo toa na koe pojavuva e na neterminalniot simbol S e primeneto soodvetnoto pravilo. I dvata izvoda mo at da se pretstavat kako na slikata 4.1

a
Slika 4.1: Sliqno i izvodot:

S ) SS ) Sa ) SSa ) aSa ) aaa


mo e da se pretstavi kako na slikata 4.2:

92

S S S S S a a
Slika 4.2: Vakvoto grafiqko pretstavuva e go vikame parsiraqko drvo . Toqkite se vikaat temi a , najgornoto teme koren, dodeka najdolnite temi a listovi na parsiraqkoto drvo. So konkatenacija na oznakite na listovite od levo na desno, se dobiva generiraniot zbor, koj se vika rezultat od parsiraqkoto drvo. Poprecizno, za proizvolna kontekstno slobodna gramatika G = (V S R), parsiraqkoto drvo, negoviot koren, listovi i proizvod gi definirame na sledniov naqin: 1.

A
Slika 4.3: e parsiraqko drvo za sekoj A 2 V . Edinstvenoto teme na ova parsiraqko drvo e negoviot koren i negoviot list. Rezultat e zborot A. 2. Ako

A!

e pravilo od

R, togax

93

Slika 4.4: e parsiraqko drvo so koren oznaqen so a rezultat e prazniot zbor . 3. Ako

A, listot e oznaqen so

A1

An

T1

Tn

y1
Slika 4.5:

yn

se parsiraqki drva (n 1) so koreni oznaqeni so A1 rezultati y1 yn , soodvetno, a pritoa pravilo vo G e

An i so

A ! A1 A2
togax

An

94

A1

An

T1

Tn

y1
Slika 4.6:

yn

e parsiraqko drvo so nov koren oznaqen so tovite na T1 Tn , a rezultat e y1 yn .

A,

listovi se lis-

4. Parsiraqko drvo mo e da se dobie edinstveno so pomox na 1, 2 i 3.

Pat vo parsiraqko drvo e niza od razliqni temi a, sekoe povrzano so prethodno so otseqka. Pritoa prvoto teme e korenot, a poslednoto list na parsiraqkoto drvo. Dol ina na patot e brojot na otseqki, kojxto e za eden pomalku od brojot na temi a. Visina na parsiraqko drvo e dol inata na najdolgiot pat vo parsiraqkoto drvo.

Teorema 4.3.3 (Teorema za pumpa e) Neka G e kontekstno slobodna gramatika. Togax postoi broj K xto zavisi od G, takov xto sekoj zbor w od L(G) so dol ina pogolema od K mo e da se zapixe vo oblik w = uvxyz na takov naqin xto ili v ili y se neprazni zborovi i za sekoj n 0, uvn xyn z e istotaka vo L(G). Dokaz: Neka G = (V S R). Za da ja doka eme teoremata dovolno
e da poka eme deka postoi broj K takov xto sekoj terminalen zbor od L(G) so dol ina pogolema od K ima izvod od oblik

S ) uAz ) uvAyz ) uvxyz


kade xto u v x y z 2 , A 2 V i ili v ili y se neprazni. Togax izvodot A ) vAy mo e da se povtori proizvolen broj pati i da se dobijat zborovi uv n xy n z za razliqni n.

95

od

Za sekoj m 1, parsiraqko drvo so visina m mo e da ima najmnogu pm listovi, xto lesno mo e da se poka e so indukcija po m. Spored toa, parsiraqko drvo so visina m mo e da ima rezultat so dol ina najmnogu pm . So drugi zborovi, ako T e parsiraqko drvo so rezultat so dol ina pogolema od pm , togax T ima pat so dol ina pogolema od m. Neka m = jV j, K = pm, i neka w e zbor od L(G) so dol ina pogolema od K . Neka T e parsiraqko drvo so koren oznaqen so S i rezultat w. Togax T ima barem eden pat so pove& ke od jV j +1 temi a, pa spored toa barem eden pat koj vkluquva dve temi a oznaqeni so istiot element A 2 V . Da go pretstavime toj pat grafiqki:

Neka p e najgolemiot broj simboli od desnata strana na pravilo R, t.e. p = maxfj j : A ! e pravilo od Gg:

S A T T A

A v A

A
Slika 4.7: i da go razgledame parsiraqkoto drvo T 0 qij koren e oznaqen so A, a listovite se listovi od T , osven temeto oznaqeno so A. Znaqi T 0 ima teme oznaqeno so A i rezultat od oblik vAy , za nekoi v y 2 . Vozmo no e v = y = , no toa ne e mo no pri site mo ni izbori na pat i dve temi a so ista oznaka. Za v = y = , parsiraqkoto drvo T 0 mo e da se odstrani od T bez da go promeni rezultatot na T , so dodava e na parsiraqkoto drvo so temeto oznaqeno so A xto e ponisko kako koren, prikaqeno za pogornoto teme oznaqeno so A. Ako sekoj pat so dol ina xto ja nadminuva m mo e da se skrati na ovoj naqin, bez da go promeni rezultatot na parsiraqkoto drvo T , & ke se dobie parsiraqko drvo so rezultat w i visina pomala od m, xto ne e

96

mo no. No, togax

A u v x y i z mo

at da se opredelat od T .

Ovaa teorema e polezna za doka uva e deka nekoj jazik ne e kontekstno sloboden.

Teorema 4.3.4 L = fan bncn jn

Dokaz: Teoremata & ke ja doka eme so kontradikcija i primena na teoremata za pumpa e. Neka L = L(G) za nekoja kontekstno slobodna gramatika G. Neka K e konstanta za G spored teoremata za pumpa e n nn i neka n = K pretstavuva e 3 . Togax w = a b c e vo L(G) i ima w = uvxyz takvo xto ili v ili y se neprazni i uvi xyi z e vo L(G) za sekoj i = 1 2 . No ova ne e mo no bidej& ki ako v ili y sodr at dva simbola od fa b cg, togax uv 2 xy 2 z sodr i b pred a ili c pred b. Ako pak ili v ili y sodr at samo eden simbol od fa b cg, togax uv 2 xy 2 z ne mo e da sodr i ednakov broj na simboli a, b, i c. 2

0g ne e kontekstno sloboden.

Teorema 4.3.5 Kontekstno slobodnite jazici ne se zatvoreni vo odnos na operaciite presek ili komplement. Dokaz: Jasno e deka fan bn cm jm n 0g i fam bn cn jm n 0g se kontekstno slobodni jazici, no nivniot presek fan bn cn jn 0g ne e.
Koga kontekstno sloboden jazik bi bil zatvoren vo odnos na komplement, togax bi bil zatvoren i vo odnos na presek. Imeno:

L1 \ L2 =

n (( n L1) ( n L2)): 2

4.3.3

1 Da se konstruira

R-gramatika xto gi generira: (a) site zborovi vo = fa1 an g koi sodr at pojavuva e na daden podzbor x = ai1 ai (b) site zborovi vo = fa1 ang koi sodr at barem n pojavuva a na dadeniot podzbor x (v) site zborovi vo = fa1 an g koi ne sodr at pojavuva e na dadeniot podzbor x an g koi sodr at toqno n pojavu(g) site zborovi vo = fa1 va a na dadeniot podzbor x Da se konstruira R-gramatika xto go prepoznava jazikot: + jxj ng, kade xto = fa1 (a) + an g n = fxjx 2 + + (b) sl = fxjx 2 jxj = si + l i 2 N g, kade xto s l 0 + + (v) w1 wn , kade xto wi se proizvolni neprazni zborovi vo . Da se konstruira KS -gramatika xto go generira mno estvoto:
s

Zadaqi

97

4 Konstruiraj R-gramatika koja go generira jazikot prepoznaen od sledniov avtomat:

(a) pravilno formirani formuli od iskaznoto smeta e vo "obiqen" zapis so fiksiran izbor na promenlivi (b) fan bm jn m 2 N n < mg (v) fx1 bx2 jx1 x2 2 fa1 an g jx1 j < jx2 jg (g) fap+m bm+n cn+p jn m p 2 N g (d) fuawbju w 2 fa bg juj = jwjg (& g) fam bn cp dq jm + n = p + q g (e) fam bn j2n m ng. ( ) fwcwR jw 2 fa bg c 2 = fa bgg R (z) fww jw 2 fa bg g ( ) fw 2 fa bg jw = wR g (i) fucwju w 2 fa bg c 2 = fa bg #a(u) = #b(u)g r (j) fw 2 fa bg jw = xu uvv r xr x u v 2 fa bg r 2 N g (k) fj2n jm = jn+m+2 jn m 2 N g.

b ab

a a a ab

>
b

a a

Slika 4.8: 5 Konstruiraj nedeterministiqki koneqen avtomat koj go prepoznava jazikot generiran od gramatikata

G = (V S R) V = fS A B g = fa bg R = fS ! abA S ! B S ! baB S ! A ! bS A ! b B ! aS g:
98

6 Da se konstruira kontekstno slobodna gramatika koja go generira jazikot na dobro formirani zagradi vo azbukata = f) (g. 7 Definiraj deterministiqki prifa& ka jazikot: (a) (b) (v)

push-down

avtomat (DPDA) koj go

L = fambn ck jm + k 6= ng L = fwcucwR jw u 2 fa bg c 2 = fa bg g L = fw 2 fa b c dg j#a(w) + #c(w) = #b(w) + #d(w)g. L = fw 2 fa bg j#aa(w) 6= #ab(w)g: bnjai bi 2 fa bg n 2 N + a1 = b1 an = b+n c 2 = fa bg g:

8 Konstruiraj DPDA koj go prepoznava jazikot 9 Konstruiraj DPDA koj go prepoznava jazikot

L = fa1 a2

an cb1 b2

10 Konstruiraj

push-down avtomat (PDA) koj go prepoznava jazikot L = fuwuR ju w 2 fa bg #a(w) = #b(w)g:

11 Konstruiraj DPDA koj go prepoznava jazikot 12 Konstruiraj PDA koj go prepoznava jazikot

L = fambn an+3m jn > 0 m 0g:

L = fan bm jn m 2 N n m 3ng:

13 Da se konstruira DPDA koj go prepoznava jazikot L xto se sostoi od site zborovi w 2 fa bg koi zapoqnuvaat so aaa ili imaat paren broj pojavuva a na b. Kakov jazik e L? Dali e potreben stekot? 14 Da se konstruira DPDA koj go prepoznava jazikot

L = fwcuju w 2 fa bg c 2 = fa bg jwj+juj e

paren broj

#a(w) = #b(w)g:

15 Da se konstruira DPDA koj go prepoznava jazikot L koj se sostoi od site zborovi w 2 fa b cg takvi xto poslednata bukva vo w e edinstvena takva bukva vo w. Kakov jazik e L? Dali e potreben stekot? 16 Da se konstruira PDA koj go prepoznava jazikot:

L = fa1 a2

an bn

b2 b1 jai bi 2 fa bg (9i 2 f1 2
paren broj

ng)ai = bi g:

17 Da se konstruira DPDA koj go prepoznava jazikot:

L = fw 2 fa bg jjwj e

j#a(w) ; #b(w)j 4g:

99

Indeks
avtomat 47 koneqen avtomat 47 deterministiqki koneqen avtomat 47 nedeterministiqki koneqen avtomat 52 ekvivalentni koneqni avtomati 54 minimalen koneqen avtomat 74 minimizacija na koneqen avtomat 74 push down avtomati 81 push down avtomat 82 ednostaven push-down avtomat 88 azbuka 6 nadvorexna azbuka 11 osnovna azbuka 77 pomoxna azbuka 77 potpolna azbuka 77 algebra 8 nositel na algebra 8 algebra generirana od S 9 podalgebra 9 podalgebra generirana od S 9 algoritam nad azbuka A 22 ekvivalentni nad azbukata A 22 potpolno ekvivalentni nad A 22 algoritam ne e primenliv na daden zbor 23 algoritam za prepoznava e na jazik 45 normalen algoritam 22 na normalniot algoritam 23 prirodno zavrxuva e na rabotata na algoritam 23 zavrxno prestanuva e na rabota na algoritam 23 bezkontekstno pravilo 78 bukvi 6 vlezna lenta 47 vnatrexna sostojba 47 visina 95 glava 47 podvi na glava 47 grupa 9 polugrupa 9 generatorno mno estvo 9 glava za zapixuva e i qita e 12 grafiqki ednakvi 21 gramatika 76 jazik generiran od gramatika 76 kontekstno osetliva gramatika 77 regularna gramatika 77 jazik generiran od gramatika 77 izvod vo gramatika 77 formalna gramatika, gramatika 76 kontekstno zavisna gramatika 77 kontekstno slobodna gramatika 77 direkten proizvod 7 drvo 93 parsiraqko drvo 93 epimorfizam 8 zatvoraq 41 zbor 6 inverzen zbor 26 prazen zbor 6 dol ina na zbor 6 podzbor 6 zbor prepoznaen od nedeterministiqki avtomat 53

100

zbor dobien od pravilo vo gramatika 78 konkatenacija na zborovi 6 pojavuva e na podzbor 6 izomorfizam 8 izvod 77 dol ina na izvod 77 potpoln izvod 77 lev izvod 84 regularen izraz 43 jazik 41 jazik prepoznaen od koneqen avtomat 47 jazik prepoznaen od avtomat 50 konkatenacija na jazici 41 regularni jazici 44 konfiguracija 12 konfiguracija na koneqen avtomat 48 Klinieva vezda 41 koneqna kontrola 47 koren 94 list 94 lenta 11 koneqna lenta 11 monomorfizam 8 maxini na Tjuring 11 standardna Tjuringova maxina 14 mehanizam za upravuva e 12 memorija 11 vnatrexna memorija 11 primitivno rekurzivno mno estvo 38 rekurzivno mno estvo 38 mno estvo odluqlivo po Tjuring 18 naredba 13 operacija 7 n-arna operacija 7 delumna narna operacija 7 potpolna n-arna operacija 7

operator 30 operator za supstitucija 30 operator za primitivna rekurzija 31 operator za minimizacija 35 operator za slaba minimizacija 38 pat 95 dol ina na pat 95 programa 77 pravilo 77 leva strana, desna strana na pravilo 77 preslikuva e 7 delumno preslikuva e 7 premin vo M 53 premin na M 82 funkcija na premin 48 relacija za premin 53 programa 13 uslovo ravenstvo 22 rezultat 93 simbol 7 individualni simboli 7 funkciski simboli 7 pomoxni simboli 8 poqeten simbol 77 sostojba 11 zavrxna sostojba 11 poqetna sostojba 11 teme 93 termi 8 teorema Teorema za pumpa e za regularni jazici 65 Teorema za pumpa e za KSjazici 95 formula za zamena 22 prosta formula za zamena 22 zavrxna formula za zamena 22 funkcija 7

101

cija 7 osnovni brojni funkcii 7 presmetliva so Tjuringova maxina 16 funkcija presmetliva so normalen algoritam 27 primitivno rekurzivna vo odnos na G 32 primitivno rekurzivna funkcija 32 inverzija na funkcija 36 cyr delumno relurzivna funkcija vo odnos na G 36 rekurzivna funkcija 37 karakteristiqna funkcija 37 delumna karakteristiqna funkcija 37 opxto rekurzivni funkcii 38 cel del od x 39 homomorfizam 8

k-arna delumna brojna funk-

102

Literatura
1] A. I. Ma cev: Moskva 1965

"Algoritmi i rekurzivnie funkcii". Nauka,

2] B. A. Kuxner: "Lekcii po konstruktivnomu matematiqeskomu analizu". Nauka, Moskva, 1973 3] 4] 5]

J. E. Hopcroft, J. D. Ullman: "Formal languages and their relation to automata". Addison-Wesley Publishing Company, 1969 E. Mendelson "Introduction to mathematical logic". D. Van Nostrand Company, 1979 (second edition) H. R Lewis, C. H. Papadimitriou "Elements of the theory of computation". Prentice-Hall International, Inc, 1981

6] D. Boxnaqki, A. Sokolova, Z. Xuni& k "Algoritmi i slo enost", Matematiqka Xkola, Struga,'96,

103

You might also like