priru nik - razno.sveznadar.info filesadržaj: bektreking-traganje unazad(backtracking) -algoritmi...

75
INTERNI Priru nik

Upload: truongcong

Post on 31-Mar-2019

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

INTERNI Priru nik

Page 2: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

  

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

Page 3: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

  

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

Page 4: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

Primjena računara

Miroslav Mihaljišin

Page 5: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 6: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 7: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 8: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 9: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 10: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 11: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 12: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 13: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 14: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 15: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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)

Page 16: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 17: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 18: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 19: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 20: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 21: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 22: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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).

Page 23: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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).

Page 24: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 25: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 26: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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:

Page 27: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 28: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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).

Page 29: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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č.

Page 30: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 31: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 32: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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“.

Page 33: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 34: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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).

Page 35: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 36: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 37: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 38: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 39: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 40: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 41: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 42: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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:

Page 43: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 44: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 45: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 46: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 47: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 48: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 49: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 50: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 51: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 52: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 53: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 54: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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,

Page 55: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 56: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 57: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 58: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 59: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 60: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 61: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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).

Page 62: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 63: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 64: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 65: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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).

Page 66: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 67: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 68: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 69: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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, ... } )

Page 70: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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.

Page 71: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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)

Page 72: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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’

Page 73: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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?

Page 74: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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

Page 75: Priru nik - razno.sveznadar.info fileSadržaj: Bektreking-traganje unazad(Backtracking) -Algoritmi nad grafovima..... 1 Оpis mеtоdа bektreking algoritma ..... 1

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).