Beruflich Dokumente
Kultur Dokumente
TOR Skripta
TOR Skripta
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
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
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
)
)
) (
(
(
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
=
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