Sie sind auf Seite 1von 98

1 Prof.

dr Dragan Iveti Teoretske osnove raunarstva, 2013


http://gim.ftn.uns.ac.rs
TEORETSKE OSNOVE RAUNARSTVA
A405
Prof. dr Dragan Iveti, dip. ing.
Goran Banjac, dipl. ing.
Fakultet tehnikih nauka u Novom Sadu
Departman za raunarstvo i automatiku
Odsek za primenjene raunarske nauke i informatiku
Katedra za primenjene raunarske nauke
3 + 0 + 1



2 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2013
O nastavniku
Dr Dragan Iveti, redovni profesor
Dipl. ing. elek. - raunarstvo i automatika, 1990, FTN,
Mr teh. nauka - formalizmi u SE, 1994, FTN,
Dr teh. nauka - integracija HCI i SE, 1999, FTN.
DAAD, RWTH Aachen Primena multim. u industriji, 1997.
ACM school " SW architecture" , Prague, 1998.
R. prof., FTN elektrotehn. i raunarstvo, 2010.
Grafiki i multimedijalni sistemi, k. 2001./2002.
Interakcija ovek raunar, k. 2002./2003.
Kompresija podataka, k. 2005./2006.
RG, MMS, SVR, 2009./2010.
Kabinet 9C, TMD, Frukogorska 11, Novi Sad
(+38121) 485-2419, 485-2424 Skype name: ivetic.ftn
http://gim.ftn.uns.ac.rs lanovi ivetic@uns.ac.rs

3 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2013
Cilj predmeta..
Zato teorija?!?
Nema nieg praktinijeg od dobre teorije!
saznanja koja ne mogu zastariti
technology-free,
not domain specific
ovekov um po organizaciji i funkciji vs. SW&HW, asptrakcija
ta ete saznati?
ta je raunar teorija konanih automata,
Kako raunar radi i ogranienja gramatike, jezici,
rekurzija i izraunljivost,
Kako izai na kraj sa teko (ne)reivim problemima
aproksimacija, redukcija i heuristika,
Razvoj logiko/analitikih vetina na najapstraknijem nivou
Prezentovanje: Ne teorija radi sebe, nego inenjerskim
pristupom sa primerima.



4 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2013
Cilj predmeta..
Teme:
konani automati (KA)
neformano za opis procesa (umnih i delanja) i tehnikih sistema,
formalno: alfabet, jezici deterministiki i nedeterministiki KA,
regularni jezici i izrazi,
razvoj digitalnog sistema pomou konanog automata,
konani automati sa spoljanjom memorijom (brojai, potisni i
Tjuringova maina),
TM kao model raunara.
kontekstno zavisne (slobodne) gramatike i jezici
govorni i programski jezici,
parsiranje,
algoritmi Markova,
modeli i problemi sraunavanja.
kompleksnost sraunavanja u prostoru i vremenu
P i NP klase,
redukcije, aproksimacije i heuristike.

5 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2013
Nain polaganja
Praktini deo (35% konane ocene):
uraen zadatak sa vebi (18 .. 35 poena).
Teorijski testovi:
T1 = 15 .. 30, i T2 = 18 .. 35 poena.
Predispitne obaveze (uslov za potpis):
V >= 18, i T1+T2 >= 17.
Studenti koji sve navedeno ispune osloboeni ispita!
Ostali
V ostaje nepromenjeno.
Bodovi sa testova se skaliraju 16*(T1/30), 19*(T2/35), tako
da se ostavlja slobodnih 30 na ispitu kompletna teorija.



6 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2013
Kako radimo?
perception
input
sequential
global
active
reflective
visual
auditory
sensory
intuitive
understanding
processing
inductive
deductive
organization
PREFERRED LEARNING
STYLE
CORRESPODING TEACHNING
STYLE
perspective
content
student
participation
organization
presentation
inductive
deductive
sequential
global
concrete
abstract
visual
verbal
active
passive

7 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2013
Literatura
1. SKRIPTA (referentni materijal) ALI SA VAIM
BELEKAMA/KOMENTARIMA
2. J. E. Hopcroft, J.D. Ullman, Introduction to automata
theory, languages, and computation, 2
nd
Ed, Addison-
Wesley, 2001.
3. Michael Sipser, Introduction to the Theory of
Computation, PWS Publishing Company, 1997.
4. Drago Cvetkovi, Slobodan Simi, Diskretna matematika
matematika za kompjuterske nauke, Nauna knjiga,
1990./1997.
5. Petar Hotomski, Duan Malbaki, Matematika logika i
principi programiranja, TF Zrenjanin, 2003.




1 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Teoretske osnove
raunarstva
1. Konani automati akceptant
2 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Neformalno kroz primere 1
Pretpostavimo skup A koga ine sekvence nula i jedinica
proizvoljnih duina pri emu ne postoji sekvenca koja ima
u sebi dve nule jednu za drugom!
Odabrati sekvence skupa A u narednim primerima!
1110101101
101101101001
11011010110101011
1101010111101100101
3 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Neformalno kroz primere 2
Pretpostavimo skup B koga ine sekvence malih zagrada
koje su korektno balansirane!
Odabrati sekvence skupa B u narednim primerima!
(()())
(()()())(())
(()(()()()())
(()(()())((()()())())
4 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Neformalno kroz primere 3
Pretpostavimo skup C koga ine sekvence nula i jedinica
proizvoljnih duina osim onih koje sadre prost broj nula
uzastopno!
Odabrati sekvence skupa C u narednim primerima!
11000011001
110000001111000011
111000000000001100001
111 000
1031
11
5 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Kako se stiglo do reenja?
Koristili ste razliite procedure da bi izdvojili nekorektne
stringove. Ali procedure nisu toliko razliite!
Kako psiholozi tvrde da ste to obavili:
GESTALT teorija (1940tih) ovek se oslanja na produktivno
(pronicljivost, pokuaji i greke) i reproduktivno reavanje.
PROBLEM SPACE teorija (1970tih) ovekov um je
information processor:
skup stanja problema u kome se primenjuju operatori
prelaza da se iz poetnog stigne u ciljno stanje,
ogroman broj stanja forsira heuristiku:
means-ends uporediti poetno stanje sa ciljnim
i odabrati minimalni broj operatora,
primer pomeriti orman (potproblem pun je knjiga!)
6 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Problem space prvog problema
Poetno stanje,
Stanja kada je proitana nula ili jedinica,
Ciljna stanja jeste sekvenca skupa A ili nije.
1
0
NE
DA
razumeo
problem
proitao 0
proitao 0
proitao 1
proitao 1
proitao 0
nema vie
nema
vie
proitao 1
1110101101
101101101001
11011010110101011
1101010111101100101
7 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Mehanizam konanog automata 1
Konani automat prvog zadatka predstavljen dijagramom u
prostoru stanja i prelaza
Predstavljen sa:
jedno poetno stanje,
dva radna stanja,
jedno ciljno stanje,
sedam promena stanja.
On skenira sekvence nula i jedinica rei alfabeta koje su
proizvoljne duine pri emu menja svoja stanja, pa ako
stigne u ciljno stanje - prepoznaje da je data re regularna
(korektna), ako ne stigne, re nije prihvaena jer je
neregularna, nekorektna.
On je konana predstava beskonanog skupa A prvog
primera.
1
0
DA
kraj
0
0
1
1
1
kraj
8 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Mehanizam konanog automata 2
konaan automat pokazao se kao odlino sredstvo za
modelovanje:
procesa reavanja problema (psiholozi, algoritmi, ),
procesa delanja oveka (uputstvo za ureaje, kola plesa, ),
tehnikog sistema.
iroka lepeza mogue upotrebe zahteva njegovo formalno
definisanje radi:
jednoznanog opisa (poimanja) funkcionisanja,
jednoznanog opisa karakteristinih atributa koji mogu voditi ka
pronalaenju novih podklasa automata za specifinu upotrebu,
implementacije tehnikih sistema koji su u svojoj osnovi veoma
formalni (digitalna elektronika i prekidake funkcije),
formalne provere korektnosti, radije nego napravi pa vidi, bitno
u upravljanju, komunikaciji

9 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Osnovne definicije 1
Alfabet, A je konaan, neprazan skup simbola
na primer,
A = {0, 1}
A = {a, b, , z, A, B, , Z}
A = skup svih unicode karaktera
Re (string), je konana sekvenca simbola alfabeta A
r = a
1
a
2
a
N
, gde je a
i
A, i {1, 2, .., N}
na primer,
01101011
ciaociao
prazna re, , ne sadri niti jedan simbol,
10 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Osnovne definicije 2
duina rei, |r|=N je broj (pojavljivanja) simbola u rei.
|| = 0
|ciaociao| = 8 , mada striktno ima samo 4 simbola.
Stepen alfabeta A
k
je skup svih rei iz A koji su duine k
A
4
= A A A A
na primer,
A
0
= {} ,
{0,1}
1
= {0,1} ,
{0,1}
2
= {00,01,10,11},
{0,1}
3
= {000,001, ,110, 111}
11 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Osnovne definicije 3
Zatvorenost alfabeta A, A
*
je skup konanih skupova nad A, tj
A
*
= A
0
U A
1
U
a postoji i A
+
= A
1
U A
2
U , tako da je A
*
= A
0
U A
+
na primer,
A
*
= {0,1}
*
= {,0,1,00,01,10,11,000,001,010,011, }
Konkatenacija dve rei
x = a
1
a
2
a
m
A
*
i y = b
1
b
2
b
n
A
*
x y = a
1
a
2
a
m
b
1
b
2
b
n
posledice
|x y| = |x| + |y| = m + n
x = x = x
12 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Osnovne definicije 4
Jezik L nad alfabetom A je bilo koji podskup od A
*
, tj
L A
*
jezik L ine rei proizvoljne, ali konane, duine alfabeta A
na primer, za
A={a,..,z,A,..,Z,0,..,9,~,!,#,%,&,*,(,),-,_,+,=,[,],{,},:,;,,,?,<,>,/,,,.,\,| }
L A
*
bi bio koji programski jezik?
Regularni izraz je pravilo kojim se zapisuju rei jezika.
Na primer {A, .. ,Z}{a, .. ,z}
*
{A, .. ,Z}{a, .. ,z}
*
Koje od narednih rei regularni izraz definie?
Dragan Ivetic
Jovan Jovanovic Zmaj
13 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Formalna def. kona. automata
Konani automat, KA, je definisan petorkom
KA = (S , A , ps , s
0
, F)
gde je
S skup svih stanja automata,
A alfabet automata, definie ulazne simbole automata,
ps funkcija prelaza automata, ps: S x A S
s
0
inicijalno stanje automata, s
0
S,
F skup ciljnih stanja automata, F S
KA prima simbole alfabeta A (a
0
, a
1
,..,a
k
) i kree iz s
0
, menja
svoja stanja (skup S) kako je definisala ps,
ps(s
0
,a
0
)= s
1
, ps(s
1
,a
1
)= s
2
,, ps(s
k
,a
k
)= s
k+1
Ako s
k+1
pripada skupu F, on je prepoznao ulazni niz
simobla, u suprotnom nije prepoznao.
14 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Predstavljanje KA
Automat definisan petorkom
KA = (S , A , ps , s
0
, F)
je standardan model u teoriji, tzv. akceptant jer je naglasak
dat na finalnim stanjima prihvatanju ili ne ulazne rei.
GRAFIKI dijagramima stanja
ili tabelom prelaza
ul
1
ul
2
* S
1
ul
2
ul
1
-> S
0
S
1
S
0
S
0
S
1
* S
1
S
1
S
0
-> S
0
ul
2
ul
1
1
3
a
2
b
15 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primer jednostavnog KA
Automat koji prihvata simbole sekvencionisane po pravilu
x01y : x,y {0, 1}
je automat AK
AK = ({q0, q1, q2} , {0, 1}, ps , q
0
, {q1})
predstavljen grafiki
Koja je njegova funkcija (kada prestaje sa radom)?
16 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Kona. automat i ulazne rei
Automat prihvata re r = a
1
a
2
a
N
ako postoji putanja
promena stanja automata koja
1. poinje u inicijalnom stanju,
2. zavrava u ciljnom stanju,
3. izvreno N promena stanja redom za svaki simbol iz r
Kako je ps funkcija prelaza definisana za jedan ulazni simbol,
ona se proiruje, ps, kako bi obuhvatila itavu ulaznu re
tako da vai
ps(q, ) = q , ostaje u istom stanju,
ps(q,xa) = ps(ps(q,x),a), rekurzivna promena gde je
simbol a sufiks sekvence x u rei r
17 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Kona. automat i regularni jezik
za predhodni primer r=xa=1101, odnosno x=110 i a=1
ps(q
0
,1)=ps(ps(q
0
,),1)= ps(q
0
,1)= q
0
ps(q
0
,11)=ps(ps(q
0
,1),1)= ps(q
0
,1)= q
0
ps(q
0
,110)=ps(ps(q
0
,11),0)= ps(q
0
,0)= q
2
ps(q
0
,1101)=ps(ps(q
0
,110),1)= ps(q
2
,1)= q
1
Jezik automata KA, L(KA)
L(KA) = {r | ps(s
0
,r) F}
Kae se da automat KA modeluje (prihvata) jezik L, odnosno
da jezik L definie automat KA.
Svaki jezik koga prihvata neki KA je regularan.
18 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Deterministiki i nedeterministiki KA
Definisani KA je deterministiki (DKA) jer za svako a A u
svakom stanju s S funkcija ps daje naredno stanje.
Svi ostali KA su nedeterministiki, iz nekog stanja ad libitum
prelaze u naredno.
Na primer automat koji prihvata sve binarne rei koje se
zavravaju sa 01 je
19 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
NKA moe da zaglavi!
Prethodni NKA koji dobija na ulazu 00101
zaglavio
zaglavio
20 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
NKA formalna definicija
NKA je definisan petorkom
NKA = (S , A , ps , s
0
, F)
gde je
S skup svih stanja automata,
A alfabet automata, definie ulazne simbole automata,
ps funkcija prelaza automata, ps: S x A S
s
0
inicijalno stanje automata, s
0
S,
F skup ciljnih stanja automata, F S
Funkcija ps u DKA vraa jedno stanje s S
Funkcija ps u NKA vraa podskup skupa stanja S.
NKA je laki za programiranje!
Na sreu, svaki NKA se moe proiriti do DKA tako da
prepoznaju isti jezik.
21 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
NKA u DKA 1
Ako je NKA definisan petorkom
NKA = (S
N
, A
N
, ps
N
, s
0
, F
N
)
a eljeni DKA sa
DKA = (S
D
, A
D
, ps
D
, {s
0
} , F
D
)
odravajui da L(NKA) = L(DKA)!
Transformacija NKA u DKA pomou konstrukcije podskupova
S
D
= {S : S S
N
} , |S
D
| = 2
|S
N
|
, nadskup
zadravajui barem jedno ciljno stanje NKA
F
D
= {S S
N
: S F
N
}
gde za svako S S
N
i a A sraunava se ps
D
kao unija ps
N
onih stanja u S u koja se prelazi za ulaz a,
U
p iz S
N D
(p,a) ps a S ps = ) , (
22 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
NKA u DKA 2
Za NKA koji prihvata rei koje zavravaju sa 01 a koji ima
skup stanja {q
0
, q
1
, q
2
}
gradi se nadskup sa 2
3
stanja
u tablici prelaza
{q
0
,q
2
} {q
0
,q
1
} * {q
0
,q
1
,q
1
}
{q
2
} * {q
1
,q
2
}
{q
0
} {q
0
,q
1
} * {q
0
,q
2
}
{q
0
,q
2
} {q
0
,q
1
} {q
0
,q
1
}
* {q
2
}
{q
2
} {q
1
}
{q
0
} {q
0
,q
1
} -> {q
0
}

1 0
pa se odreuju sva dostupna
stanja iz q
0
kao poetnog za
sve mogue ulaze i dobija se
DKA sa, sluajno, 3 stanja
23 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
NKA za keywords search
NKA koji trai web i ebay
pa se napravi nadskup stanja ovog NKA i pronau sva
dostina stanja (skupovi stanja), dobija se DKA prikazan
na narednom slajdu
24 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
DKA za keywords search
25 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Minimizacija KA
meu svim KA koji prihvataju isti regularni jezik L, postoji
jedan KA sa najmanjim brojem stanja,
do njega se moe doi od bilo kog drugog KA klase L
jezika pomou algoritma za minimizaciju stanja,
minimizacija se zasniva na pronalaenju ekvivalentnih
stanja,
dva stanja p i q automata KA su ekvivalentni (p q) ako
r A*: ps(p,r) F i ps(q,r) F
ako se pronae barem jedna re za koju ovo ne vai, stanja
p i q su razliita,
re razlikuje svako finalno od nefinalnog stanja, odnosno
p q samo ako su oba finalna ili nisu finalna,
26 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Testiranje ekvivalentnosti stanja
Pretpostavimo KA
proanalizirajmo
nekoliko parova
stanja
C i G razliita jer ps(C,) je finalno a ps(G,) nije NE,
A i G , 0 i 1 ih ne razlikuju, jer zavravaju u nefinalnim,
# ps(A,01)=C, finalno, a ps(G,01)=E, nije NE,
A i E ih ne razlikuje;
# ps(A,1)=F a ps(E,1)=F ps(A,1x)=ps(E,1x)
# ps(A,0)=B a ps(E,0)=H, ps(B,0)=G a ps(H,0)=G i
ps(B,1)=C a ps(H,1)=C ps(A,0x)=ps(E,0x) EKVIVAL.
A C
0
1
B D
E G F H
0
0
0
0
0
0
0
1
1
1
1
1
1
1
27 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Implikaciona tabela
Vizuelno se pronalaze
ekvivalentna stanja
- X za razliite parove stanja
A C
0
1
B D
E G F H
0
0
0
0
0
0
0
1
1
1
1
1
1
1
X
C se razlikuje od svih
A i B se razlikuju za 1
X
A i D se razlikuju za 0
G
F
E
D
C
B
A
H
X
X
X
X
X X
X
X
A i F se razlikuju za 0
X
A i H se razlikuju za 1
X
B i D se razlikuju za 0 .
X
X
X
X
X
X
X
X
X
X
X
X
A i G raz. za 0 jer B i G imaju X
X
E i G raz. za 0 jer H i G imaju X
{{A,E},{C},{B,H},{D,F},{G}}
28 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Postupak minimizacije KA 1
Minimalni KA ima najmanji broj stanja od svih KA koji
prepoznaju jezik L. Nema garancije da je dati KA
minimalan.
A C
0
1
B D
E G F H
0
0
0
0
0
0
0
1
1
1
1
1
1
1
POSTUPAK ine dva naredna koraka:
1. Eliminisati sva stanja u koja se ne moe stii iz poetnog
stanja.
29 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Postupak minimizacije KA 2
2. Preostala stanja izdeliti na blokove stanja gde svaki blok
ine ekvivalentna stanja tako da ne postoji par stanja iz
razliitih blokova koji su ekvivalentni.
Za jedno stanje q S KA formira se blok koga ine:
stanje q (minimalno) i sva stanja koja su ekvivalentna
stanju q, ime je izvrena particija svih stanja automata na
dva bloka, i . Zatim se nastavlja sa nekim stanjem iz
bloka traei ekvivalentna stanja ime se blok dalje
polovi...
Ekvivalentnost stanja je tranzitivna, tako
ako je p q i q s p s
POSTUPAK MINIMIZACIJE JE IZVRIV POMOU
IMPLIKACIONE TABELE.
30 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Teoretske osnove
raunarstva
1. Konani automati transduktor
31 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Konani automat u praksi
Konaan automat moe predstaviti i neki fiziki sistem.
PRIMER: automat za izdavanje GSP karata od 4 dinara koji
prihvata kovanice od 1 i 2 dinara.
1
3
DAJ
ukljuen automat
ubacio 2 din
ubacio
1 din
ubacio 2 din
ubacio
1 din
ubacio 2 din
ubacio
1 din
2
ubacio
1 din
5
vrati 1 din
ubacio
2 din
Kako mainu probuditi u korektnom poetnom stanju?
32 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Formalna defin. KA transduktora 1
KA, se u aplikativne svrhe definie i kao
KA = (S , A , ps , pi, s
0
)
gde je
S skup svih stanja automata,
A alfabet automata, definie ulazne rei automata,
ps funkcija prelaza stanja automata, ps: S x A S
pi funkcija prelaza izlaza automata koji se definisani nad
alfabetom B, pi: S x A B
s
0
inicijalno stanje automata, s
0
S,
Ovaj model automata se naziva transduktor jer je naglasak na
izlazima koje automat generie tokom promene stanje,
funkcija pi, uobiajen model u praksi.
33 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Formalna defin. KA transduktora 2
Tako, automat
KA = (S , A , ps , pi, s
0
)
kree iz s
0
, prima simbole alfabeta A i menja svoja stanja
(elementi skupa S) kako je definisala funkcija ps, a pri
emu generie izlaze kako je definisala funkcija pi,
pi: S B , tzv. Moor-ov automat,
ili
pi: S x A B, tzv. Mealy-ev automat.
Koja je pragmatina vrednost (razlike) Moor i Mealy
automata?
34 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Grafiko predstavljanje automata
Dijagramima stanja automata
TRANSDUKTOR, gde je ul Aa izl B
MOOR MEALY
1 2
ul
izl
1 2
ul / izl
35 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Tablino predstavljanje automata
MOOR-ov TRANSDUKTOR MEALY-ev TRANSDUKTOR
tablica prelaza
Gde je kod svih ul
i
A
k
a izl
j
B
m
tablica izlaza tablica prelaza/izlaza
S
1
S
0
S
2
ul
2
S
0
S
2
S
1
ul
1
S
2
S
1
S
0
izl
2
izl
1
izl
2
S
0
S
1
ul
2
S
1
S
0
ul
1
S
1
S
0
izl
1
izl
0
ul
2
izl
1
izl
1
ul
1
S
1
S
0
S
0
/ izl
1
S
1
/ izl
0
ul
2
S
1
/ izl
1
S
0
/ izl
1
ul
1
S
1
S
0
36 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Implementacija Mealy KA 1
Ako se pretpostavi digitalna implementacija, tada je za KA
KA = (S , A , ps , pi, s
0
)
oigledno da je ulazni alfabet
A = {0,1}
a funkcije
ps: S x A S i
pi: S x A B
definiu promenu stanja i promenu izlaza na osnovu
ulaznih simbola i stanja u kojima je automat do tog
trenutka boravio.
37 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Implementacija Mealy KA 2
PROBLEM Automat moe boraviti u stanju neko vreme do
promene vrednosti na ulazu koje uslovljavaju promenu
stanja automata i nove vrednosti na izlazu. Kako trenutno
stanje automata nainiti invarijantno na vreme?
standardne sekvencijalne mree flip flopovi,
Blok ema fizike implementacije Mealy automata.
...
. . .
...
A*
...
B*
SEKVENCIJALNA
MREA
S
KOMBINACIONA
MREA
ps pi
38 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Implementacija Mealy KA 3
Proces implementacije Mealy automata ine naredni koraci:
1. Analiza problema i defisanje KA petorke (dijagramom
stanja/prelaza i/ili tabelom prelaza/izlaza).
2. Kodiranje stanja KA (S), ulaza (A) i izlaza (B).
3. Minimizacija stanja KA.
4. Definisati prekidake funkcije koje definiu promenu
izlaza (pi).
5. Odabrati tipove FF i definisati odgovarajue pobude (ps),
prekidake funkcije.
6. Minimizovati prekidake funkcije (Karnaugh, Quine-
MCcluskey.
7. Realizovati prekidaku (pobudnu) mreu pomou logikih
kola, standardnih kombinacionih mrea, PROM, ....
8. Obezbediti inicijalizaciju automata u korektno s
0
.
9. Voditi rauna o minimalnom angaovanju IC.
39 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
GSP automat implementacija 1
PRIMER: automat za izdavanje GSP karata od 4 dinara koji
prihvata kovanice od 1 i 2 dinara.
Implementirati transduktor Mealy automat jer nas sistem
interesuje sa stanovita ulaza i izlaza. Koji tip automata je
reio problem GSP karata na prvom slajdu?
Stanja:
S0 inicijalno stanje (niti kusura niti karte, oekuje novce),
S1 ubaen jedan dinar,
S2 ubaeno dva dinara,
S3 ubaeno tri dinara,
Alfabet: A = {1 din, 2 din}, odnosno {0,1}
2
B = {izdati kartu, vratiti sve novce}, odnosno {0,1}
2
40 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
GSP automat implementacija 2
dijagram stanja,
S
o
S
1
S
3
S
2
01 / 01
10 / 10
11 / 01
11 / 00
10 / 00
01 / 00
01 / 10
11 / 01
10 / 00
01 / 00
10 / 00
11 / 10
00 / 00
00 / 00
00 / 00
00 / 00
41 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
GSP automat implementacija 3
S
0
/01 S
0
/01 S
0
/10 S
3
/00 11
S
0
/10 S
3
/00 S
2
/00 S
1
/00 10
S
0
/01 S
0
/10 S
3
/00 S
2
/00 01
S
3
/00 S
2
/00 S
1
/00 S
0
/00 00
S
3
S
2
S
1
S
0
ul/st
tablica prelaza/izlaza stanja kodirana Gray kodom
1 0 S
3
1 1 S
2
0 1 S
1
0 0 S
0
Q
1
Q
2
Kodirana tablica prelaza/izlaza minimizacija stanja?
00/01 00/01 00/10 10/00 11
00/10 10/00 11/00 01/00 10
00/01 00/10 10/00 11/00 01
10/00 11/00 01/00 00/00 00
10 11 01 00 ul/st
42 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
GSP automat implementacija 4
Tablina minimizacija pi klase funkcija karta i novci.
karta = ul
1
ul
2
q
1
q
2
+ ul
1
ul
2
q
1
q
2
+ ul
1
ul
2
q
1
q
2
1 0 0 0 10
0 0 1 0 11
0 1 0 0 01
0 0 0 0 00
10 11 01 00 ul
1,2
/q
1,2
0 0 0 0 10
1 1 0 0 11
1 0 0 0 01
0 0 0 0 00
10 11 01 00 ul
1,2
/q
1,2
novci = ul
1
ul
2
q
1
+ ul
2
q
1
q
2
43 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
GSP automat implementacija 5
Odabrani SR ff, 2 komada, pobude prvog ff (deo ps klase)
S
1
= ul
2
q
1
q
2
+ ul
1
ul
2
q
1
+ ul
1
ul
2
q
1
0 x 1 0 10
0 0 0 1 11
0 0 1 1 01
x x 0 0 00
10 11 01 00 ul
1,2
/q
1,2
1 0 0 x 10
1 1 x 0 11
1 1 0 0 01
0 0 x x 00
10 11 01 00 ul
1,2
/q
1,2
R
1
= ul
2
q
1
+ ul
1
q
1
q
2
1 1 X 0
1 0 0 1
0 1 1 0
0 0 0 X
Q
1
Q
2
S R
44 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
GSP automat implementacija 6
Pobude drugog ff (drugi deo ps klase funkcije)
S
2
= ul
1
ul
2
q
1
q
2
+ ul
1
ul
2
q
1
0 0 x 1 10
0 0 0 0 11
0 0 0 1 01
0 x x 0 00
10 11 01 00 ul
1,2
/q
1,2
1 1 0 x 10
x 1 1 0 11
x 1 1 0 01
0 0 0 x 00
10 11 01 00 ul
1,2
/q
1,2
R
2
= ul
2
q
2
+ ul
1
q
1
45 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
GSP automat implementacija 7
Implementacija pomou logikih kola na primer dvoulazna
NI kola zahtevaju konverziju DNF zapisa funkcija u NI oblik
Obaviti ovo za vebu, kao i pomou NILI kola.
Raunati po 4 dvoulazna logika kola u 14pinskom DIL IC.
1 1 0 x 10
x 1 1 0 11
x 1 1 0 01
0 0 0 x 00
10 11 01 00 ul
1,2
/q
1,2
Mi emo pomou standardnih sekvencijalnih mrea, MUX 4/1,
na primer pobudu R
2
MUX
4 / 1
0 1
0
1
2
3
ul
1
ul
2
q
2
q
1
46 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
GSP automat implementacija 8
0 1 0
1
2
3
0 1
0
1
2
3
0 1 0
1
2
3
0 1
0
1
2
3
0 1 0
1
2
3
0 1
0
1
2
3
2 din
1 din
karta
novac
0
1
0 1 2 3
5 V
47 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
GSP automat implementacija 9
Postavljanje automata u inicijalno stanje s
0
, kodirano u ovom
sluaju sa 00. Iskoristiti RC element.
C
R
5 V
0 1
C
R
5 V
0 1
1 0
5 V
1 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Teoretske osnove
raunarstva
2. Izrazi, gramatike i jezici
2 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Regularni izrazi
jezik je skup sekvenci simbola nekog alfabeta,
(D ili N) KA obezbeuju mainski opis nekog regularnog
jezika (ali i same maine),
regularni izrazi obezbeuju algebarski (deklarativni) opis
nekog regularnog jezika,
korektnije, regularni izrazi generiu rei koje pripadaju
datom jeziku.
1
3 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Operacije nad jezicima 1
koje predstavljaju operatori regularnih izraza
UNIJA dva jezika L i M,
L U M = {r | r L v r M}
za L = {001, 10, 111} a za M = {, 001}
L U M = {, 10, 001, 111}
KONKATENACIJA dva jezika L i M,
L M = {r
L
r
M
| r
L
L r
M
M}
za L = {001, 10, 111} a za M = {, 001}
L M = {001, 10, 111, 001001, 10001, 111001}
4 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Operacije nad jezicima 2
ZATVORENOST jezika L,
L
*
= U
i0
L
i
gde je L
0
= {}, L
1
= L a L
i>1
= L L L (i puta)
za L = {0, 11} dobijaju se
L
0
= {}
L
1
= {0, 11}
L
2
= {00, 011, 110, 1111}
L
3
= {000, 0011, 0110, 1100, 01111, 11011, 11110, 111111}

L
*
je skup rei nula i jedinica gde se jedinice pojavljuju paran
broj puta zaredom (ne 010011, niti 1010)
2
5 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Formiranje regularnih izraza 1
kao i svaka algebra upotreba operatora nad konstantama
i promenljivama koje predstavljaju neke jezike,
operatori regularnih izraza su definisani operacijama nad
jezicima unija (+), konkatenacija () i zatvorenost (*)
definicije konstanti i promenljivih regularnih izraza:
konstante i su regularni izrazi, koji oznaavaju jezike
i {}. Pri emu {} jer je prvi prazan jezik a drugi
jezik koga ini jedna prazna re,
neki simbol a je regularni izraz koji oznaava jezik {a},
promenljiva L je regularni izraz koji oznaava bilo koji
jezik.
6 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Formiranje regularnih izraza 2
sada se mogu definisati i regularni operatori i izrazi ako se
pretpostavi da postoje promenljive regularnih izraza E i F:
E + F je regularni izraz koji oznaava jezik L(E+F), to je
L(E) U L(F),
E F je regularni izraz koji oznaava jezik L(EF), to je
L(E) L(F),
esto se taka izostavlja, EF oznaava L(E) L(F),
E
*
je regularni izraz koji oznaava zatvorenost jezika
L(E), odnosno (L(E))
*
,
(E) je regularni izraz koji oznaava isti jezik kao i E,
formalnije (L(E)) = L(E).
3
7 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Regularni izraz primer 1
ZADATAK: Sainiti regularni izraz koji definie jezik koga
ine rei sainjene od alternacija nula i jedinica.
1. osnovni simbol jezika bi bio 01, L(01),
2. to je samo jedna alternacija, za vie treba * operator, tako
01
*
ili (01)
*
?
3. ali L((01)*) je podskup onoga to se trai zadatkom, jesu
alternacije ali je uvek vodea nula, brute force pristup daje
(01)
*
+ (10)
*
+ 1(01)
*
+ 0(10)
*
4. inteligentnije, na osnovu definicije + operatora
L( + 1) = L() U L(1) = {} U {1} = {, 1}
pa je reenje
( + 1)(01)
*
(0 + )
8 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Prioriteti operatora regularnih izraza
Kao i u svakoj algebri, operatori imaju svoj prioritet, od
najvieg ka najniem:
* operator,
1. operator,
4. + operator.
Promena prioriteta mogua pomou zagrada.
Koje jezike definiu naredni izrazi?
1. 01
*
+1
2. (01)
*
+1
3. 0(1
*
+1)
4
9 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KA i regularni izrazi
utvreno je da bilo koji tip KA prihvata neki regularni jezik
L(KA),
ak je tako izvedena ekvivalencija NKA i DKA,
utvreno da regularni izraz RE takoe generie regularni
jezik L(RE),
posledica: regularni izraz RE moe biti predstavljen kao
KA i obrnuto jer im je u osnovi isti regularni jezik L!
TRANSFORMACIJE:
1. RE u (-N)KA
2. KA u RE
10 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Regularni izrazi u (-N)KA 1
pretpostavka da postoji regularni izraz RE i treba nai KA
takav da L(RE) = L(KA),
najjednostavnije za svaki strukturni element RE pronai
odgovarajuu KA strukturu!
RE konstante i promenljive:
1. RE=
2. RE=
3. RE=a
a
5
11 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Regularni izrazi u (-N)KA 2
sada treba pronai KA predstave regularnih operatora:
UNIJA, ER = F + G, ako se pretpostavi KA
F
i KA
G
takvih da
prepoznaju L(KA
F
)=L(F), odnosno L(KA
G
)=L(G), trai se
KA
ER
koji definie L(KA
ER
)=L(ER), a to je po definiciji
L(F+G)=L(F) U L(G), sledi da je KA
ER
= KA
F
U KA
G
KA
F
KA
G

KA
ER

12 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005


Regularni izrazi u (-N)KA 3
KONKATENACIJA, ER = F G, slino preanjem, trai se
KA
ER
koji definie L(KA
ER
)=L(ER), a to je po definiciji
L(FG)=L(F) L(G), sledi da je KA
ER
= KA
F
KA
G
KA
F
KA
G
KA
ER

6
13 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Regularni izrazi u (-N)KA 4
ZATVORENOST, ER = F
*
, trai se KA
ER
koji definie
L(KA
ER
)=L(ER), a pomou KA
F
takvog da L(F).
KA
F
KA
ER

KA
F
14 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Regularni izraz u DKA primer 1
ZADATAK: Odrediti DKA koji prihvata jezik 10+(0+11)0
*
1.
1. pronae se -NKA koji prihvata 10+(0+11)0
*
1.
2. eliminiu se spontani prelazi, NKA
1 1
0


0 1
1 0

0
1 2
1
1
0
0
1
4
1
0
3
7
15 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Regularni izraz u DKA primer 2
3. konvertuje se NKA u DKA
0
1 2
1
1
0
0
1
4
1
0
3
{1,2,3,4} {2,3} *{0,1,2,3,4} {2,3} {2} {1,2}
{2,3} {2,3} *{1,2,3,4} {1,4} {2,3} {0,4}
{1,2,3,4} {2} *{0,1,2,3} {1,4} {2} *{0,3}
{3} {2,3} *{2,3,4} {1,3,4} {2} {0,2}
{2,3} {2} *{1,2,3} {1,2,4} {2} {0,1}
{1,2,3} {2} {0,1,2} {3} {4}
{3} *{3,4} *{3}
{3} {2,3} {2,4} {3} {2} {2}
{3} {2} *{2,3} {2} {1}
{2} {3} {1,4} {1,4} {2} {0}
{2} *{1,3}
1 0 1 0
0
1,4
1
0
1
0
1
2
0
3
16 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KA u regularni izraz 1
algoritmom zasnovanim na eliminaciji stanja KA,
prvo treba pripremiti (standardizovati) KA tako da:
postoji samo jedno finalno stanje,
nema prelaza iz finalnih stanja,
nema prelaza koji ulaze u inicijalno stanje,
ovo se obavlja pomou prelaza.
Algoritam:
1. Pretpostaviti da su finalno i inicijalno stanje oznaeni sa n
i n-1. Eliminiu se stanja 1, 2, , n-2 jedno za drugim
stvarajui meuautomate iji su prelazi oznaeni
regularnim izrazima.
2. Zavrava se sa automatom koji ima dva stanja, n-1 i n, i
jednim prelazom koji je oznaen ekvivalentnim regularnim
izrazom ER.
8
17 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KA u regularni izraz 2
For k = 1 t o n- 2 (* eliminie po jedan meuvor *)
For i = k+1 t o n- 1
For j = k+1 t o n
case putanja od i preko k do j of
i k j
F E
i j
EF
i k j
E F
G
i j
EG*F
i k j
E F
H
i j
EF + H
i j
EG*F + H
i k j
E F
G
H
18 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KA u regularni izraz primer 1
a
a
a
b b
b
a
3
1 2
a
a
b b
b
5
4

1. da ima jedno finalno stanje


2. bez prelaza iz finalnog stanja
3. bez prelaza u inicijalno stanje
4. renumeracija da finalno = n a
inicijalno = n-1
9
19 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KA u regularni izraz primer 2
2-1-2 2-(aa)-2
2-1-3 2-(b+ab)-3
2-1-4
2-1-5
3-1-2 3-(ba+a)-2
3-1-3 3-(bb)-3
3-1-4
3-1-5
4-1-2 4-(a)-2
4-1-3 4-(b)-3
4-1-4
4-1-5
3
1 2
a
a
b b
b
5
4

a
3
2
ba+a
b+ab
5
4
a

b
aa
bb
i k j
F E
i j
EF
i k j
E F
H
i j
EF + H
20 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KA u regularni izraz primer 3
3-2-3 3-( (ba+a)(aa)*(b+ab) +bb )-3
3-2-4
3-2-5 3-( (ba+a)(aa)* + )-5
4-2-3 4-(a(aa)*(b+ab) + b)-3
4-2-4
4-2-5 4-(a(aa)*)-5
3
2
ba+a
b+ab
5
4
a

b
aa
bb
i k j
E F
G
H
i j
EG*F + H
3
5
4
(ba+a)(aa)* +
a(aa)*(b+ab) + b
(ba+a)(aa)*(b+ab) + bb
a(aa)*
10
21 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KA u regularni izraz primer 4
4-3-4
4-3-5 4-((a(aa)*(b+ab) + b) ((ba+a)(aa)*(b+ab) + bb)*
((ba+a)(aa)* + ) + a(aa)*)-5
(a(aa)*(b+ab) + b) ((ba+a)(aa)*(b+ab) + bb)* ((ba+a)(aa)* + ) +
a(aa)*
3
5
4
(ba+a)(aa)* +
a(aa)*(b+ab) + b
(ba+a)(aa)*(b+ab) + bb
a(aa)*
22 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Primena regularnih izraza
pronalaenje patterns u tekstu
find,
search & replace,
leksika analiza (tokeni jezika u korektnoj konstrukciji),
kada korisnik zada neki regularni izraz, on se
prevede u KA, nedeterministiki ili deterministiki,
pa se interpretira na datom tekstu,
vraajui sekvence simbola koje je automat prepoznao.
praktine vebe.
11
23 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
UNIX regularni izraz 1
UNIX omoguava gradnju regularnih izraza (grep, lex, vi),
razlikuje naredne operatore
. neki karakter
[xyz] neki od karaktera x, y, or z
[a-z] neki simbol od a do z
| unija
? nula ili jedno ponavljanje
* Kleene star, zatvorenost *
+ zatvorenost +
\ escape sekvenca
rastumaiti naredne UNIX regexp
[-+]?[0-9]*\.?[0-9]*
[-+]?([0-9]*\.[0-9]+|[0-9]+)
[-+]?([0-9]*\.)?[0-9]+
24 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
UNIX regularni izraz 2
ZADATAK: Razviti UNIX regexp koji definie IP adresu!
255.255.255.255
12
25 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
(Ne)regularni jezik
regularni jezik je definisan sa KA,
kako zakljuiti da li je neki jezik regularan ili nije?
ako je mogue sainiti odgovarajui KA,
PRIMER: Da li je jezik
L = { 0
n
1
n
| n 1}
regularan?
Jednostavniji nain da se proveri da li je neki jezik regularan
ili nije pumping lema (lema o napumpavanju) gde nema
kombinovanja stanja u KA.
26 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Lema o napumpavanju 1
pretpostavka da je L regularni jezik, pri emu je r re iz L a
y je neprazna podre rei r. Tako,
r = xyz,
za neke podrei x i z .
Tada se za y kae da je pumpa u rei r ako sve rei
x y
i
z
(xz, xyz, xyyz, xyyyz, )
pripadaju jeziku L.
egzistencija pumpe ukazuje da bi odgovarajui KA jezika L
morao imati petlju (zatvoreni/e prelaz/e),
13
27 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Lema o napumpavanju 2
LEMA O NAPUMPAVANJU
Neka je L regularni jezik. Tada postoji broj n takav da sve rei
r L takve da |r| n, postoji prefiks rei r ija je duina manja
od n a koji sadri pumpu.
Formalno: Ako r L i |r| n tada r = xyz takvi da
1. y
2. |xy| n (xy je prefiks)
3. xy
i
z L
Broj n se naziva konstanta napumpavanja jezika L.
28 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Postupak dokazivanja (ne)regularnosti
Dokazivanje neregularnosti jezika se sprovodi lemom o
napumpavanju.
1. pretpostavi se da je L regularan (kontradikcija) sa n
konstantom napumpavanja,
2. pronae se re r L maksimalne duine n koja ne sadri
pumpu u svom n-prefiksu.
obino tako to se dekomponuje re, r=xyz, tako da je
y i |xy| n.
tada se mora pokazati da za neko konkretno i (nula ili
vee) re xy
i
z ne pripada jeziku L.
Na alost, izbor rei r zahteva genijalnost.
14
29 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Primer dokazivanja (ne)regularnosti
Pokazati da jezik L={0
m
1
m
| m 0} nije regularan.
1. pretpostavimo n kao konstantu napumpavanja regularnog
jezika L, tako da se ima re r = 0
n
1
n
.
2. pokazati da nema pumpe u n-prefiksu od r, to je 0
n
.
ako je y pumpa u 0
n
, 0
n
= xyz, tada i xyyz mora biti re
jezika L,
kako je |y| > 0, pa |xyz| = n tada |xyyz| = p gde je p >
n,
tako se stiglo do 0
n
1
m
gde je n>m, to nije po
definiciji u jeziku L,
stiglo se do kontradikcije to rezultuje injenicom da
jezik L, 0
m
1
m
nije regularan.
30 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Gde smo stigli
znamo
jezik skup rei nekog alfabeta,
konani automat mehanizam regularnog jezika,
regularni izrazi algebarsko pravilo regular. jezika,
lema o napumpavanju utvruje regularnosti jezika,
dobijeni regularni jezik je slabe semantike moi (za HW),
potrebno monije sredstvo (za SW)
kontekstno slobodne gramatike i jezici
uveo Noam Chomsky 1959. godine s ciljem da formalizuje
strukturu govornih jezika (jo neuhvatljivo), ali prihvaeni
kao formalizam za definisanje (sintakse) program. jezika,
ova teorija je skoro potpuno automatizovala proizvodnju
parsera,
15
31 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Kontekstno slobodne gramatike i jezici
gramatika pravila graenja reenica nekog jezika,
u knjievnosti podrazumeva jedinstvo sintakse i
semantike,
u teoriji formalnih jezika moe biti slobodna ili ne od
samog znaenja (konteksta) reenice,
konteksno slobodna gramatika (KSG) je skup pravila
rekurzivne prirode kojima se jednostavno definiu nizovi
rei (reenice) nekog jezika,
konteksno slobodni jezik (KSL) je jezik opisan konteksno
slobodnom gramatikom,
32 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KSG (skoro) neformalno
<broj> ::= <neoznacen broj> | <predznak> <neoznacen broj>
<neoznacen broj> ::= <ceo broj> | <ceo broj> .
<ceo broj> ::= <cifra> | <cifra> <ceo broj>
<predznak> ::= + | -
<cifra> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
ta je definisano? iji kvantitet oznaava?
Bakus-Naur-ova forma kao jedna od notacija, sastoji se od:
produkciona pravila,
sintaksne kategorije (neterminali, varijable)
definisane pomou drugih neterminala i terminala
(zavrnih simbola),
16
33 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KSG formalno 1
Kontekstno slobodna gramatika je definisana etvorkom
KSG = (V,T,P,S),
gde je
V je konaan skup varijabli (neterminala),
T je konaan skup terminala,
string a T
*
naziva se reenicom,
P je konaan skup produkcionih pravila u formi
X a, gde je X V i a (V U T)
*
,
string (V U T)
*
naziva se reeninom formom,
S, startni simbol koji je element skupa V,
34 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KSG formalno 2
KSG se esto opisuje saetije kao na primer gramatike
izbalansiranih zagrada:
KSG
2 =
( V={S}, T={(,)}, P={ Se, SSS, S(S) }, S=S}
zadavajui samo produkcije
S | SS |(S)
pri emu su koritene naredne konvencije:
1) Startni simbol je lhs prve produkcije.
2) Vie produkcija za isti lhs neterminal mogu biti
grupisane pomou vertikalne crte ( | ).
3) Neterminali su ispisani velikim slovima.
4) Terminalni simboli su ispisani malim slovima ili su
nealfabeti.
17
35 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Derivacija
Jednokorana derivacija nad (V U T)
*
je definisana kao:
akko se dobilo iz sa zamenjivanjem
pojavljivanja lhs produkcije sa njenom rhs.
Tako e 'A'' ''' vaiti samo akko je A
produkciono pravilo.
Derivacija

oznaava sluaj kada se moe dobiti iz


pomou nekoliko (mogue 0) derivacionih koraka.
Jezik KSG je skup
L(KSG) = {wT
*
| S

w} (gde je S startni simbol u KSG)


Kontekstno slobodni jezik je jezik generisan nekim KSG.
36 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Primer
Neregularni jezik
L = { a
k
b
k
| k 0 }
je kontekstno slobodan.
KSG G
1
je data sa T={a,b} i V={S} i produkcionim pravilima:
1. S
2. S a S b
Tako, derivacija koja pokazuje a
3
b
3
L(G
1
):
S
2
aSb
2
aaSbb
2
aaaSbbb
1
aaabbb
Da bi bili potpuno sigurni da je L = L(G
1
), treba dokazati da
vai obostrana inkluzija, L L(G
1
) i L(G
1
) L (Hopcroft,
str. 179).
18
37 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Krajnje leva i krajnje desna derivacija
isti string w moe imati vie moguih derivacija
S a
0
a
1
a
2
a
n
w
krajnje levom derivacijom se naziva derivacija gde se u
svakom koraku a
i
a
i+1
, zamenjuje krajnja leva varijabla u
a
i+1
sa rhs produkcije,
krajnje desna derivacija zamenjuje poslednju varijablu,
na primer, gramatika:
1. S AS |
2. A 0A1 | A1 | 01
Krajnje leva derivacija:
SASA1S011S011AS0110A1S0110011S0110011
Krajnje desna derivacija:
SASAASAAA0A1A0011A100110110011
38 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Stablo parsiranja
hijerarhijska predstava derivacija neke KSG,
uobiajeni mehanizam u kompajlerima,
na primer za gramatiku S | SS |(S) jezika izbalansiranih
zagrada stoji stablo,
gde se moe prepoznati krajnje leva
derivacija
S SS (S)S ((S))S (())S
(())(S) (())()
ali i krajnje desna derivacija
S SS S(S) S() (S)() ((S))()
(())()
S
S
S
S
S
S

)
)
) (
(
(
19
39 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Definicije
Stablo parsiranja KSG = (V,T,P,S) je stablo u kome:
svaki unutranji vor je obeleen varijablom iz V,
svaki list je obeleen ili varijablom (V), terminalom (T) ili ,
list obeleen sa mora biti jedini potomak,
ako je vor obeleen sa A a njegovi potomci obeleeni s
leva udesno sa X
1
,,X
k
, tada je A X
1
X
k
produkcija u
KSG.
Proizvod (the Yield) stabla , Y() je string u (V U T) koji:
1. ako je list, tada je Y() njegova labela,
2. ako su
1
,
k
podstabla korena (od levo ka desno),
tada je Y()=Y (
1
) Y(
k
), odnosno string dobijen
itanjem labela listova.
40 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Stablo parsiranja predstavlja derivacije
T1. Ako je A labela korena stabla parsiranja, a je njegov
proizvod, tada A

.
T2. Ako A

, tada postoji stablo parsiranja sa korenom
labelisanim sa A i proizvodom .
Restrikcijom na stabla sa listovima oznaenim sa terminalima
ili , dobija se kontekstno slobodan jezik
L(A) = {r T
*
| A

r }
koga ine rei koje se pojavljuju kao proizvodi stabla
parsiranja sa korenom A.
T1. Ako je A labela korena stabla parsiranja, a r T
*
njegov
proizvod, tada A

klevo
w i and A

kdesno
w
posledica, za KSG svaka re u L(KSG) ima po jednu
krajnje levu i krajnje desnu derivaciju,
20
41 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Dvosmislenost
stablo parsiranja rei r L(KSG) opisuje odgovarajuu
strukturu rei r. Mada je viestruka derivacija od r OK,
oekuje se obino unikatno stablo parsiranja,
unikatnost nije garantovana pa ako ne postoji, kae se da je
KSG dvosmisleno,
preciznije, KSG je dvosmislena ako r L(KSG) sa dve
krajnje leve derivacije (ekvivalentno, sa dva razliita stabla
parsiranja),
na primer, KSG:
E(E) | E+E | E*E | 1 | 2 | 3 |
i re 1+2*3
imaju dva stabla parsiranja:
E
+
*
2
E
E E
E
3
1
E
*
+
1
E
E E
E
2
3
42 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Eliminisanje dvosmislenosti
ak i ako je KSG jezika L dvosmislena, esto je mogue
(nema garancija) pronai drugu gramatiku istog jezika koja
nije dvosmislena,
na primer, u gramatici aritmetikog izraza prethodnog
primera uvedu se dve nove varijable F i T kojima se
obezbeuje vei prioritet operatoru * od + kada bi
asocijativnost odvela do dvosmislenosti:
1. E T | E+T
2. T F | T*F
3. F (E) | 1 | 2 | 3 |
21
43 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KSG i regularni jezik
T1. Za svaki regularni jezik L, postoji kontekstno slobodna
gramatika G takva da vai L = L(G).
za jezik L postoji KA=(S, A, ps, s
0
, F) gde vai da je SA=,
pretpostavimo gramatiku G=(V, T, P, S) takvih da je V=S,
T=A a S=s
0
pa je skup produkcionih pravila
P = {q ap | ps(q,a)=p} U {f | f F}
tada
p,q S x A, ps(q,x)=p | q

xp G
tako da je re r L ako postoji derivacija
s
0


rf r
za neko stanje f F
44 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
KA u KSG
Znai da svaki (N)KA moe u KSG (L L(KSG)), ali ne i
obrnuto.
na primer, za KA se konstruie
gramatika G=(V,T,P,S), gde su
V={S, A, B, C}
T={0,1}
i skupom P sa produkcijama
S 0A | 1B
A 0A | 1C
B 0C | 1B
C 0C | 1C |
22
45 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Hijerarhija omskog 1
definisana 4 nivoa formalnih jezika tako da svaka
predstavlja nadogradnju one ispod,
svaki jezik je opisiv gramatikom i odgovarajuim
automatom,
regularna (KA) i KSG
(PushDownAutomata)
apstrakcija osnovnih ideja
(iteracija i rekurzija)
kont. zavisna gramatika i
(LinearBoundedAutomata)
daju jezike primitivnih
rekurzivnih funkcija
slobodna (TuringMachine)
rekurzivno nabrojivi jezici,
osnov izraunljivosti
KSG PDA
KZG LBA
regularna KA
proizvoljna TM
46 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2005
Hijerarhija omskog 2
ureena etvorka klasa jezika po tipu maine koja bi
prepoznavala rei tog jezika,
svaka gramatika ima svoju mainu (automat) za
prepoznavanje,
hijerarhijski odnos minimalni automat moe biti
predstavljen u svakoj gramatici, on definie pattern
odgovarajueg jezika date gramatike,
veliina automata moe biti sagledana kao mera
kompleksnosti (semantike moi) jezika,
sami automati oslikavaju arhitekturu sistema za
procesiranje informacija, to je predmet izuavanja u
nastavku.
23
1 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Teoretske osnove
raunarstva
3. Automati sa memorijom
2 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Osnovni koncepti 1
konani automat sa eksternom memorijom (ne)ogranienog
kapaciteta,
automat radi tako to:
za ulazni simbol iz T, i za simbol iz memorije
(skladita) S i za trenutno stanje M,
automat prelazi u novo stanje i pie simbol u S i
pomera R/W glavu S/T.
( [ ] [ ] [ ( [ ] [ ] ) ] )
AUTOMAT M
EKSTERNA
MEMORIJA
S
ULAZNA TRAKA T
3 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Osnovni koncepti 2
najvaniji parametri su:
skladite (veliina ograniena ili ne, moe da zavisi
od ulaza; organizacija red sa 1 ili 2 kraja, matrica;
pristup),
operacije pristupa (itaj, pii, pomeranje glave, ta
ako je prazna, jedna ili vie traka..)
akcepcija (u ciljno stanje ili eljeno stanje memorije),
razmatraemo naredne automate sa memorijom:
PushDownAutomata potisni automat,
LinearBoundedAutomata linearno ogranien
automat,
Turing Machines Tjuringova maina,
automate e pratiti odgovarajue gramatike prema
hijerarhiji omskog,
4 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
PDA potisni automat
kao -NKA sa stek (LIFO)
organizovanom memorijom,
PDA prelaz zavisi od trenutnog
stanja, vrednosti na traci i na
vrhu steka,
tokom prelaza, postavlja novi simbol na stek ili ,
grafiko predstavljanje
( [ ] [ ] [ ( [ ] [ ] ) ] )
AUTOMAT M
ULAZNA TRAKA T
Z
0
Y
X
1
3
a , Z
0
/XZ
0
2
b , X/YX
a , X /
5 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
PDA za balansirane zagrade
(()()) Z
0
, (Z
0
, ((Z
0
, (Z
0
, ((Z
0
, (Z
0
, Z
0
.
(()()())(()) Z
0
, (Z
0
, ((Z
0
, (Z
0
, ((Z
0
, (Z
0
, ((Z
0
, (Z
0
, Z
0
, (Z
0
, ((Z
0
, (Z
0
, Z
0
(()(()()()()) Z
0
(()(()())((()()())()) Z
0
S | SS | (S)
omski bio u pravu, PDA prepoznaje KSG
2
( , Z
0
/ (Z
0
( , ( / ((
) , ( /
1
, Z
0
/ Z
0
6 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
PDA za ()[] balansirane zagrade
da li se moe razviti PDA koji prihvata svaku sekvencu
balansiranih malih i srednjih zagrada,
ta bi bio ulazni alfabet, alfabet trake?
nacrtati dijagram stanja/prelaza takvog PDA.
7 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
PDA formalna definicija
PDA X je definisan sedmorkom
X = (S , A , , ps , s
0
, Z
0
, F)
gde je
S skup svih stanja automata,
A alfabet trake automata,
alfabet steka,
ps funkcija prelaza automata,
ps: S x (A U {}) X(S
*
)
za dato stanje i ulazni simbol trake (ili ) i simbol na vrhu
steka, PDA daje konani skup parova (q,), gde je q
naredno stanje a je string simbola koji se postavljaju na
vrh steka,
s
0
inicijalno stanje automata, s
0
S,
Z
0
poetni simbol steka, Z
0
,
F skup ciljnih stanja automata, F S
8 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Konfiguracija PDA 1
PDA se nedeterministiki ponaa jer
ps: S x (A U {}) X(S
*
)
PDA se kree iz jedne u drugu konfiguraciju gde je svaka
konfiguracija definisana trojkom
(q, Wa, W)
gde je
q tekue stanje PDA,
Wa preostali simboli na traci PDA,
W preostali simboli na steku PDA.
Snapshot situacije u PDA.
9 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Konfiguracija PDA 2
Relacija oznaava mogue prelaske iz jedne u drugu
konfiguraciju nekog PDA, koji ima ps(q, a, x) koja sadri
par (p, ), tada
(q, aw, x) (p, w, ), w A
*

*
znai da e trenutnu poziciju PDA zameniti novom u stanju p,
nekim simbolom/a w na ulaznoj traci i na steku.
Zatvorena relacija , oznaena sa
*
, definisana sa
(q, Wa, W)
*
(p, Ra, R)
vai ako su (q, Wa, W) = (p, Ra, R), ili
postoje prelazi (koraci) (q
i
, Wa
i
, W
i
) gde i=1..N takvi da vai
(q, Wa, W) = (q
1
, Wa
1
, W
1
) (q
2
, Wa
2
, W
2
)
(q
N
, Wa
N
, W
N
) = (p, Ra, R)
Izraunavanje unutar PDA je niz ovakvih koraka.
10 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Jezici PDA
poznato da je jezik skup rei koje prepoznaje automat,
PDA ima problem jer on moe prepoznati re w
u finalnom stanju,
sa praznim stekom,
Jezik L prihvatljiv u finalnom stanju nekog PDA
P=(S,A,,ps,s
0
,Z
0
,F) je
L(P) = { w | (s
0
, w, Z
0
)
*
(p, , )} , p F
Jezik N prihvatljiv sa praznim stekom nekog PDA
P=(S,A,,ps,s
0
,Z
0
,F) je
N(P) = { w | (s
0
, w, Z
0
)
*
(p, , )} , p F
mogue da je neki jezik bude i L i N, obino nije ali tada se
moe svesti na L ili N,
11 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primer L/N jezika PDA
Za PDA koji prihvata neregularni jezik L={0
i
1
j
| 0 i j} dat je
lanac konfiguracija (sraunavanje) rei 001111.
(s,001111,Z
0
)
|- (s,01111,XZ
0
)
|- (s, 1111,XXZ
0
)
|- (p,111,XZ
0
)
|- (p,11,Z
0
)
|- (q,11,Z
0
)
|- (q,1,Z
0
)
|- (q,e,Z
0
)
s
q
0, X/XX
0, Z
0
/XZ
0
p
1, X/
1, X/ , Z
0
/Z
0
1, Z
0
/Z
0
, Z
0
/Z
0
12 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Veza L i N jezika PDA 1
T. Jezik L je L(P
1
) za neki PDA P
1
ako i samo ako je
istovremeno on i N(P
2
) za neki PDA P
2
.
1. Sa praznog steka u finalno stanje.
Dat je PDA P
2
koji prihvata praznim stekom, napraviti PDA
P
1
dodavanjem novog poetnog stanja i finalnog stanja.
Dodaje se i novi simbol steka X
0
koji se proglaava
startnim simbolom P
1
automata.
p
0
P
f
, X
0
/Z
0
X
0
q
0
P
1
, X
0
/
P
2
13 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Veza L i N jezika PDA 2
2. Iz finalnog stanja u prazan stek.
Dat je PDA P
2
koji prihvata finalnim stanjem, napraviti PDA
P
1
dodavanjem novog poetnog stanja, finalnog stanja i
poetnog simbola steka kako je to prikazano slikom.
p
0
P
, X
0
/Z
0
X
0
q
0
, /
P
2
, /
, /
P
1
14 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
KSG i PDA
Ekvivalencija KSG i PDA iskazana pomou dve teoreme
T1. Jezik L(KSG) je prepoznatljiv od nekog PDA.
T2. Za neki PDA P se kae da je L(P) kontekstno slobodan.
Za KSG G=(V,T,P,S), imamo PDA M=({q},T, T U V, ps,q,S),
gde je ps definisana sa
ako A V, tada ps(q,,A) = { (q,) | (A ) P}
ako a T, tada ps(q,a,a) = { (q, ) }
PDA simulira krajnje levu derivaciju G, prihvatanjem sa
praznim stekom. Za neku meuformu uAa u krajnje levoj
derivaciji rei w (w = uv), M e imati Aa na svom steku po
itanju u.
15 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
KSG u PDA primer 1
Gramatika izbalansiranih zagrada: S SS | (S) |
PDA M e imati 5 prelaza, svi iz q u q:
1. ps(q, ,S) = (q, SS) S SS
2. ps(q, ,S) = (q, (S) ) S (S)
3. ps(q, ,S) = (q, ) S
4. ps(q, (, ( ) = (q,)
5. ps(q, ), ) ) = (q,)
Prelazi su spontani za svako produkciono pravilo.
Ostali prelazi se deavaju za svaki terminal.
16 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
KSG u PDA primer 2
Uporediti krajnje levu derivaciju
S SS (S)S ((S))S (())S (())(S) (())()
sa izvravanjem PDA M kada mu se to dostavi na ulaz:
(q, "(())()" ,S ) |- [1]
(q, "(())()" ,SS ) |- [2]
(q, "(())()" ,(S)S ) |- [4]
(q, "())()" ,S)S ) |- [4]
(q, "())()" ,(S))S ) |- [4]
(q, "))()" ,S))S ) |- [3]
(q, "))()" ,))S ) |- [5]
(q, ")()" ,)S ) |- [5]
(q, "()" ,S ) |- [2]
(q, "()" ,(S) ) |- [4]
(q, ")" ,S) ) |- [3]
(q, ")" ,) ) |- [5]
(q, , )
1. ps(q, ,S) = (q, SS) S SS
2. ps(q, ,S) = (q, (S) ) S (S)
3. ps(q, ,S) = (q, ) S
4. ps(q, (, ( ) = (q,)
5. ps(q, ), ) ) = (q,)
17 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
PDA u KSG
pretpostavimo PDA M definisan sa
M = (S , A , , ps , s
0
, Z
0
)
i da on prihvata sa praznim stekom neku ulaznu re.
u nekom trenutku izvravanja
1. pretpostavimo da stek bude u stanju Z (Z je na vrhu,
je ostatak steka)
2. a jednom e PDA M imati na steku samo .
sekvenca prelaza izmeu trenutaka 1 i 2 se naziva
preuzimanje (net popping) Z sa steka
tokom preuzimanja Z sa steka, stek se moe nekoliko puta
iriti i skupljati, neki ulaz e biti konzumiran kao i samo Z
sa steka
18 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
PDA u KSG - preuzimanje sa steka
preuzimanje sa steka je osnovno za PDA 2 KSG
pretpostavimo promenljivu [qZp] u KSG G za svaku trojku
(q,Z,p) SS.
elimo da [qZp] generie tano rei w
*
takvih da PDA
M prelazi iz q u p dok ita ulaz w i preuzima Z
to je izraunavanje PDA M
(q,w,Z) |-* (p, , )
produkcije u KSG odgovaraju prelazima PDA!
ako (p, ) ps(q,a,Z), tada postoji jedno ili vie produkcija
zavisno od kompleksnosti ostatka steka
1. za = , tada se ima [qZp] a
2. za = Y, tada se ima [qZr] a[pYr], r
3. za = YY, tada [qZs] a[pYr][rY's], r i s.
4. i tako dalje za kompleksnije .
19 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
PDA u KSG primer
dati PDA N = ({q},{i,e},{Z},ps,q,Z), gde je
ps(q,i,Z)={(q,ZZ)},
ps(q,e,Z)={(q,)}
u odgovarajuu KSG G
KSG G=(V, {i,e}, R, S), gde je V={[qZq], S} a produkciona
pravila R={[qZq]i[qzq][qzq], [qZq] e}
smenom A sa [qZq] dobijaju se produkcije
S A i A iAA|e
pa je tako
KSG G=({S}, {i,e}, {S iSS|e}, S)
20 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Osobine KS jezika
Simplifikacija KSG cilj pronai to jednostavniju
gramatiku datog KS jezika, to su gramatike posebne forme
normalna forma omskog.
Lema o napumpavanju KS jezika slino kao i u sluaju
regularnih jezika. Da li je neki jezik KS? (Hopcroft str. 274)
Zatvorenost KS jezika slino kao i kod regularnih jezika,
operacije + . * (Hopcroft str. 281)
Osobine za odluivanje na koja pitanja o KS jeziku
moemo dati odgovor. Uglavnom da li je prazan ili neko
njemu pripada dok ne moemo dokazati ekvivalentnost
dva KS jezika (Hopcroft str. 293).
21 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Simplifikacija KSG
neki KS jezik moe imati vie KSG koje ga definiu,
interesuje nas najjednostavnija,
trai se nain da se doe do najjednostavnije KSG,
ostvarljivo tako to se eliminiu
produkcije,
jedinine produkcije,
beskorisne simbole gramatike.
i to ba ovim redosledom.
22 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
produkcija
Promenljiva A je nitavna (nullable) ako A

.
Tada se moe modifikovati gramatika G u G' tako da u njoj
ne bude nitavnih promenljivih a da vai L(G') = L(G) - {}.
Pronalaenje nitavnih simbola je iterativno:
1. Ako je A produkcija, tada je A nitavno.
2. Ako je A B
1
B
2
B
k
produkcija a B
1
,B
2
, ,B
k
su
nitavni, tada je A nitavno.
Kada su poznati svi nitavni simboli, gradimo G' kao:
1. Za svaku produkciju A , dodajemo novu A ,
gde se dobija brisanjem nekih (ili svih) nitavnih
simbola iz .
2. Uklanjanje svih produkcija A
23 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
produkcija - primer
U gramatici G: S AB, A aAA | , B bBB | iskljuiti
nitavne simbole!
A i B su direktno nitavni a S je indirektno nitavan,
gradi se G' proirivanjem pravila
S AB | A | B
A aAA | aA | aA | a
B bBB | bB | bB | b
i iskljuivanjem svih pravila sa dobija se
S AB | A | B
A aAA | aA | a
B bBB | bB | b
24 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Jedinina produkcija
Forma jedinine produkcije je A B, gde su A i B
promenljive.
Ako gramatika nema produkcija, jedinine produkcije se
mogu eliminisati narednim koracima:
1. Pronai sve parove promenljivih takvih da A

B.
2. Dodati produkciju A pri emu A

B .
3. Ukloniti sve jedinine produkcije.
25 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Beskorisni simboli
Korisni simbol (terminalni ili promenljiva) X mora biti
1. generator: X

r za r T
*
2. dostian iz S: S

X za , (V T)
*
Algoritam za eliminisanje beskorisnih simbola
1. Eliminisati negeneratore.
2. Eliminisati simbole koji nisu dostini iz S.
U gramatici S AB | a , A b izdvojiti korisne simbole!
1. B nije generator pa S a , A b,
2. A nije dostino iz S pa je ostalo samo S a.
ta bi se desilo da se prvo gledalo da li je dostian pa onda
da li je generator?
26 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Normalna Forma omskog
Data gramatika je u Normalnoj Formi omskog (NF) ako
nema beskorisnih simbola i sve njene produkcije imaju
jednu od naredne dve forme:
A BC, gde su B i C varijable
1. A a, gde je a terminalni simbol
T. Za svaku KSG G postoji KSG G' u NF takva da vai
L(G')=L(G) - {}
1. eliminisati i jedinine produkcije i beskorisne
simbole,
2. urediti sve produkcije u formu A , gde je
terminal ili sadri samo promenljive,
3. ralaniti svaku produkciju A gde je | |>2 na
vie produkcija ija rhs nije dua od 2.
27 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
NF primer
Dovesti gramatiku: S SS | (S) | u NF
1. Eliminiu se -produkcije i dobija se
S SS | (S) | ()
2. Nema jedininih produkcija niti beskorisnih simbola.
3. Uvode se nove promenljive da bi se zadovoljila NF
S SS | LSD | LD
L (
D )
Ralaniti dugaku produkcije S LSD, pa se dobija
S SS | LA | LD
L (
D )
A SD
28 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Konteksno zavisna gramatika - KZG
gramatika tipa 1 hijerarhije omskog,
moe da ima vie od jednog simbola (gde je barem jedan
neterminalni) na lhs pravila produkcije pri emu se
potuje sledee:
1. tako da vai || ||
2. A nije dozvoljeno sem ako je A startni simbol i
ne nalazi se na rhs bilo kog pravila
odnosno,
produkciona pravila imaju format:
->
gde
V
, , (V u T)
*
29 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
KZG i KZJ definicije
KZG je etvorka
(V, T, P, S)
gde su
V skup varijabli
T skup terminala
P skup kontekstno zavisnih pravila produkcije
S startni simbol
Jezik L je kontekstno zavistan ako postoji KZG G takva da
vai L = L(G) ili L = L(G) {}.
svaki KS jezik je KZ jezik uprkos injenici da postoje KSG
koje nisu KZG,
30 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
KZG i KZJ primer
jezik {a
n
b
n
c
n
, n1} nije KS (pokazati sa lemom o
napumpavanju KSG) ali je KZ sa sledeim pravilima
S -> aSBc
S -> abc
cB -> Bc
bB -> bb
koja generiu rei odreene duine.
na primer 4:
S, aSBc, aabcBc, aabBcc, aabbcc
ali moe i 6:
S, aSBc, aaSBcBc, aaabcBcBc, aaabBccBc, aaabBcBcc,
aaabBBccc, aaabbBccc, aaabbbccc
31 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Linear Bounded Automata LBA
specijalan sluaj Tjuringove maine koja je sledea tema,
automat sa memorijom koji nema stek nego samo ulaznu
traku ograniene duine (markeri [ ] )
do [, LBA M staje ili se njegova r/w glava kree udesno,
do ], LBA ili staje ili se njegova r/w glava kree ulevo,
LBA M nikada ne pie [ niti ],
markeri [ i ] nikada ne mogu biti pomereni,
[ ]
a
b
c
d
e
levi marker
ulazna re
desni marker
radni prostor trake
32 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
LBA i jezici
Linearno ogranieni automat LBA M je definisan petorkom
(S, A, T, ps, s
0
)
gde su
S skup stanja LBA M,
A skup ulaznih simbola LBA M,
T skup alfabeta trake LBA M, T = A U {, [ , ]} A
ps funkcija prelaza, ps: S x T A x T \ {} x {L, D}
s
0
poetno stanje LBA M, s
0
S.
LBA je vee semantike moi od PDA,
LBA M prihvata jezik L ako M prihvata sve i samo rei
jezika L,
jezik L je LBA-prihvatljiv ako postoji LBA koji prihvata
njegove rei,
jezik L je kontekstno zavistan ako i samo ako je LBA-
prihvatljiv.
33 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Odluivost (decidability)
Problematina u samoreferentnim izrazima koji obino
vode u paradoks.
Ova reenica je pogrena.
Jedan Grk je rekao da svi Grci lau a da samo on pria
istinu.
Berberin jednog sela brije samo one koji se ne briju
sami. Da li se on sam brije?
Jo je manja kada se radi o nekompletnosti.
Stoga je definisan problem odluivosti (reivosti):
Za dati skup S i njegov podskup A, problem odluivosti
bi bio pronalaenje algoritma koji bi prihvatio proizvoljni
element x S i vratio T ili F zavisno da li je xA or xA.
Da li je dati broj prost? (trei primer sa poetka)
Da li je data gramatika dvosmislena?
34 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Problem odluivosti i jezici
generalnije, za funkciju f: X Y, moe biti interesantno da
se proveri egzistencija algoritma koji bi za ulaz x X
proizveo izlaz f(x) Y.
Ili redukovano na problem odluivosti, uzeti
S = X Y i A = { (x,y) | y=f(x)} S
pa ako reimo ovaj problem odluivosti za A tada smo
sraunali funkciju f. (Kako?)
u svetu jezika: Problem odluivosti za jezik L nad {0,1} je
pronai algoritam koji e za svaku re r {0,1}
*
vratiti T ili
F zavisno od toga da li je r L ili nije.
ukoliko nismo u stanju pronai algoritam, problem je
NEODLUIV.
35 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Algoritam i izraunljivost
nema algoritma problem je neodluiv (nereiv),
ali ta je algoritam?
ini ga konaan broj jednostavnih i preciznih
instrukcija koje su opisane konanim brojem simbola,
dae rezultat posle konanog broja koraka,
u principu moe biti sproveden od strane oveka na
papiru,
izvravanje algoritma ne zahteva inteligenciju oveka
osim da se razumeju i izvre instrukcije.
ali zahteva se vei formalizam u definisanju ostvaren u
tezi Alonzo era i Alana Tjuringa,
36 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
er-Tjuringova teza
definie algoritam (efektivnu proceduru) preko efektivno
izraunljiva funkcija f
Tjuring:Every function which would naturally be regarded
as computable can be computed by a Turing machine
fizika verzija Church-Turing:Every function that can be
physically computed can be computed by a Turing
machine.
efektivna procedura (algoritam) je ona koja izraunava f u
konanom broju instrukcija jednoznanog redosleda
izvravanja pri emu ulazi u proceduru moraju biti iz
domena funkcije f, u suprotnom procedura ne sme da
proizvede rezultat.
veoma slobodno: algoritam je ono to radi TM.
37 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Tjuringova maina neformalno
KA sa beskonano dugom trakom
po kojoj moe da ita i pie,
traku ine elije u kojima se nalazi
simbol alfabeta trake ili prazno ,
itaj/pii glava moe L ili D pri emu
pristupa samo jednoj eliji u jednom trenutku, inicijalno
glava stoji na prvoj ne-praznoj eliji od poetka,
sadraj elije trake i trenutno stanje upravljakog
automata A odreuju naredni korak TM,
korak TM ine:
promena sadraja skenirane elije trake,
repozicioniranje glave na prvu levu ili desnu eliju,
promena stanja upravljakog automata A.
a b c a a b
AUTOMAT M
ULAZNA TRAKA T
38 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Tjuringova maina formalno
Tjuringova maina je definisana sedmorkom
(S, A, T, ps, s
0
, B, F)
gde su
S konaan skup stanja,
A skup ulaznih simbola,
T skup simbola trake, alfabet trake, A T,
B prazan simbol, B T \ A,
s
0
poetno stanje, s
0
S,
F skup finalnih stanja, F Q,
ps funkcija prelaza, ps: S T S T {L,D}
parcijalna funkcija, vrednost ps(q,X) je ili
nedefinisano ili je trojka: novo stanje, novi simbol
elije i smer pomeranja r/w glave.
39 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
TM primer
Konstruisati TM koja proverava 3. simbol, ako je 0 onda
prihvata, a ako nije, TM se beskonano izvrava.
M=({p,q,r,s,t},{0,1,},{0,1,B},ps, p,B,{s})
ps(p,X) = (q,X,D) za X=0,1
ps(q,X) = (r,X,D) za X=0,1
ps(r,0) = (s,0,L)
ps(r,1) = (t,1,D)
ps(t,X) = (t,X,D) za X=0,1,B
0/(0,)
s
p q
0/(0,)
1/(1,)
r
0/(0,)
1/(1,)
t
1/(1,)
0/(0,)
1/(1,)
B/(B,)
40 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
TM konfiguracija 1
TM konfiguracija je string oblika
q
gde su ,
*
i q S.
re se sastoji od nepraznih simbola alfabeta trake koji se
nalaze na levoj strani trenutne pozicije glave,
re se sastoji od nepraznih simbola alfabeta trake koji se
nalaze na trenutnoj poziciji glave i desno od nje,
kao i kod PDA i TM poznaje relaciju izmeu konfiguracija,
za konfiguraciju =X
1
. . . X
i-1
q X
i
. . . X
k
ako ps(q,X
i
) je nedefinisana, tada ne postoji
konfiguracija ' takva da '.
ako ps(q,X
i
)=(p,Y,D) tada vai
' za ' = X
1
. . . X
i-1
Y p X
i+1
. . . X
k
41 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
TM konfiguracija 2
slino, ako ps(q,X
i
)=(p,Y,L) tada vai
za =X
1
. . . pX
i-1
YX
i+1
. . . X
k
postoje dva posebna sluaja:
i = 1, glava treba da ide levo i postavi Y
za =pBYX
2
. . . X
i-1
X
i+1
. . . X
k
i = k, glava treba da ide desno i postavi Y
za =X
1
. . . X
i-1
X
i+1
. . . X
k-1
Y p B
prethodni primer i konfiguracije za traku 0101
p0101 0q101 01r01 0s101
prethodni primer i konfiguracije za traku 0111
p0111 0q111 01r11 011t1 0111t 0111Bt 0111BBt

ps(p,X) = (q,X,D) za X=0,1


ps(q,X) = (r,X,D) za X=0,1
ps(r,0) = (s,0,L)
ps(r,1) = (t,1,D)
ps(t,X) = (t,X,D) za X=0,1,B
42 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
TM jezik
jezik Tjuringove maine M definiemo kao skup L(M) svih
rei r takvih da vai
r A
*
, i
s
0
r
*
p , za neko p F i svako i
prihvaen je finalnim stanjem,
jezike koje prihvata Tjuringova maina se nazivaju
rekurzivno nabrojivi jezici (recursively enumerable - RE).
postoji efektivna procedura koja reava problem
odluivosti za dati jezik,
Primer: prethodna TM postoji RE jezik
L(M)= (0+1)(0+1)0(0+1)
*
43 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Prihvatanje zaustavljanjem
postoji jo jedan nain definisanja jezika koji je TM M
prihvatljiv,
takve jezike oznaavamo sa H(M), od halting, i njega ine
rei koje prouzrokuju da se M zaustavi.
preciznije, H(M) ine rei r takve da
r A
*
akko s
0
r
*
p X pri emu je ps(p,X) nedefinisana.
TM maine koje prihvataju finalnim stanjem, odnosno
zaustavljanjem su ekvivalentne jer je mogue
konstruisati TM koja prihvata zaustavljanjem na
osnovu TM koja to radi u finalnom stanju,
konstruisati TM koja prihvata finalnim stanjem na
osnovu TM koja to radi zaustavljanjem,
44 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Programske tehnike TM
predstavljanje mogunosti interpretiranja trake i
mehanizma TM tako da se ponaa kao savremeni raunar,
potvrditi da TM moe uraditi sraunavanja koja radi i
savremeni raunar,
teme ovog dela su:
stanje kao skladite, stanje TM nije samo pozicija u
sraunavanju TM nego moe uvati i podatke,
TM sa vie staza na traci, tj. alfabet trake TM ine
torke (multiple tracks TM), odnosno TM ima vie
alfabeta (multi type TM)
45 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
TM stanje kao skladite
neka stanja u TM se strukturiraju tako da neka uvaju
stanje automata a druga podatke,
Primer. Za TM M=(S, A, T, ps,s
0
,B,F) i da ga elimo
promeniti tako da kada se nae u stanju r, razmeni sadraj
dve susedne elije (trenutnu i prvu desno) i pree u q.
iskoristimo dva slobodna simbola p i s i dodamo u S
stanja [p,X] i [s,X], za svako X T. Dodaju se i prelazi
ps(r,X) = ([p,X],X,D)
ps([p,X],Y) = ([s,Y],X,L)
ps([s,Y],X) = (q,Y,D) , za svako X,Y T .
pa se dobija eljeni rezultat:
rXY |- X[p,X]Y |- [s,Y]XX |- YqX
46 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
TM sa viestaznom trakom
elija TM treba da sadri N>1 simbola alfabeta trake,
tada je alfabet TM trake T = T
1
x T
2
x x T
N
, pri emu T
i
mogu biti razliiti alfabeti,
TM traka tada ima N staza, odnosno sadraj jedne njene
elije je N-torka simbola, kojima se moe nezavisno
manipulisati,
sada je prazan simbol N-torka B
i
-ova gde je svaki B
i
T
i
,
primena u sluajevima kada jedna staza sadri podatke a
druga markere kojima se oznaava pozicija u stringu,
primer TM za palindrome alfabeta 0 i 1 koji imaju vie
nula od jedinica,
reenje, prvo proveriti da li je palindrom (to moe i
TM sa stanjima kao skladitima) pa videti koliko ima
nula a koliko jedinica (to ne moe prethodna TM),
47 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
TM sa vie traka
koristi konaan broj nezavisnih traka,
prelazi su odreeni tekuim stanjem
i sadrajem tekuih elija
(jedna po svakoj traci)
tokom prelaza u novo stanje
u skenirane elije se
upisuju novi simboli i svaka glava se pomera kako joj je
nareeno (L, D, S(stacionarno)).
inicijalno, prva traka sadri ulaz a ostale su prazne,
za jednostavniju simulaciju
TM sa K traka koristiti TM sa
jednom trakom i 2*K staza
0 1 1 0 0 0 1
a a a b c c c c c
0 1 1 1 1 1 1 1
0110 0 0 1
aaa b c c ccc
0 1 1 1 1 111

48 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006


Primer TM sa 3 trake za n*m
Razviti TM sa 3 trake koja sraunava funkciju f(n,m)=n*m gde
su n i m prirodni brojevi predstavljeni u formi 1
n
B1
m
B
REENJE:
Inicijalna konfiguracija TM (s,1
n
B1
m
B , B, B),
Ciljna konfiguracija TM je (h,1
n
B1
m
, B, 1
nm
B),
funkcije prelaza su
ps(s,(B,B,B))=(q
1
,(B,B,B),(L,S,S)),
ps(q
1
,(1,B,B))=(q
1
,(1,1,B),(L,D,S)), ps(q
1
,(B,B,B))=(q
2
,(B,B,B),(S,L,S)),
ps(q
2
,(B,1,B))=(q
3
,(B,B,B),(L,S,S)), ps(q
2
,(B,B,B))=(h,(B,B,B),(S,S,S)),
ps(q
3
,(1,B,B))=(q
3
,(1,B,1),(L,S,D)), ps(q
3
,(B,B,B))=(q
4
,(B,B,B),(D,S,S)),
ps(q
4
,(1,B,B))=(q
4
,(1,B,B),(D,S,S)), ps(q
4
,(B,B,B))=(q
2
,(B,B,B),(S,L,S)),
Pokazati sraunavanje ove TM za sluaj da je n=2 a m=3!
49 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Varijante Tjuringove maine
prezentovana osnovna ideja Tjuringove maine,
postoje i razliite varijacije ali sve one su meusobno
ekvivalentne jer za istu inicijalnu konfiguraciju zavravaju
i istoj ciljnoj konfiguraciji, razlika je u meukoracima,
u literaturi se navode:
1. TM sa dvosmernom beskonanom trakom
omogueno irenje trake na obe strane,
2. TM sa dvodimenzionalnom trakom
mogue kretanje glave u 4 osnovna smera
3. TM sa proizvoljno pokretljivom glavom
glava nije ograniena da se pozicionira na
neposredno levu/desnu eliju trake
50 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Rekurzivno (nabrojiv) jezik
rekurzivno nabrojiv ili parcijalno odluiv (reiv) jezik jeste
onaj za koji postoji TM koja nabroji sve validne rei jezika
(odgovara sa TRUE),
ta ako na ulaz doe re koja prouzrokuje da TM M ne
zavri u finalnom stanju?
onda je ona element H(M) jezika, jezik prihvatljiv
zaustavljanjem,
TM se izvrava beskonano.
svaka re za koju TM M se zaustavi pripada rekurzivnom
jeziku,
svaki regularni, konteksno slobodni, konteksno zavisni i
rekurzivni jezik je rekurzivno nabrojiv!
DOBILI MEHANIZAM KOJI SE STALNO IZVRAVA
(rekurzivnost) REAVAJUI SVAKI ODLUIV PROBLEM!
51 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Univerzalna TM UTM 1
cilj razviti TM koja bi bila u stanju da oponaa bilo koju
drugu TM,
jedini nain je da UTM ima barem jednu traku na kojoj je
zapis druge (drugih) TM koju (koje) oponaa,
jezik UTM jesu rei koje definiu izvravanje drugih TM,
potrebno kodirati TM da bi je interpretirala UTM,
na primer neka UTM ima T = {0,1},
kodirati elemente skupova S, A i akcija L i D u formi
etvorke
(s
trenutno
, X, s
naredno
, akcija)
najbolje da duina kodne rei bude slobodna, pa je
potreban separator,
tako na primer sled jedinica kodira a 0 je separator,
52 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
UTM 2
jednu re UTM ine,
m x 1 za s
trenutno
, s
n
je 1
n+1
,
0,
n x 1 za X pri emu je 1-1 a 0-11,
0,
k x 1 s
naredno
, s
n
je 1
n+1
,
0,
L - 111 a D - 1111,
010110101111 00 101011011 00 110110110111 00
11010111011110
53 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
UTM kao kompjuter
Upravljaka jedinica upravlja sa ove tri trake i sprovodi ono
to prepozna u instrukcijskom registru.
MEMORIJA
POKAZIVA NA INSTRUKCIJE
REGISTAR INSTRUKCIJA
AKUMULATOR
54 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Sraunljivost - pregled
paradigma instanci raunanja
operacije nad numerikim podacima,
operacije nad karakterima, manipulacija stringovima,
funkcionalno sraunavanje (nzd(14,35)),
oblasti primene
funkcionalno sraunavanje (brojevi)
prihvatanje jezika (prepoznavanje)
transdukcija (prenosna funkcija)
realizovano kao
Tjuringova maina
algoritam Markova
55 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Algoritmi Markova
Algoritmi markova su alterantivni mehanizam za
modelovanje izraunljivosti,
po procesnoj moi ekvivalentan TM jer se moe
predstaviti kao TM,
algoritam Markova ine eme gde je svaka definisana sa
(A, B, P)
gde su
A neprazan ulazni alfabet,
B konani radni alfabet takav da A B,
P konana, ureena sekvenca pravila produkcije oblika

pri emu se i rei unutar B. Neki forsiraju oblik
L
i
: ; goto L
j
;
56 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primer algoritma Markova
Primer u prepoznavanju korektnih sekvenci forme
I bought a B of As from T S.
Pravila produkcije
"A" -> "apple"
"B" -> "bag"
"S" -> "shop"
"T" -> "the"
"the shop" -> "my brother"
Pravila se se redom razvijaju,
"I bought a B of apples from T S."
"I bought a bag of apples from T S."
"I bought a bag of apples from T shop."
"I bought a bag of apples from the shop."
"I bought a bag of apples from my brother."
1 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Teoretske osnove
raunarstva
4. Teorija kompleksnosti
2 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Resursno ogranieno sraunavanje
prouavali probleme sa stanovita njihove sraunljivosti,
svega je bilo na pretek, bez ogranienja, dareljivi,
sada se okreemo resursno ogranienom sraunavanju,
posmatraju se najosetljiviji resursi:
vreme,
prostor,
sa prostorom koliko-toliko uspeno izlazimo na kraj,
jako bi voleli da to uradimo i sa vremenom koje linearno
prolazi kraj nas,
da li znai da dareljivost jednog resursa tedi drugi?
dodavanje CPUova stvara bri i bri PC?
3 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
O (omicron, landau) notacija 1
notacija velikog O se koristi za opis asimptotskog
ponaanja funkcije,
odnosno opisuje asimptotsku gornju granicu vrednosti
jedne funkcije u terminima druge, jednostavnije, funkcije,
na primer pri sraunavanju efikasnosti algoritma,
vreme (broj koraka) za koje se srauna problem
veliine n moe biti
T(n) = 4 n
2
2 n + 2
pa se kae da je vremenska kompleksnost algoritma
reda (order of) n
2
jer je kvadratni lan dominantan.
4 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
O (omicron, landau) notacija 2
pretpostavimo funkcije realnih brojeva f(x) i g(x) pa se kae
da je
f(x) je reda O(g(x)) kako x
akko postoje brojevi x
0
i M takvih da vai
|f(x)| M |g(x)| za x >x
0
.
O notacija se moe iskoristiti i za opis ponaanja funkcije f
u okolini realnog broja a, kada se kae
f(x) je reda O(g(x)) kako x a
akko postoje brojevi >0 i M takvih da
|f(x)| M |g(x)| for |x - a| < .
5 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
O (omicron, landau) notacija 3
Uobiajene funkcije O notacije koje se susreu u analizi
algoritama kada n .
faktorijel O(n!)
eksponencijalna, neko i "geometrijska" O(c
n
)
polinomijalna, neko i "algebarska" O(n
c
)
kvadratna O(n
2
)
"linearitamska" ili "supralinearna" O(n log n)
linearna O(n)
polilogaritamska O([log n]
c
)
logaritamska O(log n)
konstantna O(1)
naziv notacija
6 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Vremenska kompleksnost kroz primer 1
Koliko vremena treba jednotranoj TM da prepozna jezik
L = { 0
n
1
n
| n 0}
Algoritam 1:
TM M1: za ulaznu re r,
1. Skenira traku i odbacuje ako pronae 0 posle neke 1.
(scan u n koraka, glava za n koraka: total 2n = O(n))
2. Dok se pojavljuju nule i jedinice na traci ponavljaj sledee
skeniraj traku i prekrii jednu nulu i jednu jedinicu u
svakom prolazu,
(scan O(n), prekrii u n/2 koraka: total n/2 * O(n) = O(n
2
))
3. Ako nema vie 0 niti 1, prihvati, inae odbaci.
(scan O(n): total O(n))
Ovaj algoritam je vremenski kompleksan reda O(n
2
).
7 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Deterministiko vreme
Za TM M i funkciju prirodnih brojeva t,
t : N N
kaemo da se M izvrava za vreme t(n) ako za svaki ulaz x
duine n, M obavi zadatak za najvie t(n) vremena (koraka).
Deterministiko vreme
DTIME(t(n)) = {L | L je jezik odluiv za O(t(n))-
vremenskom TM}
Prethodni primer
L = {0
n
1
n
|n 0},
L DTIME(n
2
).
Da li moe bre?
8 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Vremenska kompleksnost kroz primer 2
Algoritam 2:
TM M2: za ulaznu re r,
1. Skenira traku i odbacuje ako pronae 0 posle neke 1.
(scan u n koraka, glava za n koraka: total 2n = O(n))
2. Dok se pojavljuju nule i jedinice na traci ponavljaj sledee
1. skeniraj traku i proveri da li ukupno ima paran ili
neparan broj nula i jedinica, za neparan odbaci,
2. skeniraj traku i prekrii svaku drugu nulu i svaku
drugu jedinicu u svakom prolazu,
(1. O(n), 2. (1+log
2
n): total O(n)*(1+log
2
n) = O(n log n))
3. Ako nema vie 0 niti 1, prihvati, inae odbaci.
(scan O(n): total O(n))
Ovaj algoritam je vremenski kompleksan reda O(n log n).
9 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Vremenska kompleksnost kroz primer 3
Algoritam 3:
TM M3 koja ima dve trake: za ulaznu re r,
1. Skenira traku i odbacuje ako pronae 0 posle neke 1.
2. Do prve jedinice, kopiraj nule sa trake 1 na traku 2.
3. Za svaku jedinicu sa trake 1, prekrii nulu na traci 2. Ako
nema nula tada odbaci.
4. Ako nema vie 0, prihvati, inae odbaci.
Sraunati vremensku kompleksnost.
Vremenska kompleksnost razliitih prostora
M1: O(n
2
).
M2: O(n log n).
M3: O(n).
10 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Nedeterministika TM
Nedeterministika TM je definisana sedmorkom
(S, A, T, ps, s
0
, B, F)
gde su
S konaan skup stanja,
A skup ulaznih simbola,
T skup simbola trake, alfabet trake, A T,
B prazan simbol, B T \ A,
s
0
poetno stanje, s
0
S,
F skup finalnih stanja, F Q,
ps funkcija prelaza, ps: S T 2
|S T {L,D}|
slino deterministikoj TM s tim to na
raspolaganju stoji vie od jedne operacije
koju moe izvriti u jednom stanju za dati
simbol trake,
11 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Operacije NDTM
NDTM N sa jednom trakom i glavom, kada se N nae u stanju
q i sa trake proita vrednost a tada ona:
ako je q F, zaustavlja se prihvatanjem,
suprotno, N ide u stanje q, pie a na traku i pomera glavu
u smeru {L,D} za svako {q, a, {L, D}} ps(q, a),
NDTM N ima punu slobodu izbora koje {q, a, {L, D}} ps(q,
a) da sprovede,
ako je ps(q,a)= tada znai da nema primenljive operacije,
NDTM se zaustavlja i odbacuje.
NDTM N za jednu ulaznu re W ima vie izvravanja do
njenog prihvatanja ili odbacivanja.
PRIMER: Pronai NDTM koja prihvata kompozitni broj.
12 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Nedeterministiko vreme
Za nedeterministiku TM N i funkciju prirodnih brojeva f,
f : N N
kaemo da se N izvrava za vreme f(n) ako za svaki ulaz x
duine n, M obavi zadatak po bilo kojoj putanji
sraunavanja za najvie f(n) vremena (koraka).
Nedeterministiko vreme
NTIME(f(n)) = {L | L je jezik odluiv za O(f(n))-
vremenskom TM}
13 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Deterministiko vs. nedeterm. vreme
Neprihvatljive putanje moraju biti odbaene za f(n) vreme.
14 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Modeli i kompleksnost
Prethodna tri algoritma pokazala odnos modela prostora
(deterministiki modeli) i kompleksnosti:
Za neku vietranu TM koja za vreme t(n) prepozna jezik L,
postoji O(t
2
(n)) jednotrana TM koja prepoznaje L.
POLINOMIJALNI ODNOS
Slino, postoji odnos i izmeu deterministikih i
nedeterministikih modela:
Za neku NDTM koja prepozna jezik L za vreme t(n), postoji
2
O(t(n))
deterministika TM koja prepoznaje jezik L.
EKSPONENCIJALNI ODNOS
15 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Polinomijalni vs. eksponencijalni
10 20 30 40 50 60
n .00001 .00002 .00003 .00004 .00005 .00006
sek. sek. sek. sek. sek. sek.
n
2
.00001 .00004 .00009 .00016 .00025 .00036
sek. sek. sek. sek. sek. sek.
n
3
.00001 .00008 .027 .064 .125 .216
sek. sek. sek. sek. sek. sek.
n
5
.1 3.2 24.3 1.7 5.2 13.0
sek. sek. sek. min mins mins
2
n
.001 1.0 17.9 12.7 35.7 366
sek. sek. min dana godina vekova
3
n
.059 58 6.5 3855 2 10
8
1.3 10
13
sek. min godina vekova vekova vekova
16 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
P klasa
P klasa je skup jezika prepoznatljivih od strane
deterministikih TM za polinomijalno vreme
P klasa je vana jer je:
invarijantna za svaku TM bez obzira na broj traka,
invarijantna za svaki model sraunavanja koji je
polinomijalno ekvivalentan sa TM,
grubo pokriva sve probleme koji su realno reivi,
U
0
) (

=
c
c
n DTIME P
17 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primeri problema P klase
Aritmetika: Sabiranje, oduzimanje, mnoenje, deljenje sa
ostatkom.
Celobrojni algoritmi: Najvei zajedniki delitelj.
Operaciona istraivanja: Maks. tok, linearno programiranje.
Algebra: Mnoenje matrica, odreivanje determinanti,
inverzija matrica, reavanje sistema linearnih jednaina.
Algoritmi nad grafovima: minimum spanning trees,
pronalaenje Ojlerovog puta.
Tipian tok provere prirode algoritma/problema:
1. podeliti algoritam u faze,
2. proveriti da li je svaka faza polinomijalna,
3. proveriti da li je dati broj faza polinomijalan.
18 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primer pronalaenja putanje grafa 1
U datom usmerenom grafu G i vorovima s i t, da li postoji
putanja od s do t?
PATH = {<G, s, t>|G ima direktnu putanju od s do t}
Pitanje je da li PATH P klase?
Algoritam 1, kreemo po brute force pristupu:
1. Ako je m broj vorova u G,
2. ispitati svaku putanju u G ija je duina m,
3. da li ide od s ka t.
Analiza kompleksnosti:
postoji m
m
moguih putanja,
eksponencijalnost u broju sraunavanja,
eksponencijalnost u broju ulaza sraunavanja,
slabo da je P klase, ali ovo je ipak brute force...
19 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primer pronalaenja putanje grafa 2
Algoritam 2, inteligentnije:
1. Markira se s vor u G,
2. ponavljati dok postoji vor za markiranje,
1. skenirati ivice grafa G,
2. ako se pronae ivica (a,b) iz markiranog vora a u
nemarkirani vor b,
3. markirati vor b,
3. ako je markiran vor t tada prihvati, inae odbaci.
Analiza kompleksnosti po fazama:
koraci 1 i 3 se ponavljaju po jedanput,
korak 2 se izvrava najvie m puta jer se svakim barem
jedan vor markira,
broj sraunavanja je polinomijalan...
20 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primer pronalaenja putanje grafa 3
Algoritam 2:
1. Markira se s vor u G,
2. ponavljati dok postoji vor za markiranje,
1. skenirati ivice grafa G,
2. ako se pronae ivica (a,b) iz markiranog vora a u
nemarkirani vor b,
3. markirati vor b,
3. ako je markiran vor t tada prihvati, inae odbaci.
Analiza kompleksnosti faza:
koraci 1 i 3 su polinomijalni,
korak 2 skenira i markira vorove, i on je polinomijalan,
VAI PATH P klase!!!
21 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
NP klasa
NP klasa je skup jezika prepoznatljivih od strane
nedeterministikih TM za polinomijalno vreme
NP klasa je vana jer je:
invarijantna za svaku TM bez obzira na broj traka,
grubo pokriva sve probleme ije se reenje ne moe
efikasno generisati ali se jednostavno moe proveriti,
Hamiltonova putanja, problem putujueg trgovca,
scheduling (operaciona istraivanja)
placement i routing (VLSI dizajn)
kompozicije (factoring/cryptography)...
U
0
) (

=
c
c
n NTIME NP
22 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primer NP klase Hamilton. putanja 1
Hamiltonova putanja u usmerenom grafu G obilazi svaki vor
grafa po jedanput.
HAMPATH = {<G, s, t>|G ima Hamilton. putanju od s do t}
Lako je doi do algoritma eksponencijalnog vremena:
1. generisati svaku moguu putanju, m
m
,
2. proveriti koja je od njih Hamiltonova.
23 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primer NP klase Hamilton. putanja 2
NDTM koja pronalazi reenje u polinomijalnom vremenu:
Za ulaz <G, s, t>,
1. Pogaaj i formiraj listu brojeva p
1
, . . . , p
m
, gde je m broj
vorova u grafu G, i 1 p
i
m.
2. Ako postoji repeticija brojeva u listi, odbaci je.
3. Ako ne vai da je p
1
= s i p
m
= t, odbaci ga.
4. Za i, 1 i m 1, proveri da li je (p
i
, p
i+1
) ivica grafa G. Ako
nije, odbaci, inae prihvati.
Analiza kompleksnosti:
korak 1 je polinomijalan,
korak 2 i 3 su jednostavne provere,
korak 4 je polinomijalan.
24 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Komplementarna NP klasa
NP klasa je definisana kao skup problema odluivosti
(yes/no problem) gde se yes odgovor brzo pronalazio,
realno je za oekivati da se problem bre rei ako se
skoncentrie na no odgovor,
Komplementarna NP klasa (CoNP) je skup jezika L takvih da
je L NP klase.
Niko nije siguran da li se CoNP i NP razlikuju.
Primer: Da li je broj prost? Da li je broj kompozitan?
25 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
P vs. NP klasa
koji je odnos P i NP klase?
1. NP P klase,
teko jer je DTM specijalni sluaj NDTM,
2. P NP klase,
verovatno, mada je pitanje jednakosti,
3. P = NP,
1000000$ pitanje u CS, i dalje otvoreno,
NP klasa
P klasa
26 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
P = NP
ako se P razlikuje od NP klase, tada njihova razlika mora
imati smisla i znaaja,
dok ne budemo u stanju dokazati da je P NP, nema anse
da dokaemo da neki jezik L NP-P,
tako da se zadovoljavamo dokazivanjem tvrdnje ako je P
NP tada je mogue da neki jezik L NP-P,
NP klasa
P klasa
27 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
NP potpuna (completeness) klasa
NP potpunu (completeness NP-c) klasu
ine najtee reivi jezici u NP klasi,
ine jezici koji su najmanje verovatni u P klasi,
Ako neki NP-c jezik pripada P klasi tada je NP=P.
Ako neki algoritam reava NP-c problem brzo, tada e on sve
NP probleme reavati brzo.
NP klasa
P klasa
NP
potpuna
klasa
28 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
NPc klasa formalnije
Jezik (problem) L pripada NP-c klasi ako
1. on je u NP klasi,
2. svaki drugi jezik iz NP klase se moe redukovati na njega,
Jezik koji ne zadovoljava pod 1 nalazi se u NP-hard klasi.
Osnovni NP-c problem je SAT (the satisfiability) problem,
NP-c problemi jo vie forsiraju neperfektna reenja
kompleksnih problema do kojih se dolazi:
aproksimacijom,
probabilistikom,
specijalnim sluajevima,
heuristikom.
29 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Polinomijalna redukcija
Funkcija
f: A
*
A
*
je polinomijalno vremenski sraunljiva ako postoji DTM koja
1. kree sa ulazom w A
*
,
2. zaustavlja se sa f(w) na traci.
Za jezik L se kae da je polinomijalno vremenski redukovan
na jezik K
L
p
K
ako postoji polinomijalno vremenski sraunljiva funkcija f
w L f(w) K
Funkcija f se naziva polinomijalno-vremenski reduktor jezika
L u jezik K.
30 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
SAT (the satisfiability) problem 1
Generalno ovaj problem se da postaviti kao
Da li je dati logiki izraz zadovoljen?
Logiki izraz ine:
logike konstante (tano i netano, 0 i 1),
logike promenljive, primaju logike vrednosti,
logiki operatori, , , ,
Logiki izraz je zadovoljen ako se posle dodeljivanja
vrednosti svakoj logikoj promenljivoj, evaluira vrednost
na 1.
31 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
SAT (the satisfiability) problem 2
Logiki izraz
= (x y) (x z)
zadovoljava dodeljivanje vrednosti
x=0, y=1, z=0.
Sada je
SAT = {<> | zadovoljen logiki izraz}
Konjuktivna normalna forma reda 3, 3KNF, gradi SAT
problem takoe
3SAT = {<> | zadovoljen 3KNF}
koji emo nadalje prouavati da li je NP-c.
32 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
3SAT je NP-c
Detaljno u Hopcroft, od stranice 427, mi samo kroki.
1. 3SAT je u NP klasi, znai reiv sa NDTM
A je skup simbola operatora i binarno kodiranih
promenljivih,
nedeterminisanost u 3KNF svaki lan mora da je
true pri emu se njegova vrednost skraeno rauna,
2. svaki problem iz NP klase se moe redukovati na SAT,
najtei deo u formalnom pristupu, Hopcroft str. 429.
Najjednostavnije, apstrakcijom svaki entitet predstavljamo
kao niz logikih promenljivih koje menjaju svoje vrednosti
a nama odgovara jedna putanja tih promena koja vodi ka
reenju problema (GSP automat i kodovi stanja/izlaza).
33 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primeri NP-c problema 1
SAT jeste u NP-c klasi, dokaz je da iz SAT slede naredne
familije problema:
1. Boolean satisfiability problem (SAT)
2. Fifteen puzzle
Sam Loyd, 1870. godine zaludeo EU i USA slagalicom sa
(4x4)-1 elementa koji se premetanjem slau. Kako od
nekog inicijalnog rasporeda stii do ciljnog. Od ovoga
da a od ovog nikada.
3. Knapsack problem
Problem ranca, tj. za dati skup elemenata (vrednost i
zapremina) napraviti kolekciju minimalne zapremine a
eljene vrednosti (problem odluivosti) - napuniti ranac
minimalno a sve poneti.
34 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primeri NP-c problema 2
4. Hamiltonian cycle problem
Kao i Hamiltonova putanja, pripada NP-c, samo to
putanja mora biti zatvorena.
5. Traveling salesman problem
U datom skupu gradova i trokova putovanja, kako
trgovaki putnik da obie svaki grad sa najmanjim
trokovima i da se vrati u poetni grad. U teoriji grafova
se da predstaviti kao Hamiltonov krug. Najvie izuavan
problem u OR - organizacija rada. Koristi heuristiku
najblieg komije mada se moe dobiti i najgora ruta.
6. Subgraph isomorphism problem
Problem odluivosti: data su dva grafa G1 i G2. Da li je
G1 izomorfan nekom podgrafu grafa G2? Koristi se kod
pronalaenja slaganja (matching) dva grafa
(zapreminska tela u kompjuterskoj grafici).
35 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primeri NP-c problema 3
7. Subset sum problem
U datom skupu celih brojeva da li postoji podskup sa
elementima ija je suma nula (ili neka vrednost to se
svodi na problem ranca).
Eksponencijalno vreme (O(2
N
N)), pravljenje svih
moguih podskupova (2
N
) i potom sumiranje njihovih
elemenata (najvie N). Svodljivo na polinomijalno vreme
u specijalnim sluajevima, uglavnom za mali broj
elemenata u skupu.
8. Clique problem
Problem klike se svodi na pronalaenje parova vorova
grafa koji su susedi. Problem optimizacije, pronai kliku
vorova najvieg reda, ili reda k. Ali je i problem
odluivosti, da li klika reda k postoji u datom grafu.
36 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Primeri NP-c problema 4
9. Independent Set problem
Problem nezavisnog skupa u teoriji grafova je
pronalaenje podskupa vorova koji nisu direktno
povezani.
10. Graph coloring problem
Dodeljivanje boje objektu grafa. Uobiajeno je da se boje
vorovi koji su susedni.
Za graf sa N vorova, treba N boja, optimizacija da se
oboji sa minimalnim brojem boja, k, kae se da je graf k-
bojiv. Obino se bojenjem iskazuje susednost, direktno
susedni vorovi ne smeju biti obojeni istom bojom.
Ako se za vorove uzmu da su geografska
mapa drava - tada bojenje grafa
37 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Teorija sraunljivosti vs. teorija
kompleksnosti 1
Sraunljivost pronalaenje reenja nekog problema na
osnovu ulaza pomou algoritma.
Teorija sraunljivosti krenula poetkom prolog veka, daleko
pre prvih kompjutera.
Teorija kompleksnosti bavi se pitanjima vremenskih i
prostornih zahteva koje postavlja reenje datog
problema.
Naredni slajd pokazuje vezu klasa problema (jezika,
gramatika) u svetlu sraunljivosti i kompleksnosti bilo da
postoji direktna veza ili ona i nije ba jasno definisana.
38 Prof. dr Dragan Iveti Teoretske osnove raunarstva, 2006
Teorija sra. vs. teorija komplek. 2
Problem odluivosti
nereivi
reivi
rekurzivno nabrojivi tip 0
EXPTIME / EXPSPACE
PSPACE
kontek. zavisni tip 1
Co-NP NP
NP-c
P
kontek. slobodna tip 2
regularna tip 3

Das könnte Ihnen auch gefallen