priru nik - razno.sveznadar.inforazno.sveznadar.info/4_ai/primjrac_prirucnik.pdf · first(p,c)...
TRANSCRIPT
Sadržaj: Bektreking- traganje unazad(Backtracking) -Algoritmi nad grafovima................................................................................................... 1
Оpis mеtоdа bektreking algoritma ................................................................................................................................................. 1 Psеudоkоd za bektreking .................................................................................................................................................................... 2 Primjeri bektrekinga ........................................................................................................................................................................... 3
Modeli odlučivanja ................................................................................................................................................................................ 5 Elemeti modela odlučivanja ................................................................................................................................................................ 5 Model analize odlučivanja i njegovi koraci ........................................................................................................................................ 5 Analiza odlučivanja bez apriori vjerovatnoća ..................................................................................................................................... 6 MAXIMIN kriterijum - kriterijum pesimizma .................................................................................................................................... 6 MAXIMAX kriterijum - kriterijum optimizma, „sve ili ništa“ ........................................................................................................... 7 MINIMAX kriterijum žaljenja, Savageov kriterijum ........................................................................................................................ 7
Kriterijum maksimalne vjerodostojnosti ........................................................................................................................................ 7 LaPLACE-ov kriterijum ..................................................................................................................................................................... 8 Analiza odlučivanja sa apriori vjerovatnoćom .................................................................................................................................... 8
Kriterijum očekivane novčane vrijednosti (ONV) ......................................................................................................................... 8 Kriterijum očekivanih žaljenja/očekivanih gubitaka prilike ............................................................................................................... 9
Očekivana vrijednost perfektne informacije (OVPI) ..................................................................................................................... 9 Analiza odlučivanja sa uzorkovanjem ................................................................................................................................................ 9
Optimalni plan uzorkovanja ........................................................................................................................................................... 9 Minimaks postupak u teoriji igara (pretraga kod igara) ............................................................................................................... 10
Analiza rizika .................................................................................................................................................................................... 10 Praktični primjeri primjene kriterijuma odlučivanaja i analize rizika ............................................................................................... 11
Primjena kriterijuma pesimizma u investicijama ......................................................................................................................... 11 Primjena kriterijuma optimizma u investicijama ......................................................................................................................... 11 Primjena Savageovog kriterijuma u investicijama ....................................................................................................................... 12 Primjena Laplaceovog kriterijuma u investicijama ...................................................................................................................... 12
Metode rješavanja problema aproksimacijom .................................................................................................................................. 13 Interpolacija i aproksimacija ........................................................................................................................................................ 13 Kriterijumi izbora aproksimacije ................................................................................................................................................. 13
Metode pretraživanja i indeksiranja weba- Web crawling .............................................................................................................. 14 Podsjetnik: osnove pretrage i prostora stanja ............................................................................................................................... 14 Web pretraživači: sličnosti i razlike ............................................................................................................................................. 14
Dubinsko pretraživanje interneta: Web mining ................................................................................................................................ 15 Agenti za pretraživanje Web-a.......................................................................................................................................................... 16
Inteligentni agenti za pretraživanje Web-a ................................................................................................................................... 16 Agoritmi i osnovni problemi u implementaciji Web pretraživača .................................................................................................... 17
Web indekseri i tragači - Web Crawling ...................................................................................................................................... 19 Indeksiranje ................................................................................................................................................................................. 22
Optimizacija web sajtova: Search engine optimization - SEO .......................................................................................................... 23 Onpage optimizacija .................................................................................................................................................................... 25 Offpage optimizacija .................................................................................................................................................................... 27 Google rangiranje: PageRank ...................................................................................................................................................... 29 HITS ............................................................................................................................................................................................ 31
Neruronske mreže ............................................................................................................................................................................... 33 Uvod ................................................................................................................................................................................................. 33
Istorijski razvoj ............................................................................................................................................................................ 33 Razlike između neuronskih mreža i klasičnih računara ............................................................................................................... 33
Šta je vještačka neuronska mreža? .................................................................................................................................................... 34 Analogija sa biološkim neuronskim mrežama .................................................................................................................................. 35 Vještačke (umjetne) neuronske mreže .............................................................................................................................................. 35 Osnove neuronskih mreža ................................................................................................................................................................. 36
1. Vještački neuron................................................................................................................................................................. 36 2. Neuronska mreža ................................................................................................................................................................ 37 3. Struktura mreže (Arhitektura-TOPOLOGIJA NEURONSKE MREŽE) ................................................................................. 37 4. Procesiranje informacije u mreži ............................................................................................................................................. 38 Feed-forward mreže - Mreže sa prostiranjem signala unaprijed .................................................................................................. 38 Povratna -rekurentna mreža (feed-back) ...................................................................................................................................... 39
Algoritmi učenja ............................................................................................................................................................................... 39 Kako mreža uči? ............................................................................................................................................................................... 40 Backpropagation - algoritam povratnog prostiranja .......................................................................................................................... 41 Backpercolation ................................................................................................................................................................................ 41 Prikupljanje i priprema podataka kod neuronskih mreža .................................................................................................................. 42 Priprema za trening kod neuronskih mreža ....................................................................................................................................... 42 Trening mreže ................................................................................................................................................................................... 43 Testiranje mreže ............................................................................................................................................................................... 43 Implementacija ................................................................................................................................................................................. 44 Hardware za neuronske mreže .......................................................................................................................................................... 44 Neke oblasti primjena neuronskih mreža .......................................................................................................................................... 44
Prednosti neuronskih mreža .............................................................................................................................................................. 45 Nedostaci i ograničenja neuronskih mreža ....................................................................................................................................... 45
Ekspertni sistemi ................................................................................................................................................................................. 46 Pojam ekspertnih sistema ................................................................................................................................................................. 46 Osnovna svojstva eksperta ................................................................................................................................................................ 46 Ekspertni sistemi –definicija ............................................................................................................................................................. 47 Područje primjene ES ....................................................................................................................................................................... 47 Tipovi znanja ES .............................................................................................................................................................................. 47 Podjela ES prema vrsti korisnika ...................................................................................................................................................... 47 Načini korištenja ES ......................................................................................................................................................................... 48 Optimalnost baze znanja ................................................................................................................................................................... 48 Sposobnost prihvatanja novih znanja ................................................................................................................................................ 48 ARHITEKTURA EKSPERTNIH SISTEMA ................................................................................................................................... 48
Opšte o arhitekturi ekspertnih sistema Interdisciplinarnost ekspertnih sistema ........................................................................... 48 Razvojni tim za ES ...................................................................................................................................................................... 48 Osnovna arhitektura ekspertnih sistema ....................................................................................................................................... 49 Komunikacija sa ES ..................................................................................................................................................................... 49 Jezgro ekspertnih sistema ............................................................................................................................................................ 50 Metode za izgradnju jezgra ES .................................................................................................................................................... 50
Vezni modul ..................................................................................................................................................................................... 50 Modul za interpretaciju znanja ..................................................................................................................................................... 50 Modul za zahvatanje znanja ......................................................................................................................................................... 52
Obrazovni softver i inteligentni sistemi učenja ................................................................................................................................. 55 Inteligentni sistemi učenja – predstavljanje znanja ........................................................................................................................... 55 Model tutora ili pedagoški model ..................................................................................................................................................... 56 Logika ............................................................................................................................................................................................... 56 Liste i drva ........................................................................................................................................................................................ 57 Semantičke mreže ............................................................................................................................................................................. 57 Okviri................................................................................................................................................................................................ 57 Skripte .............................................................................................................................................................................................. 57 Produkcijska pravila ......................................................................................................................................................................... 57 Metodologija rasuđivanja zasnovanog na slučajevima ..................................................................................................................... 58 Odluke u izvršavanju CBR sistema .................................................................................................................................................. 58 Predstavljanje slučaja ........................................................................................................................................................................ 59 Tehnike označavanja ........................................................................................................................................................................ 59 Skladištenje, povraćaj i prilagođavanje slučaja................................................................................................................................. 60 Učenje i uopštavanje ......................................................................................................................................................................... 61 Inteligentni tutorski sistemi i autorizovano okruženje ...................................................................................................................... 61 Pristup ITS okruženja i alati ............................................................................................................................................................. 61 CBR sistemi učenja .......................................................................................................................................................................... 62 Zaključak: predstavljanje i produkcija UI alata za učenje................................................................................................................. 63
Logika i programiranje ....................................................................................................................................................................... 64 Logika ............................................................................................................................................................................................... 64 Formalna (matematička) logika ........................................................................................................................................................ 65 Propozicijska logika (izjava, sudova, iskaza, tvrdnji) ....................................................................................................................... 65 Predikatska logika (first-order logic FOL) ........................................................................................................................................ 66 Neizrazita logika - Fuzzy logic ....................................................................................................................................................... 67
Koncept neizrazitih skupova (fuzzy sets) ..................................................................................................................................... 67 Pojam neizrazitih skupova i neizrazite logike .............................................................................................................................. 67 Jezične varijable (linguistic variable) ........................................................................................................................................... 68 Osnovna ideja neizrazitog upravljanja ......................................................................................................................................... 69 Matematička formalizacija ekspertnog znanja ............................................................................................................................. 69 Operacije i relacije sa neizrazitim skupovima .............................................................................................................................. 70 Višeznačna logika ........................................................................................................................................................................ 70 Lukasiewiczeva višeznačna logika .............................................................................................................................................. 70 Veza izmjenu klasične, beskonačnoznačne i neizrazite logike .................................................................................................... 71 Neke primjene neizrazite logike .................................................................................................................................................. 71
1
Bektreking- traganje unazad(Backtracking) -Algoritmi nad grafovima
Za veliki broj problema nije moguće naći efikasan algoritam koji će se izvršiti u polinomijalnom1 vremenu
od dimenzije problema, već postoje samo algoritmi eksponencijalne vremenske složenosti koji, po pravilu,
uključuju tehniku traganja unazad (engl. backtracking).
U slučaju problema nad grafovima, to znači da problem pokušavamo da riješimo prateći jednu moguću
putanju koja polazi iz nekog čvora, ali ako ustanovimo, na nekom koraku, da tom putanjom ne možemo da
riješimo problem, vraćamo se u neki prethodno posjećeni čvor te putanje i pokušavamo kretanje nekom
drugom putanjom iz tog čvora.
Bеktrеking (Backtracking) аlgоritаm ili mеtоd оbrnutе prеtrаgе prеdstаlја pristup grubе silе u trаžеnju
rјеšеnjа gdje sе isprоbаvајu svе mоgućе kоmbinаciје. Pоstеpеnо sе grаdе kаndidаti zа rјеšеnjе а
оdbаcuјu sе svi kаndidаti zа kоје sе ispоstаvi dа nе vоdе dо tаčnоg rјеšеnjа. Zbоg slоžеnоsti nеkih
prоblеmа, аlgоritаm sе čеstо spоrо izvršаvа pа sе kоristе аlgоritmi prоlаgоđеniјi zа dаti prоblеm, оsim аkо
zа prоblеm pоstојi dоbrа hеuristikа (intuitivnаn nаčin nаlаžеnjа kојi čеstо dаје sаmо približnо rјеšеnjе).
Аlgоritаm prоlаzеći krоz svе mоgućе situаciје dаје prvо rјеšеnjе, svа mоgućа rјеšеnjа, pа i sаmim tim i
оptimаlnо rјеšеnjе.
Bеktrеking је vаžnа tеhnikа zа rjеšаvаnjе prоblеmа zаdоvоlјivоsti, i slаgаlicа kао štо su ukrštеnе rеči,
sudоku, i mnоgе drugе. Čеstо оvа strаtеgiја је nајzgоdniја pri pаrsirаnјu, pоsеbnо pаrsirаnju tеkstа (pоnеkаd
i nајеfikаsniја), kао i pri rеšаvаnju prоblеmа rаncа i kоmbinаtоrnim оptimizаciјаmа nеkih prоblеmа.
Таkоđе bеktrеking је bаzа zа tаkоzvаnе lоgičkе prоgrаmskе јеzikе kао štо su ајkоn, plаnеr i prоlоg.
Parsiranje ili sintaksna analiza je proces kod prevođenja izvornog programa, kada se prepoznavaju osnovne strukture programskog
jezika: petlja, procedura,... . Sintaktička analiza provodi se odmah nakon leksičke analize, dok program koji obavlja funkcije
sintaktičke analize zove se raščlanjivač sintakse (i on se može ručno napisati ili se mogu koristiti program pomagač YACC, koji je
dostupan kroz slobodan softver).
Оpis mеtоdа bektreking algoritma Bеktrеking аlgоritmi gеnеrišu skup pаrciјаlnih kаndidаtа, kојi mоgu biti kоmplеtirаni nа rаzličitе nаčinе
tаkо dа dоbiјеmо svа mоgućа rјеšеnjа dаtоg prоblеmа. Kоmplеtirаnjе rјеšеnjа sе vrši pоstеpеnо, krоz niz
kоrаkа prоširеnjа.
Kоncеptuаlnо, pаrciјаlni kаndidаti su čvоrоvi drvоidnе strukturе kоја sе nаzivа "stаblо prеtrаgе
pоtеnciјаlnih kаndidаtа“. Svаki pаrciјаlni kаndidаt је rоditеlј svih kаndidаtа kојi prоizilаzе iz njеgа
upоtrеbоm јеdnоg kоrаkа prоširеnjа; listоvi su оni čvоrоvi, kојi prеdstаvlјајu kаndidаtе kојi sе višе nе mоgu
prоširiti.
1 U teoriji kompleksnosti, polinomijalno vrijeme se odnosi na vrijeme izračunavanja problema, gdje vrijeme, m(n), nije
veće od polinomijalne funkcije veličine problema. Na primjer, algoritam za sortiranje kviksort za n brojeva zahtjeva
najviše n^2 operacija. Stoga mu je potrebno vrijeme O(n^2), pa se radi o algoritmu polinomijalnog vremena.
2
Bеktrеking аlgоritmi prеlаzе stаblо rеkurzivnо, оd kоrеnа kа listоvimа. Zа svаki čvоr, аlgоritаm prоvеrаvа
mоžе li оn biti dio vаlidnоg rјеšеnjа, ukоlikо nе cijеlо pоdstаblо pоčеvši оd оvоg čvоrа sе prеskаčе
(оdsjеcа). U suprоtnоm аlgоritаm prоvеrаvа dа li је sаm čvоr cjelokupnо rјеšеnjе, i ukоlikо јеstе јаvlја sе
kоrisniku, i štаmpајu sе svi njеgоvi pоtоmci rеkurzivnо. Оvа dvа upitа kао i pоtоmci svаkоg čvоrа sе
dеfinišu оd strаnе kоrisnikа. Таkо dа је stvаrnо drvо prеtrаgе kоје sе kоristi prilikоm izvršаvаnjа аlgоritmа
ustvаri sаmо dio cjelokupnоg stаblа prеtrаgе pоtеnciјаlnih kаndidаtа. Slоžеnоst аlgоritmа је brој čvоrоvа
kојi sе ispitа pоmnоžеn sа cеnоm prоvеrе i prоlаskа krоz svаki čvоr. Оvо је činjеnicа kојu trеbа uzеti u
оbzir prilikоm оdrеđivаnjа stаblа prеtrаgе i implеmеntаciје upitа zа оdsjеcаnjе grаnа.
Psеudоkоd za bektreking Dа bi primеnili bеktrеking nа оdrеđеnu klаsu prоblеmа, mоrаmо оbеzbеditi pоdаtkе zа prоblеm R kојi
prеdstаvlја јеdnu prаktičnu instаncu prоblеmа iz tе klаsе, i prоcеdurе: root, reject, accept, first, next, i
output. Оvе prоcеdurе trеbа dа uzimајu vrеdnоsti pаrаmеtаrа R i vrаćајu sljеdеćе vrеdnоsti:
1. root(P) - vrаćа pаrciјаlnоg kаndidаtа kојi је kоrеn stаblа.
2. reject(P, c) - vrаćа bulоvsku vrеdnоst tаčnо ukоlikо pаrciјаlni kаndidаt s niје vrеdаn prоširеnjа.
3. accept(P, c) - vrаćа tаčnо ukоlikо је kаndidаt s cjelokupnо rјеšеnjе prоblеmа R, u suprоtnоm vrаćа
nеtаčnо.
4. first(P, c) - gеnеrišе prvо prоširеnjе kаndidаtа c.
5. next(P, s) - gеnеrišе sljеdеćе prоširеnjе kаndidаtа, pоslе prоširеnjа s.
6. output(P, c) - kоristi kаndidаtа c kао priklаdnо rјеšеnjе.
Bеktrеking аlgоritаm sе оndа svоdi nа pоziv bt(root(P)), gdje је bt() sljеdеćа prоcеdurа:
procedure bt(c)
if reject(P,c) then return
if accept(P,c) then output(P,c)
s ← first(P,c)
while s ≠ Λ do
bt(s)
s ← next(P,s)
Funkciја reject trеbа dа vrаćа tаčnо sаmо ukоlikо је sigurnо dа niјеdnо prоširеnjе kаndidаtа s niје dio
rјеšеnjа prоblеmа R. Ukоlikо funkciја nе mоžе оvо dа zаklјuči trеbа dа vrаti vrеdnоst nеtаčnо. Ukоlikо
funkciја nеvаlidnо vrаti vrеdnоst tаčnо tо mоžе prоuzrоkоvаti dа funkciја bt() ispusti nеkа rјеšеnjа. Funkciја
mоžе prеtpоstаviti dа funkciја reject(P,t) vrаćа nеtаčnо zа svаkоg prеdаk t kаndidаtа s u stаblu.
Sа drugе strаnе еfikаsnоst аlgоritmа zаvisi dа funkciја reject vrаćа vrеdnоst tаčnо zа kаndidаtе štо bližе
kоrеnu. Ukоlikо оvа funkciја stаlnо vrаćа nеtаčnо tо rјеšеnjе bi bilо еkvivаlеntnо upоtrеbi аlgоritmа grubе
silе.
Funkciја accept(P,c) trеbа dа vrаti vrеdnоst tаčnо ukоlikо је s pоtpunо rјеšеnjе prоblеmа R, nеtаčnо u
suprоtnоm. Моžе prеtpоstаviti dа su kаndidаt s i svi njеgоvi prеci u stаblu prоšli funkciјu reject.
Primеtimо dа uоpštеni psеudоkоd nе prеtpоstаvlја dа su rјеšеnjа uvеk listоvi u stаblu prеtrаgе. Drugim
rеčimа pоtvrđuје dа sе rјеšеnjе zа R mоžе dаlје prоširiti dа bi dоprinеli drugim rјеšеnjimа.
Funkciје first i next kоristе bеktrеking аlgоritmе dа bi dоšli dо nаslеdnikа kаndidаtа s u stаblu. Pоziv
first(P,c) trеbа dа vrаti prvоg nаslеdnikа čvоrа s, а pоziv next(P,s) sljеdеćеg brаtа čvоrа s u stаblu. Оbе
funkciје trеbа dа vrаtе vrеdnоst null, оvdе prеdstаvlјеn kао Λ, ukоlikо оvi čvоrоvi nе pоstоје.
Funkciје root, first i next zајеdnо оdrеđuјu skup pаrciјаlnih kаndidаtа stаblа. Оnе sе trеbајu izаbrаti tаkо
dа sе svаkо rјеšеnjе prоblеmа nаlаzi nеgdе u stаblu, а dа sе niјеdаn kаndidаt nе pојаvi dvаput. Таkоđе trеbа
оbеzbеditi štо еfikаsniјu reject funkciјu.
3
Primjeri bektrekinga
Primjer: Razmotrimo problem bojenja grafa u tri boje. Dat je graf ¡ = (A;R), gdje je A – konačni skup a R
– binarna relacija na skupu A (R µ A £ A, gdje je A£A - Dekartov proizvod skupa A sa samim sobom, tj.
A£A = f(a; b)ja; b 2 Ag).
Elemente skupa A zovemo čvorovi a elemente skupa R – grane grafa ¡. Graf ¡ je neusmjeren, što znači da je
relacija R simetrična ((a; b) 2 R ´ (b; a) 2 R). čvor a je susjedan čvoru b ako postoji grana (a; b) 2 R.
Problem: da li je moguće svaki čvor grafa obojiti jednom od tri zadate boje, tako da nijedna dva susjedna
čvora nemaju istu boju?
Ako graf ima n čvorova, a svaki čvor se može obojiti jednom od tri boje, postoji 3n različitih načina da se svi
čvorovi grafa oboje. Od tog broja, samo mali broj rješenja (ako ih uopšte ima) biće dobro (u skladu sa
ograničenjem problema), osim ako graf nema grana uopšte. Jedno rješenje (algoritam) polazi od proizvoljna
dva susjedna čvora (ako takvi postoje) i njihovog bojenja proizvoljnim dvema različitim bojama. Zatim se
bira čvor iz preostalog skupa neobojenih čvorova i on se boji bojom kojom nije obojen nijedan njegov
susjed, ako je to moguće. Posljednji korak se ponavlja dok je moguće, ili dok se ne dobije valjano obojeni
graf. Ako na nekom koraku nije moguće obojiti izabrani čvor, vrši se traganje unazad, tako što se čvor
obojen u prethodnom koraku pokuša obojiti nekom drugom bojom.
Algoritam ima sljedeći oblik:
Algoritam Bojenje -3(Г, U);
Ulaz: Г = (A;R) (neusmjeren graf) i U (skup obojenuh čvorova i njihovih boja; na početku prazan); graf je
konstantan, a U je promjenljiva – vrijednosni parametar algoritma (funkcije);
Izlaz: Dodjela jedne od tri boje svakom čvoru od Г
Sasvim je vjerovatno da će se ovaj algoritam izvršavati u eksponencijalnom broju koraka, što je čest slučaj
kod algoritama sa traganjem unazad. Ipak, postoji nada da se, dobro odabranim redosljedom čvorova i
odredjenim heuristikama, u nekim slučajevima dobija bolje vrijeme izvršavanja.
Problem: zadata je tablica za igru iks oks na kojoj su već odigrani neki potezi.
Treba utvrditi koji igrač ima strategiju koja vodi do pobjede, te koji potez je optimalan potez igrača koji je na
redu - na koje polje treba staviti svoju oznaku da bi pobijedio ako je to moguće ili odigrao nerješeno ako je
moguće.
Neka je na potezu igrač x. Ako postoji način da on pobjedi, toj situaciji se dodijeli oznaka 1. Ako ne može
pobjediti, ali može igrati nerješeno, situacija se označava sa 0, a ako gubi kako god igrao situacija se
označava sa -1.
Slično, ako je na potezu o, situacija u kojoj on može pobjediti se označava sa -1, kada može igrati najviše
izjednačeno sa 0 i kada gubi sa 1.
Primjer: zadata je ovakva situacija:
Na potezu je IKS, ima tri polja na koja može igrati.
Dobije se stablo situacija u kome:
* levo dijete trivijalno ima oznaku 1, jer je pobjeda za x.
* za ostalu djecu se još ne znaju oznake, ali se zna da korjen ima
oznaku 1, jer je x na potezu i može pobjediti
4
Ako x ne odigra svoj pobjednički potez, moguće su ove situacije:
1. Desno dijete je dobilo oznaku 0, jer je na potezu o i ako on odigra
prvi potez, rezultat je nerješen, ako odigra drugi, pobjeđuje x
2. Srednje dijete dobija oznaku -1, jer zavisno od toga šta igra o,
onda x gubi ili igra nerješeno
Iz ovog je jasno da je oznaka svakog
čvora u kojem je na potezu o jednaka
minimumu svih oznaka djece tog
čvora i analogno ako je na potezu x
oznaka čvora je maksimum svih
oznaka djece čvora.
Dakle, algoritam rješavanja je: da bi se odredilo ko u zadatoj situaciji pobjeđuje treba kreirati stablo svih
situacija dostižnih iz zadate situacije; korjen stabla je zadata situacija, a djeca svakog čvora su situacije do
kojih se dolazi u jednom potezu iz tog čvora.
Težina utvrdivanja pobjednika pada što je nivo
čvora u stablu veči.
Listovi stabla su trivijalne situacije završetak igre.
Za utvrdivanje oznake u čvoru u kojem je na
potezu x potrebno je nači maksimum svih oznaka djece tog čvora; za određivanje oznake kad je na
potezu o potrebno je nači minimum svih oznaka
djece tog čvora.
Konstrukcija takvog stabla se može obaviti rekurzivnim algoritmom, a pseudo-kod tog
algoritma je je dat lijevo.
ulazne promjenljive su:
tablica T - dijelimično popunjeno polje za igru
na potezu - oznaka igrača koji je na potezu
izlaz: stablo situacija
5
Modeli odlučivanja
Da bi se određeni problem rješio, može se, ali i ne mora, provesti postupak koji se naziva modeliranje, koji
rezultira modelima odlučivanja. Svrha modeliranja je da se zadani problem preformulira polazeći od nekih
njegovih bitnih značajki sa ciljem da ga se lakše riješi na način da ga se preformulacijom bolje razumije i
time lakše nađe metoda za njegovo rješavanje, kao i da sama metoda bude čim pouzdanija.
Nema modela koji će optimalno riješiti sve probleme. Ovdje ćemo se pozabaviti nekim principipima koji će
olakšati kreiranje stvarnog modela.
Elemeti modela odlučivanja Da li će jedan model biti uspješno primjenjen zavisi od većeg broja elemenata, koji se nazivaju elementima
sistema primjene. Ako bilo koji element nije u skladu sa ciljem, primjena modela neće dati optimalno
rješenje.
Elementi sistema primjene i njihove međusobne
veze su prikazani na slici:
1. Problem,
2. Donosilac odluke,
3. Organizaciono okruženje,
4. Analitičar i
5. Model
Model analize odlučivanja i njegovi koraci
Okruženje u kome donosilac odluke odlučuje, po pravilu je izuzetno kompleksno i dinamičko, i donosiocu
odluke je izuzetno teško da sagleda sve činioce koji utiču na alternative odlučivanja za posmatrani problem.
U tim situacijama on koristi analizu odlučivanja koja daje okvir za rešavanje problema. Analiza obezbeđuje i
praktičan metod za prikupljanje dodatnih informaciju u cilju smanjivanja neizvjesnosti vezanih za problem i
nalaženje optimalne strategije u svjetlu tih novih informacija.
Najvažniji koraci procesa analizeodlučivanja su: 1. Struktuiranje problema - definisanje mogućih alternativa ai, stanja sj i određivanje plaćanja pij .
2. Analiza neizvjesnosti - dodjeljivanje vjerovatnoća svim mogućim stanjima V(sj).
3. Analiza korisnosti i preferencija - dodjeljivanje preferencija za rizične posljedice.
4. Izbor optimalne akcije - korišćenjem odgovarajućeg kriterijuma.
5. Prikupljanje novih informacija - radi smanjenja neizvjesnosti.
6
Ukoliko se donosilac odluke ne izlaže rizičnom
ponašanju prema posljedicama, izbor najbolje
odluke treba da slijedi korake (1), (2) i (4). Taj
proces se naziva analizom odlučivanja sa apriori
vjerovatnoćama.
Ako donosilac odluke nije u mogućnosti da dodijeli
apriori vjerovatnoće stanjima prirode, onda izbor
optimalne akcije vrši uz pomoć nekih metoda koje
mu stoje na raspolaganju. Ovaj proces se naziva
analizom odlučivanja bez apriori vjerovatnoća.
Ako se donosilac odluke izlaže rizičnom ponašanju
prema posljedicama, izbor najbolje odluke treba da
slijedi korake (1), (2), (3) i (4). Taj proces se
naziva analizom odlučivanja sa korisnostima.
Ukoliko se donosilac odluke upusti u proces
prikupljanja novih informacija u cilju smanjenja
neizvjesnosti, onda treba da slijedi korake (1), (2),
(4) i (5). Taj proces se naziva analizom
odlučivanja sa uzorkovanjem.
Takođe postoji i odlučivanje pri izvjesnosti tj.
proces donošenje odluka kada su poznate sve
činjenice vezane za stanja prirode problema, tj.
kada postoji samo jedno stanje (ili veći broj
poznatih stanja od kojih se sa punom sigurnošću
zna koje će se odigrati).
Najznačajnije vrste analiza odlučivanja
Analiza odlučivanja bez apriori vjerovatnoća Ova analiza se koristi za izbor najbolje akcije (alternative) kada donosilac odluke nije u mogućnosti da
pojedinim bućudim stanjima dodijeli odgovarajude vjerovatnoće.
- Za objašnjenje svih metoda ćemo koristiti ovu tabelu.
- Ukoliko posmatramo neku proizvodnu organizaciju, pod posljedicom jedne akcije se najčešće
podrazumjeva profit koja ona donosi, ili troškovi koji se stvaraju.
MAXIMIN kriterijum - kriterijum pesimizma Izabrati akciju za koju je minimalni profit (po alternativama) maksimalan:
Donosilac odluke zauzima pesimistički stav i predpostavlja ća će
se odigrati najgore stanje budućnosti. I onda odabira onu alternativa koja pri ostvarenju najgoreg stanja
budućnosti donosi najveći mogući dobitak tj. najmanji mogući gubitak.
7
Konkretan postupak:
(1) Za svaku alternativu se izabere najmanje povoljan rezultat (profit) min pij
(2) Zatim se odabira se ona alterniva kod koje je min pij najveće, tj. max min pij
MAXIMAX kriterijum - kriterijum optimizma, „sve ili ništa“ Izabrati akciju za koju je maximalni profit (po alternativama) maksimalan:
Donosilac odluke zauzima krajnje optimistički stav i predpostavlja da će se odigrati najbolje stanje
budućnosti. Bira se ona alternativa koja daje mogućnost ostvarenja najvećeg mogućeg dobitka, bez obzira na
mogući gubitak.
Konkretan postupak:
(1) Za svaku alternativu se izabere najpovoljniji rezultat (profit) max pij
(2) Zatim se odabira se ona alterniva kod koje je max pij najveće, tj. max max pij
MINIMAX kriterijum žaljenja, Savageov kriterijum Izabrati akciju za koju je maksimalno žaljenje (po alternativama) minimalno:
Kriterijum žaljenja je definisan kao poboljšanje i dopuna u odnosu na maximin kriterijum. Ovaj kriterijum
bira akciju koja nije isključivo ni pisimistička ni optimistička, što ga čini značajno uravnoteženijim u odnosu
na prethodna dva kriterijuma.
Savageov kriterijum se bazira na principu da je potrebno svesti na minimum moguću štetu.
- Žaljenje se definiše kao propušteni profit zbog neizbora najbolje akcije u slučaju odigravanja
pojedinog stanja. Ukoliko donosilac odluke izabere akciju ai, a odigra se stanje sj tada se žaljenje računa po
formuli:
gdje je Mj maksimalni profit sa stanje sj.
Konkretan postupak: (1) Od standardne tabele plaćanja (sa prethodne stane) se kreira tabela žaljenja tako što se umjesto svakog
iznosa profita pij upiše iznos žaljenja žij.
(2) Za svaku alternativu se izabere najveće žaljenje max žij
(3) Zatim se odabira se ona alterniva kod koje je max žij najmanje, tj. min max žij
Kriterijum maksimalne vjerodostojnosti Izabrati akciju za koju je profit maksimalan, gdje ta akcija mora da odgovara stanju koje ima maksimalnu
vjerovatnoću odigravanja:
Pri tom je sj* stanje koje ima najveću vjerovatnoću odigravanja.
Konkretan postupak:
(1) Donosilac odluke dodjeljuje vjerovatnoće nastupanja svim stanjima;
(2) Zatim nalazi stanje sa maksimalnom vjerovatnoćom pojavljivanja;
(3) Na kraju, DO odabira onu alternativu koja pri datom stanju donosi najveći profit.
8
LaPLACE-ov kriterijum
Izabrati akciju za koju je očekivani profit maksimalan
LaPlace-ov kriterijum polazi od pretpostavke da ako donosilac odluke ne vodi računa o vjerovatnoćama
odigravanja pojedinih stanja može prema njima ponašati kao da će se odigrati sa podjednakom
vjerovatnoćom. Kada bacamo kockicu, vjeorvatnoća da će nam pasti neki od brojeva (1,2,3,4,5,6) iznosi 1/6,
pa tako i vjerovatnoća da će se odigrati jedno od m mogućih stanja sj iznosi:
Sada računamo za svaku alternativu računamo njen očekivan profit (u statistici bi ovo bilo matematičko
očekivanje, tj. očekivana vrijednost) po sljedećoj formuli:
Konkretan postupak:
(1) Za svaku alternativu računamo njen očekivan profit
(2) Zatim biramo alternativu čiji je očekivani profit najveći
Ovaj postupak u stvari predstavlja primjenu kriterijuma očekivane novčane vrijednosti.
Analiza odlučivanja sa apriori vjerovatnoćom Ova analiza se koristi za izbor najbolje akcije (alternative) kada su donosiocu odluke poznate vjerovatnoće
pojedinih stanja budućnosti.
Tabela paćanja (profita)
ai - alternative sj - moguća stanja u budućnosti V(sj) - vjerovatnoće pojavljivanja stanja sj pij - posljedica
(rezultat) izbora određene akcije ai, ako se odigralo stanje sj. i = 1,...,n j = 1,...,m
U analizi odlučivanja sa apriori vjerovatnoćama predpostavljamo da je donosilac odluke neutralan u odnosu
na rizik.
Kriterijum očekivane novčane vrijednosti (ONV) Ako je promjenljiva stanja s diskretna i ako uzima vrijednosti s1,s2,...,sm sa raspodjelom apriori vjerovatnoća
V(s1), V(s2),...,V(sm), tada se očekivana novčana vrijednost akcije ai obilježena sa ONV(ai) definiše kao:
Na osnovu ove definicije donosilac odluke bira onu akciju za koju je očekivana
novčana vrijednost optimalna. Ukoliko su nam u tabeli plaćanja dati profiti, onda biramo akciju za koju je
ONV(ai) maksimalno, a ukoliko su nam dati troškovi biramo onu akciju za koju je ONV(ai) minimalno.
Primjena ONV kriterijuma:
1. Određivanje alternativa odlučivanja ai i svih mogućih stanja sj.
2. Određivanje plaćanja (profita/troškova) pij.
3. dodjeljivanje apriori vjerovatnoća V(sj) svim stanjima.
4. Računanje očekivanih novčanih vrijednosti za svaku alternativu ONV(ai).
5. Primjena ONV kriterijuma i izbor optimalne akcije.
9
Kriterijum očekivanih žaljenja/očekivanih gubitaka prilike Ako je promjenljiva stanja s diskretna i ako uzima vrijednosti s1,s2,...,sm sa raspodjelom apriori vjerovatnoća
V(s1), V(s2),...,V(sm), respektivno i ako žij predstavlja žaljenje ako se izabere akcija ai a desi se stanje sj, tada
se očekivano žaljenje akcije ai obeleženo sa OŽ(ai) može definisati kao:
Na osnovu ove definicije donosilac odluke bira onu akciju ai* za koju je očekivano žaljenje minimalno:
Kriterijum OŽ daje iste rezultate kao i kriterijum ONV, ali prednost njegove primjene leži u činjenici da nam
on omogućava da izračunamo tačan iznos koji je potreban radi prikupljanja dodatnih informacija u cilju
smanjenja neizvjesnosti u posmatranom problemu. Izračunavanje tog iznosa se vrši uz pomod promjenljive
koja se zove Očekivana vrijednost perfektne informacije.
- Tabela žaljenja, sa vrijednostima željenja za svaku akciju se kreira isto kao kod MINIMAX kriterijuma
žaljenja.
Očekivana vrijednost perfektne informacije (OVPI) → OVPI = Očekivano žaljenje najbolje akcije OŽ(ai*)
→ OVPI predstavlja iznos koji uprava može potrošiti u cilju pribavljanja najbolje informacije radi smanjenja
neizvjesnosti. Često se naziva i cijena neizvjesnosti.
Primjena OŽ kriterijuma, i izračunavanje OVPI:
1. Određivanje alternativa odlučivanja ai i svih mogudih stanja sj.
2. Određivanje žaljenja (gubitka prilike) žij. za svaku akciju ai i stanje sj.
3. dodjeljivanje apriori vjerovatnoća V(sj) svim stanjima.
4. Računanje OŽ(ai) za svaku akciju ai.
5. Izabrati OŽ koje je minimalno u odnosu na sva žaljenja dobijena u koraku 4.
6. Izračunati OVPI.
Analiza odlučivanja sa uzorkovanjem - Kao što je prikazano u prethodnom delu, Očekivana vrijednost perfektne informacije nam ukazuje
na iznos koji možemo iskoristiti radi pribavljanja novih podataka (putem marketinških istraživanja, anketa,
panel grupa). Uz pomoć tih novih podatak možemo da izvršimo reviziju apriori vjerovatnoća koje su do sada
korišćenje, i izračunamo aposteriori vjerovatnoće koje imaju veću vjerodostojnost tj. daju donosiocu odluke
bolji uvid u bućuda stanja i mogućnost donošenja ispravne odluke.
- Cjelokupna analiza izbora optimalne odluke u svijetlu novih informacija se naziva analizom
odlučivanja sa uzorkovanjem.
Optimalni plan uzorkovanja - Optimalni plan uzorkovanja se odnosi na određivanje optimalne veličine uzorka (n).
- Određivanje optimalne veličine uzorka zavisi od OČDU(n). Kao što je ved rečeno, uzorkovanje je
opravdano kada je OČDU(n) ≥ 0. I sa povećanjem uzorka (n) može se primetiti da OČDU(n) najprije raste, a
zatim počinje da opada.
Optimalna veličina uzorak n* se nalazi upravo u tački gdje je OČDU(n) maksimalno, što je i
prikazano na slećede dvije slike.
Zašto OČDU(n) prvo raste pa onda opada:
- Kako je OVPI konstanta (ne zavisi od n), iz dobijene jedna.ine vidimo ća ponađanje krive
OČDU(n) zavisi samo od OR(PO*, n) i T(n), .ije pona.anje možemo da vidimo na drugoj slici.
- Kao što možemo vidjeti, OR(PO*,n) opada ako se (n) povećava -što je veći uzorak, tj. što više
informacija posjedujemo to je o.ekivani rizik optimalne strategije manji.
10
- S druge strane T(n) raste sa porastom (n) - što je veći uzorak, to su naravno veći i troškovi uzorkovanja tj.
prikupljanja i obrade informacija.
�¨ Da bi odredili optimalnu veličinu uzorka moramo naći ravnotežnu tačku između ova dva konfliktna cilja:
- Dodajući OR(PO*,n) na T(n) dobija se ukupni rizik za PO* za datu veličinu uzorka n. Ako se taj ukupni
rizik od PO* obele.i sa UR(PO*,n) tada imamo UR(PO*,n) = OR(PO*,n) + T(n).
- Kada n raste, očekivani rizik OR(PO*,n) će opadati, a troškovi uzorkovanja T(n) će rasti.
To ukazuje da ukupni rizik UR(PO*,n) u početku opada, a posle izvjesne vrijednosti (n*) počinje da raste. U
toj tački (n*), ukupni rizik je minimalan i zbog toga se ta vrijednost bira kao optimalna veličina uzorka.
Minimaks postupak u teoriji igara (pretraga kod igara)
traži optimalnu strategiju za igrača MAKS, pri tome uzimajući u obzir da će igrač MIN igrati
najbolje moguće poteze za sebe (tj. da su u pitanju inteligentni igrači)
pretražuje se do neke zadane dubine (broja poteza), nazvane horizont pretraživanja, koja je
ograničena s vremenom raspoloživim za igranje poteza
Analiza rizika
Rizik predstavlja mogućnost realizacije neželjene posljedice nekog događaja. Rizik podrazumjeva dvije
osnovne komponente:
1. Neželjenji gubitak ili posljedicu;
2. Neizvesnost u odigravanju neželjenih posljedica.
Analiza rizika se bavi neizvjenošću koja postoji u posmatranom problemu. Ona obezbjeđuje logičku
kvantitativnu proceduru u procjeni neizvjesnosti i evaluaciji projekata.
Kako se primenjuje analiza rizika?
Predpostavimo da vršimo evaluaciju nekog projekta na osnovu profita koji će nam on donijeti. Sada možemo
da definišemo kritičnu tačku, kao granicu između dobitka i gubitka. Iznad ove tačke projekat ostvaruje
profit, a ispod nje dolazi do gubitaka. Pošto je budućnost neizvjesna i pošto ne znamo koja de se od ove dvije
situacije ostvariti, mi određujemo verovatnoću da li će projekat ostvariti dobitak ili gubitak.
Vjerovatnoća da će se desiti neželjen događaj, odnosno verovatnoća da projekat neće ostvariti profit,
predstavlja rizik.
Na bazi te vjerovatnoće se vrši evaluacija projekta (ukoliko je vjrovatnoća da de se ostvariti gubitak veća od
verovatnoće dobitka, logično je da nećemo nastaviti sa realizacijom projekta, ali opet to zavisi i od donosioca
odluke.
Neželjeni događaj se ne mora samo definisati na osnovu profita. Neželjeni događaj može biti i prekoračenje
troškova, prekoračenje vremena izgradnje, preveliko zagađenje okoline i sl.
Oslanjanje isključivo na statistiku može biti nepogodno jer se neće uvijek dobiti prihvatljivi rezultati.
Donosilac odluke, bazirajući svoje odluke samo na statistici, može biti podstaknut da napravi izbore koji
nisu u skladu sa njegovim psihološkim perferencama i odnosom prema riziku.
11
Praktični primjeri primjene kriterijuma odlučivanaja i analize rizika
Primjena kriterijuma pesimizma u investicijama
Primjena kriterijuma optimizma u investicijama
STANJE PRIRODE
Rast Srednji rast Nema promjene Nizak
G MG NC L
AKTIVNOSTI
Obveznice 12% 8% 7% 3%
Dionice 15% 9% 5% -2%
Depozit 7% 7% 7% 7%
MINIMALNI
ISHOD
MAKSIMUM
MINIMALNIH
ISHODA
Obveznice 3
a) Upisati min # u svaki red Dionice -2
b) Izabrati max # i poduzeti tu aktivnost Depozit 7 7
Waldov kriterij pesimizma (MaxMin kriterij)
STANJE PRIRODE
Rast Srednji rast Nema promjene Nizak
G MG NC L
AKTIVNOSTI
Obveznice 12% 8% 7% 3%
Dionice 15% 9% 5% -2%
Depozit 7% 7% 7% 7%
MAKSIMALNI
ISHOD
MAKSIMUM
MAKSIMALNIH
ISHODA
Obveznice 12
a) Upisati max # u svaki red Dionice 15 15
b) Izabrati max # i poduzeti tu aktivnost Depozit 7
Kriterij optimizma (MaxMax kriterij)
12
Primjena Savageovog kriterijuma u investicijama
Primjena Laplaceovog kriterijuma u investicijama
MATRICA ŽALJENJA (MATRICA
PROPUŠTENIH DOBITAKA)
G MG NC L
NAJVEĆI
PROPUŠTENI
DOBITAK
MINIMUM NAJVEĆIH
PROPUŠTENIH DOBITAKA
(NAJMANJE ŽALJENJE)
Obveznice (15-12) (9-8) (7-7) (7-3) 4 4
Dionice (15-15) (9-9) (7-5) (7-(-2)) 9
Depozit (15-7) (9-7) (7-7) (7-3) 8
STANJE PRIRODE
Rast Srednji rast Nema promjene Nizak
G MG NC L
AKTIVNOSTI
Obveznice 12% 8% 7% 3%
Dionice 15% 9% 5% -2%
Depozit 7% 7% 7% 7%
Savageov kriterij propuštenih dobitaka
G MG NC LOČEKIVANA
VRIJEDNOST
Obveznice 12 * 0,25 8 * 0,25 7 * 0,25 3 * 0,25 7,50
Dionice 15 * 0,25 9 * 0,25 5 * 0,25 (-2) * 0,25 6,75
Depozit 7 * 0,25 7 * 0,25 7 * 0,25 7 * 0,25 7,00
STANJE PRIRODE
Rast Srednji rast Nema promjene Nizak
G MG NC L
AKTIVNOSTI
Obveznice 12% 8% 7% 3%
Dionice 15% 9% 5% -2%
Depozit 7% 7% 7% 7%
Laplaceov kriterij
13
Metode rješavanja problema aproksimacijom
Modeli rješavanja problema podrazumjevaju upotrebu različitih metoda. Mi ćemo se samo upoznati sa
metodom aproksimacije. Pojednostavljeno u sklopu modela odlučivanja često je potrebno da se definišu neke
funkcije koje rješavaju problem. Jedna od metoda koja omogućava definisanje funkcije(a) je aproksimacija.
Šta je problem aproksimacije? Ako su poznate neke informacije o funkciji f , definisanoj na nekom skupu X R, na osnovu tih informacija
želimo f zamijeniti nekom drugom funkcijom φ na skupuX, tako da su f i φ bliske u nekom smislu.
Interpolacija i aproksimacija
Postoje dva fundamentalno različita pristupa za određivanje približnih funkcija koje se koriste za opisivanje
zavisnosti grupe podataka:
1. interpolacija, ili tačno poklapanje
2. aproksimacija, ili približno poklapanje.
Interpolacija dovodi do funkcija koje tačno prolaze kroz sve zadate tačke, kao što je to pokazano na slici a.
Interpolacija se obično koristi za mali broj podataka.
Nasuprot tome, aproksimacijom se dolazi do funkcija koje prolaze kroz grupu podataka na najbolji mogući
način, bez obaveze da tačno prođu kroz zadate tacke (slika b). Aproksimacija je veoma pogodna za velike
grupe podataka, lijepo grupisane podatke, te male i velike grupe razbacanih podataka.
Razmotrimo problem u kojem je zadana tablica brojeva
za koju treba naći funkciju f koju ta tablica predstavlja.
Preciznije, želimo naći funkciju y = f(x) koju ova tablica
najbolje aproksimira.
Najjednostavniji pristup ovom problemu je interpolacija koja se sastoji u tome ća se iz unaprijed odabranog
skupa funkcija (npr. polinoma) nađe funkcija p koja zadovoljava p(xi) = yi, za i = 0, 1, . . . , n.
Kriterijumi izbora aproksimacije
Glavni kriterijumi koji se koriste za izbor optimalne akcije:
Kriterijum očekivanih korisnosti - predstavlja kriterijum izbora najbolje akcije, kada donosilac odluke
dodjeljuje svoje vrijednosti koristi (preferencija) svim posljedicama, računa očekivanu korisnost i bira akciju
za koju je ona najveća.
Kriterijum očekivane novčane vrijednosti - primijenjuje se kada se donosilac odluke ne izlaže rizičnom
ponašanju prema posljedicama. On tada može izračunati očekivane novčane vrijednosti ishoda svake akcije i
izabrati onu za koju je ta vrijednost maksimalna.
Vrijednosna analiza vremenskih preferencija - predstavlja postupak kojim se utvrđuje struktura vremenskih
preferencija, tako što se računa sadašnja vrijednost posljedica, a zatim se primijenjuje kriterijum očekivanih
novčanih vrijednosti ili kriterijum očekivanih korisnosti za nalaženje najbolje akcije.
14
Metode pretraživanja i indeksiranja weba- Web crawling
materijal koji se odnosi na web pretraživane je uglavnom preuzet iz rada Miloša Ilića
Indeksiranje i pretraživanje Web-a
Podsjetnik: osnove pretrage i prostora stanja
Skup svih mogućih rješenja problema naziva se prostor pretraživanja ( search space). U sistemu postoji početno stanje
iz kojeg sistem kreće, prolaskom kroz određeni broj stanja dolazi u konačno stanje koje je rješenje problema. Čest je
slučaj da skup stanja između početnog i konačnog stanja nije jednoznačno određen, nego postoji više različitih, često i
različito efikasnih puteva od početnog do krajnjeg stanja. Za rad takvih sistema potrebno je ugraditi algoritme za
traženje spomenutih puteva. Zbog nepostojanja formalnih postupaka koji bi na temelju početnog i krajnjeg stanja
sistema određivali skup stanja na putu između njih potrebno primjeniti najprimitivniju, ali zato i najmanje efikasnu
metodu, pretraživanja prostora stanja. Pretraživanje prostora stanja je postupak koji prolazi kroz stanja u kojima bi se
mogao nalaziti sistem, i upoređivanjem trenutnog stanja s ciljnim stanjem utvrđuje da li je postupak došao do kraja.
Postoje dvije osnovne klase algoritama za pretraživanje:
1. Blind search or uninformed search (neinformisano pretraživanje)
2. Heuristic or informed search (informisano pretraživanje)
Neinformisano pretraživanje je pretraživanje kod kojeg nema nikakvih informacija o broju koraka ili vrijednosti putanje
(vrijednost udaljenosti čvora od početnog čvora) od početnog do krajnjeg stanja, tj. cilja. U ovu grupu pretraživanja
spadaju:
− pretraživanja po dubini ( Depth-first search)
− pretraživanja po širini ( Breadth-first search)
− pretraživanja s jednakom cijenom ( Uniform-cost search)
− pretraživanje do određene dubine ( Depth-limiting search)
− iterativno pretraživanje po dubini ( Iterative deeping search)
− dvosmjerno pretraživanje ( Bidirectional search)
Informisano pretraživanje je pretraživanje koje ima dodatne informacije o cilju, cijenu putanje ili broju koraka.
Te informacije čine ova pretraživanja boljim od neinformisanih pa im omogućuju gotovo racionalno ponašanje. U ova
pretraživanja spadaju:
− pretraživanje najboljim prvim ( Best first search)
− pretraživanje penjanjem ( Hill-climbing search)
− A* pretraživanje ( A* search)
− ograničeno pretraživanje po širini ( Beam search)
− IDA* pretraživanje ( Iterative deeping A* search)
Web pretraživači: sličnosti i razlike
Zadatak pretrage je da što efikasnije vrati što kvalitetniji rezultat. Efikasnost se mjeri brzinom koja protekne
od klika na dugme do pojave rezultata, a kvalitet se mjeri sa brojem rezultata (stranica) koje pretraživač vrati
i njihovom relevantnošću. Za brzinu je zadužen proces indeksiranja i algoritmi koji sortiraju podatke
prilikom parsiranja. Broj rezultata zavisi od broja indeksiranih stranica, odnosno broja stranica koje Web
spajder pretraživača posjeti i preuzme u bazu. Relevantnost predstavlja povezanosti sadržaja sajta sa
traženim pojmom i zavisi od kvaliteta algoritama koje pretraživač koristi.
Proces pretrage počinje dolaskom korisnika na stranicu web pretraživača i unošenjem fraze. Klikom na
dugme pretraga ( Search) fraza se prosljeđuje do parsera koji parsira frazu. Izbacuju se one riječi koje se
nalaze na stop listi a sve ostale provjeravaju da li postoje u Lexicon-u. Ukoliko fraza nije pronađena u
Lexicon tabeli korisnik dobija poruku da ne postoji ni jedan dokument koji sadrži traženu frazu. U
suprotnom za svaku riječ iz fraze dobija se Id pod kojom je ta riječ snimljena u Lexicon tabeli.
Nakon dobijanja identifikatora za riječi koje se nalaze u frazi izvršava se upit nad inverted index tabelom
koji vraća sve dokumente koji ih sadrže. Ovde se proces pretrage završava za one pretraživače koji se ne
bave relevantnošću rezultata. Za sve ostale sljedeći korak je upravo ono što razlikuje dobre od loših –
rankiranje rezultata.
15
Rankiranje rezultata predstavlja proces sortiranja na osnovu relevantnosti. Najprije se za svaki od
dokumenata koji sadrži tražene riječi broji broj pojavljivanja fraze na istom. Zatim za svako pojavljivanje
riječi gleda se pozicija u dokumentu (naslov, anchor, URL, H1,H2,H3 tag…) i da li je ta riječ posebno
naglašena (podebljana, zakrivljena, podvučena). Svaka od pozicija i naglašavanje riječi nosi određeni
težinski faktor. Sabiranjem težinskih faktora svih pojavljivanja dobija se samo dijelić vrijednosti po kojoj se
posle dokumenti sortiraju. Ostali faktori relevantnosti zavise od samog web pretraživača.
Nakon završenog sortiranja dokumenata (svih onih koji sadrže unetu frazu) po relevantnosti web pretraživač
korisnika prebacuje na novu stranicu na kojoj se nalaze izlistani sortirani linkovi ka dokumentima.
Web pretraživači i web katalozi vrlo su popularne uslužne web stranice koje skupljaju informacije o drugim,
postojećim web stranicama. Korisnici ih koriste da bi pronašli željene informacije, kompanije, proizvode i
usluge. Pritom koriste ključne riječi koje najbolje opisuju tražene informacije ili, u slučaju kataloga,
pretražuju kategorije organizovane prema djelatnosti (kao u žutim stranicama).
Neki od najpoznatijih web pretraživača su: Google, Live Search (MSN), Yahoo, Altavista.
Osim raznih generičkih pretraživača postoje i specijalizovani pretraživači za određena područja ili vrste
sadržaja, razni direktorijumi web stranica od kojih neke, pored računara, uređuju i ljudi.
Dubinsko pretraživanje interneta: Web mining
Rudarenje Weba je dio rudarenja podataka specijalizirano za otkrivanje podataka na internetu, posebno na
World Wide Webu. Ogromne baze podataka bogate su podacima, ali i siromašne informacijama koje su
skrivene. Rudarenje podataka pomaže otkriti važne informacije i znanje utkano u podatke.Također, uvelike
pridonosi donošenju odluka, poslovanju i nauci.
Rudarenje Web-a je integracija informacija prikupljenih od strane tradicionalnih metoda i tehnika
rudarenja podataka, sa informacijama prikupljenim na World Wide Webu.
Web mining je prikupljanje zanimljivih i potencijalno korisnih obrazaca i implicitnih informacija iz
predmeta i aktivnosti vezanih za World Wide Web. Otkrivanje i pronalaženje informacija uz pomoć Web
mininga može se posmatrati sa stanovišta tri različite tehnike: Web Content Mining, Web Structure Mining,
Web Usage Mining. Ove tehnike su prikazane na (Sl.1.).
Web Content Mining je proces ekstrakcije znanja iz sadržaja dokumenta ili njegovog opisa. Text Mining koje
se zasniva na otkrivanju izvora zasnovano na pravilima indeksiranja ili zasnovano na agentima takođe može
da se svrsta u ovu kategoriju.
Web structure mining je proces izdvajanja saznanja iz World Wide Web-a i linkovanja između reference i
referenci na Web-u.
Web usage Mining poznat je i kao Web Log Mining i bavi se izdvajanjem interesantnih obrazaca iz web
access logova.
Sl. 1. Klasifikacija Web mining-a
Web Content Mining: Kao što je gore navedeno Web content Mining je proces izdvajanja znanja
iz sadržaja dokumenta ili njegovog opisa. Sadržaj podataka koji se tu može naći odgovara kolekciji
činjenica Web stranice koje su dizajnirane da bi bile prenete korisniku. Ove činjenice u okviru Web mininga
mogu se sastojati od teksta, slika, zvuka, videa ili struktuiranih podataka kao sto su tabele ili liste.
16
Istraživačke aktivnosti u ovoj oblasti uključuju i tehnike iz drugih oblasti kao što su Information Retrieval
(IR) and Natural Language Processing (NLP).
Web Structure Mining: Tipičan graf Web-a sastoji se od Web stranica koje predstavljaju čvorove i
hiperlinkove koji povezuju dvije srodne stranice. Sadržaj u okviru jedne stranice može biti struktuiran u
obliku stabla zasnovanom na HTML i XML tagovima u okviru stranice. Na osnovu ovoga Web Structure
Mining se može smatrati procesom otkrivanja strukturnih informacija na Web-u.
Web Usage Mining: Ovo je primjena data maning tehnika na otkrivanje interesantne upotrebe
šablona sa Web podataka u cilju razumevanja i boljeg pristupa potrebama aplikacija zasnovanim na Web-u.
Korišćenje podataka sa neke Web stranice dovodi do toga da se snima identitet ili poreklo Web korisnika
koji trenutno pristupa stranici zajedno sa njegovim trenutnim zahtjevima i ponašanjem na Web sajtu. Neki od
tipičnih podataka prikupljenih na Web sajtu su IP adrese, reference i vrijeme pristupa korisnika.
Text Mining: Zbog stalnog porasta količine tekstualnih podataka, automatsko pronalaženje i
pribavljanje prethodno nepoznatih i potencijalno korisnih informacija postaje neophodno da bi se što
pravilnije i što bolje iskoristilo veliko znanje koje je nalazi na Web-u. Tekstualne kolekcije podataka
generalno nameću korišćenje tradicionalnih baza podataka. Tekstualnim podacima se prikazuje širok spektar
informacija, ali se kodiranje vrši na način koji je teško dešifrovati automatski.
Agenti za pretraživanje Web-a
Porast popularnosti i broja dostupnih sadržaja, koji su u potpunosti neorganizovani, ruši osnovni
koncept Weba - jednostavno pronalaženje informacija. Zbog toga se počevši od 1994. godine razvija niz
alata, čiji je jedini zadatak pronalaženje željenih sadržaja na Web-u.
Ti alati se razvijaju u dva osnovna smjera, pa razlikujemo kataloge i pretraživače ( search engines). Jedni
i drugi sadrže bazu web stranica, index-a, URL-ova ( Uniform Resource Locator - adresa koja jedinstveno
ukazuje na neki sadržaj na Internetu), a osnovna razlika je u načinu prikupljanja tih podataka.
Kod kataloga, sadržaj baze isključivo zavisi od ljudi, tj. ljudi pretražuju Web. To rade tako što za
interesantne stranice napišu sažetak i sažetak se uz URL adresu stranice pamti u bazi. Katalozi se koriste i
danas, a jedan od najpopularnijih je Yahoo.
Za razliku od kataloga, prikupljanje podataka kod pretraživača je u potpunosti automatizovano i obavljaju ga
agenti za pretraživanje Web-a ( Web Searching Agent) koji su još poznati pod nazivom pauci, puzači, crvi
(spider, crawler, worm).
Agenti za pretraživanje Web-a „lutaju“ Web-om u potrazi za novim stranicama, i kada ih pronađu
„dovlače“ ih i snimaju u bazu. Mada razni nazivi poput pauka, lutalica, puzača, crva stvaraju privid da se
agenti kreću, to nije istina, oni su stacionirani na računaru i na tom računaru „dovlače“ stranice. Oni „skaču“
s Web stranice na Web lokaciju preko veza, prikupljajući naslove svih lokacija, URL, i dio njihovih
tekstualnih sadržaja. Kada nađu mjesto, oni pregledavaju ( Scan) Web stranice toga mjesta i zapisuju sve
informacije u indeks.
U slučaju agenata koji pretražuju Web, njihova okolina je Web, a komunikaciju sa korisnikom omogućuje
terminal računara. Ono što agent sagledava su riječi HTML dokumenta naučene korišćenjem programskih
detektora (senzora) povezanih kroz celu mrežu (Internet) uz pomoć HTTP-a. Zadatak agenta je da ustanovi
da li je postignut cilj, tj. da li je pronađena Web stranica koja sadrži ključnu riječ ili frazu, i ako nije, pronaći
druga mjesta koja će posjetiti i pretražiti u svrhu zadovoljenja cilja, tj. obavljanja zadataka. Agent djeluje na
okolinu koristeći izlazne metode kako bi obavestio korisnika o statusu pretraživanja ili krajnjim rezultatima,
koji bi trebali predstavljati postignut cilj.
Inteligentni agenti za pretraživanje Web-a
Inteligentnim agentima za pretraživanje Web-a nazivaju se računarski programi koji samostalno
izvode neki pretraživački posao “u ime i za račun” korisnika. Smješteni su u računaru vlasnika, što ne
mora nužno biti (a najčešće i nije) računar krajnjeg korisnika, već neko web mjesto. Korisnik ih mora
“napuniti” informacijama o domenima svog interesovanja, pravilima pretraživanja, prioritetima, i
eventualnim vremenskim ograničenjima. Nakon što agent obavi postavljeni zadatak, analiziraju se rezultati, a
17
agent ispravlja sam sebe ako ti rezultati nisu zadovoljavajući prema nekom unapred postavljenom
kriterijumu.
Inteligentni agenti za pretraživanje Web-a mogu imati različite stepene samostalnosti u izvršavanju
zadataka u odnosu prema korisniku i njegovim potrebama. Tako, neki od njih mogu “samo” prikupljati
informacije, neki mogu filtrirati poruke primljene elektronskom poštom, a neki sarađivati sa drugim
agentima, i na na taj način obavljati vrlo složene i specifične zadatke.
Razvijene su tri vrste takvih agenata:
1. Web crawlerm Pokušavaju da daju korisniku cjelovit pregled informacija, “šetajući” Web-om i
izveštavajući korisnika o onome šta su pronašli.
2. Web pauci (Web spider), To su programi koji se pomoću “crvića” (worm) “uvlače” u dubinu
hipermedijskih dokumenata, odnosno web stranica, i pronađene informacione sadržaje indeksiraju i
čuvaju u vlastitoj bazi podataka, koju korisnik kasnije može jednostavno lokalno (na svome
računaru) pretraživati i analizirati.
3. Web roboti (Web robot) To su programi koji mogu gotovo potpuno nezavisno od korisnika
izvršavati kompletne transakcije, poput kupovine na daljinu, rezervacije avio karata, novčanih
transakcija itd., u skladu sa instrukcijama koje im je korisnik ranije dao.
Inteligentni agenti imaju široku oblast primjene u pretraživanju tako da se oni koriste za:
- statističke analize - agenti mogu računati prosečan broj dokumenata po serveru, odnos različitih tipova
datoteka, prosečan broj Web stranica, broj Web servera na Internetu itd.
- osvežavanje URL adresa - glavni problem kod održavanja Web stranica je u tome što adrese na druge
stranice mogu postati nevažeće, tzv. 'mrtve veze', ako se ta stranica premjesti ili čak ukloni. Stoga su
razvijeni agenti, čiji je zadatak provjera ispravnosti adresa.
- mirroring - je postupak preslikavanja sadržaja Web servera na drugi računar s ciljem smanjenja prometa
na nekom dijelu mreže. Agenti se mogu koristiti za uspostavljanje mirrorne slike Web stranica, ali ova
metoda još nije u potpunosti razvijena tako da kad dođe do promjene neke Web stranice moraju se
osvežavati sve mirrorne stranice, a ne samo one koje su promjenjene.
- indeksiranje - prikupljanje ključnih riječi iz Web stranica kako bi pretraživanje bilo što lakše i brže.
Najčešće se agenti koriste za prikupljanje naslova i nekoliko prvih paragrafa teksta sa stranice. O ovoj
funkciji inteligentnih agenata biće više riječi u narednom dijelu.
- pronalaženje podataka - inteligentni Web agenti imaju veliki potencijal u pronalaženju podataka ( data
mining - proces pronalaženja uzorka u velikoj količini podataka kroz niz pretraživanja), uz to mogu donositi
odluke zasnovane na prethodnim pretraživanjima, da bi obavili što kompleksnije pretraživanje.
- kombinirana upotreba - jedan agent može izvršavati i više spomenutih zadataka .
Agoritmi i osnovni problemi u implementaciji Web pretraživača
Osnovu World Wide Web-a, predstavlja jednostavni, otvoreni, klijent-server dizajn:
server komunicira sa klijentima koristeći http protokol (lightweight, asinhroni protokol koji
omogućava prenos raznih vrsta informacija - teksta, slike, medija - kao što su audio i video fajlovi,
enkodovani u okviru html markup jezika),
klijent (browser), vrši parsiranje i grafički prikaz dobijenih html stranica.
Sam html jezik, u okviru definisanog markup-a, podrazumjeva i definisanje tzv. hiperlinkova (hyperlinks),
koji predstavljaju referencu jednog dokumenta ka drugom, od kojih je svaki jedinstveno definisan svojim
URL-om (uniform resource locator). Na ovaj način, Web (u najužem smislu) možemo posmatrati kao mrežu,
URL-ova, međusobno povezanih hiperlinkovima.
Najefikasniji način pristupa informacijama na Web-u jeste korišćenjem Web pretraživača.
U opštem slučaju, pretraživač se sastoji iz tri dijela:
1. crawler , koji je kao što je u prethodnom dijelu opisano zadužen za automatsko prikupljanje stranica
sa Web-a i njihovo smještanje u indeks pretraživača
2. indexer , koji obezbeđuje kreiranje odgovarajuće strukture (inverted index), koja omogućava
efikasnu reprezentaciju i pretraživanje arhiviranih stranica.
18
3. query handler, koji prihvata korisničke upite i odgovara na njih korišćenjem indeksa pretraživača
Osnovni princip koji je uzrokovao eksplozivni rast
Web-a – decentralizovano i nekontrolisano
publikovanje sadržaja – se pokazalo i pokazuje kao
najveći izazov za Web pretraživače, u njihovom
nastojanju da indeksiraju i arhiviraju sadržaj na Web-
u. Budući da je publikovanje dostupno praktično
svakom korisniku, web stranice pokazuju heterogenost
u velikom broju ključnih informacionih aspekata
(istina, neistina, kontradikcije…), što dovodi do
problema određivanja stranica koje sadrže relevantne i
objektivne informacije, vezano za zadatu temu.
Dodatni problem, predstavlja dimenzija i struktura
samog Web-a.
U praksi, čak nije ni moguće dati jednostavan odgovor
na pitanje “koliko je veliki Web”.
Najrelevantniji odgovor na ovo pitanje bi se mogao
dati posmatranjem veličine indeksa nekih od najvećih
Web pretraživača.
Sl.2. Šematski prikaz Web pretraživača
Krajem 1995, Altavista je prijavljivala veličinu indeksa od 30 miliona statičkih Web stranica, dok je na jesen
2005. godine, Google prijavljivao veličinu indeksa od oko 8 milijardi stranica. Pod ovim podrazumjevamo
samo statičke Web stranice (stranice čiji se sadržaj ne mijenja u periodu između dva pristupa).
Usljed navedenog, svaki Web pretraživač, se prije ili kasnije (u zavisnosti od veličine), suočava sa nekim od
sljedećih problema:
• Brzina rasta Web-a je znatno veća nego što je postojeća tehnologija u stanju da indeksira.
• Veliki broj Web stranica ažuriraju svoj sadržaj veoma često, što zahtjeva da ih pretraživači češće posećuju,
da bi imali ažurne kopije u indeksu.
• Dinamičke stranice se ili sporo i teško indeksiraju ili mogu rezultovati u prekomjerenom broju rezultata.
• Veliki broj dinamički generisanih websajtova nije uopšte moguće indeksirati korišćenjem standardnih web
pretraživača (ovi sajtovi čine tzv. “nevidljivi web”).
• Secure stranice (https), mogu predstavljati problem crawler-ima jer im ne mogu pristupiti ili iz tehničkih
razloga ili ih ne indeksiraju iz razloga privatnosti.
• Relevantnost stranica, pored toga što se teško određuje, može biti i dvosmislena, odnosno korisnik i
pretraživač mogu imati različita “shvatanja” relevantnosti.
• Korisnički upiti su ograničeni isključivo na ključne riječi, što može rezultovati u velikom broju lažnih
pozitivnih rezultata (stranice koje sadrže date ključne riječi, ali nisu ono što je korisnik tražio).
• Količina relevantnih rezultata u odnosu na zadati upit jeste obično veća nego što je korisnik u mogućnosti
da pregleda (ovo u praksi rezultuje u činjenici da se najčešće pregleda samo prvih par stranica sa
rezultatima).
• Kvalitet sadržaja na Web-u varira, tako da su neophodne tehnike koje odvajaju “signal od šuma”, odnosno
stranice niskog kvaliteta od stranica visokog kvaliteta.
• Veliki broj stranica na Web-u sadrži validne informacije, ali nije struktuiran u skladu sa definisanim
konvencijama.
• Veliki broj stranica, predstavlja duplikate, odnosno stranice istog ili sličnog sadržaja, ali sa različitim URL
adresama. Neophodno je eliminisati dupliranje indeksiranja ovakvih stranica.
• Neki pretraživači ne rangiraju stranice po relevantnosti, već po količini novca koju oglašavači plaćaju da se
nađu među rezultatima sa najvećim skorom.
• Na Web-u, mogu postojati grupe sajtova, kreirane isključivo sa ciljem manipulacije funkcijom rangiranja
stranica (linkspam).
• Takođe, mogu postojati i drugi oblici spam-ovanja web pretraživača, kao što su cloaking (vraćanje
različitog skupa stranica u zavisnosti da li pristupa korisnik ili crawler), doorway pages (stranice kreirane u
odnosu na određeni upit, koje pri učitavanju vrše redirekciju na stranicu potpuno različitog sadržaja).
19
Web indekseri i tragači - Web Crawling
Veb indekser (Web crawler, Web spider, ant, automatic indexer)2 je Internet robot koji sistematski
pretražuje Veb, uglavnom u svrhe indeksiranja Veb lokacija. Takođe je poznat kao program tragač ili
pretraživač Veb lokacija.
Da bi web pretraživač mogao da vrati neki dokument kao rezultat upita on ga prvo mora pronaći. Da bi
našli informacije koje se nalaze na milijardama web strana web pretraživači koriste spajdere.
Proces prikupljanja stranica sa Web-a, ima ta cilj prikupljanje što većeg broja Web stranica, zajedno sa
informacijama o njihovoj međusobnoj povezanosti, u što kraćem vremenskom periodu i na najefikasniji
mogući način, radi njihovog indeksiranja u okviru Web pretraživača. A cilj indeksiranja je lakša obrada
podatak i brži dolazak do informacija.
Programi tragači mogu da iskopiraju sve strane koje posjete radi kasnijeg procesiranja od strane pretraživača
veba koji indeksira stranice koje su preuzete, tako da bi ih korisnici brže pronalazili.
Programi tragači mogu da izvrše validaciju hiperveza i HTML koda. Takođe se mogu koristiti za ekstrakciju
podataka sa Veba.
Web spajder predstavlja program ili skript koji automatizovano krstari web-om prikupljajući informacije o
stranama. Ovaj proces prikupljanja informacija se naziva Web Crawling ili spidering.
Funkcionalnosti Crawlinga se mogu podjeliti na one koje mora i koje bi trebalo da obavi (mora pronaći, a
trebao bi pronaći najbolje).
Spajderi obično kreću svoje krstarenje web-om sa najpopularnijih sajtova i servera i dalje preteći linkove
obilaze sve ostale stranice. U zavisnosti od implementacije samog spajdera oni šalju različite informacije
matičnim serverima. Neki od njih šalju samo URL adresu stranice koju posjete, drugi šalju naslov ili sadržaj
tačno određenih HTML tagova dok treći šalju cjelokupan sadržaj.
Dvije veoma bitne karakteristike Web-a diktiraju ponašanje spajdera i njihov zadatak čine veoma teškim:
Veliki broj stranica. Ovo ima za posljedicu da spajderi mogu samo da posjete dijelić web-a,
što znači da taj dijelić treba da bude posebno odabran.
Brzina promjene. Dok spajder posjeti posljednju stranicu na sajtu, veoma je vjerovatno da su
u međuvremenu neke strane dodate, neke obrisane, a neke izmijenjene. Ovo je pogotovo
karakteristično za velike sajtove.
Da bi spajder bio efikasan mora imati i izuzetno optimizovanu arhitekturu kao što je prikazano na (Sl.3).
Veoma je lako napraviti spajdera koji će download–ovati par stranica u sekundi i koji će raditi kratko
vrijeme, međutim napraviti efikasnog i robusnog spajdera koji će skinuti na hiljade miliona stranica za
nekoliko nedjelja predstavlja veliki izazov.
Arhitektura spajdera
2 izrazi Web crawler, web robot, web bot, često su to sinonimi, a svaka softverska kompanija kao da se posebno trudi da
nas zbuni. Formalno svaki ovaj pojam zavisi od načina primjene-implementacije, a njihove opšeprihvaćene definicije su
razjašnjene u Inteligentni agenti za pretraživanje Web-a (vidi).
20
Postoje mnogobrojna rješenja spajdera, a Shkapenyuk i Suel su u svom radu predstavili primjer arhitekture
jednog spajdera. Prema njima svaki spajder se sastoji od dvije glavne komponente:
Crawling aplikacija ( Crawling Application)
Crawling sistem ( Crawling System )
Crawling aplikacija ima zadatak da donese odluku koju sljedeću adresu (URL) treba Crawling sistem da
posjeti. Ona ima mogućnost da svaku skinutu (Download) stranicu parsira u potrazi za linkovima, proveri da
li je taj URL već posjećen i ukoliko nije prosljedi ga do crawling sistema. Koji sljedeći link će biti posjećen
se određuje na osnovu neke od brojnih strategija selekcije i strategija ponovne posjete.
Arhitektura Crawling-a je data na (Sl.4.).
Sl.4. Arhitektura crawling sistema
Crawling sistem ima zadatak da skine traženu stranicu i prosljedi je crawling aplikaciji na analizu i
skladištenje. On se sastoji od nekoliko specijalizovanih komponenti.
-Crawling menadžer (Crawl manager) je zadužen za primanje URL adrese od Crawling aplikacije i njeno
prosljeđivanje slobodnom dowloader-u obraćajući pažnju na pravila koja se mogu naći u robots.txt fajlu.
- Jednog ili više downloader-a. Downloader je veoma efikasan asinhroni HTTP klijent sposoban da
download-uje stotine web stranica paralelno.
-Jednog ili više sistema za DNS razrješavanje rezolvera ( DNS resolvers). On pretvara URL adresu u IP
adresu (ukoliko taj DNS već nije keširan) i na taj način još dodatno ubrzava rad download-era.
Na osnovu i uz pomoć svih komponenti crawling mora da obavi određene funkcionalnosti:
- Robustnost – Na Web-u, postoje serveri koji kreiranju tzv. „spider traps“, zlonamjerno generisane web
stranice koje imaju za cilj onemogućavanje rada crawler-a, tako što nastoje da kreiraju beskonačnu petlju
unutar domena u kojoj se crawler može „zaglaviti“. Crawler-i moraju biti dizajnirani tako da budu otporni na
ovaj vid „zamki“ (posebno iz razloga što mogu postojati i greške ovoga tipa koje se ne javljaju namjerno, već
usljed grešaka).
- Pristojnost – Web serveri imaju implicitne i eksplicitne polise po pitanju rate-a kojim ih crwler može
posećivati. Ove polise se moraju poštovati.
Takođe postoje funkcionalnosti koje bi crawler trebalo da obezbjedi :
-Distribuiranost – Crawler bi trebao da bude u stanju da se izvršava distribuirano na više računara.
-Skalabilnost – Arhitektura crawler-a bi trebalo da podržava povećavanje opsega crawl-rate-a dodavanjem
dodatnih računara i bandwidth-a
-Performanse i efikasnost – Crawl sistem bi trebao da maksimalno iskoristi različite sistemske resurse, kao
što su procesor, storage i mrežni bandwidth.
-Kvalitet – Crawler bi trebao da bude orijentisan ka fetch-ovanju prvo “korisnijih” stranica
-Ažurnost rezultata – Crawler bi trebao da funkcioniše neprekidno, ponovno fetch-ujući sveže kopije
prethodno fetch-ovanih stranica. U principu, crawler bi trebao da crawl-uje stranicu sa frekvencijom koja
aproksimira frekvenciju promjene date stranice.
21
-Proširivost – crawler bi trebao da bude proširiv u više aspekata: da se snađe sa novim formatima podataka,
novim fetch protokolima i drugo, što zahtjeva modularnu arhitekturu crawler-a.
Osnovana operacija svakog hypertext crawler-a može se posmatrati i kao obilazak Web grafa.
Crawler počinje skupom od jednog ili više url-a (seed set), odabira i fetch-uje stranicu na tom URL-u. Parsira
fetch-ovanu stranicu da bi izdvojio tekst i linkove iz stranice. Ovako dobijeni tekst se predaje indekseru, dok
se svi URL-ovi dodaju u URL frontier (struktura redova za čekanje) koji je sastoji od URL-ova čije stranice
trebaju biti fetch-ovane od strane crawel-a.
Moduli koji čine crawler su:
1. URL frontier, koji sadrži URL-ove koji će biti fetch-ovani u tekućem crawl-u.
2. DNS resolution modul koji određuje adresu web servera na kome se nalazi URL koji fetch-ujemo (ovaj
modul se može nalaziti i van modula, tj. može se koristiti sistemski servis za DNS rezoluciju).
3. fetch modul – koji vraća stranicu na datom URL-u.
4. parsing modul – koji ekstrahuje skup linkova sa zadate web strane.
5. modul koji određuje da li se ekstrahovani link već u URL frontier redu ili je nedavno fetch-ovan.
Kompletna struktura crawler-a sa navedenim modulima prikazana je na (Sl.5.).
Sl.5. Struktura crawler-a sa navedenim modulima
Crawling se obično obavlja u vidu više thread-ova, od kojih svaki obavlja logički ciklus prikazan na (Sl.5.).
Ovi thread-ovi se mogu obavljati u okviru jednog procesa ili biti particionisani na više procesa koji se
izvršavaju na distibuiranom sistemu. Crawler thread počinje uzimanjem URL-a iz frontier-a i fetch-ovanjem
Web strane na zadatom url-u. Fetch-ovana stanica se nakon smještanja na pomoćni storage obrađuje tako što
se nad njom obradjuju određene operacije. Na početku se eliminišu duplikati tako što se testira da li stranica
sa istim sadržajem ne postoji na nekom drugom url-u. Zatim se stranica parsira i izdvajaju se tekst i linkovi.
Tekst se kao što je već rečeno prosljeđuje indekseru kao i informacije o linkovima koje se koriste kao
dodatna informacija za rangiranje. Svaki od linkova prolazi niz testiranja na osnovu čega se utvrđuje da li
ide u URL frontier.
URL frontier održava listu URL-ova, preuređuje ih u zadatom redosljedu i servira ih kad god crawler
zahtjeva sljedeći URL. Redosljed kojim se URL-ovi serviraju diktiraju dva osnovna principa : (1) ažurnost -
stranice koje se češće mijenjaju trebaju imati veće prioritete, radi češćeg crawling-a i (2) učtivost – potrebno
je izbeći uzastopne upite jednom istom hostu u kratkom vremenskom intervalu. Ovo posljednje se često
dešava upravo usljed lokalnosti reference – veliki broj URL-ova linkuju na URL-ove na istom host-u. Kao
rezultat toga, URL frontier implementiran kao jednostavni priority queue može rezultovati u burst-u fetch
zahtjeva za jednim istim host-om. Najčešće korišćena heuristika je ubacivanje razmaka između uzastopnih
zahtjeva ka istom host-u, koja je za red veličine veća od vremena koje je bilo potrebno za posljednji fetch sa
tog host-a.
U koliko neki od hostova želi da definiše dio svog Web sajta zabranjenim za crawing to omogućava Robot
Exclusion Protocol standard. Ovo se rešava postavljanjem fajla sa imenom robots.txt u korjenu URL
hijerarhije sajta. Crawler mora fetch-ovati robots.txt svakog web sajta da bi odredio da li treba da nastavi
crawl-ovanje ostatka stranica i njihovo dodavanje u URL frontier.
22
Na kraju se provjerava dali postoji crawl-ovan duplikat datog algoritma korišćenjem nekog od algoritama da
detekciju duplikata. Ako postoji duplikat URL se ne dodaje u URL frontier. Onom URL-u koji se doda u
fointer dodjeljuje se prioritet na osnovu koga se određuje kada će biti uklonjen iz froitera.
Indeksiranje
Invertovani indeks, predstavlja osnovnu strukturu podataka koja se korisiti u okviru Web
pretraživača i information retrieval (IR-oblast koja se bavi izučavanje metoda za pronalazak informacija u
okviru dokumenata i van njih) softvera uopšte. Pod invertovanim indeksom, podrazumjevamo indeks
struktru koja sadrži presikavanja između ključnih riječi i njihovih lokacija u skupu dokumenata, i
korišćenjem koje se omogućava efikasno pretraživanje posmatranog skupa.
Postoje dvije osnovne varijante realizacije invertovanih indeksa:
1. na nivou zapisa (record level inverted index), koji se još naziva inverted file index i koji sadrži listu
referenci na dokument za svaku riječ koja se u okviru njega javlja makar jedanput i
2. na nivou riječi (word level inverted index) koji dodatno u okviru indeksa, sadrži i informacije o
poziciji svakog javljanja date riječi u okviru odgovarajućeg dokumenta.
Kod Web pretraživača, paralelno sa crawl operacijom, obavlja se i operacija indeksiranja fetch-ovanih
stranica, upravo korišćenjem strukture invertovanog indeksa. Za zadati korpus dokumenata, prolazi se kroz
svaki dokument i za svaki token, vrši se njegovo ažuriranje u okviru indeksa: ukoliko već postoji, dodaje se
tekući dokument kao lokacija u kojoj se nalazi, dok ukoliko ne postoji, kreira se novi ulaz u indeksu, za
zadati token i tekući dokument se postavlja za prvu lokaciju u kojoj se navedeni token nalazi. Nakon
završetka ovog procesa, sve operacije pretraživanja (koje su oblika : “naći sve stranice na web-u u kojima se
nalaze navedeni tokeni”), obavljaju se preko dobijenog invertovanog indeksa. Budući da je u pitanju hash
struktura, pristup polju u indeksu koje odgovara zadatom tokenu se ostvaruje teorijski u O(1). U praksi,
usljed ogromnih dimenzija indeksa kod web pretraživača, operacija pristupa indeksu je nešto sporija (budući
da nije moguće istovremeno držati cjelokupan ideks u operativnoj memoriji), ali i dalje daleko brža nego u
slučaju korišćenja sekvencijalnog pristupa.
Primjer invertovanog indeksa :
Ukoliko su dati dokumenti : T0 ="it is what it is", T 1
="what is it" and T 2=
"it is a banana", invertovani fajl
indeks ima sljedeći oblik :
"a": {2}
"banana": {2}
"is": {0, 1, 2}
"it": {0, 1, 2}
"what": {0, 1}
Pretraživanje za riječi “what” , “is” and “it” daje kao odgovor skup: {0,1}∩{0,1,2}∩{0,1,2}={0,1}.
Ako se posmatraju isti dokumenti, full inverted indeks (koji sadrži i pozicije u okviru dokumenta), bi imao
sljedeći oblik :
"a": {(2, 2)}
"banana": {(2, 3)}
"is": {(0, 1), (0, 4), (1, 1), (2, 1)}
"it": {(0, 0), (0, 3), (1, 2), (2, 0)}
"what": {(0, 2), (1, 0)}
Pored vrlo jednostavnog određivanja fizičke veličine samog indeksa kada su upitanju Web pretraživači tako
definisana veličina je od veoma malog značaja jer ne pruža informaciju o količini informacija koje se nalaze
u indeksu. Fokus u praksi jeste procjenjivanje veličine segmenta Web-a koji indeksira jedan pretraživač. Ovo
se pokazalo kao veoma teško za određivanje s obzirom da postoji veliki broj dinamički kreiranih stranica.
Zbog svega toga se uvodi pitanje određivanja veličine indeksa za dva zadata pretrazivača. Određivanje ove
veličine se pokazalo takođe komplikovanim i to zbog:
23
1. Pretraživači mogu da vrate web strane čiji sadržaj nisu (potpuno ili čak ni parcijalno) indeksirali. U
principu, pretraživači indeksiraju samo prvih par hiljada riječi na web strani. U nekim slučajevima,
pretraživač je svestan stranice na koju linkuju stranice koje on indeksira, ali sama stranica nije indeksirana.
Ovo ipak omogućava da pretraživač vrati smislene rezultate u search results.
2. Pretraživači u principu, organizuju indekse u vidu više particija, od kojih se ne razmatraju sve u svakom
pretraživanju. Na primjer, web strana, duboko u okviru web sajta može biti indeksirana ali se ne razmatra u
slučaju generalnog web search-a, dok se razmatra u slučaju specificnih upita vezanih za posmatrani web sajt.
Pretraživači mogu sadržati višestruke klase indeksiranih strana, tako da ne postoji jedinstvena mjera njihovih
cjelokupnih indeksa.
Kao odgovor na navedene probleme, razvijen je veliki broj tehnika koje omogućavaju procjenu odnosa
veličina indeksa dva pretraživača, E1 i E2. Osnovna hipoteza od koje se polazi jeste da svaki pretraživač
indeksira onaj segment Web-a, koji se odabira nezavisno i slučajno sa uniformnom raspodjelom.
Uvedene pretpostavke: da postoji konačna veličina web-a iz koje pretraživač odabira podskup i da
pretraživač odabira iz slučajno odabranog podskupa su daleko od realnosti. Ipak, navedene pretpostavke
predstavljaju dobru osnovu i omogućavaju primjenu klasične tehnike estimacije poznate kao capture-
recapture method.
Optimizacija web sajtova: Search engine optimization - SEO Optimizacija web sajtova za pretraživače je termin koji počinje da se pojavljuje u upotrebi negdje sredinom
90-ih. Webmasteri su počeli sa optimizacijom sajtova paralelno sa prvim pretraživačima koji su počeli da
rade na katalogizaciji ranog weba. U početku, sve što su webmasteri trebali da urade bilo je da adresu
internet stranice, ili URL, dostave različitim pretraživačima koji bi poslali „pauka“ da „obiđe“ stranicu, sa
nje ekstrahuje3 linkove ka drugim internet stranicama, i informacije nađene na strani vrati pretraživaču radi
njihovog indeksiranja. Taj proces uključuje pauka koji preuzima web stranicu i postavlja je na server samog
pretraživača dok drugi program, poznat kao indekser, ekstrahuje različite informacije o stranici, kao što su
riječi koje ona sadrži, njihova lokacija, kao i sve što je od značaja za određene riječi. Svi linkovi koje
stranica sadrži takođe se ekstrahuju i stavljaju u plan za kasnije obilaženje.
Vlasnici internet sajtova su počeli da prepoznaju značaj web prezentacije koja je vidljiva i visoko
pozicionirana u listama rezultata pretraživača stvorivši tako priliku za rad onima koji se bave takozvanim
„white hat“ i „black hat“ metodama SEO. Prema jednom od vodećih SEO analitičara, koji stoji iza projekta i
internet sajta „Search Engine Land“, Deniju Salivanu, termin "search engine optimization" vjerovatno je prvi
put upotrebljen 1997. godine. Dokumentovano je da je termin prvi upotrebio Džon Odet i njegova kompanija
Multimedia Marketing Group, kao što je i zabeleženo na web stranici MMG sajta u avgustu 1997. Prvi web
sajt, registrovan u američkoj agenciji za zaštitu autorskih prava, koji je sadržao termin „search engine
optimization“ je sajt Brusa Kleja, iz marta 1997.
Prve verzije algoritama za pretragu oslanjale su se na informacije koje su dostavljali webmasteri, kao što su
ključne riječi u meta tagovima, ili indeks podataka u sistemima kao što je ALIWEB. Meta tagovi pružaju
podatke o sadržaju svake stranice, ali upotreba meta podataka da bi se indeksovale stranice pokazala se kao
nepouzdana, jer je postojala mogućnost da izbor ključnih riječi u meta tagovima od strane webmastera ne
predstavlja stvarni sadržaj sajta. Netačni, nepotpuni i nekonzistentni podaci u meta tagovima omogućavali su
rangiranje stranica za pretrage koje nisu imale veze sa njima. Webmasteri su takođe manipulisali brojem
atributa u izvornom HTML kodu stranice, a sve da bi se što bolje rangirali na listama pretraživača.
Oslanjajući se previše na činioce kao što je gustina ključnih riječi koju su kontrolisali isključivo webmasteri,
prve verzije pretraživača često su bile meta zloupotreba i manipulacija. Da bi svojim korisnicima pružili što
bolje rezultate, pretraživači su morali da se pobrinu za to da njihove stranice prikazuju samo najrelevantnije
rezultate pretrage, umjesto stranica koje nemaju veze sa konkretnom pretragom, a pretrpane su velikim
brojem ključnih riječi.
Pošto uspjeh i popularnost pretraživača zavisi baš od njegove mogućnosti da izbaci relevantne rezultate
za bilo koju pretragu, izbacivanje listi sa pogrešnim i netačnim rezultatima na kraju bi dovelo do toga da se
3 ekstrahovanje- izdvajanje sastavnih dijelova, ovdje se misli na izdvajanje elemenata sadržaja koji određuju njegov kvalitet, a to su prevashodno linkovi i broj posjetilaca, mada bi sam sadržaj trebao da odredi ove elemente.
24
posjetilac okrene drugom izvoru informacija. Pretraživači su na izazov odgovorili kreiranjem složenijih
algoritama za rangiranje koji su uzimali u obzir dodatne faktore, a kojima webmasteri nisu mogli lako da
manipulišu.
Da pojednostavimo imamo tri kategorije zainteresovane za pretraživače:
• vlasnike pretraživača (malobrojne-desetak, a praktično i manje),
• kreatore web stranica, web mastere raznih fela (stotine hiljada, pa možda i desetine miliona)
• korisnike (procjena je preko dvije milijarde).
Ovdje se bavimo pretraživačima i optimizacijom sa aspekta svih kategorija.
Za postizanje dobrih rezultata pri pozicioniranju stranica na web pretraživačima, potrebno je te stranice što
bolje optimizovati, tj. olakšati pretraživačima da što jednostavnije odrede šta se na njima nalazi i iskoriste to
pri prikazu rezultata pretraživanja. Ako se web stranice ispravno optimizuju, web pretraživači dobijaju na
ispravnosti rezultata pretrage, a same stranice višu poziciju (rank) odnosno veću posjećenost. Sama
optimizacija sadržaja za pretraživače ne znači nužno i dobru poziciju kod rezultata pretraživanja, ali je
svakako nužan preduslov za dobro pozicioniranje.
Proces optimizacije zavisi i od primijenjene tehnologije i arhitekture samih web stranica. Klasične (HTML,
statične) web stranice potrebno je ručno optimizovati posebnim uređivanjem sadržaja i dodavanjem
metapodataka za svaku podstranicu, dok je za dinamičke web stranice postupak dijelimično automatizovan, a
za Flash stranice postoje specifične metode.
Postoji mnoštvo metoda za optimizaciju web stranica, a dvije najvažnije su: Onpage i Offpage.
Mehanizmi određivanja relevantnosti stranica u okviru indeksa, koje odgovaraju zadatom upitu, se pokazuju
kao izuzetno efikasni u okviru klasičnog information retrieval domena.
Međutim, u okviru problematike Web pretraživača, dati metodi se često pokazuju kao nedovoljno efikasni,
upravo usljed specifičnosti sadržaja na Web-u, koja se ogleda u postojanju strukture, indukovane
hiperlinkovima između stranica. Usljed ovoga, cjelokupan informacioni sadržaj o stranicama na Web-u se ne
iscrpljuje isključivo posmatranjem sadržaja samih stranica, već zahtjeva i posmatranje informacija o
odnosima između stranica.
U cilju efikasne reprezentacije navedene strukture, Web se najčešće pradstavlja, u vidu Web grafa, W (P,L),
koji predstavlja graf, kod koga P, predstavlja skup stranica na Web-u, dok L, predstavlja skup svih
hiperlinkova između stranica. Web Graf predstavlja slabo povezani, usmjereni graf.
Pod pojmom slabe povezanosti, podrazumjevamo da postoje parovi stranica koji nisu međusobno dostižni
(od jedne stranice se ne može stići do druge, praćenjem hiperlinkova).
25
Onpage optimizacija
Onpage optimizacija podrazumjeva rad na samoj web stranici, izrada same strukture, navigacije web stranica
kao svih onih elemenata koji su sastavni dio ove optimizacije poput (Naslov stranice, url –ovi, Podnaslovi,
koncetracija ključnih riječi u samom tekstu itd).
Onpage optimizacija, kao što i samo ime govori, služi da bi se pojedina web stranica što bolje prilagodila
svom sadržaju i time postigla što bolje pozicioniranje prilikom pretraživanja na web pretraživačima i
olakšala korisnicima bolji (user-friendly) doživljaj korišćenja.
Prije bilo kakve analize jednostavna činjenica: SADRŽAJ – najbitniji SEO faktor
Sadržaj je ono što čini internet i razlog postojanja web stranica i blogova. Ukoliko nemate što za reći i
ponuditi, teško da ćete napraviti kvalitetnu web stranicu koju će voljeti posjetitelji i Google.
Metapodaci ili meta tagovi nezaobilazna
su tema kad se priča o optimizaciji za
pretraživače. Nisu previše bitni za visoki
položaj web stranica prilikom
pretraživanja, ali su ipak neizostavni dio
stranica iz jednostavnog razloga: meta
description tag koristi se kao opis rezultata
pretraživanja i samim time utiče na
percepciju korisnika pretraživača – sa
kvalitetnim description tagom moguće je
postići da web stranica koja je, na primjer,
treći rezultat pretraživanja dobije više
posjetioca od prva dva mjesta sa slabijim
opisom.
Takođe, meta tagovi pomažu da stranica ne bude svrstana u duplicate content filter (Google-ova zaštita od
ponavljanja istog sadržaja na više podstranica), a i mnogi manje poznati web pretraživači i dalje koriste meta
tagove za svoje rezultate pretraživanja.
Postoje i drugi meta tagovi osim description taga, kao npr. keywords (slično kao i description tag, samo što
umjesto opisa web stranice nabraja ključne riječi ali nije preterano važan), author, Content-Type i drugi, ali
za web pretraživače je description tag najbitniji.
Veoma bitan dio optimizacije je i naslov web stranice. W3 konzorcijum (www.w3c.org ) daje preporuku da
naslovi budu veličine do 64 znaka, a jedan od mogućih načina za imenovanje svake stranice je:
a) specificirati ključnu riječ, ili ključne riječi, za tu stranicu
b) dodati neke riječi koje bi mogle biti korisne potencijalnim posjetiocima
c) dodati neku radnju kojom bi se potencijalni posjetioci mogli dodatno zainterosovati za
sadržaj stranice.
Najvažnije od svega je da se naslovi pišu prvenstveno zbog posjetioca, a ne web pretraživača. Ljudi su oni
koji kupuju usluge i proizvode, a ne pretraživači i zbog toga ih uvek treba svrstati na prvo mjesto. Nikada ne
treba optimizovati sadržaj po svaku cijenu pa i na štetu stranica i korisnika da bi se on prilagodio
pretraživačima.
Struktura stranica, kao i izgled URL-a (Uniform Resource Locator), jedni su od najbitnijih Onpage faktora
– potrebno je pretraživačima omogućiti indeksiranje, inače optimizacija baš i nema smisla. Prema Google-u,
može doći do problema pri indeksiranju ako URL sadrži previše parametara (do 4 parametra je
prihvatljivo), ili ako sadrži ID parametar ili sesiju,
npr: index.php?id1=456&id2=bla&id3=web&id4=1456sdf .
Nema jedinstvenih pravila za optimizaciju: Optimizaciju treba prilagoditi ciljanom pretraživaču. U pricipu to
je Google, pa ćemo se njime posebno pozabaviti.
Za Yahoo i MSN je bitno i da se ključne riječi nalaze u samom URL-u ili čak i domeni web lokacija, dok je,
naravno, njihovo korišćenje u samim linkovima i strukturi web stranica osnova Onpage optimizacije. Kad je
riječ o odabiru ključnih riječi, trebalo bi posvetiti više pažnje na ključne riječi koje su specifične za način
pretraživanja na nekom određenom pretraživaču, u protivnom bi se moglo dogoditi da se stranica nađe pri
vrhu pretraživanja za pogrešne ključne riječ.
26
Postoji jedanaest pravila za kvalitetan izgled URL-ova:
• dobro opisati sadržaj
• kratko i jasno
• statično (bez dinamičkih znakova, npr. ?, &, =...)
• opisi, a ne brojke
• ključne riječi
• smanjiti upotrebu pod domena
• bez nepotrebnih mapa na serveru
• upotreba crtica za razdvajanje riječi (.../brand/dolce-i-gabbana/)
• dosljednost
• dopuštena samo mala slova
• jedinstveni URL-ovi (slučajno ili namjerno ispuštanje znakova ne generiše isti sadržaj kao i pravilni URL)
Dolaskom novih tehnologija poput Flasha, AJAX-a (Asynchronous JavaScript and XML) ili JavaScripta,
pojavio se problem optimizacije web stranica koje intenzivno koriste navedena pravila. Najveći problem
je mijenjanje sadržaja bez promjene samih stranica ili URL-a. Sadržaj koji se poziva nije vidljiv u kodu
stranice. Od starijih tehnologija, sličan problem imaju i stranice sa okvirima (frames, iframe).
Ne postoji jednostavan način za rješavanje tih problema. U slučaju AJAX-a eventualno je moguće ograničiti
samu upotrebu tehnologije na dijelove stranice koji nisu bitni za sadržaj i navigaciju, npr. kontakt forme,
sugestije korisnicima, posebne kontrole poput klizača i slično. Bitno je omogućiti da sadržaj, navigacija i
osnovni dijelovi stranice uvek budu dostupni web pretraživačima bez AJAX-a, a AJAX tehnologiju koristiti
tamo gdje ima smisla. Google i Yahoo su tokom 2008. godine u saradnji sa Adobeom („vlasnikom“ Flash
tehnologije) dodali nove algoritme koji omogućavaju pretraživanje i indeksiranje Flash web stranica, ali i
dalje ostaju problemi istog URL-a za sve podstranice, nema HTML tagova i mnogih drugih faktora potrebnih
za dobro pozicioniranje na pretraživačima.
Optimalno rješenje za taj problem je izrada posebne HTML verzije stranica koja bi služila za rankiranje na
pretraživačima, dok Flash stranice ostaju za prezentaciju. Ako se radi samo o navigaciji u Flash tehnologiji,
potrebno je napraviti alternativnu navigaciju koja nije u Flashu, itd.
Veoma je važno dobro razmisliti zašto se pri izradi stranica koristi određena tehnologija jer često dolazi do
pogrešne i/ili nepotrebne upotrebe novih tehnologija čime se otežava pristup stranicama za web pretraživače
i smanjuje korisnost stranica posjetiocima.
Neprihvatljivo je da se kreće u optimizaciju web stranica bez rada na samoj web stranici što ulazi onpage
optimizaciju. Stoga mnogo je bitnije da sredimo sve bitne stvari na samim našim stranicama i kada sve bude
u skladu sa SEO faktorima tek tada se web stranica prijavljuje na pretraživače. Ne trebamo stranicu
prijavljiti prije nego što uradimo onpage optimizaciju a kamoli da počnemo sa link buildingom- izradim
linkova za stranicu.Ukoliko se to i dogodi sigurno idete unazad a ne naprijed.
27
Offpage optimizacija
stvari koje radimo izvan domene web stranice da bi bolje rangirala kod pretraživača
Kao što je već spomenuto, Offpage optimizacija se radi nakon Onpage optimizacije i više je orijentisana na
poboljšanje povezanosti web lokacije sa drugim web lokacijama, tj. na povećanje broja linkova.
Za nju takođe postoji mnoštvo metoda od kojih će biti
navedene samo one najvažnije.
Suština Offpage optimizacije je predstavljanje vlastitih
web stranica što se postiže razmjenom linkova, raznim
tehnikama gradnje linkova (link building), čak i
kupovinom linkova. Strategije postaju sve složenije i
mnoge od njih ne samo da ne daju rezultate već mogu
napraviti i dugoročne probleme, npr. preterana razmjena
linkova.
Spameri često šalju mailove za razmjenu linkova koji znaju biti veoma primamljivi, sa visokim PageRankom
i slično, ali oni zapravo samo žele da se otvori njihova stranica i klikne na AdSense ili neke druge oglase.
Ako netko ponudi razmjenu linkova, prvo se trebaju proveriti samo linkovi (moguće na Yahoo Site
Explorer), ako postoje linkovi sa kvalitetnih domena i domena koji imaju PageRank, vjerovatno nije riječ o
spamu, ali ako postoji veliki broj linkova sa različitih stranica, sa puno blogova i komentara, radi se o spamu.
Mnogi se odlučuju i na gradnju linkova uz pomoć komentarisanja i ostavljanja linkova na raznim blogovima
i forumima, ali vrijednost takvih linkova nije preterano velika jer opada sa svakim dodjeljenim komentarom,
a i većina blogova na takve linkove postavlja nofollow atribut koji govori pretraživačima da ga ne prate.
Naredna mogućnost je prijava stranica na nacionalne ili tematske direktorijume što je korisnije za Yahoo i
MSN nego Google. Kod takvih prijava, bitno je nekoliko stvari:
• da li je direktorijum indeksiran, uključujući i kategorije
• da li direktorijum ima PageRank i da li same kategorije imaju PageRank
• kakav je pattern linkova, tj. odakle sve dolaze linkovi smješteni u direktorijume
Linkovi se mogu kupovati i razmjenjivati, ali postoje i mnogi drugi načini kako doći do istih: kontaktiranje
poslovnog partnera, poznanika, klijenata, kupaca koji imaju svoje web stranice – ako ima smisla po sadržaju
i ako su voljni izaći u susret, moguće je veoma lako prikupiti veliku bazu kvalitetnih linkova prema svojim
web stranicama. Ako neko ima više domena, može linkovati sam sebe i tako povećati promet svojim
stranicama. Takođe, ako neko koristi neke popularne internet servise (Facebook, blogovi, forumi) i ako ti
servisi nude mogućnost dodavanja linka u profil, dovoljno je napisati link do vlastitih stranica.
Mnogi webmasteri ne pridaju previše pažnje promociji svog RSS feeda4 ili ga uopše nemaju. Sve dok postoji
i najmanja potreba za njim, bilo da se prate novosti sa weba ili blog, najbolje je postaviti ga i omogućiti
posjetiocima pretplatu na njega. Svrha RSS-a je da se lakše distribuira sadržaj po webu, a sa sadržajem se
distribuiraju i linkovi prema domenu. Za promociju svojih stranica dovoljno je objaviti RSS na raznim RSS
servisima. Mnogi najpopularniji servisi danas imaju ugrađene RSS čitače u profile svojih korisnika i dobro je
iskoristiti tu činjenicu.
Prilikom promocije web stranica i gradnje linkova bitna je dobra organizacija – dostupno je mnoštvo savjeta
i informacija o web pretraživačima ali to se pokazalo kao mač sa dvije oštrice je se u ogromnoj količini
informacija mnogi izgube i ne snalaze.
Na osnovu svega rečenog postavlja se pitanje kako se najbolje pripremiti za promociju web stranica?
Jedan od boljih načina je priprema materijala koji bi mogli zatrebati prilikom promocije stranice, razmjene
linkova, prijave na servise i drugo:
• sadržaj, članci, tekstovi, kratki opis – najbolje je pripremiti nekoliko opisa web stranica koje se promovišu
zbog prijave na web direktorijume, nekoliko verzija članaka ili bilo kakvih drugih specifičnih tekstova ako se
distribuira sadržaj...
4 Feedovi, koji se nazivaju i RSS feedovi, XML feedovi, distribuirani sadržaj ili Web feedovi uključuju sadržaj koji se
često ažurira a koji objavljuje Web lokacija. Obično se koriste za Web lokacije sa vijestima i blogovima, ali i za
distribuciju drugih vrsta digitalnog sadržaja uključujući slike, audio ili video zapise.
28
• slike, logotip, screenshot, avatari – prilikom prijave na razne servise često postoji mogućnost dodavanja i
objave slika, logotipa ili screenshota weba.
• video i audio materijali – video velikom brzinom preuzima dobar dio korisnika Interneta i poželjno je
prisustvo na servisima koji se bave distribucijom audio i video materijala.
• specifični formati – PDF, PowerPoint, itd.
• URL-ovi – poželjno je kreirati listu URL-ova unutarnjih stranica za koje je moguća promocija na nekim
servisima i/ili direktorijima.
Plaćanje sponzorskih članaka na posjećenim web lokacijama je, takođe, jedna od metoda kako napraviti
dobru reklamu i privući veći broj posjetioca u kratkom vremenu. Negativna strana te metode je, naravno,
cijena sponzorskih članaka, a moguće je i da odziv neće biti prema očekivanjima.
Dobro je primetiti i da 50 istih članaka sa istim naslovom zasigurno umanjuju vrijednost članka na
pretraživačima jer ne može svih 50 biti u vrhu. No, ako svaki od njih ima drugačiji naslov i koristi
alternativne ključne riječi u sadržaju, svih 50 bi moglo biti pri vrhu za svoju „frazu“. Time bi ih i više ljudi
pronašlo, posjetilo, pročitalo i poboljšalo posjetu web stranica na koje članci ciljaju.
Često se zaboravlja bitna stvar a to je izgradnja povjerenja i autoriteta.
Kod Google-a imamo Page ranking koji lako provjerite za svoju domenu. To je kao neko mjerilo koliko
povjerenje Google ima u Vašu stranicu. Da bi si povećali PR korisno je povezati se sa stranicama koje imaju
jako visoki PR kao Youtube, Twiter, Facebook, Linkedin, Wikipedia itd. Ako svoje linkove dijelite sa
stranicama u koje Google nema povjerenja, kao što su spamerske stranice, porno stranice, stranice sa
ilegalnim sadržajem i sl. onda gubite na povjerenju te Vas čak mogu i degradirati ili čak izbaciti sa
pretraživanja.
Osim savjeta kako uspješno optimizovati web stranice, postoji i mnoštvo smjernica kako se optimizacija ne
bi smjela raditi. Kao i kod Onpage i Offpage optimizacija, popis stvari koje se na web stranicama ne bi
smele raditi prilično je velik i ovde će biti navedene samo neke najvažnije smjernice.
Dakle, šta ne raditi u procesu optimizacije web stranica?
• prijavljivati stranice na pretraživače. Vrijeme potrebno pretraživačima da tako indeksiraju strance je dugo.
Dovoljno je link stranice uvrstiti na neku već postojeću i indeksiranu stranu.
• pretrpavati metapodatke i alt atribute slika ključnim riječima.
• uzimanje Google PageRank kao jedino mjerilo kvaliteta stranice.
• ostavljati link web stranica u komentarima blogova i/ili foruma. Ukoliko se to često radi, vrlo lako može
izgledati kao spam.
• istovremeno koristiti domen sa i bez www poddomenom. Pretraživači takve adrese gledaju kao da su u
pitanju različite stranice. Problem koji se lako rešava 301 redirekcijom.
• vjerovati oglasima koji nude prijavu na mnoštvo pretraživača i web direktorijuma.
• praviti stranice isključivo sa AJAX, Flash i JavaScript tehnologijama.
• kopirati isti naslov na više stranica. Svaka stranica bi trebala biti poseban entitet sa originalnim naslovom
povezanim sa sadržajem te stranice.
• upuštati se u masovne razmjene linkova. Nije nedozvoljeno, ali treba pripaziti da se stranice ne prenatrpaju
linkovima koji nemaju neku tematsku vezu sa njima.
• sakrivati tekst na stranicama. Nedozvoljeno kod svih pretraživača.
• koristiti brojeve ili nerazumljive izraze za nazive slika.
• koristiti „preduboke“ linkove. Pretraživači linkove koji se nalaze na nižim nivoima web lokacija ne
smatraju previše relevantnima. Trebalo bi organizirati strukturu web lokacije tako da ima maksimalno 2-3
nivoa „dubine“.
29
Google rangiranje: PageRank
Kako bi napravili „Google friendly“ sajt potrebno je razmotriti mnoštvo zakonitosti na osnovu koje tzv. Gugl
algoritam rangira sajtove. U Google-u kažu da koriste preko 200 signala prilikom rangiranja sajtova, tako
da je mnogima termin Google optimizacija postao sinonim za SEO u cjelini.
Diplomci sa univerziteta Stenford, Lari Pejdž i Sergej Brin, razvili su backrub, pretraživač koji se oslanjao
na matematički algoritam da bi ocijenio značaj web stranica. Broj dobijen tim algoritmom, PageRank, je
funkcija količine i snage dolaznih linkova.
PageRank procjenjuje vjerovatnoću da će određena stranica biti dostupna korisniku koji nasumice pretražuje
internet, a takođe prati linkove koji dolaze sa jedne na drugu stranicu. U suštini, to znači da su neki linkovi
„jači“ od drugih, jer stranica sa većim PageRank-om ima više šansi da bude posjećena od strane nasumičnog
korisnika.
Za visoko rangiranje na pretraživaču Google-u
najvažniji su sljedeći faktori:
1) ulazni linkovi
2) starost
3) sadržaj
4) uspjeh na rezultatima pretrage
Ulazni linkovi – linkovi koji sa drugih stranica vode
na web središte. Nekada je bio bitan samo broj tih
linkova tj. što je veći broj linkova, viša je pozicija.
Danas je, međutim, znatno drugačija:
Na slici možete vidjeti arhitekrura Google
pretraživača:
Svaki link dobija određenu težinu prema sljedećim parametrima:
a) starost linka – što je link stariji, težina mu se povećava. Većinu težine linkovi postižu tek za nekih 5
do 6 mjeseci od objavljivanja na Internetu.
b) lokacija linka – pozicija linka na stranici određuje njegovu težinu. Veću težinu će imati linkovi pri
vrhu stranice jer je veća vjerovatnoća da će ih posjetioci vidjeti. Takođe, bitan je i sadržaj koji se
nalazi oko linka. Ako je link unutar sadržaja, imaće veću težinu nego ako je samo odvojeno naveden
na stranici.
c) naziv linkova i njihovo formatiranje – korišćenje određenih ključnih riječi u nazivu linka daće dodatnu
relevantnost web središta sa tim ključnim riječima. Ako je link istaknutiji, dobiće veću težinu pa je
zbog toga važno da li je u njegovom formatiranju upotrebljeno zadebljanje i/ili italic slova.
d) relevantnost – relevantnost stranice koja vodi na web središte je od ključne važnosti. Što je ta stranica
sličnija ključnim riječima koje opisuju web središte, link više dobija na težini.
e) PageRank – što je veći PageRank stranice sa linkom na web središte, link ima veću težinu.
2005. godine Google je počeo sa personalizovanjem pretrage za svakog korisnika ponaosob. U zavisnosti
od istorije ranijih pretraga, Google je izrađivao rezultate za ulogovane korisnike. 2008. godine Brus Klej je
izjavio: „rangiranje je mrtvo“, baš zbog personalizovanih pretraga. Posmatrati kako je sajt rangiran postajalo
je beznačajno, zato što bi, na kraju, pozicija sajta postala različita za svakog korisnika i svaku
pretragu.
2007. godine Google je najavio kampanju protiv plaćenih linkova koji utiču na PageRank. 15. juna 2009. je
objavio da su preduzete mjere za ublažavanje efekata manipulacije PageRank-a upotrebom tzv. nofollow
atributa u linkovima. Met Kats, poznati softverski inženjer u Google-u, najavio je da Google Bot više neće
30
tretirati nofollow linkove na isti način, sve u cilju da bi se sprečilo da SEO operateri koriste nofollow za
kreiranje PageRank-a. Kao rezultat ove promjene, dalje korišćenje nofollow atributa dovodi do isčezavanja
PageRank-a.
Šta je glavni cilj nofollow linka?
Glavni cilj je da ukoliko želimo da postavimo link ka nekom sajtu, ali ne želimo da doprinesemo pozicioniranju tog
sajta, onda se taj link stavlja u nofollow. Najčešći slučaj je kod blogova. Većina blogova dozvoljava da stavite svoje ime
i link ka svojem sajtu. Rezultat bi bio preveliko spam-ovanje tih blogova.
Kako Google gleda na nofollow link?
Google prati nofollow link ali ne uzima u obzir ni page rank sajta na koji je postavljen ni tekst tog linka. Tako da je
sasvim svejedno da li ćete u blog upisati svoje ime ili recimo "nekretnine" u tekst linka.
Da li je onda nofollow link skroz beskoristan?
Nije beskoristan. Ne zaboravite da na nofollow link ipak mogu da kliknu i obični posjetioci (ne samo roboot programi
pretraživača), što će dobrinijeti povećanju posećenosti sajta. Isto je korisno kad postavimo novi sajt, i želimo da Google
indexira stranice, možemo postaviti neki nofollow link na jako posećen sajt koji Google često čita i vrlo brzo će pronaći
naš novi sajt.
Pošto Gugl živi od reklama a i drugima svojim Google AdWordsom omogućava da postanu oglašavači
pronaćićete ćete stotine sličnih savjeta, ali samo jedan ima trajnu vrijednost: kvalitetan sadržaj, sve ostalo
je prolazno i promjenjivo.
PageRank algoritam (koji se koristi u okviru Google pretraživača), ima za cilj dodjeljivanje numeričke
vrijednosti u rasponu 0 do 1 (koja se naziva pagerank), svakom čvoru u Web Grafu, koja ukazuje na njegovu
relevantost, pri čemu data vrijednost prvenstveno zavisi od same link strukture Web Grafa.
Ukupna PageRank vrijednost za svaku stranicu, se određuje za zadati upit, kao kombinacija pagerank
vrijednosti, određene strukturom Web Grafa i score vrijednosti samog dokumenta, koja je određena samim
sadržajem stranice. Konačno, na osnovu dobijenih PageRank vrijednosti, vrši se rankiranje liste
rezultata dobijene u odnosu na zadati upit.
Posmatrani algoritam se zasniva na navedenoj činjenici da se Web Graf može predstaviti kao povezani graf i
pretpostavlja metod slučajnih lutanja (random walks) na grafu, kao optimalni metod za određivanje i
karakterizaciju same link strukture, iz koje se može dobiti informacija o relevantnosti svakog od čvorova u
datom grafu (odnosno, svake od stranica na Web-u).
31
Posmatranjem modela “slučajnog surfera“ koji počinje u slučajno odabranoj Web stranici (čvoru Web
Grafa) i počinje slučajno lutanje (random walk) na Web-u (Web Grafu), tako što, u svakom nizu koraka,
ukoliko se nalazi na stranici A, slučajno odabira jednu od stranica iz skupa stranica na koje A pokazuje i
“prelazi” na nju. Na primjer, ukoliko posmatrana stranica, ukazuje na 3 stranice, na svaku od datih stranica
se “prelazi” sa vjerovatnoćom 1/3. Kako se surfer kreće od čvora do čvora, u okviru walk-a, neke čvorove
posećuje češće nego druge – intuitivno, možemo pretpostaviti da su to čvorovi sa mnogo ulaznih linkova,
koji dolaze takođe, od drugih često posjećenih čvorova. Dodatno, uvodimo i teleport operaciju koja, za
razliku od kretanja od čvora do čvora, podrazumjeva “skok” na slučajno odabranu Web stranicu (slučajno
odabran čvor Web Grafa). Drugim riječima, ukoliko Web Graf, ima n čvorova, teleport operacija “vodi”
surfera u bilo koji od čvorova sa vjerovatnoćom 1/n (prema tome, može se vratiti u istu poziciju, sa
vjerovatnoćom 1/n).
U principu teleport operacija se koristi u slučajevima:
1. Kada se surfer nađe u stranici koja ne sadrži linkove na bilo koju drugu stranicu.
2. Takođe, u bilo kom trenutku, surfer može prestati sa praćenjem linkova i preći na proizvoljno
odabranu stranicu. Pretpostavljamo da se ovo događa sa fiksnom vjerovatnoćom 0<α<1 pri čemu je
vjerovatnoća da surfer produži tekući walk, jednaka 1 – α (tipično, pretpostavljena vrijednost za α je oko
0.1).
Pokazuje se da kada surfer obilazi web graf koristeći opisani proces (random walk + teleport), on u svakom
čvoru v Web Grafa, provodi fiksan dio vremena π (v), koji zavisi od:
1. strukture web grafa i
2. vrijednosti α.
Vrijednost π (v) nazivamo pagerank posmatrane stranice v.
HITS
Za razliku od PageRank algoritma, koji dodjeljuje svakoj web stranici ocjenu u rasponu (0,1), koja ukazuje
na njenu relevantnost, HITS (Hypertext Induced Topic Selection) algoritam, predstavlja shemu koja
podrazumjeva dodjeljivanje dvije ocene svakoj Web stranici, od kojih se jedna naziva hub score a druga
authority score. Osnovna ideja je da se za svaki upit, određuju dvije liste rankiranih rezultata od kojih je
jedna indukovana hub rezultatima, a druga authority rezultatima.
Ovaj pristup polazi od opažanja da postoje dvije vrste stranica koje mogu biti korisne u pretraživanjima
vezanim za teme opšteg tipa – jedne su autoritativni izvori informacija vezani za zadatu temu
(authorities), dok su druge, stranice koje sadrže listu linkova ka drugim autoritativnim stranicama (hub
pages). Osnovna ideja ovog pristupa je korišćenje hub stranica za otkrivanje authority stranica.
Pod ”dobrom” hub stranicom, podrazumjevamo stranicu koja pokazuje na veliki broj ”dobrih” authority
stranica. Takođe, ”dobru” authority stranicu, rekurzivno definišemo kao stranicu koja pokazuje veliki broj
”dobrih” hub stranica.
Posmatrajmo proizvoljan podskup Web grafa (podskup svih stranica, zajedno sa linkovima između njih), na
kome određujemo relevatnost stranica korišćenjem HITS algoritma. Budući da je definicija hub-ova i
32
authority-a cirkularna, hub i authority vrijednosti za svaku stranicu, nad ovim podskupom računamo
iterativno, na sljedeći način:
Za svaku stranicu x (čvor izabranog podskupa web grafa), sa h(x) označavamo njen hub scope dok sa a
(x) označavamo njen authority score. Za sve čvorove se postavlja vrijednost h(x) = a (x) =1. Postojanje
hiperlinka od stranice x ka stranici y označavamo sa x → y. Osnovu iterativnog algoritma, predstavlja
sljedeći par funkcija koje definišu ažuriranje hub i authority vrijednosti za svaku stranicu, koji se zasniva na
intuitivnom opažanju da dobri hub-ovi pokazuju na dobre authoritity stranice i da dobre authoritity stranice
pokazuju na dobre hub-ove :
(1) postavlja hub score stranice x na authority score stranica na koje data stranica linkuje (ukoliko x
linkuje na stranice koje imaju veći authority, njegov hub score se povećava),
(2) pokazuje da ukoliko na stranicu x linkuju dobri hub-ovi, njen authority score se povećava.
Ove jednačine mogu se napisati u matričnoj formi i označavaće vektore svih hub i authority vrijednosti
stranica u posmatranom podskupu Web grafa. Procedura za određivanje hub/authority vrijednosti ima
sljedeći oblik :
1. Određujemo željeni podskup Web stranica i kreiramo graf indukovan njihovim linkovima i
određujemo AAT i ATA.
2. Određujemo glavne sopstvene vektore AAT i ATA i kreiramo vektor hub vrijednosti h i
authority vrijednosti a.
3. Određujemo stranice sa najvećim hub vrijednostima i sa najvećim authority vrijednostima.
Korišćenjem opisane procedure, određujemo najbolje hub i authority stranice u okviru zadatog podskupa
Web grafa. U praksi, od interesa je da posmatrani podskup sadrži samo stranice vezane za posmatranu temu.
Jedan od načina za određivanje ovog skupa je sljedeća procedura:
• U odnosu na zadati upit, koristeći cjelokupni indeks, određujemo sve stranice koje odgovaraju
upitu. Ovaj skup se naziva root set stranica.
• Kreiramo osnovni skup (base set) stranica, tako što uključujemo sve stranice u root skupu, i sve
stranice na koje ukazuju stranice u root skupu.
Konačno, koristimo dobijeni base skup, kao podskup Web Grafa, nad kojim vršimo određivanje hub i
authority vrijednosti.
33
Neruronske mreže
preuređeno i preuzeto sa sajta: http://www.loya.5u.com/strane/toc.html
Uvod Jedna od najuzbudljivijih oblasti razvoja informacionih tehnologija koja je našla primjenu u praksi,
nesumnjivo je razvoj vještačkih neuronskih mreža. U proteklim godinama, vještačke neuronske mreže su
prešle put od istraživačkih laboratorija do primjena u realnim situacijama. Od mnogih smatrane za najveći
tehnološki napredak u protekloj deceniji, neuronske mreže pokazale su se nezamenljivim u situacijama gdje
je mogućnost identifikacije skrivenih veza i obrazaca ključna za uspješna predvidanja.
Neke vještačke neuronske mreže zaista predstavljaju modele bioloških, neke ne, ali istorijski, inspiracija za
oblast neuronskog računanja došla je od želje za stvaranjem vještačkog sistema, sposobnog za obavljanje
sofisticiranih, "inteligentnih" računanja, sličnih onima koje rutinski obavlja ljudski mozak.
Entuzijazam vezan za ovu oblast trenutno je usmjeren na dvije perspektive. Prva se tiče drastičnog
povećanja mogućnosti savremenih računara i razvoja softverskih alata koji su laki za korišćenje (tzv. user-
friendly software) koji omogućavaju brz i lak razvoj neuronskih mreža od strane pojedinaca i grupa koji
posjeduju samo osnovno znanje o ovoj oblasti, bez potreba ovladavanja kompleksnim principima neuronskog
računanja. Druga perspektiva je evidentna uspješnost neuronskih mreža u oblastima u kojima tradicionalni
računarski sistemi imaju brojne probleme i nedostatke.
Sličnost sa biološkim procesima obrade informacija, omogućiće mašinsko rješavanje problema koji
zahtjevaju "ljudski dodir". To je moguće jer mreža prvo "uči" iz dostupnih istorijskih podataka (podataka o
slučajevima koje je rešavao sam čovek), pa tek onda pristupa rješavanju problema.
Pored toga, sama vještačka neuronska mreža realizuje se na računaru, pa zadržava bitnu osobinu "hladne
mašinske racionalnosti".
Tako će nam neuronska mreža pomoći u donošenju odluke pri situaciji u kojoj nam slabi moć rasuđivanja.
Na primjer, klasični problem investicionog odlučivanja je konsolidovati brojne faktore tržišta u jasnu
kupi/prodaj odluku. Može se donjeti samo intuitivna odluka, bazirana na više faktora, jer jedni kažu kupi,
dok drugi kažu prodaj. Pri tom, intuitivno donošenje odluke u stresnoj situaciji (zbog straha od gubitka), je
najgori pristup odlučivanju.
Istorijski razvoj
1943. Warren McCulloch i Walter Pitts uveli prvi, jednostavni matematički model neurona
1949. Donald Hebb - “Organizacija ponašanja” (The organisation of behaviour)
1951. Marvin Mynski dizajnirao prvi neurokompjuter Snark (od 40 neurona)
1957. Frank Rosenblatt je izumeo perceptron
Carpenter i Grossberg - ART mreža (Adaptive Resonance Theory)
konferencija 1987. u San Dijegu, stručni časopisi Neural Networks, Neural Computation (1989)
Razlike između neuronskih mreža i klasičnih računara
Neuronska mreža se razlikuje od tradicionalnih računara (PC računara, radnih stanica, i mainframe računara)
u formi i funkcionisanju. Dok neuronska mreža koristi veliki broj jednostavnih procesora da bi obavila
njene kalkulacije, tradicionalni računari koriste jedan ili, u rjeđim slučajevima, svega nekoliko veoma
kompleksnih procesorskih jedinica. Neuronska mreža ne posjeduje centralno lokalizovanu memoriju, niti se
programira sekvencama instrukcija, kao svi tradicionalni računari.
Klasični računari koji rade na binarnoj logičkoj osnovi, koriste algoritamski način obrade podataka
(sekvencijalni) sa veoma niskim stepenom paralelizacije. U algoritamskom načinu obrade podataka računar
obrađuje jednu po jednu informaciju ili u boljem slučaju obrađuje manji broj informacija u isto vrijeme. Za
razliku od ovog pristupa obrade podataka, NM procesira istovremeno više informacija, tj. najbolja varijanta
34
za NM je da je svaki neuron po jedan procesor. Razvoj NM je doveo do novih arhitektura računara koji se u
mnogome razlikuju od računara kakvi su danas rasprostranjeni. Ako bismo posmatrali primjer prepoznavanja
slova, algoritamsko rješenje bi zahtevalo da se zadato slovo uporedi sa svim slovima u bazi, slovo po slovo,
dok NM može da uporedi zadato slovo istovremeno sa svim slovima, a rješenje je slovo sa najvećom
vjerovatnoćom. Ovo je moguće jer se memoriji pristupa uz pomoć sadržaja, a ne adrese.
Kod klasičnih računara su elementi obrade informacija i elementi memorisanja informacija potpuno
odvojene komponente. Kod neuronske mreže memorisanje i obrada predstavljaju jednu kompaktnu
cjelinu. Podaci koji su vezani za rad neuronske mreže nemaju nikakav smisao bez jedinica obrade.
Neuronska mreža se razlikuje od tradicionalnih računara po načinu na koji se “programira”. Umjesto
programa napisanih kao serije instrukcija, kao što to rade klasični računari, može se upotrebiti obučena NM,
gdje arhitektura i težinski koeficijenti određuju njenu funkciju. Koeficijenti se podešavaju tokom
obučavanja na ograničenom skupu karakterističnih primjera. Kada se mreža obuči do zadovoljavajuće
granice, vrijednosti veza se mogu memorisati i koristiti u kasnijem radu.
Kod klasičnih računara softver mora biti gotovo savršen da bi radio. Razvoj softvera zahtjeva iscrpan dizajn,
testiranje i postepeno usavršavanje čine ga dugim i skupim procesom. NM omogućavaju evolutivni razvoj
softvera, tj. NM mreža se može naknadno adaptirati realnim i novonastalim uslovima. Neuronske mreže
imaju sposobnost da mijenjaju svoju strukturu i funkciju, za razliku od klasičnih algoritama koji nemaju
toliku fleksibilnost.
Decentralizovana obrada i memorisanje omogućavaju mreži da nastavi funkcionisanje i u uslovima kada
se dio mreže ošteti (jedan dio neurona prestane da funkcioniše ili se neke veze prekinu). Oštećena mreža će i
dalje biti u stanju da funkcioniše ali sa smanjenom tačnošću. Mreža je takođe tolerantna i na prisustvo šuma
u ulaznom signalu. Svaki memorisani uzorak je delokalizovan, tj. smješten je u cijelu mrežu. Ova osobina je
još jedna veoma važna osobina NM.
Šta je vještačka neuronska mreža?
Vještačka neuronska mreža je paradigma obrade informacija inspirisana procesiranjem kakvo vrši biološki
mozak. Pri tom, vještačka neuronska mreža koristi ograničen broj koncepata iz bioloških neuronskih sistema.
Ključni element ove paradigme je neuobičajena struktura procesa obrade informacija, sastavljena od velikog
broja međusobno povezanih elemenata procesiranja koji zajednički rade na rješenju problema. Ove mreže,
kao i ljudi, uče na osnovu primjera tj. istorijskog iskustva, one nisu programirane eksplicitnim instrukcijama,
već uče da izvrše zadatak koristeći primjere iz stvarnog života.
Vještačke neuronske mreže su u stanju da prepoznaju smisao u
komplikovanim ili nepotpunim podacima, da prepoznaju obrasce koji
su neprepoznatljivi ljudima zbog svoje složenosti i koji se ne mogu
dobiti korišćenjem drugih kompjuterskih tehnika.
Vještačke neuronske mreže su sofisticirane tehnike modeliranja,
sposobne da modeliraju veoma kompleksne funkcije.
35
Analogija sa biološkim neuronskim mrežama
Ljudski mozak se sastoji od velikog broja ćelija koje se zovu neuroni. U mozgu postoji oko 100 milijardi
neurona koji su masovno međusobno povezani - prosečan broj veza svakog neurona sa ostalim iznosi
nekoliko hiljada, mada ovaj broj varira u veoma širokim granicama. Neuroni su organizovani u grupe koje se
zovu mreže gdje svaka mreža sadrži više hiljada neurona masovno međusobno povezanih.
Svaki neuron je specijalizovana ćelija sposobna da prenosi elektrohemijski signal.
Ćelija se sastoji od tijela (soma) koje u svom centru posjeduje jezgro (nukleus), razgranate ulazne strukture
(dendroni) i izlaznu osu (akson).
Akson jedne ćelije povezan je sa dendronom druge.
Sinapsa je funkcionalni međumembranski kontakt aksona jednog neurona i dendrona drugog.
Kada je neuron aktiviran, on šalje elektrohemijski signal preko aksona ka drugoj ćeliji. Signal može biti
promjenjen od strane sinapse koja je sposobna da poveća ili smanji snagu veze i time prouzrokuje aktiviranje
druge ćelije ili njenu ukočenost.
Jedan od najuticajnijih istraživača neuronskih sistema, Donald Hebb, izneo je postulat da se učenje u
suštini sastoji u mijenjanju (podešavanju) "jačina" sinaptickih veza. Na slici je dat primjer dva neurona
i veze izmedu njih:
Vještačke (umjetne) neuronske mreže
Umjetna neuronska mreža (Artificial Neural Network, skraćeno ANN) je zbir umjetnih neurona (najčešće
kao apstaktnih pojmova) koji su međusobno povezani i interaktivni kroz operacije obrade signala. Uređena je
po uzoru na ljudski mozak.
Mreža može imati niz ulaza i izlaza. Neke vrste (višeslojni perceptron) organizovane su kroz ulazni sloj,
skrivene slojeve i izlazni sloj. Pojedinačni neuroni su, kao i slojevi, međusobno spojeni vezama kroz koje idu
signali. Ako je izlazni signal prošao kontrolnu operaciju, završni neuron odnosno izlazni sloj je
aktiviran.
Međusobne veze unutar mreže se određuju tokom faze učenja, odnosno uvježbavanja mreže.
Neuronske mreže se ponekad pokažu uspješnijim od drugih načina obrade podataka, posebno ako se takvi
podatci ne mogu obraditi strukturiranim algoritmom.
Neuronske mreže česti su motiv za različite priče, posebno SF-a, a "po navici" većina ljudi ih povezuje s
čovjekom i ljudskim umom. Takva slika ipak je pretjerano romansirana, jer svaka sličnost ljudskog mozga i
neuronskih mreža završava na konceptu neuronskih veza te mogućnosti ponovljanja testiranja, odnosno
učenja.
Vještačka neuronska mreža emulira biološke procese. Sastoji se od elemenata procesiranja povezanih u
arhitekturu mreže. Vještački neuron prima ulazne signale analogne elektrohemijskim impulsima i odgovara
adekvatnim izlazom koji korespondira izlazu biološkog neurona. U samom vještačkom elementu
procesiranja, signali se mogu mijenjati slično kao što se mijenjaju sinapsama kod bioloških sistema.
Veze izmedu bioloških i vještačkih neuronskih mreža date su u sljedećoj tabeli:
Tabela 1
Biološka mreža Vještačka mreža
Soma (telo) Čvor
Dendroni (drvo) Ulaz
Osa Izlaz
Sinapsa Težina
36
Glavne razlike biloških mreža i konvencionalnih računara:
Tabela 2
Biološka mreža Vještačka mreža
Neuroni: Računarski procesor:
brzina - mala (~102 Hz) brzina - velika (~109 Hz)
broj - veliki (~109) broj - mali (stotine)
jednostavan procesor kompleksan procesor
paralelna obrada sekvencijalna obrada
Sa inženjerskog stanovišta biološki neuroni su slabi procesori i prilično su nepouzdani. U mozgu ovo je
prevaziđeno velikim brojem neurona i međusobnih veza kao i paralelnom obradom.
Klasični softver se može koristiti za unapred definisan skup problema, dok neuronska mreža ima svojstvo
prilagođenja-adaptibilnosti pa se može koristiti za najrazličitije probleme.
Grubo rečeno, konvencionalni računari su pogodni za rješavanje dobro definisanih zadataka obrade
informacija u stabilnom i savršeno poznatom okruženju. Neuronske mreže su dobre u obavljanju zadataka
kada su podaci heterogeni, nesređeni, nesigurni pa čak i nekonzistentni i kada ne postoje savršena rješenja za
praktične probleme.
Pošto će u nastavku rada biti riječi samo o vještačkim neuronskim mrežama, koristiće se antropomorfna
terminologija, pa se neće naglašavati da je mreža vještačka niti da je neuron vještački.
Osnove neuronskih mreža Umjetna neuronska mreža (skraćeno ANN) je zbir umjetnih neurona (najčešće kao apstaktnih pojmova) koji
su međusobno povezani i interaktivni kroz operacije obrade signala.
1. Vještački neuron
Neuron - prima ulaze, procesira ih i proizvodi jedan izlaz. Ulaz može biti sirovi podatak ili izlaz iz nekog
drugog neurona. Na sljedećoj slici je prikazano procesiranje informacije u vještačkom neuronu.
Neuron je definisan sa:
xi (i = 1, 2, ... , m) – ulazne veze, vrednosti inputa koje neuron prima (signali ili potencijali inputa
kod biološkog neurona);
wki (i = 1, 2, ... , m) – tzv. težinski koeficijenti – weights (sinapse kod biološkog neurona);
uk – zbirna vrednost, koja se dobija sabiranjem ponderisanih ulaza (telo prirodnog neurona);
a(.) – aktivacijska funkcija (akson kod biološkog neurona);
θK – prag aktivacije ;
yi – vrednost izlaza tj. outputa (potencijal izlaza kod biološkog neurona).
Šema vještačkog neurona
a( . )
1kw
2kw
kmw
1x
2x
mx
ku ky
k
sumator aktivaciona
funkcija
prag
izlaz
ulazi
sinaptičke veze
37
2. Neuronska mreža
Za razliku od tradicijskog pojama gdje se neuronska mreža odnosi se na biološku neuronsku mrežu, tj. mrežu
bioloških neurona moderno značenje ovog pojma uključuje i umjetne neuronske mreže, građene od umjetnih
neurona ili čvorova.
Neuronske mreže su oblast vještačke inteligencije – AI – Artificial Intelligence, strukturirane da radi na
način kao što radi ljudski mozak.
Ključni element ove vrste vještačke inteligencije je specifična struktura obrade informacija sastavljena od
velikog broja međusobno povezanih elemenata obrade (neurona) koji zajednički rade na rješavanju
problema. Te jedinice su povezane komunikacionim kanalima (vezama).
Neuronska mreža u računarskim naukama predstavlja veoma povezanu mrežu elemenata koji obrađuju
podatke. Podaci koji se ovim kanalima razmijenjuju su obično numerički. Neuroni obrađuju samo svoje
lokalne podatke i ulaze koje primaju preko konekcije.
Važna osobina neuronskih mreža je njihova sposobnost da uče na ograničenom skupu primjera te su zbog
toga sposobne da izađu na kraj sa problemima koji se tradicionalnim pristupom teško rješavaju. sposobne
bolje da prepoznaju govor i oblike. Jedna od važnijih osobina neuronskih mreža je njihova sposobnost da uče
na ograničenom skupu primjera.
Umjetna neuronska mreža je građena od međusobno povezanih umjetnih neurona.
Svaka mreža sastoji se od neurona grupisanih u slojeve.
Pored ulaznog i izlaznog sloja, mreža može imati jedan ili više skrivenih slojeva.
3. Struktura mreže (Arhitektura-TOPOLOGIJA NEURONSKE MREŽE)
Topologije mreže mogu biti razlicite zavisno od problema koji se rešava, vrste ulaznih podataka, vrste
izlaznih podataka i drugih faktora. To je razumljivo s obzirom da se neuronske mreže primijenjuju u
najrazličitijim oblastima ljudske djelatnosti.
Jedan ili više slojeva
Sa više slojeva: ulazni, skriveni, izlazni
Složenije neuronske mreže mogu imati više skrivenih slojeva, povratne petlje i elemente za
odlaganje vremena, koji su dizajnirani da omoguće što efikasnije odvajanje važnih osobina ili šema
sa ulaznog nivoa.
Osnovna arhitektura troslojne mreže
ulazni sloj izlazni sloj
skriveni sloj
38
4. Procesiranje informacije u mreži
Osnovni koncepti koji se odnose na procesiranje su:
1. Ulazi - moraju biti u numeričkom obliku. Ako to nije slučaj, moraju se prevesti u numeričke
ekvivalencije. Oblik i vrsta ulaznih podataka mogu biti različiti i oni umnogome određuju karakteristike
mreže. Svaki ulaz korespondira jednom atributu. Na primjer, kod mreže koja služi za iznalaženje
mogućnosti subjekta da vrati kredit, ulazni atribut može biti veličina mesečnog prihoda.
2. Izlazi predstavljaju rješenje problema. Mreža može imati jedan ili više izlaza, zavisno od konkretnog
problema. Izlaz može biti kontinualna vrijednost ili kvazi-logicka vrijednosti, npr. +1 za "da" a 0 za "ne".
3. Težine su ključni elementi neuronske mreže. Mreža uči podešavajuci težine prema istorijskim
podacima koji se kroz nju propuštaju. Težina izražava relativnu značajnost svakog ulaza u neuron, ona
predstavlja sposobnost ulaza da pobudi neuron.
4. Funkcija sumiranja množi svaki ulaz odgovarajućom težinom a zatim sumira dobijene umnoške.
Formula za n ulaza u jedan neuron ima sljedeći oblik:
5. Funkcija transformacije određuje da li rezultat funkcije sumiranja (interna aktivizacija neurona)
može da proizvede izlaz. Veza izmedu aktivizacije i izlaza može biti i linearna i nelinearna. Postoji više
tipova te funkcije, a sama činjenica da funkcija transformacije neurona skrivenih slojeva može biti
nelinearna je od izuzetne važnosti. U suprotnom, da je moguća samo linearna transformacija, mreža bi
bila u stanju da modeluje samo linearne funkcije, jer je poznato da kombinacija linearnih funkcija daje
linearnu funkciju. Zato je funkcija transformacije najčešće nelinearna, a jedna od najpoznatijih je
sigmoidna funkcija:
gdje je YT normalizovana vrijednost rezultata funkcije sumiranja Y. Normalizacija znači da se ovom
transformacijom izlazni nivo dovodi u "razumne" granice, u ovom slučaju, između 0 i 1. Kada ne bi bilo
ove transformacije izlazna vrijednost bi mogla da bude isuviše velika, naročito u kompleksnijim mrežama
sa više skrivenih slojeva. Čest je slučaj da se koristi i funkcija praga (threshold) (npr. sve iznad 0.5
postaje 1, a sve ispod 0.5 postaje 0).
6. Učenje. Neuronska mreža uči iz iskustva. Proces učenja sastoji se iz tri zadatka:
1. računanje izlaza,
2. upoređivanje dobijene vrijednosti sa željenom,
3. podešavanje težina i vraćanje na prvi korak.
Prije početka procesa učenja postavljaju se inicijalne vrijednosti težina slucajno ili po određenom pravilu.
Sa svakim novim setom podataka, težine će se podešavati tako da se smanjuje razlika izmedu stvarnog i
željenog ulaza. Ova razlika se naziva delta. U najboljem slučaju delta treba da se svede na nulu, međutim
u praksi obicno je slučaj da se zadaje nivo greške (npr. 5%) koji treba postići da bi se okončao proces
učenja ili se unapred zadaje broj iteracija pri učenju. Ključ je da promjene težina idu u pravom smjeru (da
konvergiraju), jer se samo tako delta smanjuje.
Feed-forward mreže - Mreže sa prostiranjem signala unaprijed Feed-forward mreže dozvoljavaju kretanje signalu samo u jednom smjeru - od ulaza ka izlazu.
To znači da jedan neuron može da vrši uticaj samo na neuron koji se nalazi u
narednom sloju (sloju koji je bliži izlazu). Ove mreže su pogodne za
prepoznavanje oblika. Feed-forward mreže obicno brzo daju izlaz za dat ulaz.
Na slici je predstavljena feed-forward mreža sa tri sloja:
39
Povratna -rekurentna mreža (feed-back) Kod ovih mreža signali mogu da putuju u oba smjera zato što su u mrežu ubačene neke vrste petlji.
Primjer rekurentne mreže dat je na sljedećoj slici:
Ulazni atributi moraju proći mrežu više od jednog puta prije nego što se
proizvede odgovor. Ovakve strukture koriste se za rješavanje dinamičkih
problema, veoma su moćne ali mogu da postanu vrlo komplikovane i mogu
iziskivati mnogo vremena za podešavanje. Stanje ovih mreža mijenja se dok ne
dostignu tačku ravnoteže. Ostaju u ravnotežnom stanju sve dok se ne pojavi
novi ulaz i tada je potrebno naći novo ravnotežno stanje.
Potrebno im je obično duže vrijeme da daju izlaz (u odnosu na feed-forward
mreže).
Rekurentne mreže obično imaju veliku sposobnost prilagođenja promjenama
stanja (adaptibilnosti).
Algoritmi učenja
Pored strukture, algoritam učenja je najvažniji faktor razlikovanja među neuronskim mrežama.
Danas postoji veliki broj algoritama čija je taksionomija predstavljena na slici:
Podjela na diskretne i kontinualne učinjena je na osnovu vrste ulaza.
1. Učenje koje se nadgleda - koriste se ulazni podaci za koje su poznati izlazi pa se razlika željenog i
izračunatog koristi za korekciju težina neuronske mreže. Bitno pitanje koje se tiče ovog tipa učenja je
problem konvergencije greške - minimiziranje razlike izmedu dobijenog i željenog. Cilj je da se težine
postave na vrijednosti za koje će greška biti minimalna. Najpoznatija metoda je Metoda najmanjih kvadrata.
2. Učenje koje se ne nadgleda - je učenje samoorganizujuceg tipa. Mreži se prikazuju samo
stimulativni ulazi, a ona sama sebe interno organizuje iako nema saznanje koji su izlazi korektni i da li
uopšte imaju smisla za osobu koja trenira mrežu, tako da čovek mora ispitati završne kategorije (izlaze) da bi
odredio korisnost rezultata.
Kažemo da neuronska mreža uči off-line ako se faza učenja i faza korišćenja vremenski razlikuju (jedna faza
slijedi drugu, respektivno).
Neuronska mreža uči on-line ako se faza učenja i faza korišćenja vremenski poklapaju. Obično se učenje
koje se nadgleda vrši off-line, a učenje koje se ne nadgleda vrši se on-line.
1. Nenadgledano učenje
o Feed-back mreže
1. Binary Adaptive Resonance Theory (ART1)
2. Analog Adaptive Resonance Theory (ART2, ART2a)
3. Discrete Bidirectional Associative Memory (BAM)
4. Discrete Hopfield (DH)
5. Continuous Hopfield (CH)
6. Kohonen Self-organizing Map/Topology-preserving map (SOM/TPM)
o Feed-forward mreže
1. Linear Associative Memory (LAM)
2. Optimal Linear Associative Memory (OLAM)
3. Sparse Distributed Associative Memory (SDM)
4. Fuzzy Associative Memory (FAM)
2. Nadgledano učenje
40
o Feed-back mreže
1. Fuzzy Congitive Map (FCM)
2. Mean Field Annealing (MFT)
3. Real-time recurrent learning (RTRL)
4. Backpropagation through time (BPTT)
5. - Recurrent Cascade Correlation (RCC)
o Feed-forward mreže
1. Backpropagation (BP)
2. Backpercolation (Perc)
3. Perceptron
4. Cauchy Machine (CM)
5. General Regression Neural Network (GRNN)
Kako mreža uči?
Pokazaćemo kako jedan neuron uči operaciju inkluzije - klasični problem u simboličkoj logici.
Imamo dva ulazna elementa i ako je bilo koji od njih jednak jedinici i rezultat je jednak jedinici. Prikaz
inkluzije dat je u tabeli:
Tabela 3
Slučaj Ulaz X1 Ulaz X2 Željeni rezultat
1 0 0 0
2 0 1 1
3 1 0 1
4 1 1 1
Procedura učenja sastoji se u prezentovanju različitih ulaza neuronu, pri čemu se težine podešavaju prilikom
svake iteracije. Ovaj korak se ponavlja sve dok težine konvergiraju uniformnom skupu vrijednosti koji
dozvoljava neuronu da korektno klasifikuje svaki od četiri ulaza.
U narednoj tabeli je prikazan proces učenja - proces podešavanja težina da bi se smanjila greška izmedu
željenih vrijednosti i stvarnih. Veličina greške (delta) se koristi za podešavanje težina pa se i sam rezultat
pirbližava željenom.
U bilo kom koraku procesa za svaki neuron važi:
delta = Zj - Yj
gdje su Z i Y, željeni i stvarni izlaz, respektivno. Podešavanje težina vrši se na sljedeći način:
Wi(konačno) = Wi(početno) + (alfa)x(delta)x(Xi)
gdje je alfa parametar koji kontroliše brzinu učenja i za naš primjer iznosi 0.2 (često se naziva koeficijent
ubrzanja). U primjeru je vrijednost praga (threshold) jednaka 0.5.
Korak
Početno Konačno
X1 X2 Z W1 W2 Y Delta W1 W2
1 0 0 0 0.1 0.3 0 0.0 0.1 0.3
0 1 1 0.1 0.3 0 1.0 0.1 0.5
1 0 1 0.1 0.5 0 1.0 0.3 0.5
1 1 1 0.3 0.5 1 0.0 0.3 0.5
2 0 0 0 0.3 0.5 0 0.0 0.3 0.5
0 1 1 0.3 0.5 0 1.0 0.3 0.7
1 0 1 0.3 0.7 0 1.0 0.5 0.7
1 1 1 0.5 0.7 1 0.0 0.5 0.7
3 0 0 0 0.5 0.7 0 0.0 0.5 0.7
0 1 1 0.5 0.7 1 0.0 0.5 0.7
1 0 1 0.5 0.7 0 1.0 0.7 0.7
1 1 1 0.7 0.7 1 0.0 0.7 0.7
4 0 0 0 0.7 0.7 0 0.0 0.7 0.7
0 1 1 0.7 0.7 1 0.0 0.7 0.7
1 0 1 0.7 0.7 1 0.0 0.7 0.7
1 1 1 0.7 0.7 1 0.0 0.7 0.7
41
Težinama su na početku dodjeljene slučajne vrijednosti, a odnos učenja alfa ima relativno malu vrijednost.
Na osnovu formule koja je data, težine za svaki ulaz se transformišu i koriste se za naredni ulaz. Potrebno je
da težinska suma bude veća od praga (0.5) da bi se postavila na jedinicu inače se postavlja na nulu. Težine
se podešavaju i kada je trening završen, neuron je spreman da obavlja operaciju inkluzije.
Backpropagation - algoritam povratnog prostiranja
Backpropagation je skraćenica od back error propagation što bi moglo da se prevede kao "širenje greške
unazad".
Ovo je najviše korišćen algoritam učenja i prilično je lak za implementaciju. Da bi se mreža koja uči na
osnovu ovog algoritma koristila, potreban je prethodni trening mreže. Backpropagation mreža je tipa feed-
forward i ima jedan ili više skrivenih slojeva. Cilj je da se procesuira veliki broj slučajeva kroz neuronsku
mrežu u fazi treninga, kako bi se obezbjedio najviši kvalitet outputa u odnosu na postojeće inpute.
Počevši od izlaznog sloja, razlika (greška) izmedu željenih i
stvarnih izlaza se računa da bi se na osnovu nje popravile
vrijednosti težina u prethodnom sloju. Princip se jasno vidi na
slici:
Za svaki neuron izlaznog sloja, greška (delta) se izračunava kao:
gdje su Z i Y, željeni i stvarni izlaz, respektivno. Sigmoidna
funkcija f = [1+exp(-x)]-1 je efikasan nacin da se izračuna izlaz
neurona (gdje je x proporcionalno sumi umnožaka ulaza i
težina).
Izvod sigmoidne funkcije (df/dx)=f(1-f) i greška su jednostavna funkcija željenih i stvarnih izlaza. Faktor
f(1-f) je logistička funkcija koja drži korekciju greške u odredenim granicama. Težina svakog ulaza u j-ti
neuron se popravlja proporcionalno ovoj izračunatoj grešci.
Procedura ovog algoritma sastoji se iz sljedećih koraka:
1. Inicijalizacija težina (slučajna).
2. Učitavanje ulaznog vektora i željenog izlaza.
3. Propuštanje ulaznog vektora kroz mrežu i dobijanje izračunatog izlaza.
4. Izračunavanje greške.
5. Podešavanje težina iduci unazad od izlaznog sloja ka skrivenim slojevima.
Procedura se ponavlja za cio set ulaznih vektora sve dok se željeni i stvarni ulazi ne poklope, uzimajuci u
obzir neku toleranciju greške. Velikoj mreži može biti potrebno dosta vremena za podešavanje, tako da se
ponekad unaprije d zadaje broj iteracija učenja umjesto tolerancije. Sa svakim novim skrivenim slojem,
vrijeme učenja se znatno povećava.
Ovaj algoritam učenja je prilično jednostavan i koristi se često.
Jedna od zamjerki je da je prilično spor, pa su razvijeni modaliteti sa heurističkim poboljšanjima, kakvi su
Quickpropagation, Delta-Bar-Delta, Gram-Schmidt signal decorrelation i drugi.
Backpercolation
Backpercolation (ili skraćeno Perc) je takođe algoritam za feed-forward mreže, ali se kod ovog algoritma
težine ne mijenjaju shodno grešci izlaznog sloja, kao kod backpropagation algoritma, već se greška
izračunava za svaki neuron posebno, pa se na osnovu te greške podešavaju i težine.
Ovo je efikasan način da se smanji broj ciklusa treniranja.
Algoritam se sastoji iz sljedećih koraka:
1. Inicijalizacija težina (slučajna).
2. Propuštanje ulaznog vektora kroz mrežu i dobijanje izlaza pri čemu se računa globalna greška.
3. Greška se vraca unazad u skriveni sloj kao u backpropagation.
4. Računa se lokalna greška za svaki neuron. Ova greška predstavlja vrijednost za koju treba da se
promjeni izlaz ovog neurona da bi se globalna greška smanjila.
5. Sve težine se podešavaju prema lokalnoj grešci.
6. Ako je potrebno, parametar uvećanja greške se adaptira u svakoj epohi učenja.
Glavne karakteristike ovog algoritma:
1. Stabilnost treninga ne degradira kad ima više skrivenih slojeva.
42
2. Trening zahtjeva samo lokalna izračunavanja (vezana za jedan neuron u jednom trenutku).
3. Trening ne dovodi do automatskog povećanja broja elemenata u arhitekturi.
4. Težine konvergiraju relativno brzo ka dobijanju arbitrarno tačnog izlaza.
Pošto su u pitanju samo lokalna izračunavanja, nema inverzije matrica, ugnježdenih iterativnih pretraživanja
ili samo-rekonfiguracije i ostalih tehnika koje iziskuju duže vrijeme da bi se obavile.
Fahlman i Lebiere nazivaju faktor koji doprinosi slaboj konvergenciji backpropagation algoritma "problem
pokretne mete". Oni dalje navode: "zbog mijenjanja svih težina u mreži istovremeno, svaki neuron
skrivenog sloja vidi sredinu koja se stalno mijenja. Zbog toga, umjesto da se kreće brzo i zauzme koristan
položaj u rješenju Cjelokupnog problema, neuron se uključuje u složen 'ples' sa dosta nepotrebnog
kretanja."
Prikupljanje i priprema podataka kod neuronskih mreža
Kada je problem jasno definisan, potrebno je prikupiti podatke. Set podataka se sastoji iz određenog broja
slučajeva (vektora), od kojih svaki sadrži određeni broj vrijednosti za ulazne i izlazne varijable. Treba donjeti
odluku koje će se promjenljive koristiti.
Izbor varijabli mora biti intutitivan, a ekspertiza u određenoj oblasti daće nam ideju koje promjenljive mogu
imati uticaj. Na početku, dobro je ukljuciti sve promjenljive za koje se smatra da mogu imati uticaj pa se
tokom treninga odredene mogu izbaciti ako se utvrdi da je uticaj marginalan ili da ga nema. Veliki broj
modernih aplikacija ima sposobnost određivanja neuticajnih promjenljivih.
Podaci se dijele na podatke za trening i podatke za testiranje. Na osnovu podataka za trening vrši se učenje
mreže tj. podešavanje težina dok se podaci za testiranje koriste za validaciju mreže.
Vrsta ulaznih podataka umnogome odreduje topologiju i algoritam učenja. S druge strane, anticipirana
topologija mreže i algoritam učenja utiču na izbor podataka.
Podaci moraju biti u numeričkom obliku, a ako postoje kvalitativne kategorije i nominalne promjenljive,
mora se naći način da se izraze u numeričkom obliku. Na primjer, neuronska mreža koja treba da procjenjuje
vrijednost nekretnina kao ulaznu promjenljivu mora da ima gradsku opštinu koja utice na cijenu nekretnine.
Iako bi bilo najlakše da se ova promjenljiva ostavi kao nominalna, trening bi bio otežan, pa treba uvesti
rejting.
Podaci moraju biti određenog kvaliteta, ne smiju biti dvosmisleni i treba se potruditi da imaju što manje
grešaka, iako skoro sve moderne aplikacije omogućavaju prepoznavanje "problematičnih" setova podataka i
njihovu izolaciju. Podaci moraju pokriti i izuzetke kao i granične uslove domena problema.
Neuronske mreže su tolerantne i na podatke sa šumom ali ova tolerancija ima granicu.
Priprema za trening kod neuronskih mreža
Neophodno je prije svega izabrati algoritam učenja. Prije nego što se počne sa treningom, mora se odrediti
nekoliko parametara, kao što je vrijednost parametra koji determiniše brzinu učenja (alfa), zatim veličina
praga (threshold) i na kraju, početna vrijednost težina.
Treba zatim izvršiti izbor strukture mreže.
Broj ulaznih i izlaznih čvorova odreden je samim podacima za trening, ali je pitanje koliko treba uvesti
skrivenih slojeva i koliko svaki treba da ima neurona. Neki alati imaju mogućnost da sami odrede najbolju
strukturu.
Na kraju, potrebno je podatke formatirati skladno zahtjevima konkretne mreže i njenog algoritma.
43
Trening mreže
Mreži se prezentiraju podaci za trening i ona uči sve dok nije u stanju da proizvede izlaz koji poštuje unaprije
d određenu toleranciju. Kao što je već rečeno, pošto ova faza može veoma dugo da traje, nekada se unaprije
d zadaje broj maksimalnih iteracija.
Veći broj podataka obezbeđuje bolju obučenost mreže, ali
zahtjeva više vremena za učenje. Problem kod treninga je što
se ne minimizira greška za koju smo zainteresovani - greška
koja će se javiti kad se istreniranoj mreži predoči novi ulazni
slucaj - već se minimizira greška na setu podataka za trening.
Jedna od najproblematičnijih manifestacija ovog problema je
kad se mreža "preuči" (over-learning problem).
Kompleksnije mreže (sa više skrivenih slojeva i više neurona)
su podložnije ovoj pojavi.
Ovo se najlakše može objasniti, ako zamislimo da naša mreža
pokušava da modelira krivu koja prolazi kroz tačke koje
određuju vrijednosti u podacima za trening.
Kako traje učenje, kriva sve bolje odgovara podacima.
Međutim, u određenom trenutku, kriva počinje da uzima u
obzir i svaki "podatak sa velikim šumom" koji je rasut daleko
ispod ili iznad krive i neizbježno se deformiše.
Ovo se zove "memorizacija" pa kriva nije više u stanju da predviđa dobro na novim podacima. Analogno
primjeru, kriva ne odgovara novim podacima, jer je "zaboravila" osnovno kretanje iz podataka za trening.
Signal za opasnost od memorizacije je kad predvidanje na osnovu novih podataka postaje sve lošije iako se
greška na podacima za trening smanjuje.
Neke aplikacije pružaju mogućnost da prilikom treninga klasifikuju relevantne i nebitne ulazne promjenljive,
tako da se ovi drugi mogu izostaviti što nece uticati na sposobnost generisanja izlaza.
Testiranje mreže
Vrši se sa podacima za testiranje. Testiranje nam omogućava da proverimo valjanost funkcionisanja mreže
tako što ćemo izlaze koje mreža generiše, porediti sa znanim izlazima i utvrditi da li zadovoljavaju
predeterminisanu toleranciju (od mreže se dakle, ne ocekuje savršeno funkcionisanje - funkcionisanje bez
greške). Ovakvo testiranje obično se naziva "crna kutija" testiranje.
Rezultat možemo porediti sa drugim načinima klasifikovanja, npr. višestrukom regresijom. Poznato je da
višestruka regresija uspješno klasifikuje ulaze u 50% slucajeva, a postoji dosta primjera da neuronske mreže
sa samo jednim skrivenim slojem nadmašuju ovaj procjenat.
Kao i trening, testiranje mora da uključi i rutinske i
nerutinske slucajeve kao i ostale problematične
situacije. Ako postoje velike devijacije, potrebno je
izvršiti nov trening mreže i ako je neophodno,
potrebno je isključiti problematicne podatke.
Čak i ako neuronska mreža pokaže stepen tačnosti
kao neka druga tradicionalna metoda, ipak ima
razloga da se da prednost korišcenju mreže. Naime,
mreža se može lako modifikovati i prilagoditi
drugačijem problemu, dok je kod tradicionalnih
metoda to najčešće veoma veliki posao ili je
potpuno nemoguće.
Koliko podataka koristiti za trening a koliko za testiranje?
U literaturi se može naći odnos: 70% podataka iskoristiti za trening a preostalih 30% za testiranje.
Naravno, ovu podjelu treba uzeti više kao smjernicu jer svaki konkretan primjer zahtjeva i specificni pristup.
44
Implementacija Neuronske mreže su obično simulirane na tradicionalnim računarima. Prednost ovog pristupa je u tome
što se računari mogu lako reprogramirati da promene arhitekturu ili pravilo učenja simulirane neuronske
mreže. Računanje u neuronskoj mreži je uglavnom paralelno.
Pri implementaciji ANN projektant mora donjeti brojne odluke a najznačajnije su:
1. Koliki obim podataka za trening i testiranje izabrati?
2. Koje algoritme učenja izabrati?
3. Koju topologiju izabrati - broj neurona i njihovu konfiguraciju (ulazi, slojevi, izlazi).
4. Odrediti funkciju transformacije.
5. Koju brzinu učenja izabrati?
6. Koji su alati za dijagnozu i vrednovanje.
Kada se te odluke donesu, specifična konfiguracija se naziva paradigmom mreže.
Hardware za neuronske mreže
Većina aplikacija neuronskih mreža simuliraju paralelno procesiranje na sekvencijalnim računarima tako što
se umjesto posebnog procesora za svaki neuron, koristi jedan procesor koji vrši sekvencijalnu obradu.
Neuroni se definišu matematički i dodijeljuju im se odgovarajuće težine. Neuronska mreža se zapravo
simulira na sekvencijalnom računaru. Ovakvo procesiranje iziskuje dosta vremena.
Sa razvojem u oblasti hardvera dolazimo do računarskih arhitektura koje su pogodnije za neuronsko
računanje. Paralelno procesiranje vezano za neuronske mreže, podrazumjeva da svaki neuron u mreži ima
svoj procesor što drasticno poboljšava performanse, prije svega skraćujući vrijeme učenja.
Trening ponekad iziskuje milione iteracija pa su razvijeni sljedeći hardverski pristupi:
1. Koristiti brze klasične računare sa brzim procesorom ili RISC radnu stanicu.
2. Paralelni procesori za opštu upotrebu koji se mogu primjeniti za neuronske mreže kojima je paralelna
obrada osnovna premisa.
3. Neuronski čipovi - razlikuju se od konvencionalnih, jer sadrže veliki broj neuronskih čvorova.
Ovakva integralna kola su retka, koristi ih vojska za specijalne svrhe, kao što je donošenje odluka gdje
je vrijeme za odluku kritično.
4. Ploče za ubrzavanje - specijalni procesori za paralelnu obradu koji se mogu dodati konvencionalnim
računarima (slično kao matematički ko-procesor). Mogu biti specijalno dizajnirani za neuronske mreže
ili služiti za paralelno procesiranje velike brzine.
Neke oblasti primjena neuronskih mreža
Neuronske mreže koriste se u brojnim i najrazličitijim oblastima. Navešćemo samo neke:
Primijenjuju se u raznim oblastima ekonomije. Imaju uspjeha na finansijskim tržištima gdje nelinearna
priroda finansijskih podataka čini primjenu klasicnih metoda veoma teškom;
u predvidanju vrijednosti akcija superiorne su u odnosu na statističke metode;
donošenje odluka na osnovu velikog broja promjenljivih;
ocena kreditne sposobnosti preduzeća (da li mu odobriti zajam ili ne);
predviđanje vremenskih serija vezanih za tražnju - marketinška analiza: predviđanje budućih kupaca,
ponašanje kupaca u budućnosti, prepoznavanje ciljnih grupa - segmentiranje tržišta;
prepoznavanje oblika, naročito prepoznavanje rukopisa;
razne vrste dijagnoziranja, naročito medicinskog, modeliranje kardiovaskularnog sistema;
proučavanje rada mozga;
psihijatrijske procjene;
vremenska prognoza;
kriminološka itraživanja;
vojna primjena za automatsko prepoznavanje mete.
45
Prednosti neuronskih mreža
Prednost neuronskih mreža je njihova sposobnost da uče koja im daje prirodniji interfejs ka modeliranju
realnog svijeta, u odnosu na klasične sisteme koji moraju biti programirani. Neuronske mreže su u stanju da
pronađu veze između pojava koje izmiču ljudskom intelektualnom aparatu potpomognutom klasičnim
softverskim alatima.
Neuronske mreže imaju i mogućnost tolerancije nedostataka - mreža se sastoji od više elemanata
procesiranja, pa može da funkcioniše i ako dode do oštećenja dijela mreže. Sposobne su da generalizuju, pa
ako im se prezentuje nekompletan skup ulaznih podataka, mreža će ipak biti u stanju da dà izlaz.
Nedostaci i ograničenja neuronskih mreža
Neuronske mreže ne rade dobro ono što ni ljudi ne rade dobro. Nisu dobre za aritmetičke proračune i zadatke
obrade podataka.
Iako imju odličnu moć predviđanja, imaju slabu sposobnost objašnjavanja. Na slici je prikazan dijagram
zavisnosti moći predviđanja i objašnjavanja. Vidimo da neuronske mreže odlično predvidaju a slabo
objašnjavaju, potpuno suprotno od npr. stabala odlučivanja. Neuronska mreža ne može korisniku da objasni
kako je došla do odredenog rješenja.
Dugo vrijeme treninga takode može da predstavlja problem, a ako je potreban čest trening, to može učiniti
aplikacije neupotrebljivim.
46
Ekspertni sistemi
Većina materijala za temu Ekspertni sistemi preuzeta iz knjige prof. dr ing Jaroslav E..Poliščuka: ekspertni sistemi;
Problem procesiranja znanja i njegovo prikazivanje su osnova na kojoj se zasniva kompletna teorija
vještačke inteligencije, pa tako i teorije izgradnje ekspertnih sistema, odnosno Arhitektura ekspertnih
sistema. Ova problematika je posebno istraživana sredinom 70-tih godina, tako da je do danas razvijen čitav
niz metoda i programskih alata.
Predikatski račun omogućava rad i sa objektima i sa propozicijama i predstavlja standardnu metodu
predstavljanja znanja, odnosno izgradnje Ekspertnih sistema zasnovanih na matematičkoj logici.
Predstavlja formalni logički jezik sa vlastitom sintaksom (strukturom izraza) i gramatikom, koji omogućava
uvođenje relacija među objekte i primjenu mehanizma zaključivanja kod procesiranja znanja.
Pojam ekspertnih sistema
U praksi se često javlja potreba za nizom specifičnih znanja danih u cjelini, brzo sigurno i povezano. Drugim
riječima, želi se da u problematičnim situacijama i kod donošenja složenih odluka pomogne dobar stručnjak,
vrhunski specijalista ili, kako se drugačije kaže, ekspert. Pomoć eksperta je dobro došla u složenim
situacijama bilo koje oblasti ljudskog rada: medicini, pravu, građevinarstvu,
industriji, marketingu, itd.
Osnovna svojstva eksperta
Osnovna svojstva eksperta su da:
• primjeni, na optimalni način, svoja znanja u rješavanju problema. Pri tome se podrazumjeva uzimanje u
obzir činjenica i predviđanje relevantnih posljedica;
• objasni i obrazloži svoje odluke i prijedloge;
• komunicira sa drugim ekspertima i proširuje svoja znanja, prestruktuira i reorganizuje shvatanja i znanja;
• formira i napušta određene zaključke, što dokazuje da je pronikao u suštinu određenih pojava i našao nove
zakonitosti koje među njima vladaju;
• određuje najbrži način dolaska do rješenja i njegove praktične primjene;
• u specifičnim situacijama intuitivno (heuristički), na osnovu svih dosadašnjih iskustava i događaja ocjeni
gdje se nalazi rješenje problema.
47
Imati pored sebe eksperta nije ni najmanje jednostavno, eksperata nema previše, nisu na raspolaganju u
svakom trenutku i nisu ni jeftini. Osim toga ni jedan ekspert ne može da posjeduje sva znanja.
Ekspertni sistemi –definicija
Današnji stepen razvoja moderne informatičke nauke sve više omogućava da se stalno može raspolagati
ekspertnim uslugama. Pri tome se misli na ekspertne sisteme (ES).
Pod ES se podrazumjeva takva vrsta programske podrške ili softvera na računaru, koja u većoj ili manjoj
mjeri zamjenjuje čovjeka - eksperta. ES je u stanju da, na osnovu unesenih podataka i ugrađenih logičkih
algoritama (pravila zaključivanja) i tako nastale baze znanja, efikasno pomogne korisniku u rješavanju
specifične problematike.
Za ES se može reći da predstavljaju: "Program opšte namjene za rješavanje problema, koji imitira ljudsku
inteligenciju" ili "Intelektualnu podršku visokog nivoa, koja služi isto kao i ljudski ekspert".
U slijedećoj definiciji, osim cilja, se objašnjava i struktura ES:
"Ekspertni sistemi koriste formalne načine predstavljanja znanja koje čovjek – ekspert posjeduje i metode
logičkog zaključivanja, da putem odgovarajućih računarskih programa obezbjede ekspertni savjet ili
mišljenje o problemu za koji je korisnik zainteresovan".
Područje primjene ES
Ekspertni sistemi imaju za cilj da obezbjede odgovor na probleme koji zahtjevaju rasuđivanje, prepoznavanje
i poređenje oblika, akviziciju novih koncepata, zaključivanje, ukratko, oni daju odgovor na pitanja koja
zahtjevaju inteligenciju. ES se mogu efikasno primjenjivati u područjima gdje se mišljenje o problemu svodi
na logičko rasuđivanje, a ne na izračunavanje, i gdje svaki korak u rješavanju problema ima veći broj
alternativnih mogućnosti.
Tipovi znanja ES
Ključni faktor za dobre performanse ES je kvalitet znanja koje je u njega ugrađeno. Znanje se čuva u bazi
znanja ES i generalno se razlikuju dva tipa znanja:
• prvi tip znanja je ono znanje koje se zove činjenicama danog domena, odnosno znanje koje je široko
poznato i nalazi se napisano u udžbenicima, časopisima i slično;
• drugi tip znanja je heurističko znanje, ono znanje koje čovjek – ekspert gradi na osnovu iskustva i koje
kombinovano sa prvim tipom znanja čini čovjeka ekspertom.
Osim znanja, ES zahtjeva i postupak zaključivanja - metod rasuđivanja, korišten da napravi spregu
između znanja koje se čuva u računaru i problema koji postavlja korisnik. On, takođe, zahtjeva način za
predstavljanje znanja u računaru, znanja koje ES treba da posjeduje, i to, prije svega, u obliku logičkih
struktura sa kojima računar može lako da manipuliše, kao i skup odgovarajućih struktura podataka.
Pitanja vezana za razvoj ES
Kod razvoja ES se javlja niz veoma krupnih pitanja, na koje treba dati odgovor.
Prvi problem, koji se susreće kod ES, je način predstavljanja znanja. Kako predstaviti znanje iz danog
domena u obliku pogodnih struktura podataka, tako da se efikasno može iskoristiti u rješavanju problema?
Drugo, postavlja se pitanje kako koristiti znanje, kako projektovati mehanizam zaključivanja da bi se
znanje efikasno koristilo u rješavanju problema?
Treće, postavlja se pitanje akvizicije znanja, to jest, kako izvući znanje iz glava eksperata i staviti ga u
računar? Da li je moguće automatizovati korak akvizicije znanja i obezbjediti neposrednu komunikaciju
eksperta i računara i nesmetan prenos znanja od eksperta ka računaru? U ovom trenutku, akvizicija znanja
predstavlja ključno pitanje u razvoju metoda vještačke inteligencije.
Podjela ES prema vrsti korisnika
Ekspertni sistemi se razlikuju prema vrsti korisnika. Neki ES, kao što su sistemi medicinske dijagnostike,
uključuju znanje grupe eksperata u cilju korištenja od strane jednog eksperta iz iste grupe. Drugim
riječima, ljekari kreiraju sistem za ljekare.
Neki ES prenose znanje jedne grupe eksperata grupi ili pojedincu koji to nisu. U ovu grupu spadaju
sistemi finansijskog planiranja. Upotreba ove grupe ES se danas smatra najkontraverznijom.
48
Načini korištenja ES
Postoje tri osnovna načina korištenja ES:
• prvi način, gdje korisnik traži odgovor na zadani problem,
• drugi način, gdje je korisnik instruktor koji dodaje znanje u postojeći ES,
• treći način, gdje je korisnik učenik koji uči od ES, na taj način povećavajući svoje znanje.
Pri tome se ES razmatra kao dio vještačke inteligencije i koristi sve tehnike primjenjene u tom području
nauke.
Optimalnost baze znanja
Treba naglasiti da ES nije prosta BP ili neka vrsta automatizovanog priručnika. Osim primjene niza podataka
i logičkih pravila (na primjer, poznati tip zaključaka "AKO ... → TADA"), ES takođe koriste:
• dostignuća iz područja tzv. dijalognih i prirodnih jezičkih sistema,
• dostignuća računarske animacije i robotike,
• razne načine interpretacije problema i donošenja odluka, itd.
Stvorena baza znanja ES mora postići optimum između niza potpuno kontradiktornih zahtjeva da bi, barem
minimalno, zadovoljila korisnika. S jedne strane broj podataka, činjenica i logičkih odluka mora biti što je
moguće veći, a nasuprot tome vrijeme dobijanja određenog rješenja ili prijedloga mora biti što je moguće
manje. Pri tome je potrebno odabrati najvjerovatnije rješenje, ali predložiti i moguće alternative.
Sposobnost prihvatanja novih znanja
Treba znati da ES nije predviđen da daje konačna i neopoziva rješenja, već samo da pomaže u njihovom
nalaženju. Takođe se podrazumjeva da ES mora biti sposoban da "uči" i "prihvata" nova znanja, shodno sa
razvojem područja u kome je "specijalista". Ponekad ne postoji mogućnost davanja konkretnog rješenja, pa
je potrebno koristiti statistiku i tzv. heuristiku, odnosno intuitivno znanje.
Pri svemu ovome treba imati u vidu i vrlo težak zahtjev što jednostavnijeg, bržeg i lakšeg odnosa čovjek -
računar, sa maksimalnim izbjegavanjem nedoumica ili nejasnih zaključaka. ES, po potrebi, mora da "pita"
korisnika za dodatne podatke. Ukratko, ES mora posjedovati ako ne sve karakteristike i znanja eksperta,
ono barem dobar dio njih.
ARHITEKTURA EKSPERTNIH SISTEMA
Opšte o arhitekturi ekspertnih sistema Interdisciplinarnost ekspertnih sistema
Ekspertni sistemi zadiru u veći broj područja nauke i tehnike, bilo direktno, bilo preko vještačke
inteligencije. Na slici 4.1. su prikazana područja koja određuju ES.
Slika 4.1. Područja koja određuju ekspertne sisteme.
Razvojni tim za ES
Ekspertne sisteme razvijaju čitavi timovi stručnjaka, koristeći sva navedena područja nauke i tehnike. Za
razmatranje arhitekture ES se može uzeti minimum stručnjaka, koji su u stanju sačiniti ES. Taj minimum se
49
sastoji od: specijaliste iz područja kojem je namjenjen ES - eksperta i specijaliste za organizaciju i
realizaciju sistema, koji u sebi objedinjuje organizatora baze znanja i sistemskog inženjera za softver. Taj
specijalista se može uslovno nazvati inženjer (tehnolog) znanja.
Osnovna šema ES je nezamisliva bez korisnika, jer ES ima smisla samo ako se može praktično primjeniti.
Testiranje ES, u svim fazama razvoja, se provodi uz pomoć korisnika, što se može prikazati slikom 4.2.
Osnovna arhitektura ekspertnih sistema
Ekspertni sistem je veoma složen programski paket, koji se sastoji od niza manjih programskih cjelina ili
modula. Dva osnovna dijela su:
• vezni modul ili interfejs (interface),
• jezgro ekspertnog sistema.
Jezgro ES se sastoji od dva dijela i to:
• baze znanja,
• relacionog modula ili modula za zaključivanje.
Vezni modul spaja eksperta i tehnologa znanja, sa jedne strane, i korisnika, sa druge strane, sa bazom znanja
i relacionim modulom. Iz tog razloga vezni modul se sastoji od dva manja modula (komunikaciona kanala) i
to:
• modula za zahvatanje znanja,
• modula za interpretaciju znanja.
Nakon povezivanja ovih modula u jednu cjelinu, dobija se osnovna struktura ES, koja se može prikazati
slikom 4.3.
Komunikacija sa ES
Kada je postavljena cjelokupna struktura ES, onda ni ekspert, ni tehnolog znanja, ni korisnik ne pristupaju
direktno jezgru ES. Ekspertni sistem sa spoljnjim svijetom komunicira isključivo preko veznog modula i to
tako da je za komunikaciju sa ekspertom i tehnologom znanja zadužen modul za zahvatanje znanja, dok je za
vezu sa korisnikom zadužen modul za interpretaciju znanja.
Znanja koja sistem dobije preko modula za zahvatanje znanja, raspoređuju se i sređuju u bazi znanja i
relacionom modulu. Tek nakon toga jezgro ES je spremno da pruži usluge korisniku sistema preko modula
za interpretaciju znanja.
50
Jezgro ekspertnih sistema
Kvalitetno razumjevanje ES podrazumjeva dobro upoznavanje sa njegovim jezgrom. Iz tog razloga, u
najopštijim crtama, će biti prikazano jezgro ES, odnosno princip rada baze znanja i relacionog modula ili
modula za zaključivanje.
Baze znanja i procesiranje znanja
Pojavom vještačke inteligencije, a posebno razvojem ES, javljaju se kao svojevrstan razvoj baza podataka i
obrade podataka pojmovi baze znanja i procesiranje znanja. Postojeća simetrija između baza podataka i
obrade podataka, s jedne strane, i baza znanja i procesiranja znanja, s druge strane, prikazana je na slici 4.4.
Ne može se reći da baze znanja, u užem smislu, nisu takođe neka vrsta baza podataka, a modul za
zaključivanje određeni oblik algoritamske obrade.
Metode za izgradnju jezgra ES
Problem procesiranja znanja i njegovo prikazivanje su osnova na kojoj se zasniva kompletna teorija
vještačke inteligencije, pa tako i teorije izgradnje ES.
Ova problematika je posebno istraživana sredinom 70-tih godina, tako da se do danas razvio čitav niz metoda
i programskih alata, gdje je sve bazirano na matematičkim disciplinama, i to: statistici i teoriji vjerovatnoće,
matricama i teoriji grafova, običnoj, višedimenzionalnoj i tzv. "razmazanoj" (fuzzy) logici, predikatskom
računu, itd.
Vremenom su se izdvojile čitav niz metoda, koje danas dominiraju u izgradnji jezgra ekspertnih sistema, a to
su:
• automatsko dokazivanje teorema,
• produkcioni sistemi,
• razvoj ES zasnovan na matematičkoj logici,
• semantičke mreže,
• ramovi znanja (frames),
• metode fazi ES,
• metode za izgradnju ES zasnovane na neuronskim mrežama,
• genetički algoritmi i ES,
• agenti, multi agenti i inteligentni agenti,
• inteligentne BP i inteligentni IS.
Iako ove metode imaju niz dodirnih tačaka i određena preklapanja, one predstavljaju zaokružene cjeline.
Vezni modul
Pristup do jezgra u izgrađenom ES je moguć isklučivo preko veznog modula. Vezni modul je cjelina od
dva svojevrsna komunikaciona kanala i to:
• modula za interpretaciju znanja, predviđenog za korisnika, i
• modula za zahvatanje znanja, koga koriste ekspert i tehnolog znanja.
Modul za interpretaciju znanja
Arhitektura modula za interpretaciju znanja
Arhitektura modula za interpretaciju znanja je prikazana na slici 4.5. Modul za interpretaciju znanja se sastoji
od sljedećih dijelova:
• programa za analizu saopštenja od strane korisnika sistemu,
• podsistema za dijalog,
51
• programa za sintezu saopštenja od strane sistema korisniku.
Program za analizu saopštenja
Program za analizu saopštenja ima zadatak da prima poruke od korisnika.
Njime se vrši sintaksna, semantička i morfološka analiza (odnosno, analiza poštovanja pravila jezika, analiza
logičkog oblika poruke i analiza oblika poruke), drugim riječima, ovdje se vrši filtriranje poruke.
Podsistem za dijalog
U podsistemu za dijalog prvo se izdvajaju tzv. ključne riječi, uz pomoć rječnika objekata i rječnika relacija,
koje se zatim pretvaraju u oblik pogodan za predmetnu oblast. Ovako obrađena informacija se predaje jezgru
ES, koje je sada obrađuje prema zadanim pravilima, tj. postavlja dodatna pitanja, traži optimalna rješenja ili
daje objašnjenja.
Program za sintezu saopštenja
Rezultat procesiranja znanja se predaje programu za sintezu saopštenja od strane sistema korisniku, koji vrši
obradu po sintaksnim, semantičkim i morfološkim pravilima. Pri ovome se podrazumjeva da je čitav ES
spreman za rad, da su već uneseni baza znanja i svi mehanizmi zaključivanja.
52
Modul za zahvatanje znanja
Modul za zahvatanje znanja se može razmatrati na niz različitih načina, po područjima nauke i tehnike, sa
stanovišta logike i heuristike, sa teorijskog i praktičnog gledišta, itd. Međutim, ova jednostavna pretpostavka
je jedan od rubnih kamenova kompletne teorije i prakse ES.
Kompleksnost pojma znanja
Šta je najskuplje u modernom svijetu, šta se najduže i najteže stiče i najviše cijeni? Odgovor je jednoznačan i
jasan: ZNANJE! Uostalom, čovjek znanje počinje sticati od rođenja i uči sve do smrti. Kako onda naučiti
mašinu da bude savjetnik i pomoćnik u poslovima, gdje se traži vrhunsko, ekspertno znanje? Kako popuniti
bazu znanja i kako pravilno definisati modul za zaključivanje, odnosno kako "naučiti" konkretni ES?
Sve ove funkcije treba da obave ekspert i tehnolog znanja, komunicirajući sa jezgrom ES pomoću programa
kojim se puni jezgro, odnosno modula za zahvatanje znanja.
Klasifikacija znanja za ES
U slučaju ES klasifikacija znanja izgleda kao na slici 4.6, a rezultat je rada na čitavom nizu projekata.
Ovakva klasifikacija znanja je veoma pogodna za zahvatanje, što znači da uspostavlja dobru vezu eksperta i
ES.
Postupci zahvatanja znanja za ES
Proces pribavljanja znanja je veoma složen i može se rasčlaniti u nekoliko jasno izdvojenih postupaka. Ti
postupci predstavljaju neku vrstu algoritma za sve koji izgrađuju bilo koji ES, odnosno ponavljaju obavljanje
određenih zadataka.
Zadaci bitni za zahvatanje znanja su:
(1) Definisanje neophodnosti proširenja i modifikacije znanja;
(2) Dobijanje potpuno novih znanja o sistemu;
(3) Formiranje novih znanja u obliku koji sistem poznaje;
(4) Usklađivanje starih i novih znanja i prelazak na korak (1).
Navedeni postupci su pokazali da nova generacija ES mora biti zasnovana na dvije osnovne činjenice:
a) Izgradnji modula za zahvatanje znanja, koji omogućava automatizaciju zahvatanja znanja;
b) Automatizaciji zahvatanja znanja ES.
Pored izgradnje modula za zahvatanje znanja i automatizacije zahvatanja znanja, pojam automatsko učenje
predstavlja treću stepenicu u razvoju i pojedini autori je smatraju jedinim pravim početkom teorije i prakse
ES. Ovo mišljenje je bazirano na mogućnosti ES da samostalno i automatski dolazi do potpuno novih
zaključaka.
53
Arhitektura modula za zahvatanje znanja
Modul za zahvatanje znanja mora imati programe za analizu i sintezu saopštenja od strane eksperta, koji se
obično nazivaju mehanizmi uvođenja informacija, da bi se dobio oblik pogodan za logičku obradu i
kasniju predaju novih znanja i pravila jezgru ES.
Međutim, ovdje je od bitnog značenja program koji se može uslovno nazvati intelektualni redaktor, slika
4.8.
Intelektualni redaktor
Dužnost intelektualnog redaktora je da prihvati strukturu svih oblika znanja i da stalno obavlja poređenje
novih znanja, od strane eksperta, i starih znanja, koja se nalaze u jezgru ES.
Način na koji intelektualni redaktor obavlja ovu funkciju određuje i sam tip automatskog zahvatanja znanja,
odnosno učenja:
• induktivno, ili posebna vrsta analognog,
• jezičko konceptualno,
• eliminaciono, uz pomoć stabla grananja,
• zvjezdasto,
• uz pomoć uzoraka, itd.
Svaka od ovih metoda ima svoje prednosti i nedostatke, a mogu se koristiti i njihove kombinacije.
Mehanizam učenja i samostalnog zaključivanja
Zajedničko za sve oblike i tipove zahvatanja znanja je tzv. opšti mehanizam učenja i samostalnog
zaključivanja (slika 4.7). Prema toj šemi upravo i radi intelektualni redaktor.
54
Da li se radi o induktivnom, jezičko konceptualnom i/ili nekom drugom obliku zahvatanja znanja, odlučuju
modeli pojmova i/ili pravila. Očigledno, radi se o sistemu sa povratnom vezom, gdje se novostvoreni pojam
i/ili pravilo ukomponuju samo ako su prošli dodatni test mehanizma zaključivanja i eksperta.
Jedna od važnih karakteristika ovog načina učenja je i stalni dijalog sa ekspertom.
Sistem donosi svoje zaključke i postavlja pitanja svome "učitelju", te pokazuje svoja rješenja. Za ovakav tip
konverzije zadužen je podsistem za dijalog.
Podsistem za dijalog
Podsistem za dijalog, u širem smislu, u sebi sadrži i analizu i sintezu saopštenja, isto kao i modul za
interpretaciju znanja. U zajednici sa intelektualnim redaktorom predstavlja modul za zahvatanje znanja.
55
Obrazovni softver i inteligentni sistemi učenja
Preuzet i pruređen rad: OBRAZOVNI SOFTVER - INTELIGENTNI TUTORSKI SISTEMI UČENJA
Autori: Dr.sc. Mila Nadrljanski i drugi...
Pod pojmom obrazovni softver podrazumijevaju se kako gotovi računarski programi, koji se mogu koristiti
u okviru sadržaja nastave, tako i programi koji pomažu i usmjeravaju individualnu fazu učenja.
Obrazovni softver sadrži različite nastavne programe namjenjene određenim korisnicima.
Jednu vrstu obrazovnog softvera čine inetligentni tutorski sistemi – softveri umjetne inteligencije (UI).
Prema definiciji jedne od hipoteza umjetne inteligencije navodi se:
„Moguće su mašine koje djeluju kao da su inteligentne – inteligentni mašine“. Jasno je da odgovor na
pitanje da li je UI moguća zavisi od toga kako je definišemo.
Sa čisto inženjerskog stanovišta, pitanje inteligentnih mašina se svodi na optimizacioni problem izbora
najboljeg softverskog agenta za zadatu arhitekturu. U tom smislu oblast rasuđivanja je veoma važna za
razvoj Ul-based obrazovnog softvera.
Istraživačko područje u ovom području obuhvata raznovrsnost tema. Case-based rasuđivanje (CBR Case-
based reasoning) privlači veliku pažnju unutar Ul u obrazovnom softveru. CBR je analogni metod rasuđivanja
koji osigurava dvije metodologije rješavanje problema i spoznajni model čovjeka.
CBR predstavlja rasuđivanje iz iskustva ili "starih slučajeva" u rješavanju problema, analiziranja rješenja i
objašnjenje anomalnih situacija. To je konzistentno mnogo više od zaključaka koje bi imali psiholozi
posmatranjem prirodnog načina rješavanja problema.
Stručnjaci su skloni korišćenju CBR metodologije za donošenje odluka, u dinamički promjenljivim
situacijama i drugim situacijama u kojima je mnogo nepoznatih i gdje rješenja nisu jasna. CBR predstavlja
osnove nove tehnologije izgradnje inteligentnog CBR sistema za nastavu i učenje koje značajnije može
pomoći u poboljšanju obrazovanja.
Inteligentni sistemi učenja – predstavljanje znanja
Tokom zadnje tri decenije, umjetna inteligencija je napravila značajan korak u razvoju ekspertnih sistema,
koji se osobinuju po tome što sadrže znanja eksperta i pravila za rješavanje problema. Inetligentni tutori su
mnogo više od ekspertnog sistema. Kod ekspertnog sistema se smatra da su korisnikovo predznanje i
vještine ograničeni.
I razvijenijim modelima ekspertnih sistema nedostaje dijagnostika Studentski (učenički)h grešaka, koje
mogu biti posljedica nepažnje, neznanja ili nerazumjevanja. Te činjenice obvezuju projektante ekspertnih
sistema da pođu od teorije kako učenici uče u određenoj oblasti.
Ako se prihvati stav Gagnea o akumulaciji znanja, onda će se student primorati da sam izgradi sopstvenu
bazu znanja i procedure za rješavanje problema. Takva strategija učenja bi mogla biti preuzeta sa
raspoređenim transferom znanja sa ekspertnog sistema na studenta, uključujući i dijagnostiku rupa u
studentovom znanju i veštinama koje su rezultat prekida u procesu transfera. Ako projektant ekspertnog
sistema prihvati teoriju o konstruktivnom učenju, on će očekivati veći skup grešaka - ne samo one koje
prikazuju rupu u znanju, nego i pogrešno shvaćene stvari izazvane nekim nekompletnim prezentacijama
znanja. Dakle, detekcija greške se pokazala kao teži zadatak nego što se u prvom momentu činilo. Kod
razvijenijih modela ekspertnih sistema mogu se dati oznake koje će obeležiti u bazi znanje koje je poznato,
tako da u kasnijim slučajevima ekspertni sistem treba da promjeni prezentaciju novih znanja u skladu sa
onim što se veruje da student već zna - na osnovu unetih oznaka. Tako se lakše objašnjavaju greške koje se
čine.
Inteligentni tutorski obrzovni softveri osobinuju se po tome što analiziraju studentske odgovore i pronalze
greške u njihovom znanju. Ovde će se prikazati tri prilaza analiziranju grešaka u odgovorima studenta.
56
Prvi korak u kontruisanju UI programa je izgradnja osnove znanja.
U nastojanju da se ponaša inteligentno, računar mora imati znanje o polju interesiranja, koje mora biti
sabrano i kodifikovano. Ono mora biti organizovano, šematizirano ili na neki drugi način sistemno uređeno.
Ovaj proces prikupljanja i organizovanja znanja naziva se inženjering znanja. To je najteži stupanj koji
oduzima najviše vremena bilo kog Ul program razvojnog procesa. Iako su varijante predstavljanja šema
razvijane godinama, ove šeme dijele dvije uobičajene karakteristike. Prvo, one mogu biti programirane sa
kompjuterskim jezicima i pohranjene u memoriju. Drugo, one su dizajnirane tako da se čimbenicama i
ostalim znanjem sadržanim u njima može rukovati jednim sistemom zaključka, drugim značajnim dijelom Ul
programa. Sistem zaključivanja koristi pretraživač i tehniku obrasca koji se podudaraju sa bazom znanja, da
odgovori na pitanja, izvuče zaključke, ili na drugi način realizuje inteligentnu funkciju.
Model tutora ili pedagoški model Umjetna inteligencija je podvrsta računarske nauke posvećena kreiranju računarskog programa i tehničke
izvedbe s mogućnosti imitacije ljudskog mišljenja. Ljudsko mišljenje je proces koji kao svoju bazu
upotebljava inteligenciju i znanje pojedinca. Inteligencija nam omogućuje stjecanje znanja i olakšava
mogućnost njegove primjene u praksi. Umjetna inteligencija daje računaru dodatnu mogućnost procjene
mogućega kapaciteta koji se ogleda u inteligentnom ponašanju (to je jedan od osnovnih ciljeva umjetne
inteligencije). Iako računar ne može učiti i stjecati iskustvo kao ljudsko biće, ipak može upotrebljavati znanje
i iskoustvo pojedinaca i tako ga spojiti u kvalitetne računarske programe.
Model tutora sadrži znanje za prezentaciju nastavnog materijala po šemi ”što, kad, kako? ”Model tutorstva
simulira reakcije učenika, proces odluka bazira na pedagoškim intervencijama i dodaje prikladne instrukcije,
bazirane na razlici stručnog modela i modela studenta. Vladaju dva tutorska modela:
1. Metod sokratovskog dijaloga (studentu (učeniku) se postavljaju pitanja, da bi ga naveli na analizu
sopstvenih grešaka).
2. Coaching metod (koristi CBT-program sa zadacima i aktivnostima za vežbe, isprobavanje problemskih
rješenja i u takvim situacijama reaguje s nuđenjem određenih savjeta).
Današnjim tutorskim modelima je uskraćeno ono svakodnevno razmišljanje nastavnika. Najveći nedostatak
je što se učenicima ovaj program tutorskih komponenti čini šematski. Moglo bi se predpostaviti da se sa
konceptom ovih nastavnih tutorskih modela učenici već na samom početku moraju upoznati sa dizajnom
sistema.
Dizajneri današnjih tutorskih modela ne polaze od koncepta participacije, već u prvi plan stavljaju
”apstraktne studente”. Ovi učenici se ne osećaju kao dio sistema, već su van njega. ”Preuzimanje datog
zadatka i date ekspertize, stavljaju studente u pasivan položaj prilikom traženja svojih problema i razvijanju
svojih veština” Bredo(1993.), pri čemu, ”učenici postaju knjiški pametniji, a praktično to nisu”.
Logika
Logika je najstariji oblik predstavljanja znanja.
U bilo kom logičkom procesu redosljed je sljedeći: informacija je data, iskazi su napravljeni, ili zabilježena
su opažanja. Ovo su forme ulaza logičkog procesa i nazivaju se premise.
Premise se koriste u logičkom procesu da stvore izlaz koji se sastoji od završetka koji se naziva zaključak. U
ovom procesu, činjenice koje su znane kao istinite mogu biti upotrebljene da izvedu nove činjenice koje
takođe moraju biti istinite. Postoji dva osnovna tipa rasuđivanja: deduktivno i induktivno. Oba tipa se
koriste u logici da stvore zaključke iz premisa. Skoro svaki problem ili argument može biti stavljen u ovaj
oblik za svrhu deduktivnog zaključivanja. U induktivnom zaključivanju broj ustanovljenih čimbenika ili
premisa je upotrebljen da se izvuče neki opšti zaključak.
Da bi računar izveo rasuđivanje koristeći logiku, neki metod mora biti upotrebljen da pretvori deduktivni
ili induktivni proces rasuđivanja u oblik pogodan za rukovanje računarom.
Rezultat je ono što je poznato kao logički simbol ili matematička logika.
57
To je sistem pravila i procedura koje dozvoljavaju izvlačenje zaključaka iz različitih varijanti premisa
koristeći varijante logičkih tehnika. Ovi metodi su opšte poznati kao računarska logika.
Postoje dve osnovne forme te logike, propositional logika i predicate logika. Pošto se propositional logika
bavi prvenstveno potpunim izjavama i bez obzira je li su istinite ili ne, njena sposobnost predstaviti stvarni
svijet znanja je ograničena.
Stoga, tehnologija inteligentnog podučavanja koristi predicate logiku umesto propositional logike.
Predicate logika daje dodatnu sposobnost predstavljanja znanja u finijim detaljima.
Liste i drva
Liste i drva su proste strukture korišćenja i predstavljanja hijerarhije znanja.
Lista je serija povezanih tema. Objekti su povezani po grupama ili klasama sa sličnim temama. Njihovi
odnosi su prikazani tako da ih povezuju zajedno. Najprostija forma je jedna lista, ali hijerarhija je stvorena
kada su kombinovane dvije ili više povezane liste. S druge strane, drvo je grafička struktura hijerarhije, to je
jednostavan način prikazivanja listi i ostalih hijerarhijskih znanja.
Semantičke mreže
Semantičke mreže su osnovni grafički zapisi znanja koje pokazuju hijerarhijske veze između objekata.
Semantička mreža je napravljena od izvesnog broja članova, koja predstavlja objekt i opis informacija o tim
objektima. Objekti mogu biti bilo koje fizičke teme kao što je knjiga, automobil, sto ili čak osoba. Članovi
mogu biti, također, koncepti, događaji ili akcije. Članovi u sematničkoj mreži su interno povezani linkovima
ili lukovima. Lukovi pokazuju veze između raznovrsnih objekata i opisnih faktora. Neke od najuobičajenih
lukova su is-a ili has-a tip.
Okviri
Okvir je relativno veliki blok ili dio znanja o pojedinačnom objektu, događaju, lokaciji, situaciji ili drugom
elementu.
Okvir opisuje taj objekat sa puno detalja. Detalj je dat u obliku otvora koji objašnjava različite osobine i
karakteristike objekta ili situacije. Okviri se obično koriste da predstave stereotipe ili znanje bazirano na
dobro poznatim karakteristikama i iskustvima. S okvirima, je lako napraviti zaključke o novim objektima,
događajima i situacijama, jer oni osiguravaju osnove znanja izvučenog iz prethodnih iskustava.
Na primjer, nazivi komponenata bilo kog automobila ili životinjskog carstva mogu biti predstavljeni u formi
okvira.
Skripte
Skripta je oblik znanja predstavljen šemom sličnom okviru, ali umjesto opisivanja jednog objekta, skripta
opisuje sekvencu događaja. Kao i okvir, skripta daje sliku stereotipne situacije.
Za razliku od okvira, obično je predstavljena u pojedinačnom kontekstu. Da bi se opisala sekvenca događaja,
skripta koristi seriju oznaka koje sadrže informacije o ljudima, objektima i akcijama koje učestvuju u
događajima.
Neki od elemenata tipičnih skripti sadrže spoljne uvjete, podrške, uloge, puteve i mogućnosti.
Produkcijska pravila
Produkcijska pravila, ponekad upućuju samo na pravila ili proizvode koji su dvije posebne izjave koje
stvaraju male dijelove znanja.
Prvi dio pravila, zvani prethodnik, izražava situaciju ili premisu, dok drugi dio, zove se posljedica, znači
pojedinačnu akciju ili zaključak koji odgovara ako je situacija ili premisa točna. Prvi ili lijeva-ruka pravila
je izjava sa prefiksom IF (ako).
Drugi ili desna-ruka dio pravila je izjava sa prefiksom THEN (onda).
58
Metodologija rasuđivanja zasnovanog na slučajevima
CBR odgovara broju koncepcija i tehnika koje mogu biti upotrebljene za zapis i oznake slučajeva i
zahtjevaju identifikaciju jednog koji bi bio koristan u rješavanju novih slučajeva kada su oni predstavljeni
(Schank&Riesbeck, 1989 i Saide, 1991). Sljedeći dijagram toka, algoritam interpretacije i prilagođavanje
novog slučaja može biti sažet u sljedećim procesima:
1. Dodjeljivanje oznaka: gdje su osobine novog slučaja dodjeljene kao oznake okarakterisanog
događaja
2. Povraćaj: gdje su oznake upotrebljene da povrate pojedinačan stari slučaj iz memorije slučaja
(prošli događaj sadrži ranije rješenje)
3. Prilagođavanje: gdje je stari slučaj prilagođen da odgovara novoj situaciji, rezultirajući u
predloženo rješenje
4. Proba: gdje se predloženo rješenje isprobava. Ili je uspješno, ili ne.
5. Dodjeljivanje i skladištenje: ako je rješenje uspjelo, tada se dodaju oznake i skladišti kao
upotrebljivo rješenje. Uspješni plan je tada inkorporiran u memoriju slučaja.
6. Objašnjenje, popravka i proba: ako rješenje nije uspjelo, tada se objašnjava promašaj, popravlja
se rješenje i ponovo testira. Proces objašnjavanja identifikuje izvor problema. Predvidljive osobine problema
su inkorporirane u označavanje pravila strukture znanja da anticipiraju taj problem u budućnosti. Propali plan
je popravljen da riješi problem, i ispravljeno rješenje se tada testira.
Da bi se izveli gornji CBR procesi, sljedeće strukture znanja (KS-a) su veoma bitne:
1. Pravila označavanja KS: pravila označavanja identificiraju predvidljive osobine u ulazu koji
osigurava odgovarajuće oznake u memoriji slučaja
2. Memorija slučaja KS: memorija slučaja je pomoćna memorija, koja rješava putem kompromisa
bazu podataka iskustava
3. Pravila sličnosti KS: ako je više od jednog slučaja vraćeno iz pomoćne memorije, pravila sličnosti
(ili metrike) mogu biti upotrebljena da odluče koji slučaj je sličniji aktuelnoj situaciji
4. Pravila promjene KS: ako ni jedan stari slučaj nije odgovarajući za novu situaciju, stari slučaj mora
biti promjenjen kako bi odgovarao. Zahtjeva se znanje o tome koje vrste faktora mogu biti promjenjene i kao
ih promjeniti.
5. Pravila popravljanja KS: kada se jednom identificirao i objasni očekivani neuspejh, mora se
pokušati promjeniti plan da odgovara novoj situaciji. Opet se koriste pravila o tome koje vrste promjena su
dopuštene.
Odluke u izvršavanju CBR sistema
U redosljedu izvršavanja CBR sistema, mora se osigurati odgovori na sljedeće grupe pitanja (prilagodio
Slade, 1991).
1. Što čini slučaj i koje su njegove osobine? Kako je predstavljen?
2. Kako je urađeno označavanje? Što su sličnosti metrike slučaja?
3. Što je strategija povraćaja? Što čini relevantan slučaj?
4. Kako stari slučajevi mogu biti prilagođeni? Što su pravila prilagođavanja?
5. Kako se merorija vremenom mijenja?
U nastavku raspravljaju se sljedeće CBR teme u izvršavanju CBR sistema:
1. Predstavljanje slučaja
2. Označavanje slučaja
3. Skladištenje i povraćaj slučaja
4. Prilagođavanje slučaja
5. Učenje i uopštavanje
59
Predstavljanje slučaja
Slučaj je spisak osobina koji vodi pojedinačnom rezultatu.
Složena forma slučaja je povezana s grupom podslučajeva koji čine problem (npr. projekat izgradnje
automobila je napravljen od podprojekata komponenti koje čine cjelinu, gdje bi svaka od njih mogla biti
promatrana kao slučaj za sebe).
Određivanje pogodnih osobina slučaja je najbitnije znanje u CBR sistemu.
Ovaj zadatak obuhvaća: određivanje terminologije područja i sakupljanje reprezentativnih primjera
rješavanja problema od strane stručnjaka.
Predstavljanje slučaja može biti u bilo kojoj od nekoliko formi; predikatsko predstavljanje, predstavljanje
okvirima i predstavljanje po sličnosti baza podataka.
Slučaj je sačinjen od tri glavna dijela: opis problema, rješenje i rezultat. Opis problema se odnosi na
aktuelno stanje u momentu kada se slučaj desio. Rješenje slučaja je osnovno ili izvedeno rješenje problema
precizirano u opisu slučaja. Neke CBR sadrže smjernice kako je problem rješen. Rezultat slučaja je
rezultujući stadijum u momentu kada je rezultat već izveden. Zavisno od toga što je slučaj sadržao, slučaj
može biti upotrebljen za različite namjene:
0. Slučajevi koji uključuju opis problema i rješenja mogu biti upotrebljeni u izvedenim rješenjima
novih problema.
1. Slučajevi koji uključuju opis problema i rezultata mogu biti upotrebljeni pri Vrijednovanju novih
situacija.
2. Slučajevi koji imaju specifično rješenje mogu biti upotrebljeni pri Vrijednovanju predloženih
rješenja i predviđanju potencionalnih problema prije nego što se oni dogode.
Tehnike označavanja
Određivanje odgovarajućih osobina slučaja je najbitnije znanje u CBR sistemu i taj zadatak odražava
podgrupu onoga što treba biti urađeno u inženjeringu znanja u sistemima zasnovanim na pravilima. To
uključuje definisanje terminologije područja i sakupljanje reprezentativnih primjera i slučajeva rješavanja
problema od strane stručnjaka. CBR sistem koristi svoj potencijal iz sposobnosti da povrati relevantne
slučajeve brzo i tačno iz svoje memorije.
Određivanje kada slučaj treba biti određen za povraćaj u sličnim i budućim situacijama je cilj procesa
označavanja. Gradnja strukture ili postupka koji će vratiti najprikladniji slučaj (iz memorije slučaja) je cilj
procesa povraćaja.
Proces označavanja slučaja obično spada u jedan od tri pristupa: najbliži-susjed, induktivan pristup
dirigovanog znanja, ili se radi o kombinaciji sva tri pristupa.
Tehnika označavanja najbliži-susjed (NIT): NIT omogućava korisniku da povrati slučajeve zasnovane na
značajnoj količini osobina ubačenog slučaja koji se podudara sa slučajevima u memoriji. Kod
najjednostavnijeg pristupa NIT-a, kod koga sve osobine imaju svoj ekvivalent, sistem će preferirati slučaj
kod koga postoji podudaranje u šest osobina.
Ovaj pristup je dobar za upotrebu ako cilj nije dobro definisan ili ako više slučajeva dolazi u obzir. Najveći
problem sa isključivim korišćenjem ovog pristupa je nemogućnost da se on konvergira u grupi općih
značajnih osobina koje će tačno povratiti slučajeve u svim situacijama. Značajne osobine za područje
najvećeg broja problema zavise od konteksta, tj. data osobina može biti više ili manje značajna u određivnju
odgovarajućeg slučaja za povraćaj zavisno od značaja drugih osobina slučaja. U suštini, svaki slučaj treba da
ima svoju posebnu grupu značajnih osobina za određivanje važnosti tog slučaja za novi problem.
Induktivne tehnike označavanja (IIT): IIT osigurava značajan napredak u odnosu na NIT u situacijama
gdje cilj povraćaja ili rezultat slučaja je dobro definisan i gdje ima dovoljno primjera za svaki tip cilja koji će
izvesti induktivno poređenje.
60
Korišćenjem algoritama kao ID3 i CART, zadatak je da se induktivno odrede koje osobine će najbolje
odraditi razlikovanje između različitih rezultata slučaja s obzirom na navedene osobine. IIT ima dvije
prednosti.
Prvo, one mogu automatski, objektivno i strogo analizirati slučajeve radi određivanja i najboljih osobina za
njihovo razlikovanje (osiguravajći glavne prednosti sistema izgradnje u odnosu na pristupe zasnovane na
pravilima).
Drugo, slučajevi mogu biti organizovani za povraćaj u hijerarhijskoj strukturi koja povećava vrijeme
povraćaja samo po unošenju broja slučajeva prije nego linearno. Vrijeme povraćaja može biti važan faktor
kada se koriste biblioteke slučajeva koje se broje u hiljadama.
Da bi se izvela indukcija, sistemu je neophodna razumna količina slučajeva da stvori točne osobine
razlikovanja i potrebno je puno prethodnog vremena kako bi se izvele induktivne analize kao što je
induktivno obeležavajuće induktivno povlačenje.
Tehnika obeležavanja zasnovana na znanju (KIT): KIT se trudi da primjeni postojeća znanja za svaki
slučaj u biblioteci, da odredi koje osobine su važne za povlačenje svakog slučaja. Preferirajući pristup u
odnosu na tehnike obeležavanja ukoliko je tako objašnjavajuće znanje dostupno i reprezentativno.
Problem je u tome što je često teško da se kodifikuje dovoljno objašnjavajućih informacija (obično u formi
modela područja zasnovanog na pravilima) da bi se izvelo kompletno obeležavanje zasnovano na znanju na
širokom spektru mogućih unetih slučajeva. Stoga, mnogi sistemi upotrebljavaju KIT u konjukciji sa drugim
tehnikama obeležavanja.
Bilo kako bilo, neko korisno obleležavajuće znanje je skoro uvek dostupno za većinu područja u stvarnom
svijetu, važno je za CBR sistem koji se trudi da to znanje iskoristi.
Skladištenje, povraćaj i prilagođavanje slučaja
Kada su jednom slučajevi predstavljeni i obleleženi, oni mogu biti organizovani u efikasnu strukturu za
povraćaj.
Najveći broj struktura memorija slučaja spada u rang između čisto povezanog povraćaja gdje su neka ili sve
osobine slučaja obeležene neovisno od ostalih slučajeva i čisto hijerarhijskog povraćaja gdje su osobine
slučaja orgnizirane u strukturi čiji je koncept ide od općeg ka posebnom.
NIT tehnike se smatraju povezujućim zato što nemaju organizaciju memorije.
Mreže razdvajanja predstavljaju prelaz između povezujućih i hijerarhijskih zato što imaju izvesnu strukturu
prema mreži ili veću fleksibilnost povraćaja zato što imaju veći broj veza između potencionalnih osobina
obeležavanja.
Drva odluka su primjeri čisto hijerarhijski organizovane memorije.
Tip organizacije memorije je povezan sa količinom znanja koje je na raspolaganju za zadovoljavanje potreba
sistema u pogledu obeležavnja i povraćaja.
Ako se traži fleksibilnost zato što se jedan slučaj koristi za više zadataka povraćaja, češće se koristi
povezujući pristup.
Kada je slučaj povraćaja dobro definisan, hijerarhijski pristup se koristi zbog svojih prednosti u pogledu
vremena povlačenja koje imaju hijerarhijski pristupi u odnosu na povezujući.
Cilj povraćaja slučaja je da vrati najsličniji raniji slučaj koji je podudaran sa unetom situacijom.
Prilagođavanje slučaja uzima povaraćeni slučaj koji se sreće sa većinom potrebne trenutne situacije.
Prilagođavanje slučaja može također da uključi pravljenje minimalnih promjena u unetim zahtjevima da se
susretne sa poznatim ciljem u skladištenom slučaju.
Teško je definisati jedan pristup koji je generalno primjenljiv da se izvrši prilagođavanje slučaja, zato što
prilagođavanje teži da bude specifičan problem.
Potrebe i pristupi adaptacije za jedan problem (projekat) mogu biti različiti od prilagođavanja koje je
potrebno za drugi (dijagnoza).
Najčešći postojeći CBR sistemi postižu prilagođavanje slučaja za jedno specifično područje problema, oni se
oglašavaju šifrovanim znanjem prilagođavanja u obliku grupe pravila prilagođavanja ili modela područja.
Pravila prilagođavanja su onda primjenjiva na povaraćeni slučaj da bi se on transformirao u novi slučaj koji
se susreće sa novim ograničenjima unetog problema.
Najskorije primjene posjeduju uspješno upotrebljene djelove postojećih slučajeva u memoriji da bi se izvelo
prilagođavanje.
61
U područjima problema gdje je teško kodifikovati dovoljno znanja u vidu pravila da bi se dozvolilo
izvođenje prilagođavanja, upotreba dijelova slučaja je najbolja, čak i jedina alternativa. I, čak i ako slučajevi
ne mogu biti prilagođeni od strane računara, barem je sistem osigurava ljudski "adapter" sa značajnom
polaznom tačkom.
Učenje i uopštavanje
Korišćenje prednosti postojećih tehnika za izvlačenje potrebnih informacija iz primjera dozvoljava sistemu
zasnovanom na slučajevima da izbegne neke od glavnih problema pristupa zasnovanih na pravilima u
sakupljanju problema – rješavanju ili klasifikaciji znanja i njegovom dobrom korišćenju.
Induktivne i tehnike obeležavanja zasnovane na objašnjavanju zbog razvoja će dozvoliti da CBR sistemi
izvedu korisne obleležavajuće osobine i struktuiraju ih u efikasnu organizaciju memorije.
Kako se slučajevi budu akumulirali, uopštavanje slučajeva može se koristiti radi definisanja prototipnih
slučajeva koji predstavljaju glavne osobine grupe specifičnih slučajeva i ti prototipni slučajevi mogu biti
uskladišteni sa specifičnim slučajevima, unapređujući tačnost sistema na duge staze. Stoga, istraživanja
analiza induktivnih slučajeva se radi zbog izgradnje teorija područja u oblastima gdje stručnjaci ne razumiju
kako funkcioniraju fundamentalni procesi u njihovom području.
Inteligentni tutorski sistemi i autorizovano okruženje
Skraćenicu ITS ponekad znači i Inteligentni Transportni Sistem, ali ovdje označavaspecijani tutorski sistem učenja.
ITS je proizvod kombinacije UI i obrazovanja. ITS tehnologija ima nekoliko teškoća:
1. ITS se suočava sa poteškoćama u sticanju znanja, produktivnost u razvoju ITS-a je određen
efikasnošću njihovih metoda znanja kroz kapacitete
2. ITS mora organizovati znanje po lekcijama. Ova organizacija mora biti dinamički prilagođena od
strane ITS prema studenskom modelu.
3. Sutdentsko (učeničko) (učeničko) oblikovanje je jedan od integralnih komponenata ITS. Studentski
(učenički) modeli su ključ za individualne instrukcije.
4. Automatsko generiranje vježbi i testova je važna osobina ITS-a. Koedinger je tvrdio da UI sistemi i
ITS sistemi posebno mogu imati veliki utjecaj u složenim ili zagonetnim područjima. Ovo su područja
učenja koja tipično koriste bilježenje ili druga sredstva predstavljanja koja ne promoviraju rješenja problema
i koja tipično nisu transtparentna u svojoj primjeni (npr. geometrijska sredstva). Kako su kompjuterski
programi u mogućnosti da ponude učenicima alternativne mentalne modele za predstavljanje matematičkih
koncepata, moć i fleksibilnost će biti priuštene studentu (učeniku) u rješavanju problema.
Dva primjera postojećeg sistema koji osigurava alternativne metode predstavljanja su ANGLE i OPERA.
ANGLE (ugao) je geometrijski dokaz koji naglašava upotrebu šema u dodatku znanja pravila. Učenici su
ohrabreni da raščlane geometrijske dijagrame u djelove ili šeme dijagramske konfiguracije koje im mogu
pomoći u planiranju njihovih dokaza. OPERA je okolina u kojoj učenici mogu istraživati sadržinu
algebarskih operatora.
Kroz upotrebu različitih šematskih predstavljanja, učenici su u mogućnosti da formiraju mentalne modele ili
koncepte kao što su mapiranje, funkcije i strukture algebarskih izraza. Oba ova sistema izbegavaju zavisnost
od upotrebe matematičkih simbola koji su tipični za CAI programe koji se trenutno koriste u učionicama.
Pristup ITS okruženja i alati
S druge strane, ITS okruženje (ITSAS) je razvijen na taj način da dozvoljava instruktoru kursa da lako uđe u
područje i drugo znanje bez posebne vještine kompjuterskog programiranja. Alati autorizovanog okruženja
automatski sakupljaju i ITS fokusiraju na specifično znanje. Ono također olakšava ulazak u primjere kroz
vježbe, uključujući opise problema, rješenja, korake rješenja i objašnjenja.
Primjeri mogu biti u formi scenarija i simulacije. On dozvoljava orgniziran ulazak u principe i integraciju
multimedijalnog courseware koji je razvijen s dobro poznatim okruženjem, koji uključuje opise principa ili
motivacionih poglavlja. U dodatku tom znanju sa kursa, instruktor specifikuje pedagoško znanje (kako
najbolje predavati pojedinačno studentu (učeniku)) i znanje studentskog oblikovanja (kako pristupiti
akcijama i odrediti temeljno poznavanje).
62
ITS dozvoljava lak razvoj i održavanje sistema treniranja koji su bazirani na pedagoškim instruktivnim
strategijama. Softver je nezavistan od područja i zato koristan za kreiranje širokog spektra integriranog
sistema tutorstva za različita područja. Sveobuhvatno Vrijednovanje CBR alata iz Evrope i USA je
objavljeno od strane Goodall-a (1995). Najveći broj alata može biti integriran sa drugim alatima zasnovanim
na modelima. Ovo sugeriše da je uključenje CBR-a kao elementa unutar naših aplikacija sada odlično.
Trenutno najdostupnije CBR su: CBR-Express, CasePoint, ART*Enterprise, CasePower, Esteem, Expert
Advisor, ReMind, CBR/text, Eclips, ReCall, RATE-CBR, S3-Case, INRECA and CASUEL.
CBR sistemi učenja Case-based rasuđivanje (CBR Case-based reasoning)
ITS zasnovan na slučajevima koristi široku bazu slučajeva vježbi i primjera radi učenja učenika. Istraživanja
otkrivaju da učenici uče najbolje kada su im predstavljeni primjeri znanja za rješavanje problema i kada se
od njih zahtjeva da primjene znanja u stvarnim situacijama.
Baza slučajeva primjera i vježbi obuhvaća realistične situacije rješavanja problema i predstavlja ih učenicima
kao virtuelne simulacije. Svaki primjer/vježba uključuje:
1. multimedijalni opis problema koji može da se razvije tokom vremena (kao npr. taktički scenario)
2. opis točnih akcija koje se preduzimaju uključujući neovisne od reda, opcione i alternativne korake
3. multimedijalno objašnjenje zašto su ovakvi koraci točni
4. lista metoda koja odrđuje da li su učenici tačno sproveli te korake
5. lista principa koji se moraju naučiti da bi se preduzela točna akcija.
CBR zajednica je počela da gradi CBR sisteme u obrazovanju (Kolodner,1995). Primjeri edukativnih i
trenirajućih sistema zasnovanih na slučajevima su:
1. Šankovi ASK sistemi (Ferguson, 1992) su odigrali ulogu stručnjaka i vodili dijalog korisnika u kome
sistem priča priču da bi postigao poentu
2. Arči – 2 (Domeshek & Kolodner, 1993) je korišten u nekoliko arhitektonskih studija u Džordžiji
Učilištu da pomogne učenicima dizajnerima u njihovim projektima
3. Design Muse autorski alat (Domeshek, 1994) se također koristio u odjelima da bi izgradio korisne
biblioteke slučajeva za nekoliko generacija inženjera i da bi se dala prilika učenicima da nauče više o nekoj
oblasti pripremajući se i obeležavajući dobro-postavljene slučajeve.
4. CBTS (Salem, 1997) je korišten za automatičku generaciju obrazovnih web stranica za učenje
morskih stvorenja.
5. TAO je upotrebljen za treniranje taktike oficira mornarice pri donošenju efektivnih taktičkih odluka
u borbenim uslovima (UI @work, 1999)
6. KONGZI alat automatičke generacije (Lu. 1995) je korišćen za razvoj CBR sistema u tri različita
područja: prvi sistem za otkrivanje i procesuiranje grešaka u obukama, drugi za predavanje dijagnoza bolesti
srca i treći za predavanje botaničkih klasifikacija.
Osim toga, medicina, ishrana i pravo su privlačna područja. Medicinsko obrazovanje stavlja veliki akcenat
na učenje iz iskustva kroz stažiranja u kojima su lekari izloženi velikom spektru pacijenata, simptoma,
bolesti i tretmana. Osim toga, raspoloživost komercijalnih CBR okruženja na tržištu pomaže inženjerima
znanja da prevaziđu neke probleme sa kojima se trenutno suočavaju pri dizajniranju i održavanju velikih
sistema baza znanja, upotrebljavajući alate zasnovane na pravilima.
63
Zaključak: predstavljanje i produkcija UI alata za učenje
1. Tehnike predstavljanja znanja nude potencionalno moćne alate za razvoj obrazovnog softvera.
Različitost tih tehnika omogućava dizajniranje snažnih inteligentnih tutorskih sistema i sistema treniranja.
Ključ uspjeha kod ovakvih sistema je selekcija šeme predstavljanja znanja koja najbolje odgovara znanju tog
područja i problemu koji treba da bude rješen. Taj izbor ovisi od iskustva inženjera znanja.
2. Kombinacija UI-a i rezultata obrazovanja u različitim proizvodima inteligentnog obrazovnog
softvera za sve zadatke i područja. Sa UI metodima nove generacije inteligentnih tutorskih sistema mogu se
kreirati inteligentni tutorski alati. UI osigurava različitost metodologija i teorija o rasuđivanju, zaključivanju i
učenju. Hipoteze izvedene iz ovih teorija mogu informisati nastavni plan, pedagogiju i potencijalne uloge za
kompjutere u obrazovanju.
3. Inteligentni autorski alati i CBR okruženja dozvoljavaju lak razvoj i održavanje sistema treniranja
koji su bazirani na pedagoškim zvučnim strategijama. Softver je nezavisan od područja i kao takav koristan
za stvaranje širokog spektra inteligentnih sistema tutorisanja za različita područja.
4. Konvergiranje UI i web tehnologija omogućava stvaranje i primjenu inteligentnih tehnologija
treniranja zasnovanih na internetu. Takva tehnologija će osigurati jedinstvenu priliku da se distribuira
treniranje kroz različite sajtove, dok dramatično snižava troškove treniranja vezane za putovanja. Ne samo da
učenici primaju obuku na svojim sajtovima, nego instruktori nadziru napredak učenika na udaljenosti i autori
kurseva odražavaju i ažuriraju materijal za obuku preko interneta.
5. Inteligentni sistemi tutorisanja zasnovani na slučajevima povećavaju produktivnost instruktora,
omogućavaju mu da uhvati korak sa sve složenijim sistemima treniranja koji zahtjevaju da se obezbjedi viši
nivo veštine u odnosu na današnje visoko podučavačke treninge. To takođe osigurava prilagođavanje
instrukcija i neposrednost, dok dozvoljava fleksibilnost u metodama predavanja pri čemu se postižu mnoge
koristi kao što su instrukcije jedan na jedan.
64
Logika i programiranje
Logika
Logika je najstariji oblik predstavljanja znanja. Podsjeti se osnovnih pojmova:
U bilo kom logičkom procesu slijed je sljedeći: informacija je data, iskazi su napravljeni, ili zabeležena su opažanja. Ovo su forme
ulaza logičkog procesa i nazivaju se premise.
Premise se koriste u logičkom procesu da stvore izlaz koji se sastoji od završetka koji se naziva zaključak. U ovom procesu, činjenice
koje su znane kao istinite mogu biti upotrebljene da izvedu nove činjenice koje takođe moraju biti istinite. Postoji dva osnovna tipa
rasuđivanja: deduktivno i induktivno. Oba tipa se koriste u logici da stvore zaključke iz premisa. Skoro svaki problem ili argument
može biti stavljen u ovaj oblik za svrhu deduktivnog zaključivanja. U induktivnom zaključivanju broj ustanovljenih čimbenika ili
premisa je upotrebljen da se izvuče neki opšti zaključak.
Da bi računar izveo rasuđivanje koristeći logiku, neki metod mora biti upotrebljen da pretvori deduktivni ili induktivni proces
rasuđivanja u oblik pogodan za rukovanje računarm. Rezultat je ono što je poznato kao logički simbol ili matematička logika. To je
sistem pravila i procedura koje dozvoljavaju izvlačenje zaključaka iz različitih varijanti premisa koristeći varijante logičkih tehnika.
Ovi metodi su opšte poznati kao računarska logika.
Postoje dvije osnovne forme te logike, propositional logika i predicate logika. Pošto se propositional logika bavi prvenstveno
potpunim izjavama i bez obzira je li su istinite ili ne, njena sposobnost predstaviti stvarni svijet znanja je ograničena. Stoga,
tehnologija inteligentnog podučavanja koristi predicate logiku umjesto propositional logike. Predicate logika daje dodatnu
sposobnost predstavljanja znanja u finijim detaljima.
Logike kod programiranja možemo shvatiti kao formalni jezik koji nam omogućava predstavljane
informacija na način da se mogu automatizirano izvoditi "zaključci".
Logika uključuje sintaksu (formalni način izricanja neke tvrdnje) i semantiku, koja daje značenje tim
tvrdnjama.
Sintaksa definiše strukturu rečenice u jeziku (bilo govornom, bilo programskom).
Semantika definiše značenje rečenica (definiše istinitost rečenice u svijetu u kojem ju promatramo).
Kako možemo shvatiti semantiku i interpretaciju?
Semantika neke (bilo koje) logike je određjena kada se definišu strukture (modeli) u kojima se interpretiraju
formule date logike, kao i tzv. relacija zadovoljenja |= između modela i formula.
Semantika je pridruživanje obilježja istinitosti logičkoj formuli.
Semantika uključuje interpretaciju i evaluaciju.
Interpretacija predstavlja pridruživanje obilježja istinitosti (T, F) atomiskim simbolima (elementima skupa
propozicijske logike)
Pod evaluacijom se podrazumjeva izračunavanje istinitosti složene formule.
Šta je implikacija P Q?
Kod propozicijske logike ovo jee materijalna implikacija i nije potpuno intuitivna prirodnom jeziku. Namjera
materijalne implikacije je modelirati uslovnu konstrukciju, (a ne uzročno-posljedičnu vezu), t.j.:“ako P tada
(A što ako je P neistinit ?)
Mogli bi pronaći mnoge klase i vrste logika a daćemo najpoznatije:
Matematička logika
Propozicijska i predikatska logika
Logike višega reda
Modalne logike
Epistemička logika
Vremenska logika
…
Opisna logika
Nemonotona logika
65
Formalna (matematička) logika
Šta je logika? Da li je logika apsolutna (tj. jedinstvena, apriori data) ili relativna (tj., postoji više vrsta
logika)? U moderno doba, pozicija apsolutnosti je neprihvatljiva. Za nas je bolje da prihvatimo poziciju
relativnosti i da logike definišemo kao zajednički okvir za izgradnju teorija.
Sa aspekta matematike to bi značilo mogućnost korišćenja formalnih teorija baziranh na strogo formalnim
sistemima ili deduktivnim sistemima, gdje nema koraka zaključivanja koji bi bio urađen bez pozivanja na
listu prihvaćenih aksioma i pravila zaključivanja
Da li je moguća kompletna eliminacija intuicije, tj. da li je moguća potpuna redukcija liste aksioma i pravila
zaključivanja? Radovi Gottlob’a Frege’a, Bertrand’a Russell’a, i David’a Hilbert’a, kao i njihovih kolega,
pokazali su kako to može biti postignuto čak i u slučaju najkomplikovanijih matematičkih teorija. Prema
njihovom mišljenju, sve te teorije mogu se redukovati na aksiome i pravila zaključivanja, bez miješanja
intuicije. Tehnologije u logici, koje su razvili ovi ljudi, danas dopuštaju kompletnu aksiomatizaciju bilo koje
teorije zasnovane na stabilnom, konzistentnom (u sebi) sistemu principa.
Logika određuje postupke ispravnog rasuđivanja (analogno aritmetici).
Primjer 1:
Pretpostavka (premisa) 1: 1. Svaki čovjek je smrtan.
Pretpostavka (premisa) 2: 2. Sokrat je čovjek.
Zaključak: 3. Sokrat je smrtan.
(Ako su istinite rečenice 1 i 2, “logički slijedi” rečenica 3.)
Primjer 2:
1. Svaki A ima obilježje B.
2. C je A.
3. C ima obilježje B.
Zaključak: "Logički slijedi" samo na osnovu oblika (forme), a ne na temelju sadržaja (konteksta).
Matematička ili formalna logika daje sustav zaključivanja u kojem je "logički izveden" zaključak barem tako
dobar kao polazne pretpostavke.
Osnov (baza) matematičke logike je formalan sistem koji sadrži pravila.
Važno je zapamtiti da niti jedan formalan sistem ne može osigurati istinite polazne pretpostavke.
Propozicijska logika (izjava, sudova, iskaza, tvrdnji)
Propositional Logic, Propositional Calculus
Propozicijska logika je takva logika koja je temeljena na jednostavnim tvrdnjama (propozicijama). Bavi se
vrijednostima istinitosti i povezivanjem tvrdnji logičkim vezama i, ili, ne
Možda najednostavniji primjer za propozicijsku logiku je:
Banjaluka je grad.
Led je hladan.
Tu se stvaraju logičke veze koje izražavaju jednostavne tvrdnje:i, ili, ne, ako...onda itd.
Logika iskaza preslikava deklarativne rečenice (koje mogu biti istinite ili lažne) u sistem simbola. Npr.:
“Sokrat je mudar.” preslikava se u simbol P.
Sistem propozicijske logike sastoji se od skupa {PS}, koga čini prebrojiv broj elemenata koji imaju
jedinstvenu osobine: skupa atoma, simboličkih varijabli i simbola. ( {PS } Ɛ { P, Q, ... } )
66
Najčešći rezervisani simboli i logički operatori koji omogučavaju kreiranje logičkih iskaza: logičkih formula
kod propozicijske logike:
Primjer propozicijske logike može se pokazati i na ovaj način:
P=Pada kiša
K=Nemam kišobran
M=Pokisnut ću
P i K ; M = 1
Ako pada kiša i nemam kišobran, pokisnuću.
Predikatska logika (first-order logic FOL)
predicate logic, predicate calculus, first order predicate logic
Koriste se različiti nazivi pa se sem predikatske logika govori i o logika prvog reda, a ponekad se koristi i
naziv kvantifikatorski račun.
Predikatska logika podrazumijeva znatno ekspresivniji oblik logike. Razlika između predikatske i
propozicijske je ta što propozicijska logika ne može imati tvrdnje o objektima, svojstva tih objekata i
pojedine veze između objekata, što nam omogućava predikatska logika (FOL).
FOPL uvodi objekte, relacije, obilježja, funkcije (pobliži opis izjave) čime povećava izražajnu moć formalne
logike. Logika prvog reda proširuje propozicijsku logiku dopuštajući zaključivanje (rasuđivanje) o
članovima nekog nepraznog prostora (na primjer brojevima).
Koriste se kvantifikatori "za sve" - ∀ i "postoji" - ∃.
Logički simboli kod predikatske logike je neprazan skup simbola X, konačan ili prebrojiv. Najčešće se
uzima da je X = {x1; x2; : : : ; xn; : : : }.
Posebno se definišu simboli logičkih veznika (npr.: ∧;∨;⇒;⇔;¬; ∀; ∃,) i pomoćni simboli: (; ).
Nelogički simboli se definišu kao L je disjunktna unija L koju čine sljedeća tri skupa:
C, skup simbola konstanti ,
R, skup relacijskih simbola ,
F, skup funkcijskih (operacijskih) simbola
Svakom nelogičkom simbolu s je dodjeljen prirodan broj ar(s), tzv. arnost (ili dužina) tog simbola, tako da
svi simboli konstanti imaju arnost 0, a svi relacijski i funkcijski simboli neku pozitivnu arnost.
Ako je n neki prirodan broj, sa Rn (odnosno Fn) obelježavamo sve relacijske (odnosno funkcijske) simbole
arnosti n.
Jezik predikatske logike (ili jezik prvog reda) jeste skup formula na datoj azbuci.
Jezik je u principu potpuno odredjen kada se definiše skup promjenljivih X i skup nelogičkih simbola L,
zajedno sa funkcijom arnosti ar.
U logici prvog reda varijable poprimaju vrijednosti pojedinih članova prostora ali ne mogu biti funkcije ili
predikati. Takve varijable se koriste u logikama drugog i viših redova.
Primjeri izraza u logici prvog reda
Svi studenti su vrijedni:
∀x (student(x) → vrijedan(x))
Prihod bilo kojeg političara je veći od prihoda vozača:
∀xy (političar(x) ∧ vozač(y) → prihod(x) > prihod(y))
Uočite da je znak ">" dvomjesni relacijski simbol koji se koristi u "infix-noj" notaciji.
67
Svaki student ima mentora:
∀x (student(x) → ∃y mentor(y, x))
Primjer ne isključuje mogućnost da student ima više mentora.
Studentov mentor je član istog fakulteta:
∀xy (student(x) ∧ fakultet(y) ∧ član(x, y) → član(mentor(x), y))
U ovom primjeru korišćenje funkcije "mentor" pretpostavlja da svaki sutdent ima tačno jednog mentora.
Matematički primjer: Postoji beskonačno mnogo Pitagorinih trojki:
∀ n ∃ijk (i > n ^ i2 + j2 = k2)
U primjeru se znak 2 koristi kao standardna oznaka za kvadriranje. Znak "=" je relacijski simbol.
Neke od tehnika logičke manipulacije ugrađene su i u računaeske jezike. Tako naprmjer imamo PROLOG
koji je deklarativni programski jezik. U principu može sam rješavati probleme (ako postoji njihov dobar
opis), što je velika razlika od konvencionalnih programskih jezika, gdje bez kodiranja algoritma, program
neće uspjeti sam rješiti problem.
Neizrazita logika - Fuzzy logic
Neizrazita logika (fuzzy logic: mutna, nejasna logika), logički sistem u kojem istinitost neke tvrdnje može
poprimiti bilo koju vrijednost između 1 (istinito) i 0 (neistinito). Takav je pristup mnogo širi od binarne
Booleove logike, na kojoj se zasniva rad današnjih računara, pa omogućuje matematičko modeliranje
nepreciznih podataka (npr. iskaz: u sobi je prilično toplo).
Logički sistem u kojemu su načela zaključivanja zasnovana na teoriji neizrazitih skupova
Osobito se rabi na područjima automatizacije, umjetne inteligencije i dr.
Teorijske osnove neizrazite logike postavio je 1965., na Sveučilištu Berkley u Californiji, azerbajdžanski
znanstvenik rusko-iranskoga podrijetla Lotfi Zadeh (1921).
Koncept neizrazitih skupova (fuzzy sets)
Lofti Zadeh 1965. godine uvodi koncept neizrazitih skupova ''načelo nezdruživosti složenosti i preciznosti'‘:
''porastom složenosti nekog sistema, precizne tvrdnje gube značenje dok značajne tvrdnje gube
preciznost''
Ljudi imaju sposobnost analize i razumijevanja nepreciznih koncepata koje suštinski ne razumiju (npr.
sposobnost vožnje automobila bez razumijevanja njegovog dinamičkog modela).
Teorija neizrazitih skupova u mogućnosti je baratati sa neodrenenošću i višeznačnosti lingvističkih izraza.
Lingvističke izraze može preslikati u neizrazite skupove koji mogu biti interpretirani kompjuterskim
jezicima.
Pojam neizrazitih skupova i neizrazite logike
Neizraziti skupovi predstavljaju nadgradnju klasične teorije skupove.
U klasičnoj teoriji skupova element ili pripada ili ne pripada skupu.
U teoriji neizrazitih skupova element može imati odreneni stupanj pripadnosti nekom skupu (ili više njih).
Kao što se klasična logika zasniva na klasičnoj teoriji skupova, tako se i neizrazita logika zasniva na teoriji
neizrazitih skupova.
U neizrazitoj logici logički izrazi mogu poprimati stupnjevane vrijednosti izmjenu laži (0) i istine (1).
Na taj način neizrazita logika postaje pogodna za aproksimativno rezoniranje zasnovano na nepotpunim i
nepreciznim podacima.
Neizraziti skup F (fuzzy set) nad područjem (univerzimum) U definisan je ureñenim parom:
gdje je μF(x) – funkcija pripadnosti (definiše stupanj pripadnosti elementa x skupu F)
68
Primjeri neizrazitih skupova
Primjer: Pojam visine
Jezične varijable (linguistic variable)
Varijabla koja kao vrijednosti poprima riječi ili rečenice.
Jezična varijabla definiše i zapisuje se na sljedeći način:
x ime jezične varijable,
T(x) prostor jezičnih vrijednosti koje varijabla x može poprimiti, odnosno prostor neizrazitih skupova
definisanih nad područjem X,
X kvantitativno područje razmatranja (kontinuirano ili diskretno) varijable x nad kojim ona poprima
lingvističke vrijednosti,
M semantička funkcija (semantičko pravilo) koja povezuje prostor T(x) s područjem X.
Primjer: Životna dob je jezična varijabla koja može poprimiti jezične vrijednosti vrlo mlad, mlad,
sredovječan, star, vrlo star.
x = životna dob (jezična varijabla)
T = {mla d, sredovječa n, star} (jezične vrijednosti)
X = [0, 80] (područje razmatranja jezične varijable)
M:X→T(x)
Primjer jezične varijable ‘temperatura’
69
Osnovna ideja neizrazitog upravljanja
Neizrazita logika je metodologija za ugradnju strukturiranog ljudskog znanja, izraženog riječima, u algoritme
koji simuliraju ljudsko rezoniranje
Pravilo 1 (P1):
AKO je nailazeće vozilo jako daleko I AKO vozilo ispred vozi jako sporo ONDA treba dodati srednje jaki
gas i prijeći vozilo ispred sebe.
Pravilo 2 (P2):
AKO je nailazeće vozilo jako daleko I AKO vozilo ispred vozi normalnom brzinom, ONDA treba dodati
jaki gas i prijeći vozilo ispred sebe.
Pravilo 3 (P3):
AKO je nailazeće vozilo jako daleko I AKO nailazeće vozilo vozi jako brzo I AKO vozilo ispred vozi
normalnom brzinom, ONDA treba odustati od pretjecanja, tj. nastaviti voziti nepromijenjenom brzinom.
Matematička formalizacija ekspertnog znanja
IF temperature je niska THEN pojačaj grijanje
IF temperature je visoka THEN smanji grijanje
IF x is Ar THEN u is Br , for r=1, 2, ..., R
IF x1 is A1r AND x2 is A2r ... AND xn is Anr THEN u is Br
A1r(x1) ^ A2r(x2) ^ ... ^ Anr(xn) → Br(u), r=1, 2, ..., R
Baza pravila ponašanja:
Lijeva strana: premisa; Desna strana: zaključak
Pravilo: implikacija
Primjer 1. (rezoniranje zasnovano na konvencionalnoj logici):
“AKO (IF) je osoba žena I (AND) ako je osoba roditelj TADA (THEN) je osoba majka ”
x-osoba, U={čovječanstvo}
A={x Î U : žene}, B={x Î U : roditelji},
C={x Î U : majke} →
C=A∩B
“IF x Î A AND x Î B THEN x Î C=A ∩ B ”
Primjer 2: Da li je čaša (polu)puna ili (polu)prazna?
Primjer 3: Ako je A={x Î U : visina > 1.8 m} skup
visokih ljudi, što je s onima visokim 1.81 m, 1.79 m,
1.45 m?
70
Operacije i relacije sa neizrazitim skupovima
Jednakost:
Sadržaj (inkluzija):
Presjek:
Unija:
Komplement:
m (x) = m (x) A B
m (x) £ m (x) A B
m (x) = min{m (x), m (x)} AIB A B
m (x) = max{m (x), m (x)} AUB A B
m (x) =1-m (x) A A
Neizrazite relacije
Prethodne operacije s neizrazitim skupovima odnose se na elemente istog skupa.
U klasičnoj teoriji skupova relaciju definišemo kao prisustvo ili odsustvo veze menu elementima dva ili više
skupova.
Neizrazitu relaciju definišemo kao stepen prisustva ili odsustva veze među elementima dva ili više
skupova.
Neki primjeri binarnih neizrazitih relacija su:
''x je mnogo veći nego y'', ''x je sličan y'', itd.
U teoriji neizrazitog upravljanja neizrazite relacije su obično implikacije poput ''AKO je x jako veliki TADA
je y jako mali''.
Neizrazite relacije
crveno 0 0 1
žuto 0 1 0
zeleno 1 0 0
nezrelo poluzrelo zrelo
X = {zeleno, žuto, crveno} Y = {nezrelo, poluzrelo, zrelo}
(1) AKO je voće 'zeleno' ONDA je voće 'nezrelo'
(2) AKO je voće 'žuto' ONDA je voće 'poluzrelo'
(3) AKO je voće 'crveno' ONDA je voće 'zrelo'
crveno 0 0.2 1
žuto 0.3 1 0.4
zeleno 1 0.5 0
nezrelo poluzrelo zrelo
Višeznačna logika
Troznačna logika generalizacija klasične dvoznačne logike
Ako izbacimo retke tablice koji sadrže logičku vrijednost ½ dobivamo tablicu istinitosti klasične dvoznačne
logike.
Lukasiewiczeva višeznačna logika
Moguća je daljnja generalizacija troznačne logike na višeznačnu logiku (Lukasiewiczeva n-značna logika)
gdje su vrijednosti istinitosti reprezentirane s n racionalnih brojeva u intervalu [0, 1]
Ako vrijednosti istinitosti reprezentiramo realnim brojevima u intervalu [0, 1], tako da skup vrijednosti
71
istinitosti postaje dobivamo beskonačnoznačnu logiku (engl. infinite-valued logic) koja se takoner naziva i
standardna Lukasiewiczeva logika.
Veza izmjenu klasične, beskonačnoznačne i neizrazite logike
Neizrazita logika se fokusira na lingvističke varijable s ciljem omogućavanja aproksimativnog rezoniranja s
nepreciznim propozicijama.
Ona na neki način simulira proces ljudskog razmišljanja baziran na neoređenim i nepreciznim pojmovima.
Neke primjene neizrazite logike
upravljanje podzemnom željeznicom (Sendai – Japan, 1984);
sistem automatskog slijetanja zrakoplova (SAD, 1987);
prvi neizraziti ekspertni sistem za Vrijednovanje kredita (Njemačka, 1977);
neizraziti ekspertni sistem za dijagnozu bolesti (Omron – Japan,1986);
prvi neizraziti mikroprocesor (SAD – Bell Labs, 1985).
upravljanje automobilskim motorom (Nissan);
upravljanje robotima (Hirota, Fuji Electric, Toshiba, Omron);
automatsko upravljanje branom hidroelektrane (Tokyo Electric Power);
sistem za ocjenu berzanskih aktivnosti (Yamaichi, Hitachi).