Ekspretni Sistemi

December 2, 2017 | Author: hakazulu | Category: N/A
Share Embed Donate


Short Description

Branko Latinovic...

Description

Branko Latinović

EKSPERTNI SISTEMI

BANJA LUKA, 2006.

PANEVROPSKI UNIVERZITET APEIRON -ZAJEDNIČKE OSNOVE-

B A NJ A L U K A Prof.dr Branko Latinović

EKSPERTNI SISTEMI Recenzenti: Prof. dr Zoran Ţ. Avramović Prof.dr Dušan Starčević Izdavač: Panevropski univerzitet "APEIRON"

1

Banja Luka 1. izdanje, godina 2006. Odgovorno lice izdavača, DARKO Uremović Urednik: JOVO Vojnović, prof. Štampa: "ART-PRINT", Banja Luka, p.o., grafika - dizajn - marketing Banja Luka Odgovorno lice štamparije: VLADIMIRA Stijak- Ilisić Tiraţ 500 primjeraka

ISBN 99938-29-24-2

SADRŽAJ SADRŢAJ PREDGOVOR 1. 1.1. 1.2.

2. 2.1. 2.2. 2.3. 2.4. 2.5.

3. 3.1. 3.2. 3.3. 3.4.

VJEŠTAČKA INTELIGENCIJA POJAM VJEŠTAČKE INTELIGENCIJE RAZVOJ VJEŠTAČKE INTELIGENCIJE

FUZZY SISTEMI KVANTIFIKACIJA NEODREĐENOSTI FUZZY SKUPOVI OPERACIJE SA FUZZY SKUPOVIMA OPERACIJE SPECIJALNO RAZVIJENE ZA FUZZY SKUPOVE PRIMJENA FUZZY TEORIJE

NEURONSKE MREŢE POJAM NEURONSKIH MREŢA BIOLOŠKE NEURONSKE MREŢE VJEŠTAČKE NEURONSKE MREŢE OBUČAVANJE NEURONSKIH MREŢA

3.4.1.

PROPAGACIJA GREŠKE UNAZAD

3.4.2.

PROPAGACIJA GREŠKE UNAPRIJED

3.5.

4. 4.1. 4.2. 4.3. 4.4. 4.5.

PRIMJENA NEURONSKIH MREŢA

POJAM EKSPERTNIH SISTEMA DEFINICIJA EKSPERTNIH SISTEMA ISTORIJA EKSPERTNIH SISTEMA OSNOVNE ODLIKE EKSPERTNIH SISTEMA PREDNOSTI I NEDOSTACI EKSPERTNIH SISTEMA INŢENJERING ZNANJA

2

4.5.1.

POJAM ZNANJA

4.5.2.

METODE ZA PREDSTAVLJANJE ZNANJA

5. 5.1. 5.2. 5.2.1.

ARHITEKTURA EKSPERTNIH SISTEMA KOMPONENTE EKSPERTNIH SISTEMA BAZA ZNANJA FORMALIZMI ZA PREDSTAVLJANJE ZNANJA

5.2.2.

ZAHVATANJE ZNANJA

5.2.3.

KVALITATIVNO MODELIRANJE

5.2.4.

5.3.

AUTOMATSKO UČENJE

MEHANIZAM ZAKLJUČIVANJA

5.3.1.

PROSTOR STANJA

5.3.2.

AND OR GRAFOVI

6. 6.1. 6.2.

RAZVOJ EKSPERTNIH SISTEMA PROJEKTOVANJE EKSPERTNIH SISTEMA IZGRADNJA EKSPERTNIH SISTEMA

6.2.1.

SREDSTVA ZA IZGRADNJU EKSPERTNIH SISTEMA

6.2.2.

SOFTVER ZA IZRADU EKSPERTNIH SISTEMA

7.

PRIMJENA EKSPERTNIH SISTEMA

8.

PERSPEKTIVA EKSPERTNIH SISTEMA

9.

PROTOTIP EKSPERTNOG SISTEMA ZA ANALIZU KREDITNOG RIZIKA

9.1. 9.2.

KONCEPT ANALIZE KREDITNOG RIZIKA REALIZACIJA PROTOTIPA EKSPERTNOG SISTEMA ANALIZE KREDITNOG RIZIKA

9.2.1.

SKELETON VPEXPERT

9.2.2.

STABLO ODLUČIVANJA U GRAFIČKOM OBLIKU

9.2.3.

STABLO ODLUČIVANJA U TEKSTUALNOM OBLIKU

9.2.4.

IZVORNI TEKST PROTOTIPA ES

9.2.5.

IZGLED EKRANA ZA UNOS VARIJABLI

LITERATURA

3

PREDGOVOR U skoro svim aspektima ljudskih aktivnosti, čovjek se, kroz istoriju, trudio da sebi olakša bavljenje njima. Sa ciljem da zadovolji tu svoju teţnju, izumio je oruĎa, alate, mašine i na kraju ili novom početku, izumio je kompjuter. Zašto novi početak, pa pronalazak kompjutera omogućava da čovjek dio svojih znanja i "inteligencije" prenese na mašinu, čime se ova kvalifikuje da u potpunosti zamijeni čovjeka, u odreĎenim aktivnostima, što otvara čitavu "novu knjigu" koja se tek piše. Prisustvujemo, a da toga moţda nismo ni svjesni, prevratu koji je u toku: ukidanju granica izmeĎu stvarnog i naučnofantastičnog. Pomoću mehaničkih, elektronskih i energetskih produţetaka i pomagala, opredmećena fikcija, u vidu robota automata, tehničkih aparatura i inteligentnih mašina, tijesno okruţuje, vezuje i već kontroliše stvarnost u svim područjima zivota. Pri tome, ono što uznemirava nije to što svijet u potpunosti postaje tehnički automatizovan, već to da čovječanstvo uglavnom nije pripremljeno za ovu promjenu. Teletehnologija, vještačka inteligencija, neuronske mreţe, virtuelna realnost, digitalna televizija postaju stvarnost. Čini se da je već sada, na pomolu 3001: konačna odiseja futurologa Artura Klarka, ako i nije, da li je uspeh Dip Blua protiv Kasparova u šahovskom meču vijeka, poruka da su na pomolu kompjuteri koji misle? U početku su se računari koristili uglavnom za izvršavanje računskih operacija ali vrlo brzo je uočeno da oni mogu mnogo više, pa čak i da preuzmu vršenje odreĎenih intelektualnih operacija. Povoljni rezultati istraţivanja naveli su neke od naučnika da daju preuranjene izjave kako se ubrzo moţe konstruisati "misleća mašina" ili "elektronski mozak". Na dostignutom stepenu razvoja ljudsko društvo je otvorilo brojna pitanja i probleme koji zbog svoje prirode traţe zamjenu čovjeka u procesu rada, brojni su procesi koji nose opasnost po ljudsko zdravlje za one koji ih izvršavaju ili je obim i sloţenost problematike iznad mogućnosti i znanja postojećih izvršilaca za čije rješavanje je potrebno znanje eksperta ili je u pitanju raspoloţivost ljudskih eksperata. To je tačka u kojoj se jasno artikuliše potreba za kreiranjem ekspertnih računarskih sistema.

Autor

4

1. VJEŠTAČKA INTELIGENCIJA 1.1. POJAM VJEŠTAČKE INTELIGENCIJE Vijekovima filozofe zaokuplja pitanje: moţe li mašina da misli? Smatra se da je Sokrat, oko 450. godine p.n.e. prvi predskazao vještačku inteligenciju, obraćajući se svome atinskom drugu Eutifronu: "Ţelim da znam šta je odlika poboţnosti koja svako djelovanje čini poboţnim... u koju mogu da se pouzdam i da je koristim kao mjerilo kojim prosuĎujem svoje djelovanje i djelovanje drugih ljudi". Najuporniji zastupnik vještačke inteligencije Marvin Minski, iz Masačusetskog instituta za tehnologiju (MIT), Sokratovo mišljenje prilagoĎava savremenom poimanju, naglašavajući da atinski mudrac traţi "niz pravila koja nam govore iz časa u čas kako da se ponašamo". Sam termin vještačka inteligencija (VI) ili artificijelna inteligencija (AI) potiče od Dţona Mekartija i smatra se da je prvi put upotrebljen u ljeto 1956. godine na sastanku tadašnjih vodećih naučnika iz oblasti računarskih nauka. Sasatanak je odrţan na Dartmaut Koledţu, u Hanoveru, Novi Hemšir. Sam izraz je uveden da bi se što više naglasile i što lakše objasnile, mogućnosti budućih računara i računarskih programa. U oblasti koja se naziva vještačka inteligencija koriste se mnoga znanja nastala razvojem raznih drugih mnogo starijih disciplina. Tako, napori da se razumije priroda inteligencije seţu daleko u prošlost. Filozofi stare Grčke, a prema onome što se zna, posebno Aristotel, bavili su se pitanjima vezanim za suštinu ljudskog uma, znanja i ispravnog zaključivanja. Vještačku inteligenciju moţemo definisati kao naučnu disciplinu pomoću koje se elektronski računari programiraju za sloţene zadatke slične zadacima koji se postavljaju pred čovjeka, ali ne i na način kako bi ih rješavao čovjek. MeĎutim tu su još neke od mogućih definicija vještačke inteligencije. Vještačka inteligencija je naučna oblast u kojoj se izučavaju izračunavanja da bi se izračunavanjem omogućila percepcija, rezonovanje i činjenje. Vještačka inteligencija je naučna oblast u kojoj se istraţuje kako da se naprave računari koji bi uspješno radili stvari koje u ovom momentu rade bolje ljudi. Vještačka inteligencija je naučna grana koja se bavi metodama, tehnikama, alatima i arhitekturama za rješavanje logički komplikovanih problema, koje bi bilo teţe ili čak nemoguće riješiti klasičnim metodama. Ona ima dva glavna cilja: prvi je postići inteligentnije ponašanje računara i učiniti ih time još upotrebljivijim; sa druge strane ona ţeli razumjeti principe koji omogućavaju inteligenciju i time pridonijeti razumijevanju čovjekovog inteligentnog ponašanja. Vještačka inteligencija predstavlja mješavinu konvencionalne nauke, fiziologije i psihologije, sve u cilju da se napravi mašina koja bi se, po ljudskim mjerilima, mogla smatrati "inteligentnom". Mogućnost stvaranja inteligentnih mašina zaokuplja ljudsku maštu još od drevnih vremena, ali tek sada, sa brzim tempom razvoja računara i već pedesetogodišnjim iskustvom na polju istraţivanja tehnika VI programiranja, san o pametnim mašinama počeo je da postaje stvarnost. Mnogi istraţivači danas su zaokupljeni područjem istraţivanja koje ujedinjuje psihologiju i kompjuterske nauke radi razvoja vještačkih sistema koji bi ostvarili neke osobine ljudskog mišljenja. Gledajući jednostavno, vještačka inteligencija je studija o pravljenju mašina koje ispoljavaju ljudske kvalitete uključujući i sposobnost rezonovanja. Različita stanovišta oko definisanja vještačke inteligencije proizilaze iz postojanja više vrsta ove inteligencije. Vještačka inteligencija nije samo jedna disciplina – već se sastoji iz više disciplina.

5

Dva glavna pravca razvoja vještačke inteligencije su:  Proučavanje prirodne inteligencije (spoznavanje funkcija mozga, modeliranje rada mozga, simuliranje čovjekovog ponašanja, reagovanja i rezonovanja).  Postizanje inteligentnog ponašanja primjenom drugačijih pristupa, kakvi se ne mogu sresti u prirodnim sistemima.

Slika 1

Discipline – korijeni VI i glavne aplikacije

Vještačku inteligenciju prema pristupu rješavanja problema moţemo klasifikovati na tri glavna pristupa:  neuronske mreţe,  modeliranje evolucije i

6



heurističko programiranje.

Klasifikacija vještačke inteligencije prema vrsti rješavanja problema:  Sistemi za rješavanje čovjekovih uobičajenih zadataka: o prepoznavanje slika i govora, o razumjevanje, generisanje i prevoĎenje prirodnih jezika, o snalaţenje u svakodnevnim situacijama i o primjena u robotici. 

Sistemi za rešavanje formalnih zadataka: o logičke igre, o matematička logika, geometrija, integralni račun i o osobine programa.



Sistemi za rješavanje ekspertnih zadataka: o konstruisanje, nalaţenje grešaka, o planiranje proizvodnje, o naučne analize i dijagnostika (biologija, medicina, hemija, pravo), o finansijska analiza i o programi za razvoj ovakvih sistema.

Tehnike koje pripadaju vještačkoj inteligenciji morale bi da koriste znanja koja su organizovana tako da omogućavaju:     

generalizaciju, predstavljanje i preslikavanje u formi razumljivoj ljudima, lako modifikovanje, da se koriste informacije koje nisu kompletne i da pomaţu u smanjenju broja mogućnosti koje bi inače morale biti razmatrane (heuristike).

Prepoznavanje oblika je ključno za snalaţenje u svakodnevnim situacijama, kako za ţive tako i vještačke sisteme. Pri rješavanju problema vezanih za prepoznavanje oblika nastaju velike teškoće jer analogne signale koje primaju senzori / receptori sadrţe veliki broj informacija, od kojih dobar dio sadrţi šum, pa ti signali često nisu dovoljno jasni. Ovo oteţava primjenu računara za snalaţenje u svakodnevnim situacijama, pa nije ni čudo što su i ţivotinje, za koje se smatra da su manje inteligentne od ljudi, sposobne za daleko kvalitetniju vizuelnu i zvučnu percepciju i obradu takvih signala nego današnji računari. Inteligentno ponašanje mašine moţe se zasnivati na nekim njenim odreĎenim prednostima u odnosu na čovjekov um, ali i na njenim odreĎenim nedostacima. Prednosti kompjutera su u njegovim mogućnostima da obavi veliki broj jednostavnih aritmetičkih i logičkih operacija u vremenu koje je za ljudske pojmove nezamislivo kratko. Elektronski računar takoĎe moţe potpuno precizno memorisati ogroman broj podataka uz relativno brzu mogućnost njihovog pronalaţenja u svojoj memoriji. Za razliku od njega čovjek naprotiv takve zadatke obavlja vrlo sporo i neefikasno uz stalno prisutno zamaranje. MeĎutim, ljudski mozak pred računarom čini se ipak ima nedostiţne prednosti. One se ogledaju u sposobnosti obavljanja vrlo kreativnih i selektivnih pretraţivanja podataka, uz korišćenje sloţenih i ne potpuno determinisanih kriterijuma. Karakteristika ljudskog rasuĎivanja je kreativnost, sposobnost asocijacije, uopštavanje i mogućnost prevladavanja informacione podloge odlučivanja putem originalnosti i novih ideja.

7

Karakteristika čovjeka je posjedovanje male i kratkotrajne memorije, na primjer u pamćenju nekog telefonskog broja tako dugo dok ne dobije vezu ili obavi razgovor. Kasnije ga brzo zaboravi osim ako ga često ne koristi. S druge strane ljudski mozak ima ima veliku dugotrajnu memoriju koja je organizovana ne na principu adresa (kao kod računara) nego na osnovu asocijacija. To praktično znači da se svaka memorisana činjenica ili dogaĎaj moţe povezati sa svakom drugom takvom činjenicom ili dogaĎajem memorisanim u prošlosti. Kod kompjutera sposobnost asocijacije je ograničena i zasniva se na krutim pravilima koja se prevode u egzaktne algoritme. U filozofskom smislu osnovne primjedbe na mogućnosti vještačke inteligencije odnose se na jednu paradigmu, a to je pokušaj da se mišljenje moţe mehanizovati. Tako npr. oksfordski filozof Lukas iznosi opštu primjedbu u vezi sa stanjem vještačkog odnosno mehaničkog uma, a to je da mi pokušavamo da proizvedemo model uma koji je mehanički, koji je u suštini mrtav, dok um budući da je ţiv, uvijek moţe da ode dalje od bilo kog formalnog, okoštalog, mrtvog sistema. U analizi i dokazivanju ove teze on se oslanja na tzv. Gedelovu teoremu nekompletnosti, koja tvrdi da je mehanizam laţan odnosno da se um ne moţe objasniti kao mašina. Hubert Drajfus u svojoj kritici vještačke inteligencije odbija mogućnost da se naučno objasni inteligentno ponašanje. To znači da se ljudski kontekst uopšte ne moţe formalizovati, bar ne na sadašnjem nivou kompjuterske tehnologije. On ovu svoju tvrdnju detaljno obrazlaţe i platonske pretpostavke pobija na biološkom, psihološkom, epistemološkom i ontološkom planu. Podloga su mu izmeĎu ostalih i razmišljanja Hajdegera. Definitivno, za njega današnji stepen razvoja računarskih mašina je limitiran u mogucnostima sfere vještačke inteligencije. Drugim rijecima, svaki pokušaj da se njihovim programiranjem ostvari inteligentno ponašanje jednak je utopiji alhemičara da od olova napravi zlato. Jedinu alternativu Drajfus vidi u totalnoj reviziji tradicionalnih pretpostavki i u prihvatanju fenomenološkog opisivanja strukture ljudskog ponašanja. U analizi ovog problema navodi neka svojstva čovjekovog iskustva, koja su nemoguća za reprodukciju i imitaciju od strane računara. Osnovno je fenomen tzv. "marginalne svijesti" (tj. onog čovjekovog stanja kad je maglovito svjestan relevantnosti neke nedovoljno definisane činjenice) i tzv. "tolerancije dvosmislenosti" kada je npr. čovjek u stanju da u odreĎenom kontekstu ignoriše značenje neke riječi, a koja u nekom drugom kontekstu ima svoje pravo značenje. Drajfus u principu smatra da je šansa u konstruisanju vještačkog organizma, ako bi se upotrebile komponente dovoljno slične onima od kojih je sačinjen ljudski organizam. U takvom robotu, sa umom i tijelom, odnosno u nedigitalnom automatu sposobnom da obraĎuje neformalne informacije, Drajfus vidi perspektivu inteligentnih mašina i simulacije ljudskog uma. Ali ostvarenje te ideje po njemu zahtijeva kopernikanski obrt odnosno revoluciju o nauci o razumu, suprotnu onoj koja je u 17. vijeku izmjenila čitavu nauku prelaskom sa kvalitativne logike osobina na kvantitativnu matematiku mjerljivih veličina. Uopšte, pitanja koja je pokrenuo Drajfus su vrlo ozbiljna, suviše naučna da bi se prepustila filozofima, a suviše filozofska da bi se prepustila naučnicima. Ona predstavljaju presjek nauke i filozofije i problema čovječanstva.

8

1.2. RAZVOJ VJEŠTAČKE INTELIGENCIJE U trinaestom vijeku je Ramon Lul (1235-1316) opisao sistem Ars Magna kojim je pokušao da pomoću mehaničkog kombinovanja, simboličke notacije i kombinatornih dijagrama ostvari "inteligentan" sistem. Tokom sedamnaestog vijeka, G. V. Lajbnic (1646-1716) i Blez Paskal (1623-1662) pokušavali su da konstruišu mehaničku računsku mašinu za sabiranje. Cifarska računska mašina koju je konstruisao Čarls Bebidţ, bila je u stanju da po odreĎenom algoritmu izvršava operacije sa dekadnim brojevima. Sredinom devetnaestog vijeka Dţordţ Bul razraĎuje algebru logike u kojoj se algebarska simbolika koristi za operisanje pojmovima pri logičkom izvoĎenju. Englez Alan Tjuring i Amerikanac Post, 1936-te godine, nezavisno jedan od drugoga objavljuju radove iz oblasti matematičke logike i iznose mogućnosti konstruisanja univerzalnog transformatora informacija. MeĎutim, tek pojavom prvog računara "Electronic Numerical Integrator And Computer" (ENIAC) koga su 1945-te godine izmislili Maučli i J. Presper Ekert, moţe se govoriti o inteligentnim mašinama. U početku su računari bili prvenstveno namjenjeni za izvršavanje računskih operacija ali vrlo brzo je uočeno da oni imaju daleko veće sposobnosti. Već prvi rezultati u primjeni računara upućivali su na mogućnost računara da preuzme vršenje odreĎenih intelektualnih sposobnosti. Povoljni rezultati istraţivanja naveli su neke od naučnika da daju preuranjene izjave da se ubrzo moţe konstruisati "misleća mašina" ili "elektronski mozak". Zbog ovih preuranjenih izjava su se vodile brojne debate. Krajem 50-tih, sve do sredine 60-tih godina prošloga vijeka, problematika vještačke inteligencije bila je dosta rasplinuta izmeĎu fantastike, mašte, potencijalnih mogućnosti i praktičnih ostvarenja. Zanemarivanje razlike izmeĎu potencijalne ostvarljivosti i obima praktičnih problema, koji se nalaze na putu do ostvarivanja ideje, je jedan od čestih uzroka nerazumjevanja mogućnosti vještačke inteligencije. Ostvarivanjem praktičnih rezultata koji su našli primjenu u privredi, vještačka inteligencija postaje interesantna za veliki broj naučnika različitih oblasti. Danas postoje realizovani sistemi koji su u stanju da autonomno obavljaju kompleksne probleme, kakve su jedino ljudi bili u stanju da obavljaju. Nije rijedak slučaj da takvi sistemi obavljaju te zadatke i daleko uspješnije od ljudi. U sprezi sa računarima, mašine postaju sposobne da rade samostalno, da upravljaju same sobom i da proizvode druge mašine, oslobaĎajući čoveka fizičkog i monotonog rada, prepuštajući mu rad na sloţenijim i kreativnijim poslovima. U dvadesetom vijeku jedan od prvih radova vezanih za mašinsku (vještačku) inteligenciju, prije svega u odnosu na današnje digitalne računare, je rad Alana Tjuringa "Računarske mašine i inteligencija". Tjuringov test za "mjerenje inteligencije" mašina predstavlja jedini do sada priznati standard u ovom domenu. Alan Turing je razmatrao pitanje "Mogu li mašine da misle?" i izrazio ubjeĎenje da je ono previše nejasno. Kao zamjenu predloţio je test koji bi, ako ga neki računar savlada, sluţio kao potvrda mašinske inteligencije. U originalnoj verziji Tjuringov test, poznat i pod nazivom imitaciona igra, uključuje ispitivača koji je ljudsko biće, kao i dva ispitanika, od kojih je jedan ţena, a drugi računar. Ispitivač se nalazi u odvojenoj sobi i sa ispitanicima komunicira posredno, preko terminala. Zadatak ispitivača je da utvrdi ko je od ispitanika računar, a ko ţena. Računar nastoji da ga sa svojim odgovorima zavara, dok ţena nastoji da ispitivaču pomogne. Recimo, računar bi na zahtjev da sabere dva broja mogao sačekati odreĎeno vrijeme, pa zatim odgovoriti pogrešno pokušavajući tako da prevari ispitivača. Tjuringova namjera je bila da pruţi naučan, objektivan i ponovljiv test. On nije tvrdio je da je pobjeda u testu neophodna da bi računar bio inteligentan, već se zadrţao na dovoljnosti uslova, odnosno da je pobjeda u testu potvrda inteligentnosti računara, iako će moţda postojati inteligentan računar koji bi izgubio igru propisanu testom.

9

Svake godine organizuje se takmičenje pod nazivom Lebnerova nagrada. Riječ je o velikoj nagradi za prvi sistem koji bude rješio Tjuringov problem. Ako se istraţivanja nastave u sadašnjem pravcu, proći će još mnogo vremena prije nego što se pojavi prvi laureat. Teškoća je u tome što tema razgovora nije unaprijed odreĎena. Moţe se razgovarati o bilo čemu. Čovjek ne mora mnogo da zna o ovim temama, ali će se razgovor ubrzo voditi u oblasti koju oba sagovornika poznaju. Sadašnji sistemi vještačke inteligencije ograničeni su na uske oblasti. Tjuring je predvidio da će mašine imati 30% šansi da proĎu test u trajanju od 5 minuta. Predvidio je sve argumente u sljedećih 50 godina. Moguća pitanja na testu su: Are you a computer ? What is 2276448*7896 ? Describe your parents ?

Slika 2

Tjuringov test

Treba reći i da su u mnogim slučajevima ograničenih verzija testa koje se odnose na specifične oblasti znanja, računari pobjeĎivali svoje ljudske protivnike. Tako su računari koji su izvršavali programe kao što je ekspertni system za medicinu MYCIN, pokazali bolje rezultate od prosječnih ljekara. Računar nazvan Dip Blu, razvijen u IBM-u specijalno za igranje šaha, pobijeio je Garija Kasparova, jednog od najboljih šahista svih vremena. U skladu sa njenom definicijom, glavni cilj vještačke inteligencije je razviti računare koji su korisniji od danas postojećih. Ako se prihvati optimistički, ili bar kognitivistički stav prvom cilju se moţe dodati i drugi: objasniti principe na kojima se inteligencija zasniva. Dakle, stručnjaci za računarske nauke bi na osnovu rezultata na planu vještačke inteligencije trebali da pronaĎu način kako da učine računare korisnijim, dok bi psiholozima, lingvistima, filozofima i drugima trebalo da olakšati razumjevanje principa na kojima se inteligencija zasniva. Prvi meĎu ciljevima vještačke inteligencije proizilazi iz stava da bi računari koji posjeduju inteligenciju bili najkorisniji računari i objašnjava zašto se vještačkoj inteligenciji pridaje veliki značaj. Računari više ne obavljaju samo obična računanja, već izvode i postupke koji posjeduju elemente inteligencije. U simbiozi sa računarima, mašine postaju sposobne da rade samostalno, upravljaju sobom i proizvode druge mašine, ostavljajući čovjeku da upravlja sloţenim sistemima uz mala izlaganja fizičkim naprezanjima.

10

Drugi od navdenih ciljeva u vještačkoj inteligenciji se zasniva na vjerovanju da je stvaranje inteligentnih računara povezano sa razumjevanjem ljudske inteligencije. Rad sa računarima pruţa nova sredstva opisivanja i korišćenje koncepta po analogiji omogućava moćno mišljenje o mišljenju. Računarski modeli forsiraju preciznost. Programi su pogodni za ispitivanja, jer ne zahtjevaju hranjenje i ne stvaraju obmanu (misle kognitivisti), a jednostavnim lišavanjem dijela znanja (dijela koda) olakšava se testiranje značaja koji taj dio ima u cijelini. Jedna od posljedica rezultata na polju vještačke inteligencije mogu biti nove ideje o tome kako pomoći ljudima da postanu inteligentniji. U početku sedamdesetih godina utvrĎeno je da se svi ti ambiciozni ciljevi i nisu baš ostvarili, pa su se zato istraţivanja nastavila u realnijim ciljevima radeći na novim metodama i boljim alatima. MeĎu rezultatima tog preporoda treba spomenuti sljedeće sisteme:  DENDRAL ekspertni sistem za utvrĎivanje hemijskih strukturnih formula na osnovu spektralnih osobina hemijskih jedinjenja,  PLANNER značajan korak ka razvoju visokonivoovskih jezika vještačke inteligencije; jezik u više pogleda sličan Prologu,  SHRDLU sistem za razumijevanje prirodnog jezika,  MYCIN ekspertni sistem za pomoć ljekarima kod dijagnosticiranja infektivnih oboljenja i kod izbora terapije i  ARCHES program za automatsko učenje. Napomenimo da je mašinska oprema u to vrijeme još uvijek bila nedovoljna, aplikacija vještačke inteligencije je bilo malo, te su u razvoj tih programa uloţeni veliki napori. Do značajnog i brzog preokreta došlo je u godinama 1980-1982. Sa razvojem mikroračunara i novih alata, kojima je omogućena brza izrada novih programa, došlo je do velikog zamaha programa vještačke inteligencije. Istovremeno promijenio se i odnos razvijenih industrijskih i poslovnih sredina prema vještačkoj inteligenciji. Naime, vještačka inteligencija je došla u centar paţnje zbog dva razloga: prvi je projekat nove generacije računara kojom je Japan ţelio dostići primat na svjetskom trţištu računara i koji je zasnovan na svestranoj upotrebi tehnika vještačke inteligencije; drugi razlog leţi u uspjehu njenih aplikacija, u prvom redu ekspertnih sistema. Pregled značajnih dogaĎaja u istoriji vještačke inteligencije sistematizovano je dat u sljedećoj tabeli:

Period

Značajni dogaĎaji

1930-1940 Korijeni

Formalna logika (Frege, Whitedhead, Russel, Tarsky) Kognitivna psihologija Ideja kompjutacije (Church,Turing)

1945-1954

Razvijeni računari (H. Simon) Administrativno ponašanje Kibernetika i samoorganizujući sistem (N. Wiener, McCulloch) A.M. Turing, Računarska mašinerija i inteligencija

1955-1960 Počeci istraţivanja u VI

Narastajuća raspoloţivost računara Jezik obrade informacija I (IPL-I) Qetni seminar o VI u Darmouthu 1956. Rješavalac opštih problema (GPS) Psihologija obrade informacija

11

A. Nenjel i H. Simon, Rješavanje ljudskih Godine razvoja i preusmjeravanja 1961—1970 Traganje za rješavaocima opštih problema

problema LISP (J. McCarty) Heuristici ELIZA (J. Weizenbaum) Robotika Šahovski programi DENDRAL (Stanford University)

Godine specijalizacije i uspjeha 1971-1980 Razvoj sistema zasnovanih na znanju

MYCIN (Stanford University) HEARSSAY II (Carnegie-Mellon) Inţenjerstvo znanja EMYCIN (Stanford University) PROLOG (A. Colmerauer)

Godine primjene 1981-1992 Dalja istraţivanja

PROSPECTOR (SRI) Japanski projekt Pete generacije E. Feigenbaum i P. MCCorduck, Peta generacija INTELLECT (A.I.C.) Šesta generacija

Tabela 1 Pregled značajnih dogaĎaja u istoriji vještačke inteligencije

Osnovni dio programske opreme računarskog sistema nove generacije sastoji se od sistema za rješavanje problema i zaključivanje (problem-solving and inference system), sistema za upravljanje bazom znanja (knowledge base management system) i inteligentnog interfejsa (intelligent interface system). Funkcije tih sistema se veoma razlikuju od klasičnih, koje se baziraju na aritmetičkim operacijama, funkciji memorije i klasičnim ulazno-izlaznim jedinicama. Za njihovu realizaciju je dakle potreban novi instrumentarijum, a to su upravo tehnike, metode i arhitekture, koje je razvila vještačka inteligencija:  algoritmi za pretraţivanje grafova,  formalizmi za predstavljanje znanja,  mehanizmi zaključivanja,  tehnike objašnjavanja i  arhitektura sistema voĎenih uzorcima. U osnovna područja primjene vještačke inteligencije prema CR klasifikacijskom sistemu spadaju:  heurističko rješavanje problema,  predstavljanje znanja i mehanizmi zaključivanja,  ekspertni sistemi,  procesiranje prirodnog jezika,  automatsko učenje i sinteza znanja,  inteligentni roboti,  računarski vid,  programski jezici za vještačku inteligenciju,  automatsko programiranje i  automatsko dokazivanje teorema. Zbog specifičnosti programiranja sistema vještačke inteligencije kao što su rad sa nenumeričkim podacima i sa bogato strukturiranim objektima, često vraćanje kod pretraţivanja grafova, poseban odnos izmeĎu podataka i programa, potrebni su joj i tome prilagoĎeni alati kao što su: jezici za vještačku inteligenciju (npr. Lisp, POP2, Prolog, ...), specijalni računari (npr. Lisp Machine) i programska okruţenja za vještačku inteligenciju. Postoje tri aspekta kreiranja vještačke inteligencije:  stvaranje vještačkih neuralnih mreţa,  modeliranje evolucije i  heurističko programiranje.

12

Stvaranje vještačkih neuralnih mreţa inspirisano je hipotezom da prirodna inteligencija nastaje na bazi prirodnih neuronskih mreţa. Prirodna neuronska mreţa ima oko 1010nervnih ćelija (neurona) i neurofiziolozi još do kraja ne razumiju njeno funkcionisanje. Vještačka neuralna mreţa sadrţi veliki broj meĎusobno povezanih neurona i kreira se na računaru. Evolucioni aspekt pretpostavlja da je prirodna inteligencija evoluirala u procesu koji uključuje prirodnu selekciju i mutacije. Ovdje se na računaru kreira sistem koji na vještački način evoluira u smislu selekcije i mutacije. Osnovni cilj je da vještačka inteligencija bude brţa od prirodne inteligencije. Heurističko programiranje podrazumijeva izradu kompjuterskih programa koji se inteligentno ponašaju. To znači sintezu tri elementa: teorije, implementacije programa i eksperimenta sa gotovim programom. Heuristika je vještina i nauka o metodama u pronalaţenju novih, naročito naučnih činjenica i saznanja. Vještačka inteligencija je dakle došla do faze, kada su tehnike i alati koje je razvila, postali opšte upotrebljivi u raznovrsnim računarskim aplikacijama, meĎu kojima su najpoznatiji, zasada najuspješniji i zbog toga komercijalno najzanimljiviji ekspertni sistemi. Generalno, vještačka inteligencija je stvarnost, tehnike i alati razvijeni u tom smislu dobili su širu upotrebu u različitim softverskim aplikacijama. Ubjedljivo najvaţniji su ekspertni sistemi, koji već imaju solidnu afirmaciju na trţištu. ČOVJEK uzrast 1

VjEŠTAČKA INTELIGENCIJA

zadatak

godina

program

opaţanje okoline

1968.

prvi program vizuelnog opaţanja

motorne i mani pulativne sposobnosti

1968. 1969.

projekat "oko-ruka"

jezik i govor

1966.

analizator govora do 200 riječi sintetizator govora program za učenje govora

2

1968. 1968.

3

5

početak usvajanja školskog programa

15

geometrija u ravni

1959.

program za dokazivanje teorema

15

algebarski zadaci

1964.

program za rješavanje algebarskih zadataka

16

geometrijski zadaci u prostoru

1963.

Program "Analogija"

17

programiranje računara

1963.

programi zasnovani na korištenju heuristike

18

matematička analiza

1961.

program za heurističku integraciju

18

iskazni račun

1959.

"Opšti rješavač zadatka" (GPS)

20

igra dama na 100 polja

1959.

program za igranje dama

21

aksiomatska logika

1956.

program vrši dedukciju u formalnom sistemu

Tabela 2 Uporedni razvoj prirodne i VI

2. FUZZY SISTEMI 2.1. KVANTIFIKACIJA NEODREĐENOSTI Fuzzy teorija je specifično projektovana za predstavljanje ljudskog znanja i zaključivanja na takav način da se moţe jednostavno predstaviti na računaru. Ona omogućava uvoĎenje matematičkog formalizma za opisivanje nejasnosti, neodreĎenosti ili dvosmislenosti riječi ili fraza, koji se javljaju u prirodnom jeziku. Ustanovljena je 1965. godine od strane profesora Zadeha, uvoĎenjem fuzzy skupova.

13

Skoro svi prirodni jezici sadrţe neodreĎenosti i vešeznačnost. Pridjevi, posebno, nisu uvijek jasni i jednoznačni; višesmisleni su u širini svog značenja. Na primjer, kada se kaţevisoka osoba ne moţe se jasno odrediti ko je visok ili ko nije visok. NeodreĎenost izraza stara osoba dolazi do pridjeva star. Riječi su obično kvalitativne, ali one kao visok i star su dovedene u vezu sa visinom ili godinama. Ako se ostave po strani apstraktni pridjevi kao što su: dvosmislen, neodeđen nesiguran, pridjevi koji se odnose na količinu su česti. U inţenjerstvu, posebno, pridjevi koji opisuju stanja i uslove različitih stvari su skoro uvijek povezani sa količinom.

2.2. FUZZY SKUPOVI U okviru fuzzy teorije skupova radi se sa kvantifikacijom značenja u okviru teorije skupova. To je pokušaj da se izrazi poput visok ili star predstave preko koncepta skupova. U osnovi, pojam skupova nije neophodan za kvantifikaciju neodreĎenosti, ali je moguće povećati opseg korisnosti radeći u okvirima teorije skupova, prije svega zato što je teorija skupova osnova koja se koristi u mnogim oblastima savremene matematike. Da bi se naglasila razlika izmeĎu skupova koji se standardno koriste u matematici i fuzzy skupova, za skupove prve vrste se upotrebljava termin obični skupovi (ili samo skupovi). U engleskoj literaturi se obični skupovi nazivaju crisp sets (riječ crisp ukazuje na jasno odreĎene granice oblasti koje predstavljaju skupove). Da bi se fuzzy skupovi jasno razlikovali od običnih skupova, koristiće se sljedeći način označavanja: slovo koje označava fuzzy skup će biti podvučeno. Grafički prikaz fuzzy podskupa A skupa X dat je na sljedećoj slici.

Slika 3

Fuzzy podskup A

Pravougaoni ram predstavlja skup X, dok su granice neodreĎenosti fuzzy podskupa A označene isprekidanom linijom. Teorija fuzzy skupova definiše stepen do kojeg je element x skupa X uključen u neki podskup. Funkcija koja pokazuje stpen do kojeg je x uključen naziva se funkcija pripadnosti. Stepen uključenosti nekad se zove i stepen pripadnosti, obim ili stepen. Kako je fuzzy skup uvijek definisan kao podskup opšteg skupa X, prefiks pod se izostavlja i koristi se samo termin fuzzy skup. Ako se istovremeno razmatraju funkcije pripadnosti fuzzy skupova , dobiva se ovakav grafik:

14

Visina (cm) visok skoro prosječan nizak

Slika 4

Skale za nizak, skoro prosječan i visok

Na horizontalnoj osi je predstavljen cijeli skup X koji se zove i skup koji podrţava fuzzy skup, ili jednostavno podrška. Na vertikalnoj osi je predstavljena vrijednost funkcije pripadnosti. Na primjer, za očekivati je da bi mnogi predstavili funkciju pripadnosti skupa skoro prosječan kao što je na krivoj u sredini, s tim da bi stepen od 150 cm do 170 cm subjektivno varirao, što zavisi od osobe koja daje procjenu. Na ovaj način fuzzy skupovi mogu biti viĎeni kao subjektivni. Tipičan primjer za funkciju pripadnosti je linearna trapezoidna funkcija: veliki srednji mali

Slika 5

Grafik trapezoidnih funkcija

15

Predstavljeni su fuzzy skupovi mali brojevi, srednji brojevi, i veliki brojevi. Drugi oblici, na primjer Gausova funkcija, takoĎe se mogu koristiti, ali treba voditi računa da ne doĎe do značajnog povećanja sloţenosti izračunavanja. Takve funkcije se tipično javljaju u sistemima koji se koriste za teorijske analize, gdje su potrebna odreĎena analitička svojstva.

16

2.3. OPERACIJE SA FUZZY SKUPOVIMA Za bolje razumjevanje operacija sa fuzzy skupovima u nastavku će biti prvo opisane operacije sa običnim skupovima i njima odgovarajuće operacije sa fuzzy skupovima, a zatim će biti prikazane i operacije uvedene specijalno za rad sa fuzzy skupovima. Postoje tri osnovne funkcije sa skupovima: unija, presjek i komplement. Na primjer, unija skupova E i F je izraţena kao: E U F = {x:x Є E ili x Є F} Budući da su fuzzy skupovi definisani funkcijama pripadnosti, unija fuzzy skupova ne moţe biti ovako definisana, jer se moraju koristiti funkcije pripadnosti.

UNIJA Unija fuzzy skupova A i B, u oznaci A U B, je fuzzy skup definisan sledećom funkcijom pripadnosti: μ A U B (x) = μ A (x) v μ B (x)

PRESJEK Presjek fuzzy skupova A i B, u oznaci A ∩ B, je fuzzy skup definisan sledećom funkcijom pripadnosti: μ A ∩ B (x) = μ A (x) ٨ μ B (x) KOMPLEMENT Komplement fuzzy skupova A, u oznaci A, je fuzzy skup definisan sledećom funkcijom pripadnosti: μ A (x) = 1 – μ A (x) Ove definicije operacija su uopštenja definicija operacija za obične skupove.

17

2.4. OPERACIJE SPECIJALNO RAZVIJENE ZA FUZZY SKUPOVE Pošto više nema potrebe za naglašavnjem razlika u odnosu na obične skupove, fuzzy skupovi će biti prosto označeni se A, B, itd..., odnosno bez podvlačenja. Od mnogobrojnih operacija sa fuzzy skupovima ovde će biti govora samo o nekima:  algebarskom zbiru i proizvodu,  graničnom zbiru i razlici i  direktnom proizvodu.

ALGEBARSKI ZBIR Algebarski zbir fuzzy skupova Ai B, u oznaci A + B, je fuzzy skup definisan sledećom funkcijom pripadnosti: μ A + B (x) = μ A (x) + μ B (x) - μ A (x) . μ B (x)

ALGEBARSKI PROIZVOD Algebarski proizvod fuzzy skupova A i B, u oznaci A . B, je fuzzy skup definisan sledećom funkcijom pripadnosti: μ A . B (x) = μ A (x) . μ B (x) GRANIČNI ZBIR Granični zbir fuzzy skupova A i B, u oznaci A Ө B, je fuzzy skup definisan sledećom funkcijom pripadnosti: μ A Ө B (x) = (μ A (x) + μ B (x)) ٨ 1 GRANIČNA RAZLIKA Granična razlika fuzzy skupova A i B, u oznaci A ө B, je fuzzy skup definisan sledećom funkcijom pripadnosti: μ A ө B (x) = (μ A (x) - μ B (x)) v 0

DIREKTAN PROIZVOD FUZZY SKUPOVA Neka su A i B, dva fuzzy skupa. Direktan proizvod skupova A i B, u oznaci A x B je fuzzy podskup skupa X x Y (pri čemu je A podskup skupa X, a B podskup skupa Y) definisan sledećom funkcijom pripadnosti: μ A x B (x) = μ A (x) ٨ μ B (x)

18

2.5. PRIMJENA FUZZY TEORIJE Uspješna primjena fuzzy teorije moţe se uočiti na širokom polju aplikacija, počevši od proizvoda široke potrošnje pa do automatskih sistema upravljanja. Neke od primjena fuzzy teorije (u zagradi su navedeni proizvoĎači) su:  Široka potrošnja: o Kamere i kamkoderi (Cannon, Minolta, Ricoh, Sanyo), o Mašine zapranje ( AEG, Sharp, Goldstar), o Rashladni ureĎaji (Whirpool), o Usisivači (Phillips, Siemmens).  Automatizovani sistemi: o Lokomotive i upravljanje transmisijom (GM Saturn, Honda, Mazda), o Upravljanje motora (Nissan), o Fuzzy kontroleri (Klockner Moeller).  Upravljanje industrijskim procesima: o Cementara, postrojenje za preradu smeća ( K.L. Smith, Danska), o Destilacija, prečišćavanje i drugi hemijski procesi.  Pomoć u odlučivanju: o Medicinska dijagnostika, o Ekspertni sistemi, o Osiguravajući sistemi, o Donošenje odluka u upravljanju poduzećem, o Vrednovanje kvaliteta, o Baze podataka. Uprkos činjenici da se učešće fuzzy teorije u ovim aplikacijama nije uvijek isto, moţe se reći da ima sličnu, centralnu ulogu u odgovarajućim upravljačkim sistemima. U nevedenim primjerima, fuzzy teorija premošćava prazninu izmeĎu simboličkog procesiranja i numeričkog izračunavanja. U narednom periodu treba očekivati još značajnije učešće fuzzy teorije u upravljačkim strategijama, prije svega za donošenje strategijskih i kontrolnih (nadzornih) odluka.

19

3. NEURONSKE MREŽE 3.1. POJAM NEURONSKIH MREŽA

Kada god se govori o informacionim sistemima, bilo da je to MIS (Management Information Systems), DSS (Decison Support System) ili neka druga vrsta informacionog sistema, neizostavno se spominju računarske mreţe, kao osnovna infrastruktura svakog informacionog sistema. Tako govorimo o LAN, MAN, WAN mreţama prema njihovoj geografskoj rasprostranjenosti , ili pak o server-klijent mreţama ili peer to peer konfiguracijama, kada govorimo o načinu komunikacije unutar mreţe. Kod ekspertnih sistema, koji predstavljaju vrh hijerarhijske piramide informacionih sistema, kao osnovna infratruktura se spomninju vještačke neuronske mreţe. Početak neuro-računarstva obično se vezuje za 1943. godinu i članak Warrena McCullocha i Waltera Pittsa "Logički račun ideja svojstvenih nervnoj aktivnosti". Ovaj članak je često citiran. Kibernetičar Norbert Winer i matematičar John von Neumann su smatrali da bi istraţivanja na polju računarstva, inspirisana radom ljudskog mozga, mogla biti izuzetno zanimljiva. Knjiga Donalda Hebb-a iz 1949. godine "The Organization of behavior" (Organizacija ponašanja) iskazuje ideju da je klasično psihološko uslovljeno ponašanje prisutno kod svih ţivotinja, jer je ono svojstvo neurona. Ova ideja nije bila nova, ali ju je Hebb više razradio od prethodnika, predlaţući odreĎeni zakon učenja za sinapse, a pomoću njega je izveo kvalitativno objašnjenje nekih eksperimentalnih rezultata iz psihologije. Početkom pedesetih godina prošloga vijeka, najviše uticaja na dalji razvoj neuronskih mreţa je imao rad Marvin Minsky-a koji je u tom periodu konstruisao neuroračunar pod imenom Snark (1951). Frank Rosenblatt je zasluţan za otkriće jednoslojne neuronske mreţe, zvane perceptron. Ovaj računar je mogao uspješno da podešava teţinske koeficijente, meĎutim ovaj računar nije postigao značajnije praktične rezultate. Tek krajem pedesetih godina (1957-1958), Frank Rosenblatt i Charles Wightman sa svojim saradnicima su uspeli da razviju računar pod nazivom Mark I koji predstavlja prvi neuroračunar. Nešto iza Rosenblatta, Bernard Widrow je sa svojim studentima (najpoznatiji je Ted Hoff, kasnije tvorac mikroprocesora) razradio novi tip ―neurona‖ - ADALINE (ADAptivini LINearni Element, prenosna funkcija f(x)=x) i odgovarajući zakon učenja. U periodu od 1950-tih do ranih 1960-tih godina prošloga vijeka napisano je nekoliko knjiga i osnovano nekoliko kompanija koje se bave neuroračunarima. MeĎutim, sredinom 1960-tih godina došlo je do zastoja zbog dva očigledna problema. Prvo, većina istraţivača je prišla problemu sa kvalitativne i eksperimentalne strane, zanemarujući analitički pristup. Drugo, početni entuzijazam je bio toliko jak da su uveliko publikovana predviĎanja da nas od vještačkog mozga dijeli samo nekoliko godina istraţivanja. Ovakav zanos je dalje diskreditovao ovu oblast i odbio veliki broj istraţivača. Mnogi od ovih ljudi su napustili neuroračunarstvo i prešli u srodna polja. Sredinom 1960-ih godina je pristup riješavanja problema neuronskih mreţa okarakterisan kao pogrešan, nakon što Marvin Minsky i Seyour Papert u knjizi "Perceptrons"objavljuju matematički dokaz da jednoslojna neuronska mreţa "Perceptron" ne moţe da nauči funkciju XOR, uz pretpostavku da dodavanjem više slojeva neurona taj problem neće biti prevaziĎen. Tačno je da neuron nije u stanju da izvede pomenutu funkciju, ali za iole sloţeniju mreţu od nekoliko neurona to predstavlja veoma jednostavan zadatak. Njihov dokaz je diskreditovao istraţivanja neuronskih mreţa, a finansiranja su preusmjerena na druge oblasti vještačke inteligencije.

20

U periodu izmeĎu 1967. do 1982. godine pojavljuju se istraţivači koji daju značajan doprinos razvoju ove oblasti kao što su Teuvo Kohonen, Kunihiko Fukushima i Stephnen Grossberg. Naročito se istakao Teuvo Kohonen, koji je otkrio nekoliko tipova neuronskih mreţa koje su po njemu dobile naziv. U ovom periodu se pojavio i backpropagation algoritam. U radu na ovom algoritmu su se posebno istakli sljedeći načunici: Amari (1967.) dodaje unutrašnje slojeve perceptronskoj mreţi, Bryson i Ho (1969.) razvijaju algoritam sličan backpropagation algoritmu, Werbos (1974) nezavisno od prethodnika razvija backpropagation algoritam, a Parker (1982) unapreĎuje backpropagation algoritam. Početkom 80-ih, američka vojna agencija DARPA (Agencija za odbrambene istraţivačke projekte) postala je zainteresovana za neuronske mreţe i finansiranja su ponovo započela. Sredinom 1980-tih, poznati fizičar John Hopfield dao je veliki doprinos popularizaciji neuronskih mreţa, objavljujući rad u kome je napravio paralelu izmeĎu neuronskih mreţa i odreĎenih fizičkih sistema. Početkom devedesetih, Bart Kosko u knjizi "Neural Networks and Fuzzy Systems" dokazuje da neuronske mreţe i fuzzy logika opisuju isti skup problema i samim tim otvara novu oblast koja se naziva soft computing. Rumenel, Hinton i Williams (1986) dokazuju veliku promjenljivost i potencijal backpropagation algoritma. Krajem 80-tih i početkom 90-tih, neuronske mreţe i neuro računarstvo se uvodi kao predmet na nekoliko elitnih univerziteta u SAD, dok se danas neuronske mreţe gotovo mogu sresti na svim univerzitetima. Iako su neuronske mreţe imale neobičnu istoriju, one su još uvijek u ranoj fazi razvoja. Moţda se sad moţe reći da smo na kraju početka. Danas neuronske mreţe nalaze veoma širok spektar primjena u različitim praktičnim oblastima. Interes za neuronske mreţe, ali i uopšte za ekspertne sisteme, doţivljava nevjerovatnu ekspanziju u posljednjih nekoliko godina. Njihova primjena doţivljava pravi bum i gotovo da nema oblasti ljudskog djelovanja gdje se ne primijenjuju ekspertni sistemi zasnovani na neuronskim mreţama. Tako ove sisteme sve više susrećemo na polju finansija, medicine, inţenjeringa, geologije, hemije i drugih oblasti ljudskog interesa. Dakle, gdje god se javlja problem predviĎanja, klasifikacije ili kontrole, neuronske mreţe se nameću kao najefikasnije rješenje. Njihova kompleksnost i sofisticiranost, dakako, doprinosi relativno sporom uvoĎenju u širu primjenu, pogotovo ako ih uporedimo sa klasičnim računarskim mreţama, ali se fokus svjetske IT pameti definitivno okreće ovom modelu umreţavanja računarskih resursa. Svijet biznisa sve više traţi načina da, sve jaču procesorsku snagu današnjih računarskh sistema, upotrebi na takav način da moć i ulogu odlučivanja premjesti sa ljudi – eksperata, na inteligentne mašine, čime bi se riješili mnogi problemi, od finansijskih, socioloških, kulturoloških, pa sve do organizacionih. Dosadašnji uobičajeni način rješavanja ovakvih i sličnih problema, rješavao se upotrebom numeričkog modeliranja. MeĎutim, numerički modeli su primijenljivi na dobro strukturirane probleme, dok kod nestrukturiranih ili slabo strukturiranih problema ovakvi modeli i sistemi ne daju zadovoljavajuće rezultate. Vještačka inteligencija, kao davnašnji san naučnika, počiva na razvoju neuronskih mreţa, koje nastoje imitirati način rada čovječijeg mozga, kao ipak, najsavršenijeg procesora tj. mreţe procesora (neurona). Asocijativno mišljenje i prepoznavanje kod čovjeka se zasniva na poreĎenju ranije doţivljenih i upamćenih situacija sa onim situacijama koje su trenutno aktuelne sa ciljem da se novoj, na osnovu sličnosti pridruţi (asocira) neka od ranije poznatih situacija i da se time donese zaključak koji je ranije u takvoj situaciji uspješno provjeren. Vještačke neuronske mreţe su u stanju da na odreĎen način funkcionišu prema navedenim principima asocijativnog razmišljanja i prepoznavanja. Prije nego što se započne sa prvom analizom neuronskih mreţa, treba objasniti neke kategorije koje će se više puta ponavljati.

21

Oblik (uzorak, eng. Pattern) je kao kategorija od osnovnog značaja u izučavanju asocijativnog razmišljanja. On predstavlja skup podataka koji opisuju neku situaciju, dogaĎaj ili pojavu. Pri tome podaci koji čine oblik mogu biti binarni ili n-arni. Metode prepoznavanja oblika su se razvile kao pokušaj da se matematički formulišu i računski realizuju principi asocijativnog zaključivanja koji su svojstveni čovjekovom mišljenju. Mreţa (eng. Network) kao kategorija u tehničkim razmatranjima predstavlja jedan skup entiteta, koji meĎusobno komuniciraju. Ukoliko dva entiteta mogu da komuniciraju meĎusobno, onda se kaţe da postoji veza izmeĎu njih. Priroda te veze je irelevantna u okviru ovih razmatranja. Ovi entiteti mogu da budu potpuno povezani što znači da je svaki entitet povezan sa svakim. Mreţa sa atributom neuronska ili sa atributima vještačka neuronska predstavlja mreţu čiji su entiteti procesorske jedinice i čiji, kako fizički izgled tako i funkcionalni procesi koji se odigravaju u mrţi, podsjećaju na nervni sistem kod čovjeka. Postoje dvije kategorije neuronskih mreţa: vještačke i biološke neuronske mreţe. Predstavnik bioloških neuronskih mreţa je nervni sistem ţivih bića. Vještačke neuronske mreţe su po strukturi, funkciji i obradi informacija slične biološkim neuronskim mreţama, ali se radi o vještačkim tvorevinama. Neuronska mreţa u računarskim naukama predstavlja veoma povezanu mreţu elemenata koji obraĎuju podatke. One su sposobne da izaĎu na kraj sa problemima koji se tradicionalnim pristupom teško rješavaju, kao što su govor i prepoznavanje oblika. Jedna od vaţnijih osobina neuronskih mreţa je njihova sposobnost da uče na ograničenom skupu primjera. 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. Od mnogih smatrane za najveći tehnološki napredak u protekloj deceniji, neuronske mreţe pokazale su se nezamjenljivim u situacijama gdje je mogućnost identifikacije skrivenih veza i obrazaca ključna za uspešna predvidanja.

22

3.2. BIOLOŠKE NEURONSKE MREŽE Čovječiji mozak je sastavljen od ogromnog broja ćelija – neurona. Njihov broj u prosječnom čovječijem mozgu iznosi oko 100.000.000.000, a svaki ovaj neuron povezan je sa drugim neuronima preko nekoliko hiljada veza kojima proslijeĎuju impulse jedni drugima. Tako je svaki neuron sastavljen od ulaznih veza (aksoni), same ćelije (neuron), izlaznih veza (dendroni), dok se spoj dendrona jednog neurona sa aksonima drugog neurona naziva sinapsa.

Slika 6

Veza izmeĎu dva neurona

Akson jedne ćelije povezan je sa dendronom druge ćelije. Funkcionalni meĎumembranski kontakt aksona jednog neurona i dendrona drugog neurona nazivamo sinapsa. Kada je neuron aktiviran on šalje elektrohemijski signal preko aksona prema drugom neuronu. Signal moţe biti promijenjen od strane sinapse koja je u mogućnosti da poveća ili smanji snagu veze i time izazove aktivaciju druge ćelije ili njenu ukočenost. Akson se moţe zamisliti kao tanka cjevčica koje jedan kraj povezan na tijelo neurona, a drugi se dijeli na niz grana. Krajevi ovih grana završavaju malim zadebljanjima koja najčešće dodiruju dendrite, a rjeĎe tijelo drugog neurona. Neuron prima impulse od ostalih neurona kroz dendrite, a signale koje proizvodi tijelo predaje preko aksona.

23

Sinapsa je elementarna struktura i funkcionalna jedinica izmeĎu dva neurona, odnosno sinapsa je mali razmak izmeĎu završetka aksona prethodnog neurona i dendrita ili tijela sljedećeg neurona.

Dakle, vještačka neuronska mreţa je pokušaj simuliranja rada, odnosno procesiranja informacija, čovječijeg mozga. Svaki neuron ima sposobnost proslijeĎivanja elektro-hemijskih signala. Kada se neuron pobudi, on ispaljuje elektrohemijski signal preko mreţe aksona. Signal prelazi preko sinapsa do drugih neurona, koji mogu naizmjenično da se aktiviraju. Neuron se aktivira samo ako nivo signala koji je primljen od prethodnog neurona preĎe odreĎenu granicu (fire treshold). Jačina signala koju neuron prima u mnogome zavisi od djelotvornosti sinapsi. Svaka sinapsa ima kanal koji je ispunjen kemikalijom koja prenosi signal duţ kanala. Naučnici smatraju da je proces učenja u stvari povezan sa sposobnošću mijenjanja i aţuriranja ovih sinaptičkih veza. Tako čovječiji mozak, procesirajući veliki broj jednostavnih impulsa, rješava ekstremno kompleksne zadatke. Mora se napomenuti da do sada niko, nikada nije uspio simulirati ni pribliţno kompleksan sistem kao što je to čovječiji mozak. Dok se stvarni čovječiji mozak sastoji od stotina milijardi neurona, vještačke neuronske mreţe su uspjele dostići tek brojku od par hiljada vještačkih čvorova - neurona.

24

3.3. VJEŠTAČKE NEURONSKE MREŽE Vještačke neuronske mreţe su inspirisane biološkim mreţama. One pozajmljuju ideje iz načina na koji funkcioniše ljudski mozak. Današnja neuronska obrada na računaru koristi vrlo ograničen skup koncepata od bioloških neuronskih sistema. Cilj je da se simuliraju masovni paralelni procesi koji uključuju obradu meĎusobno povezanih elemenata u arhitekturi mreţe. Vještački neuron prima ulazne podatke slično kao što biološki neuroni primaju elektohemijske impulse od drugih neurona. Izlazni podaci vještačkog neurona odgovaraju signalima koje šalju biološki neuroni. Vještačka neuronska mreţa je sastavljena od procesorskih jedinica čiji kako funkcionalni izgled tako i procesi koji se u njoj odigravaju podsjećaju na nervni sistem kod čovjeka. To je ustvari vrsta računara koji se potpuno razlikuju od klasičnih računara sa Fon Nojmanovom arhitekturom. Kod klasičnih računara jedan procesor obavlja sekvencijalno instrukcije date programom. Pri tome procesor moţe da obavlja stotinu i više osnovnih komandi kao što su sabiranje, oduzimanje, mnoţenje, punjenje, pomjeranje i dr.

Slika 8

Vještački neuron

Neuron prima ulaze koji mogu biti sirovi podaci ili podatak iz susjednog neurona, koje procesira i proizvodi jedan izlaz. Sam izgled kao i princip obrade podataka jedne elementarne procesorske jedinice u vještačkoj neuronskoj mreţi podsjeća na princip prosljeĎivanja impulsa neurona u biološkom nervnom sistemu. Isto tako procesorska jedinica je analogna jednoj ćeliji biološkog nervnog sistema, ulazne veze odgovaraju dendritima a izlazne aksomima. Neuronska mreţa je sistem sastavljen od više jednostavnih procesora (jedinica, neurona), svaki od njih ima lokalnu memoriju u kojoj pamti podatke koje obraĎuje. Te jedinice su povezane komunikacionim kanalima (vezama). Podaci koji se ovim kanalima razmjenjuju su obično numerički. Jedinice obraĎuju samo svoje lokalne podatke i ulaze koje primaju preko konekcije. Ograničenja lokalnih operatora se mogu otkloniti tokom treninga. U neuronskim mreţama, gdje su procesorske jedinice povezane odreĎenom topologijom, postoji struktura paralelnog distriburanog procesiranja (PDP). Istovremeno rade više procesorskih jedinica da bi rezultati njihove obrade PDP strukturom prešli na druge jedinice, itd. Procesorske jedinice u jednoj neuronskoj mreţi su jednostavne i mogu obavljati samo jednu ili eventualno nekoliko računarskih operacija i meĎusobno su povezane tako da u jednoj neuronskoj mreţi postoji mnogo više veza nego procesorskih jedinica.

25

Slika 8

Vještačka neuronska mreţa

Na slici iznad je shematski prikazana jedna tipična topologija mreţe sa tri sloja procesorskih jedinica (jedan ulazni, drugi srednji ili skriveni i treći izlazni). Svaka procesorska jedinica je povezana sa više susjednih jedinica, broj ovih veza izmeĎu zapravo predstavlja snagu neuronske mreţe. Rad neuronske mreţe sa više veza je kompleksniji ali takva mreţa moţe da obavlja kompleksnije zadatke. Arhitekturu vještačke neuronske mreţe predstavlja specifično ureĎenje i povezivanje neurona u obliku mreţe. Po arhitekturi, neuronske mreţe se razlikuju prema broju neuronskih slojeva. Obično svaki sloj prima ulaze iz prethodnog sloja, a svoje izlaze šalje narednom sloju. Prvi sloj se naziva ulazni, posljednji je izlazni, ostali slojevi se obično nazivaju skrivenim slojevima. Jedna od najčešćih arhitektura neuronskih mreţa je mreţa sa tri sloja. Prvi sloj (ulazni) je jedini sloj koji prima signale iz okruţenja. Prvi sloj prenosi signale sljedećem sloju (skriveni sloj) koji obraĎuje ove podatke i izdvaja osobine i šeme iz primljenih signala. Podaci koji se smatraju vaţnim se upućuju izlaznom sloju, posljednjem sloju mreţe. Na izlazima neurona trećeg sloja se dobijaju konačni rezultati obrade. 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. Vještačka neuronska mreţa je paradigma obrade informacija inspirisna procesiranjem kakvo vrši biološki mozak. Pri tom vještačka neuronska mreţa koristi odreĎen broj koncepata iz bioloških neuronskih sistema. Ključni elemenat je neuobičajena struktura procesa obrade informacija, sastavljena od velikog broja meĎusobno povezanih elemenata procesiranja koji zajedno rade na rješavanju problema. Ove mreţe kao i ljudi uče na osnovu primjera, tj. na osnovu iskustva, one nisu programirane eksplicitnim instrukcijama, već uče da izvrše zadatak iz primjera iz stvarnog ţivota, obučavaju se. Dakle, razlika izmeĎu ovih mreţa i klasičnih računara je i u tome što se one ne programiraju, dok kod klasičnih računara programer unosi program kojim se tačno odreĎuje rad računara u svakom trenutku. Postoji bitna razlika u odnosu na klasične računare: neuronske mreţe se ne programiraju. Dok kod klasičnog računara programer unosi u računar program kojim se tačno odreĎuje rad računara u svakom trenutku, neuronske mreţe se ne programiraju već se obučavaju. Prije nego što počnu da se primjenjuju, ulaţe se dosta vremena na njihovo obučavanje, učenje ili treniranje. Proces obučavanja se zasniva na aţuriranju najčešće teţinskih koficijenata veza, a ponekad samo vrijednosti ulaznih procesorskih jedinica. Teţinski koeficijent veza ili teţine veza su koeficijenti koji su dodijeljeni u svakom trenutku vezama neuronske mreţe. Za vrijeme obučavanja ovi se koeficijenti aţuriraju. Brzina njihovog aţuriranja moţe takoĎe biti mjerilo moći procesiranja neuronske mreţe. Neuronske mreţe obezbjeĎuju efikasan pristup širokom spektru primjena. Njihova uspješna primjena u prepoznavanju, preslikavanju i klasifikaciji oblika omogućila je dalji razvoj neuronskih mreţa. TakoĎe, ove mreţe se mogu primjenjivati u transformisanju slike u neki drugi oblik podataka, ili preslikavanju vizuelne slike u komande robota. Kao što je već napomenuto, rad sa nepotpunim podacima, omogućava da upravo mreţa upotpunjuje takve podatke, pošto je prethodno za to

26

obučavana. Neuronske mreţe se mogu primjeniti u različitim oblastima. Na primjer, u medicini: kod analize krvnih ćelija, u akustici: kao klasifikator zvučnih slika ili kod prepoznavanja govora, gdje je neophodna identifikacija i klasifikacija riječi ili sekvenci riječi, itd.

27

3.4. OBUČAVANJE NEURONSKIH MREŽA Obučavanje neuronskih mreţa se svodi na učenje iz primjera kojih bi trebalo da bude što više da bi mreţa mogla da se ponaša preciznije u kasnijoj eksploataciji. Podaci iz trening skupa se periodično propuštaju kroz neuronske mreţe. Dobivene vrijednosti na izlazu mreţe se uporeĎuju sa očekivanim. Ukoliko postoji razlika izmeĎu dobivenih i očekivanih podataka, prave se modifikacije na vezama izmeĎu neurona u cilju smanjivanja razlike trenutnog i ţeljenog izlaza. Ulazno-izlazni skup se ponovo predstavlja mreţi zbog daljih podešavanja teţina, pošto u prvih nekoliko koraka mreţa obično daje pogrešan rezultat. Proces učenja dovodi do korigovanja sinaptičkih teţina. Poslije podešavanja teţina puta za sve ulazno izlazne sheme u trening skupu, mreţa nauči da reaguje na ţeljeni način. Neuronska mreţa je obučena ako moţe tačno da rješava zadatke za koje je obučavana. Neuronska mreţa je sposobna da izdvoji vaţne osobine i sheme u klasi trening primjera. Nakon obučavanja sa odreĎenom vjerovatnoćom, neuronska mreţa moţe da generalizuje nove ulazne podatke za koje nije obučavana. Na primjer, generalizaciju moţemo vidjeti na primjeru mreţe obučavane da prepoznaje serije slika: ako na ulaz takve mreţe dovedemo slike za koje mreţa nije obučavana, ona do izvjesne mjere moţe uspješno da klasifikuje takve slike. Kada uzorci koji se predstavljaju mreţi ne dovode više do promjene ovih koeficijenata, smatra se da je mreţa obučena. Proces obučavanja neuronskih mreţa započinje zadavanjem slučajnih vrijednosti teţinskih koeficijenata veza i dovoĎenjem oblika na ulazni sloj. Zatim se mreţa aktivira i uporeĎuju se izlazni i zadati (zahtjevani, onaj koji treba da se dobije) izlazni oblik. Obučavanje se vrši tako da se aţuriraju teţinski koeficijenti sa ciljem da se u sljedećoj iteraciji dobiva izlaz koji je bliţi zadatoj vrijednosti. U trenutku kada se postigne zadovoljavajući rezultat sa jednim ulaznim oblikom, na ulaz se dovodi drugi, itd. Kad se završi sa ovim oblicima iz obučavajućeg skupa, na ulaz mreţe se dovodi ponovo prvi ulazni oblik. Ova se procedura nastavlja sve dok se ne doĎe do zadovoljavajućih rezultata za sve oblike iz obučavajućeg skupa. Jednom kada je obučavanje mreţe završeno, teţinski koeficijenti veza egzistiraju nepromjenjeni. Tek sada, poslije obučavanja, mreţa se moţe primjeniti za predviĎeni zadatak. Mada je u najviše slučajeva mreţa sa adaptivnim teţinskim koeficijentima veza, postoje mreţe čije su teţine fiksne i za vrijeme obučavanja. Tada se mjenjaju samo aktivacioni nivoi pojednih neurona. Opisani proces se naziva obučavanje sa nadgledanjem (eng. Supervised). Dobiveni izlaz se uporeĎuje sa zadatim i onda se na osnovu dobivene razlike obavlja aţuriranje pojedinih teţinskih koeficijenata. Nasuprot takvom načinu obučavanja postoji i obučavanje bez nadgledanja (eng. Unsupervised). Izlazna vrijednost se ne uporeĎuje sa zadatom vrijednošću. Ovom metodom mreţa klasifikuje ulazne oblike u više grupa. Broj jedinica u izlaznom sloju odgovara broju različitih grupa – to znači da u jednom datom trenutku postoji samo jedan aktivan izlaz.

28

3.4.1. PROPAGACIJA GREŠKE UNAZAD

Propagacija greške unazad (eng. Back – propagation) je od svih paradigmi neuronskih mreţa najviše korišćena, i primjenjuje se uspješno u raznim oblastima, kao što su: prepoznavanje oblika (vojna istraţivanja, medicinska dijagnostika) prepoznavanje i sinteza govora, upravljanje robotima i vozilima. Primjenjuje se i u prepoznavanju slovnih znakova, klasifikaciji slika, kodiranju signala, obradi znanja i drugim različitim problemima analize oblika. Propagacija unazad uspješno rješava probleme preslikavanja oblika: za dati ulazni oblik mreţa proizvodi asocirani izlazni oblik. Propagacija greške unazad se bazira na relativno jednostavnom principu: kada mreţa da pogrešan rezultat, teţinski koeficijenti se ispravljaju tako da greška bude manja, a kao rezultat toga, sljedeći odgovori mreţe su bliţe tačnim. U principu, propagacija unazad koristi tri ili više slojeva procesorskih jedinica. Mreţa sa propagacijom unazad mora da ima najmanje dva sloja. Ukoliko ima više slojeva, pored ulaznog i izlaznog, ostali su skriveni. Najčešće se koristi mreţa sa potpuno povezanim slojevima, što znači da je svaki sloj povezan sa prethodnim i sljedećim.

F(Sj) = Izlaz Sj = Težinska suma δ = Vrijednost greške

Slika 10

Procesorska jedinica mreţe sa propagacijom unazad

Na slici je postavljena jedna osnovna procesorska jedinica u mreţi sa propagacijom unazad. Ona je okarakterisana teţinskom sumom ulaza Si, izlaznom vrijednošću ai i vrijednošću greške δi koja se koristi pri aţuriranju teţinskih koeficijenata veza. Aktivacioni nivo (eng. Activation level) koji je dodijeljen svakoj od jedinica procesiranja u mreţi sa propagacijom unazad predstavlja vrijednost izlaza iz odgovarajuće jedinice. Kada se grafički prikazuje mreţa, aktivacioni nivoi se mogu predstaviti pomoću različitih brojeva, boja ili nijansi sivog. Na sljedećoj slici je prikazano grafičko predstavljanje aktivacionih nivoa i nivoa teţinskih koeficijenata u jednoj mreţi sa propagacijom unazad. Kvadrati sa različitim nijansama sivog predstavljaju procesorske jedinice sa različitim aktivacionim nivoima. Dvije rešetke predstavljaju dva sloja teţina, gdje je nijansa sivog u svakom kvadratu odreĎena vrijednošću teţinskih koeficijenata odgovarajuće

29

veze. Brojna skala za odreĎivanje nijanse sivog je različita za aktivacione nivoe i za teţinske koeficijente zato što tipovi parametara imaju različite obime. Težine Aktivacioni nivoi Mreža Težinski koeficijenti Od BIAS jedinice Sloj 2-3 Od BIAS jedinice Sloj 1-2 Sloj 2 Sloj 3 Sloj 1 Aktivacioni nivoi

30

Slika 11

Grafičko predstavljanje aktivacionih nivoa i teţinskih koeficijenata sa propagacijom unazad

Neuronske mreţe sa propagacijom unazad se obučavaju sa nadgledanjem. Mreţi se predstavlja jedan par obučavajućeg skupa (ulazni oblik uparen sa zadatim izlazom). Poslje svakog predstavljanja, teţine se aţuriraju tako da se smanjuje razlika izmeĎu izlaza mreţe i zadatog (ciljanog) izlaza. Obučavajući skup, se predstavlja, sve dok se mreţa ne obuči, ili prekine proces obučavanja. Nakon što se obučavanje završi, vrši se testiranje performanse mreţe. Algoritmi za obučavanje mreţe sa propagacijom greške unazad sadrţe korak propagacije unaprijed, za kojim slijedi korak propagacije unazad. Oba koraka se primjenjuju za svako predstavljanje para obučavajućeg skupa. Korak propagacije unaprijed počinje sa prikazom ulaznog oblika na ulaznom nivou mreţe i nastavlja tako što aktivacioni nivoi vrše propagaciju unaprijed izračunavanja kroz skrivene nivoe. U svakom sukcesivnom nivou svaka procsorska jedinica sumira svoje ulaze i primjenjuje prag funkciju u izračunavanju izlaza. Jedinice izlaznog nivoa daju izlaz mreţe. Korak propagacije unazad počinje poreĎenjem izlaznog oblika mreţe sa ciljnim vektorom. Tako se izračunava razlika ili greška. Korak propagacije unazad tada izračunava vrijednost greške za skrivene jedinice i mijenja njihove ulazne teţine, polaze i od izlaznog nivoa kroz sve sukcesivne skrivene nivoe. U ovom koraku propagacije unazad mreţa ispravlja svoje teţine tako da smanjuje uočenu grešku. Vrijednost greške pridruţena svakoj procesorskoj jedinici se koristi za vrijeme izvršenja procedure korekcije teţina tokom učenja. Velika vrijednost označava da treba sprovesti veću korekciju nad ulaznim teţinama, a njen znak odraţava pravac u kom treba mijenjati teţine.

31

Obrazac za izračunavanje greške je jednostavan za jedinice iz izlaznog sloja, a nešto sloţeniji za jedinice iz ostalih (skrivenih) slojeva. Ako je jedinica i izlazna, tada je vrijednost njene greške: δi = (zi – ai) fi (Si) gdje su: zi zadata vrijednost izlaza za jedinicu i, ai vrijednost izraza jedinice i, fi (Si) prvi izvod funkcije f i Si teţinska suma ulaza u jedinicu i. Razlika odreĎuje iznos greške a prvenstveno njen znak. Prvi izvod funkcije f, f i (Si), mijenja korekciju greške; ukoliko funkcija f (uzimajući u obzir da je f sigmoidna funkcija) brţe raste, onda treba izvršiti veću korekciju i obrnuto. Ako je procesorska jedinica i skrivena, greška se izračunava pomoću obrasca. δi = Σmk=1 δktki fi (Si) gdje je m broj procesorskih jedinica koje prihvataju izlaze jedinice i. Prvi izvod funkcije f i u ovom slučaju odreĎuje veličinu korekcije greške. Koristeći grešku δi aţuriraju se teţinski koeficijenti veza. Obrazac za aţuriranje teţinskih koeficijenata veze koja spaja jedinice k i i, pri čemu je jedinica k ispred jedinice i, je dat sa: δ (tik) = ηδiak gdje su η konstanta (brzina) obučavanja, δi greška jedinice i i ak aktivacioni nivo jedinice k. Konstanta (brzina) obučavanja se bira najčešće u obimu 0.25 i 0.75. Ona odreĎuje brzinu obučavanja mreţe, ako je veća, obučavanje je brţe i obrnuto. MeĎutim, prevelike vrijednosti ovoga koeficijenta djeluju destabilizujuće na mreţu i mogu da uzrokuju neobučavanje mreţe. S druge strane, ako je isuviše mala, obučavanje je sporo.

32

3.4.2. PROPAGACIJA GREŠKE UNAPRIJED

Korak propagacije unaprijed se inicijalizuje kada se oblik predstavlja mreţi. Svaka ulazna jedinica odgovara jednom elementu vektora ulaznog oblika, i svaka jedinica dobiva vrijednost toga elementa. Pošto su aktivacioni nivoi prvog sloja procesorskih jedinica postavljeni, ostali slojevi nastavljaju korak propagacije unaprijed i na taj način odreĎuju aktivacione nivoe drugih slojeva. Prvi korak propagacije unaprijed je izračunavanje teţinske sume. Jedinica j izračunava teţinsku sumu svojih ulaza: Sj = Σni=1 aitji Gdje su: ai – aktivacioni nivo jedinice i, tji – teţinski koeficijent veze koja spaja jedinice i i j. Jedinica i pripada jednom sloju ispred sloja jedinice j. Pošto se izračunava suma nalazi se funkcionalno preslikavanje sume f(Sj). Funkcija f je sigmoidna funkcija. F(x) = 1 / 1+ e-x Funkcija koja predstavlja mekšu varijantu step funkcije, koristeći ovu prethodnu unkciju, dobija se: F(Sj) = 1 / 1+e-Sj = 1 / 1+e-Σaitji Vrijednost izračunata pomoću ove funkcije postaje aktivacioni nivo jedinice j i prosljeĎuje se na sve njene izlaze. Ulazni sloj jedinica predstavlja specijalan slučaj. Ove jedinice ne sabiraju nikakve vrijednosti već jednostavno prosljeĎuju ka sledećem nivou one vrijednosti koje primaju od vektora ulaznog oblika.

33

Step funkcija Sigmoid funkcija Sigmoid funkcija pomjerena -C ulijevo

Slika 12

Prag funkcije

Neke mreţe sa propagacijom unazad koriste bias (eng. Riječ bias se moţe prevesti kao uticaj) jedinicu u svakom izuzev izlaznog sloja. Ova jedinica ima konstantnu aktivacionu vrijednost. Svaka bias jedinica je povezana sa svim jedinicama u sljedećem višem sloju, a teţine tih veza se aţuriraju tokom propagacije unazad. Bias jedinice obezbjeĎuju konstantan član u teţinskim sumama jedinica narednog sloja. Kao rezultat toga dobijaju se poboljšane konvergentne karakteristike mreţe. Konstantan član u sumi Skomogućava translaciju sigmoidne funkcije u lijevo ili u desno, kao što se vidi na slici. Na primjer, neka je izlazna vrijednost bias jedinice a0 = 1.0 a teţinski koeficijenat C = tk0 Ako se za z obiljeţi teţinska suma svih ulaza izuzev bias ulaza, dobija se:

34

z = Σni=1 aitji

35

3.5. PRIMJENA NEURONSKIH MREŽA Neuronske mreţe nalaze sve veći broj primjena. Na primjer, upotrebljavaju se u obradi signala, analizi podataka, raznim kontrolama, kompresiji slike, konverziji jezika, postavljanju dijagnoza, prepoznavanju govora, psihijatrijskim procjenama, analizi električnih kola, kompresiji zvuka, predviĎanju kretanja na trţištu, izboru osumnjičenih u kriminološkim istraţivanjima, analizi medicinskih testova, spektralnoj analizi itd. Zbog svega navedenog, mnogi istraţivači nazivaju neuronske mreţe posljednjom i najsofisticiranijom ljudskom tehnologijom. Neuronske mreţe imaju široku primjenu u proizvodnji od planiranja proizvodnje, ispitivanja materijala, izboru materijala, kao i u samom procesu rada. U početku su neuronske mreţe koristili naučnici računarskih i kognitivnih nauka koji su pokušavali da modeliraju čulni sistem ţivih organizama. Danas neuronske mreţe predstavljaju veoma atraktivnu oblast istraţivanja i postoje brojne oblasti u kojima se koriste. Primenjuju se za:  prepoznavanje oblika,  prepoznavanje rukopisa,  prepoznavanje govora,  finansijske i ekonomske modele,  predviĎanje kretanja cijena na trţištu,  upravljanje sistemima,  upravljanje proizvodnim procesima,  analizu električnih kola,  psihijatrijske procjene,  kompresovanje podataka,  naftna istraţivanja,  kriminološka istraţivanja,  analizu medicinskih testova,  ispitivanje EEG i EKG signala,  pronalaţenje optimalnog rješenja,  upravljanje robotima,  analiziranje podataka pri pirolizi i spektroskopiji,  bioračunarske sisteme,  vremensku prognozu i  druge oblasti. Primjenu neuronskih mreţa je moguće realizovati na tri karakteristične oblasti:  procesiranje senzorskih informacija,  analiza podataka i  kontrola upravljanja.

36

4. POJAM EKSPERTNIH SISTEMA 4.1. DEFINICIJA EKSPERTNIH SISTEMA Razvojem kompjuterske tehnologije i njenih mogućnosti dovode do oblasti u kojoj se na računaru pokušavaju modelirati procesi ljudskog mišljenja. Razvoj ove naučne discipline, koja se bavi metodama, tehnikama, alatima i arhitekturama za rješavanje logički komplikovanih problema odvija se u dva pravca. Prvi podrazumijeva postizanje inteligentnijeg ponašanja računara koji će biti što upotrebljiviji, a drugi modeliranje na računaru procesa ljudskog mišljenja i time doprinošenje razumijevanju čovjekovog inteligentnog ponašanja. Kao posljedica tog nastojanja došlo je do pojave ekspertnih sistema. To su računarski programi čiji algoritmi realizovani različitim metodama vjestačke inteligencije rješavaju probleme na osnovu znanja iz nekog uskog područja. Znanje koje takav sistem posjeduje formira se uz pomoć eksperta na bazi pravila zaključivanja i podataka neophodnih za rješavanje tih problema. Kasnije ekspert koristi taj računarski program da bi riješio neki jos sloţeniji problem iz te oblasti. Rješavanje takvog problema takoĎe se memoriše u bazu znanja, čime ekspertni sistem dinamički povećava svoje znanje i mogućnosti. Ekspertni sistemi su znači programi koji, pri rješavanju problema različitog domena, izvode postupke koji su sličniji ljudskom rezonovanju od numeričkih tehnika računanja. Ovi postupci zasnovani na eksperimentalnom ljudskom znanju, kodirani su u vidu programa koji se nazivaju mehanizmi zaključivanja i intenzivno koriste podatke organizovane u formama koje se nazivaju baze znanja. Osnovna pretpostavka na kojoj se zasniva oblast ekspertnih sistema kaţe da je znanje moguće predstaviti simboličkim izrazima i to preko simboličkih opisa, kojima se odlikuju definicioni i empirijski odnosi u posmatranom području i postupaka za manipulaciju tim odnosima. Terminološki gledano paralelno sa terminom ekspertni sistemi za isti pojam koriste se i sljedeći termini: sistem zasnovan na znanju, inteligentni informacioni sistem, inteligentni sistem zasnovan na znanju, te baza znanja. Drugim rječima ekspertnost se moţe definisati kao znanje, razumijevanje i vještina rješavanja problema u odreĎenoj oblasti. Jednu od prvih definicija ekspertnih sistema dao je Fingenbaum i ona glasi: "Ekspertni sistem je inteligentni računarski program koji koristi znanje i mehanizme zaključivanja u rješavanju problema takve sloţenosti da je za njihovo rješavanje potreban čovjek ekspert". Znanja u ekspertnim sistemima čine činjenice i heuristika (iskustvo i osjećaj). Činjenice su glavni dio informacija široko distribuiranih, javno raspoloţivih i usaglašenih na nivou eksperata (stručnjaka) u oblasti. Heuristika su lična, malo distribuirana pravila prihvatljivog rasuĎivanja, koje karakteriše odlučivanje na nivou eksperta u oblasti. Performanse ekspertnih sistema su funkcija veličine i kvaliteta baze znanja, a ne odreĎenog formalizma i mehanizma zaključivanja. Buhman je definisao ekspertne sisteme preko sljedećih osobina:  ekspertiza – cilj je da sistem dostigne visok stepen performansi koje postiţe čovjek-ekspert u nekom zadatku;  rezonovanje manipulacijom simbola;  opšta sposobnost rješavanja problema u datom domenu;

37

 sloţenost i teţina, jer problemi u datom domenu moraju da budu dovoljno sloţeni i teški da bi se zahtijevalo rješenje eksperata;  reformulacija – preobraţavanje prvobitne forme u kojoj je problem bio postavljen u formu podesnu za obradu prema ekspertskim pravilima;  rezonovanje o sebi – skup zahtjevanih sposobnosti u sistemu koji omogućavaju da sistem rezonuje o sopstvenim procesima i  vrsta zadatka za čije se obavljanje izgraĎuje. Na sličan način Hajes-Rot daje sljedeće karakteristike:  sličnost koja je obezbijeĎena pravilima visokog nivoa, gdje se izbjegava slijepo pretraţivanje, što rezultuje visokim performansama i robusnošću,  rasuĎivanje koje je dato simboličkim predstavljanjem znanja i manipulisanjem simbolima,  "pamet" kao osnovni principi "slabi" (nealgoritamski) metodi rasuĎivanja,  mogućnost reformulacije simboličkog znanja, konverzije iz opisa u oblik pogodan za primjenu ekspertnih pravila,  rasuĎivanje "o sebi", tj. ispitivanje sopstvenog rasuĎivanja i objašnjenje svog rada,  tip zadatka. Najpotpuniju definiciju ekspertnih sistema dalo je Britansko društvo za računare koja glasi: "Pod ekspertnim sistemima podrazumijeva se realizacija računarski bazirane vještine nekog eksperta čija je osnova u znanju i u takvom obliku da sistem moţe da ponudi inteligentan savjet ili da preuzme inteligentnu odluku o funkciji koja je u postupku. Ekspertni sistem posjeduje i karakteristiku da na zahtjev verifikuje svoju liniju rezonovanja, tako da direktno obavještava korisnika koji postavlja pitanje". Sistemski posmatrano pod ekspertnim sistemom podrazumijeva se podsistem područja vještačke inteligencije. U ostale podsisteme spadaju još robotika, obrada prirodnim jezikom, igre i računarska grafika. Područje izgradnje ekspertnih sistema poznato je kao naučni inţenjering (Knowledge Engineering). Ekspertni sistemi su dakle, skup kompjuterskih programa koji postiţu visoki stepen rješavanja problema, a zahtjevaju dugogodišnje stručno obrazovanje pojedinaca. Paralelno sa razvojem tehnologije ova definicija ekspertnih sistema zahtjeva ne samo stručnu izgraĎenost, nego i dodatne stručne kvalitete pojedinca. Iako imaju isti cilj ekspertni sistemi potpuno različito funkcionišu od sistema za podršku odlučivanja. TakoĎe moţemo reći da ove dvije vrste sistema nisu konkurentne jedna drugoj već upravo suprotno. Njihova integracija daje najbolje rezultate pa raste vaţnost i ekspertnih sistema i sistema za podršku odlučivanja. Naime, dok se ekspertni sistemi fokusiraju na efikasnu manipulaciju velikih baza znanja svojstvenu ljudskim ekspertima, sistemi za podršku odlučivanja sadrţe činjenične podatke koji se drţe u velikim datotekama ili bazama podataka. Svojstvo zaključivanja koja je ključna osobina ekspertnog sistema ne postoji kod sistema za podršku odlučivanja, koji su zasnovani na upotrebi proceduralnih algoritama ili generalizovanim pretragama koje su u relaciji sa bazama podataka koje je unio korisnik. S druge strane ekspertni sistemi su fokusirani na usko problemsko područje, dok se sistemi za podršku odlučivanja mogu prilagoĎavati novim problemima. Još, ekspertni sistemi korisniku ne ostavljaju fleksibilnost u načinu analize problema dok sistemi za podršku odlučivanja dopuštaju mogućnost manipulacije podacima i modelima prilikom donošenja odluke. Iz ovoga moţemo konstatovati, dok korisnik sistema za podršku odlučivanju upravlja i kontroliše komponentama sistema, dotle je korisnik ekspertnog sistemaupravljan od strane sistema. To ilustruje i sljedeća tabela.

38

Atributi

SPO

ES

Ko postavlja pitanja?

Čovjek na računaru

Računar čovjek

Metoda manipulacije podataka

Brojčana

Simbolična

Osobna problemskog područja

Kompleksno, široko

Uzak domen

Vrsta tretiranih problema

Ad hoc, jedinstveni

Ponavljajući

Mogućnost rezonovanja

Ne

Da, ograničeno

Mogućnost objašnjavanja

Ograničeno

Da

Tabela 3 Razlike sistema za podršku odlučivanja i ekspertnih sistema

39

4.2. ISTORIJA EKSPERTNIH SISTEMA U preko četrdeset godina istraţivanja, vještačka inteligencija pomogla je računarima da imitiraju razne čovjekove aktivnosti, ali je tek minimalno napredovala u smjeru oponašanja pravog čovjekovog razmišljanja. Otkako postoji, istraţivanje vještačke inteligencije bilo je periodičko tj. ulazilo i izlazilo iz mode. U toku 1972. godine u SAD-u je vještačka inteligencija bila tako sistematski suzbijana da je finansiranje iste gotovo prestalo. Velika Britanija još uvijek osjeća posljedice odluke u svojoj trci da se modernizuje robotikom tj. dijelom vještačke inteligencije. Sredinom sedamdesetih godina istraţivači su suzili svoje radove i povećali praktična istraţivanja vještačke inteligencije. Umjesto da stvore univerzalnog ljudskog klona, energiju su usmjerili prema odreĎenim zadacima. Stoga je paţnja bila premještena na kontekstno zavisno komuniciranje. Rezultat toga bio je razvoj nekoliko interaktivnih dijaloških jezika. U SAD su se pojavile dvije vrste razvijenih prirodnih jezika. Jedni su se zasnivali na "skriptovanom dijalogu", dok su drugi bili dizajnirani za pretraţivanje informacija. Odnedavno sve veći broj eksperimenata i radnih sistema koji koriste ekspertne sisteme rezultat je razvoja kompjuterskih programskih jezika za specifičnu namjenu kao sto su LISP i PROLOG. Osim toga, upravo su radovi prvih specijalista za vještačku inteligenciju dali osnovu koja je bila potrebna za savladavanje sve većih zahtjeva za korisnika usmjerenim sistemima. LISP i PROLOG su nazivi dva jezika koji se uopšte povezuju s ekspertnim sistemima. Ovi jezici su bili korišćeni prilikom stvaranja raznovrsnog softvera ekspertnih sistema. Za razliku od već konvencionalnih BASIC-a i FORTRAN-a, koji su dizajnirani prvenstveno za obraĎivanje brojeva, LISP je dizajniran za obradu simbola, specijalno engleskih riječi i fraza. TakoĎe LISP posjeduje mehanizme za povezivanje simbola u pojmove u obliku pravila "ako-onda" ("IF-THEN"). Razlika u LISP programskom softveru je u tome što tradicionalni kompjuterski softver dizajniran za obradu podataka i proračuna (tj. tabelarne izvještaje) predstavlja nešto sasvim drugo u odnosu na nove softverske alate ekspertnih sistema, koji obraĎuju deduktivnu logiku u obliku pravila i relacija izmeĎu znanja. Ekspertni sistemi su svoju evoluciju počeli na području medicinske dijagnostike, a aplikacije se nisu proširile na druge discipline. Jedan od prvih sistema bio je MYCIN. Razvili su ga istraţivači na američkom univerzitetu Stanford kao pomoć ljekarima u dijagnosticiranju bakterijskih infekcija. Pored ovog područja primjene, ekspertni sistemi su svoju ulogu našli u zamjeni čovjekovog partnera u igri (šah, tenis itd.), zatim u domenu zamjene tehničara, gdje na osnovu dijaloga sa korisnikom i upamćenog znanja dijagnosticira grešku. Ovakav ekspertni sistem razvio je IBM. Naime, sistemu se prezentiraju indikacije kvara, a sistem na osnovu njih generiše preporuke za popravak. Sljedeće vaţno područje primjene ekspertnih sistema je u vojsci, odnosno u planiranju i donošenju odluka. TakoĎe oni u saradnji sa modernom računarskom tehnologijom uspješno rješavaju logističke probleme i predstavljaju veliku podršku u strateškom i taktičkom planiranju. Ne treba zanemariti ni pomoć ekspertnih sistema u lociranju leţišta rude, te voĎenju sloţenih proizvodnih pogona. U novije vrijeme oni predstavljaju više od 50% aktivnosti komercijalne vještačke inteligencije i imaju trend porasta. Što se tiče područja primjene ekspertnih sistema u preduzeću, konkretno na polju upravljanja i računovodstva, postoji nekoliko vaţnih momenata, koji opravdavaju usvajanje ove nove tehnologije. Najvaţnije je da tehnologija kompenzuje ljudski rad uz odgovarajući stepen troškova i dobiti. TakoĎe, tehnologija prepoznaje potencijalna područja problema te povećava vjerovatnoću donošenja ispravnih

40

odluka, odnosno povećava efikasnost preduzeća. Uopšte, sistemi koji racionališu broj raspoloţivih opcija u odlučivanju, unapreĎuju kvalitet preko uniformnosti, te olakšavaju ocjenu kontrole kvaliteta. Isto tako, programi koji smanjuju vrijeme potrebno za donošenje odluke, ako je vrijeme ograničeno, predstavljaju značajnu korist. Gledajući primjer moderne prakse računovodstva i njegovu relativnu sloţenost, koja vodi do koncentracije stručnosti u specijalizovanim područjima. Kada se takva znanja sublimiraju u ekspertni sistem tada su dostupna svakom u preduzeću. Ekspertni sistemi su najčešće potrebni onda kada stručnjak u preduzeću nije dovoljno efikasan na područjima koja troše velike količine vremena usljed rutinskog i ponavljanog odlučivanja. Iako ekspertni sistem moţda nije "inteligentan", njegove velike mogućnosti se odnose na saopštavanje znanja, očuvanje rijetkih ili skupih vještina, davanje smjernica, pomaganje pri donošenju odluka i prilikom uspostavljanja kompleksnih sistema. Zbog toga ovu novu tehnologiju moţemo koristiti na mnogo načina s ciljem da ublaţimo postojeću neefikasnost u poslovanju, slabu efikasnost i kontrolu kvaliteta, te smanjimo vrijeme školovanja početnika. Što se tiče postojeće primjene ekspertnih sistema, oni na sebe ne preuzimaju donošenje odluka na nivou preduzeća. Ovi sistemi postaju sve popularniji jer su formalni procesi odlučivanja, koje su prije vodili rukovodioci, zamijenjeni softverom predprogramirane logike u kojoj su kriterijumi za odluke unaprijed utvrĎeni. Pretpostavka je da se odluke ovih sistema prihvataju i provode u organizaciji. U višim krugovima rukovodstva, meĎutim, zadatke idejne prirode i one koji traţe neformalne reakcije, moţda nikada neće preuzeti na sebe ekspertni sistemi. Odluke koje se ponavljaju najbolji su kandidati za ekspertne sisteme jer su znanje, ocjene i iskustvo, koji se koriste prilikom donošenja ovih odluka, već sakupljeni i lako se mogu specificirati. Mnoge funkcije rukovodilaca na niţem i srednjem nivou sastoje se od specijalizovanih aktivnosti, koje su već spremne za provoĎenje u ekspertni sistem. Današnji ekspertni sistemi imaju relativno prilagoĎenu primjenu ekspertize pa zato rukovodiocima pruţaju savjetodavnu pomoć. Radi lakšeg korišćenja, postojeći ekspertni sistemi su dizajnirani sa osnovnim mogućnostima za komunikaciju na donekle prirodan način, odnosno u skladu sa stručnim područjima. Osim toga, vaţna osobina postojećih sistema je mogućnost da se unazad prati logika i odgovori sistema kako bi se vidjelo zašto je neki odgovor takav. Ekspertni sistemi postavljaju niz pitanja i primjenjuju praktična pravila da analiziraju odgovore i proizvedu preporuke, te takoĎe objašnjavaju logiku kojom su došli do zadnjeg reda. Za razliku od konvencionalnih kompjuterskih programa ekspertni sistemi koriste kvalitativne kao i kvantitativne podatke. TakoĎe, mogu izvoditi zaključke i iz nepotpunih i neodreĎenih podataka. Razliku u odnosu na konvencionalne aplikacije isto tako predstavlja korisnička povezanost s prirodnim dijalogom. Današnji kompjuterski sistemi dolaze do zaključaka sistematskim prolazom po detaljnoj listi koraka koji su napisani u programu. To je bitna razlika u odnosu na ljude, koji do zaključaka obično dolaze sekvencijalnim postupkom što praktično znači ne pomoću skupa arbitrarnih pravila i logike, ranijeg iskustva, induktivnog zaključivanja i intuicije. Ova metoda donošenja odluka obično se naziva heuristikom. Ako je zadatak strukturiran, nije matematički, a izvršava se heuristikom, ekspertni sistem bi trebao biti idealna pomoć pri odlučivanju. Ako je zadatak izrazito strukturiran matematički, efikasniji je proceduralni program.

41

4.3. OSNOVNE ODLIKE EKSPERTNIH SISTEMA Jedna od nesumnjivo najznačajnijih osobina ekspertnog sistema jeste znanje ekspertnog sistema o sopstvenim operacijama i strukturi. Za sada se to poţeljno svojstvo ispoljava preteţno u mogućnosti obrazlaganja, racionalizovanja, opravdavanja i objašnjavanja svojih zaključaka i preporuka, ali ima dobrih nagovještaja koji upućuju na očekivanje da će u budućnosti obezbjeĎivati osnovu za razna korijenita preinačavanja svojih mogućnosti na osnovu "učenja iz iskustva". Racionalizacija o kojoj je ovdje riječ podrazumijeva da se rakonstruišu putevi zaključivanja kojima je sistem došao do zaključka. Objašnjenje kako je zaključak izveden podrazumijeva sposobnost sistema da poveţe lanac zaključivanja sa fundamentalnim principima i znanjima o oblasti ekspertize. U ekspertnom sistemu lično znanje stručnjaka uključujući činjenično, ocjenjivačko i proceduralno znanje razvijeno je u "bazu znanja" odreĎenog područja u kojem se čovjek smatra ekspertom i zbog toga je sistem baziran na znanju. Naučna osnova moţe sadrţavati stručno znanje s područja organizacije, procesnog planiranja, dizajniranja sredstava itd. Naučna osnova se uopšte odvaja od kontrolnog mehanizma rješavanja problema koji predstavljaju mehanizam zaključivanja. Odvajanje logike i kontrole omogućava upotrebu mehanizma zaključivanja za veći broj naučnih osnova konstruisanih za različita područja primjene. Na primjer, isti opšti mehanizam zaključivanja upotrijebljen je za rješavanje problema dijagnostike krvnih infektivnih bolesti kao i strukturirana analiza mehaničkih komponenata u kombinaciji sa odgovarajućom naučnom osnovom za oba područja koja se meĎusobno potpuno razlikuju. Postojeći jednostavni softver bavi se kvantitativnim pitanjima te rukovodiocima predstavlja alat za baratanje podacima. Ekspertni sistem za razliku od konvencionalnih tehnika, predstavlja informacioni sistem koji koristi bazu znanja te sluţi kao konsultant rukovodiocu. Ekspertni sistemi predstavljaju pokušaj da se u kompjuterske programe ugrade procesi razmišljanja i odlučivanja koji se odvijaju kod ljudi eksperata, što znači da će se dobiti kompjuterski savjetnici. Ukazivanje na neka bitna svojstva ekspertnih sistema će biti potkrepljeno navoĎenjem razlika u zadacima ekspertnih sistema i drugim zadacima u području vještačke inteligencije. Ukazivanje na neke druge bitne osobine ekspertnih sistema će biti konkretizovano i navoĎenjem značajnih razlika izmeĎu ekspertnih sistema i konvencionalnih programa. Najbitnija je razlika da ekspertni sistemi manipulišu sa znanjem, a konvencionalni programi sa podacima. MeĎutim te razlike se najjasnije vide iz sljedećih činjenica: Obrada podataka:  Prezentovanje i korištenje podataka,  Algoritmi,  Ponavljanje procesa,  Efektivno manipulisanje sa velikim bazama podataka. Inţenjering znanja:  Prezentovanje i korišćenje znanja,  Heuristika,  Mehanizam zaključivanja,  Efektivno manipulisanje sa velikim bazama znanja. Ekspertni sistemi imaju i ove značajne osobine:  Ekspertiza o Performanse eksperata; o Visok nivo sposobnosti;

42

o Adekvatnu čvrstinu. 

Simboličko rezonovanje o Simbolička prezentacija znanja; o Reformulacija simboličkog znanja.



Dubina o Obrada sloţenih problema datog domena; o Upotreba/korišćenje kompleksnih pravila.



Sopstveno znanje o Ispitivanje sopstvenog rezonovanja; o Objašnjavanj njegovog funkcionisanja.

Zadaci ekspertnih sistema se od drugih zadataka u oblasti vještačke inteligencije razlikuju po tome što ekspertni sistemi:  Rješavaju teške zadatke na nivou eksperata;  Naglašavaju strategije rješavanja problema specifične za datu oblast, za razliku od ostalih zadataka vještačke inteligencije koji zahtjevaju veću opštost načina rješavanja problema;  Koriste se "samosaznanjem" da bi rezonovali o procesu svog zaključivanja i obezbjedili obrazloţenja, opravdanja i objašnjenja za zaključke koje su izveli;  Rješavaju probleme koji spadaju u ove kategorije: interpretacija, dijagnoza, predviĎanje, oblikovanje, planiranje, kontrolisanje, i druge. Ovim kratkim pregledom uočavaju se još neke vaţne osobine ekspertnih sistema, koje odvajaju od drugih karakterističnih informatičkih tehnologija, kao što su elektronska obrada podataka, upravljački informacioni sistemi, sistemi podrške odlučivanja i slično. Prikazivanje značajnih odlika ekspertnog sistema se, bar donekle, moţe upotpuniti ukazivanjem na njihove slabosti meĎu koje spadaju:  To što ne mogu da prepoznaju, niti da rješavaju probleme za koje je njihovo znanje neprimjenljivo ili nedovoljno;  Što nemaju nezavisna sredstva za provjeravanje razloţnosti svojih zaključaka;  Što nemaju dovoljno znanja o svojim mogućnostima i ograničenjima (čime se inače odlikuje čovjek-ekspert);  Što su obrazloţenja koja o svom zaključivanju i zaključcima daju, često suviše uprošćena;  Što je jezik za izraţavanje činjenica i odnosa kojim se koriste vrlo ograničen i dr. Očigledno je da su navedene odlike ekspertnog sistema poţeljne osobine koje postojeći ekspertni sistemi ne posjeduju u ţeljenoj mjeri i da će njihov predstojeći razvoj i usavršavanje značiti pomake duţ nekih od navedenih dimenzija. Osnovne odlike ekspertnih sistema su:  sadrţe kodirano znanje eksperta iz nekog domena,  mogu se izvršavati tamo gdje su potrebni,  modularnost i laka izmjena ugraĎenog znanja,  mogućnost objašnjavanja rezonovanja,  heurističko, a ne iscrpno rezonovanje i  objedinjuju teoriju i praksu vještačke inteligencije. Ekspertni sistemi rješavaju probleme koji spadaju u ove kategorije:  Interpretacija;  Dijagnoza;  PredviĎanje;  Oblikovanje;  Planiranje;  Monitoring;

43

 

Ispravljanje; Kontrolisanje i dr.

Prema navedenim vrstama aktivnosti ekspertnih sistema izgraĎena je i jedna njihova klasifikacija:

Vrste aktivnosti ES

Naznaka problema

Oblast primjene

Naziv tipičnog ES

Interpretacija

Sistemi koji tumače opaţene podatke pripisujući im simbolična značenja kojima se opisuje situacija ili stanje sistema

Hemija Geologija Medicina Armija

DENDRAL ELAS LIFHO PUFF VM

Dijagnostika

Sistemi za dijagnostikovanje na osnovu podataka o opservacijama zaključuju malfunkcije sistema

Računari Elektronika Geologija Medicina

BDS DART ACE HYDRO MYCIN PUFF

PredviĎanje

Sistemi za predviĎanje zaključuju vjerovatne posljedice (u vidu prognoze) iz odgovarajućeg modela i vrijednosti parametara za datu situaciju

Računari Armija

PTRANS I&M

Oblikovanje

Sistemi za oblikovanje ili dizajn razvijaju konfiguracije objekata koje zadovoljavaju zadata ograničenja u problemu oblikovanja

Računari Hemija Elektronika Armija

XCON MOLGEN PALLADIO ACEL

Planiranje

Sistemi za planiranje oblikuju akcije i usredsreĎeni su na objekte koji obavljaju neke funkcije, pri čemu se koriste modelima njihovog ponašanja da bi zaključili efekte planiranih akcija

Hemija Računari Elektronika

SPEX MOLGEN PTRANS TALIB KNOBS TATR

Kontrolisanje

Sistemi za kontrolisanje adaptivno upravljaju sveukupnim ponašanjem sistema na osnovu interpretacije aktuelne situacije, na osnovu predviĎanja budućnosti dijagnostifikovanja uzroka anticipiranih problema, formulisanja korektivnih planova i nadziranja njihovog sprovoĎenja da bi se obezbijedio uspjeh

PTRANS YES/MIN VM

Tabela 4 Klasifikacija ekspertnih sistema

Pošto je u ekspertnim sistemima izvršeno izdvajanje i razdvajanje deklarativnog i proceduralnog znanja u baze znanja, odnosno u kontrolni i mehanizam zaključivanja. Ovaj postupak omogućava njihov nezavisan broj, kombinovanje na razne načine i izbor najpogodnijeg rješenja. Na taj način dobivaju se osnovni tipovi ekspertnih sistema:  Induktivni sistemi;  Sistemi bazirani na pravilima;  Hibrini sistemi. Induktivni sistemi koriste primjere i induktivni mehanizam zaključivanja. Od rezultata dobivenih na osnovu iskustva, ili eksperimenta, moţe se napraviti tabela vrijednosti atributa objekata. Ova tabela se

44

transformiše u stablo za odlučivanje. U radu sa sistemom korisnik odgovara na pitanja na osnovu čega se sistem kreće kroz stablo i dolazi do odgovora. Sistemi zasnovani na pravilima koriste strategije voĎene podacima, ili ciljem. Znanje im je predstavljeno faktima i pravilima. Jedan ovakav sistem je i MYCIN. U hibridnim sistemima se kombinuju pozitivna iskustva stečena u radu sa sistemima zasnovanim na pravilima i sistemima za semantičko predstavljanje znanja. Na primjer, pogodno je okvirima opisati deklarativno, a pravilima proceduralno znanje. Pri tome se koriste sva sredstva koje obe metode pruţaju:  NasljeĎivanje;  Demoni;  Poruke;  Meta-pravila itd.

4.4. PREDNOSTI I NEDOSTACI EKSPERTNIH SISTEMA Evidentan skok ulaganja u istraţivanje ekspertnih sistema u novije vrijeme, prisustvo proizvoda na trţištu i pruţena mogućnost primjene u organizacijama navodi na konstataciju konkretne koristi od strane ekspertnih sistema. Prije svega ekspertni sistemi osiguravaju univerzalnu i stalnu raspoloţivost. Drugim riječima, ekspert je uvijek na raspolaganju. Prisutna je nepristrasnost, jer jednom organizovan ekspertni sistem je praktično dosljedan. Ekspertni sistem ima savršenu memoriju i uzima sve relevantne faktore u obzir. Kvalitetno vrijeme stručnjaka je osloboĎeno rutinskih poslova, jer ekspertni sistem obavlja postavljene zadatke i time dobiva ekonomsko opravdanje. Ekspertni sistemi mogu biti i u edukativnoj poziciji, jer stručnost sintetišu u jasno definisana pravila. Ekspertni sistem sadrţi činjenice koje stručnjak uzima u obzir i praktična pravila koja stručnjak primjenjuje prilikom rješavanja problema. Simulacijom situacija iz realnog ţvota, neiskusan radnik se moţe podučiti tome koje su informacije bitne i koji je misaoni mehanizam upotrijebljen. U daljem kontekstu pozitivnih osobina, odnosno koristi od ekspertnih sistema, izdvaja se zajedničko korišćenje znanja. Znanje vrhunskih stručnjaka u preduzeću moţe postati pristupačno mnogim radnicima. Na ovaj način se povećavaju stručne ocjene. Ekspertni sistemi će biti na raspolaganju za iznošenje sekundarnih mišljenja na području, kao i za izradu "šta ako" analiza u kojima se traţe rezultati u zavisnosti od različitih promjena. Sljedeća korist u primjeni ekspertnih sistema je kraće vrijeme odlučivanja. Naime, rutinske odluke, koje odnose dosta vremena, lagano donose ekspertni sistemi. Ljudi stručnjaci će zato imati više vremena na raspolaganju za kreativniji rad. Ekspertni sistemi su najefikasniji u kombinovanim problemima, gdje direktne metode nabrajanja vode do sve većeg broja mogućnosti, pa je potrebna intuicija, logika i razum za pronalaţenje najbolje moguće odluke. Ekspertni sistemi su isto tako korisni kod problema u kojima se odluke zasnivaju na analizi i interpretaciji ogromne količine nekvantitativnih podataka. Nabrajanje koristi ekspertnih sistema završićemo sa očuvanjem i prenosom stručnosti na početnike i nasljednike u preduzeću. Osnovni nedostaci i odbrambeni stavovi, vezani za sadašnje stanje tehnologije ekspertnih sistema, zasnivaju se na dehumanističkim konotacijama koje prate ove programe vještačke inteligencije. Ovo se ogleda u potiskivanju, odnosno ograničavanju učešća rukovodnih kadrova u procesima u organizaciji. Bez obzira koliko bili pristalice ekspertnih sistema, ne moţemo negirati značaj intuicije i neformalizma u rješavanju problema i inovacijama. Ekspertni sistemi imaju ograničenja u nekoliko područja problema. Prvo, za donošenje odluka u jednoj dinamičnoj sredini sa mnoštvom nestrukturiranih problema nije dovoljno samo iskustvo, dakle

45

empirijski pristup. Shodno tome mehanizam zaključivanja će vjerovatno biti nedovoljan. Ekspertni sistem je ograničen na vrlo usko područje (domen), jer je izgradnja i odrţavanje velike baze znanja teška. Sistem ne daje kvalitetan odgovor ako problem nije u potpunosti ograničen na specifično područje. Tada se javlja problem sa odlukama vezanim za široko interdisciplinarno znanje. Prilikom prikupljanja i organizovanja baze znanja, odreĎene vrste znanja se ne mogu lako prevesti u pravilo ako-onda. TakoĎe, postoji teškoća oko specifikacije heurističkog znanja rukovodioca, koje je vaţno za pravilno odlučivanje. Korisnički interfejs sa sistemom treba biti ostvaren preko "prirodnog" dijaloga. MeĎutim, dijalog nije realno prirodni jezik. Korisnici moraju opisivati probleme u definisanom formalnom jeziku čije riječi i njihova kombinacija imaju veoma specifično značenje. Ograničeni broj stručnjaka za ekspertne sisteme i inţenjera za baze znanja, predstavljaju konstantnu opasnost da poslovne aplikacije mogu lako pasti na posljednje mjesto u razvoju ustupajući mjesto drugim dobro finansiranim područjima. TakoĎe, vrijeme odziva komercijalno dostupnih ekspertnih sistema relativno je sporo na većini personalnih računara. Ali to je vjerovatno prolazni problem s obzirom na dinamiku razvoja mikrokompjuterske tehnologije. Za kraj nabrajanja nedostataka ekspertnih sistema navešćemo da je indikativno relativno veliko ulaganje u instalacije i odrţavanje ekspertnih sistema kao i mogućnost da konkurencija kroz razvoj ili kupovinu sličnog sistema moţe ugroziti odreĎene poslovne pozicije. Tabelarni prikaz najbolje ilustruje pozitivnu i negativnu stranu ekspertnih sistema.

ČOVJEK EKSPERT moţe otići teško prenosi svoje znanje teško dokumentuje znanje nepredvidiv skup

EKSPERTNI SISTEM permanentno znanje znanje se lako prenosi znanje se lako dokumentuje konzistentan podnošljiva cijena

Tabela 5 Prednosti ekspertnh sistema

ČOVJEK EKSPERT kreativan prilagodljiv čulni senzori širina sagledavanja zdrav razum

EKSPERTNI SISTEM nema kreativnost nije prilagodljiv simboli kao ulaz usko sagledavanje tehničko znanje

Tabela 6 Nedostaci ekspertnih sistema

46

4.5. INŽENJERING ZNANJA

4.5.1. POJAM ZNANJA

Churchman ističe: "Znanje je kapacitet djelovanja". Nietzsche navodi: "Znanje je bazirano u ljudskoj potrebi da kategoriše i interpretira svijet oko sebe s namjerom da smanji neizvjesnost ţivota". Maslow kategoriše izvjesnost ţivota kao drugu primarnu ljudsku potrebu, odmah iza osnovnih bioloških potreba. Zahtjevi sredine prema svojim članovima za rješavanjem vlastitih ključnih potreba predstavljaju neposredne podsticaje stvaranja znanja. Posredni podsticaji stvaranja znanja provode se kroz inicijative upravljanja znanjem.

Od prvih početaka civilizacije, čovjek je prikupljao i kroz svakodnevnu djelatnost spontano prenosio iskustva unutar ţivotne sredine. Znatno kasnije skupljena znanja je počeo zapisivati i organizovano prenositi na potomstvo. U novije doba, intenzivira se praksa stvaranja, potvrĎivanja i prenosa znanja u poslovanju, to jest organizuju se sistemi primjene znanja. Razvoj tih sistema prošao je kroz tri faze: počevši primjenom na alate, procese i proizvode, preko primjene na radnu snagu, i na kraju primjena znanja na samo znanje. Više momenata uzrokuje formiranju neadekvatnih pristupa problemima aktuelnog trenutka, neki od njih su: Nekritična konzistentnost uvjerenja – zatvoren sistem znanja, Casirrere je taj fenomen nazvao mitskim mentalnim modelom. Na tragu razmišljanja P. Franka, civilizacijske promjene traţe od osoba (ako ţele pratiti tekuću stvarnost) permanentno usvajanje novih kodova i paradigmi. Realnost je da pod pritiskom ubrzavanja poslovanja, stručnjaci adoptiraju gotova poslovna rješenja bez adaptacije. Iz istog razloga, stručnjacima nije ostavljen vremenski prostor za praćenje poslovanju pratećih teoretskih znanja. Jedan od deklarisanih zadataka upravljanja znanjem je podsticanje promjene načina mišljenja ("Paradigme shift"). Izvanredna postignuća ljudi - eksperata su presudno odreĎena njihovim znanjima, pa se opravdano usvaja uvjerenje da upravo znanje ekspertnog sistema predstavlja njegovo postignuće, dok sheme zaključivanja i formalizmi predstavljanja znanja samo obezbjeĎuju mehanizme za upotrebu znanja. Prihvatajući to uvjerenje, neki autori zaključuju da je znanje i nuţan i dovoljan uslov za razvijanje ekspertnog sistema. Pošto se značenju izraza znanje u literaturi o ekspertnim sistemima, nimalo ili vrlo malo govori, narednih nekoliko redova posvećeno je značenju tog izraza. U prošlom vijeku je do šezdesetih godina vladalo shvatanje da je znanje opravdano istinito vjerovanje; Osoba A zna b, ako i samo ako:  A vjeruje u b,  p je istinito i  A ima adekvatno svjedočanstvo za b. Zatim su uslijedili pokušaji da se pokaţe da prva tačka nije nuţan uslov znanja i da druga i treća tačka nisu dovoljan uslov znanja. Od tada rasprave traju. Savremene teorije znanja Polok je nedavno razvrstao u dvije klase:  Doksatičke teorije i  Nedoksatičke teorije.

47

Doksatičke teorije su zasnovane na pretpostavci da u odreĎivanje epistemiološkog opravdanja ne ulazi ništa osim naših vjerovanja, našeg doksatičkog stanja. Klasu doksatičkih teorija iscrpljuju meĎusobno isključujuće potklase teorija zasnovanosti i teorija koherencije. Klasi nedoksatičkih teorija pripadaju teorije: realizma, relajabilizma, probabilizma i dr. Jasno je da odgovor na pitanje šta je znanje ne moţe da bude odlučan. Zbog značaja za osnovni predmet razmatranja u ovom radu, navodi se i shvatanje J. Pigeta o znanju. Prema njegovom uvjerenju, ljudsko znanje je aktivno, a znati znači konstruisati sistem transformacija koje su u manjoj ili većoj mjeri adekvatno korespodentne stvarnosti. Postoji nekoliko kriterijuma za razvrstavanje znanja pa tako i više vrsta znanja: zdravorazumsko i naučno; teorijsko i empirijsko; individualno i socijalno; eksplicitno i implicitno; subjektivno i objektivno; prethodno i novo; deklarativno i proceduralno i dr. Intenzivna upotreba znanja je ono što suštinski izdvaja vještačku inteligenciju od konvencionalnog računarskog pristupa. Programi koji rade sa znanjem treba da omoguće:  Generalizaciju;  Predstavljanje;  Prikazivanje.

48

4.5.2. METODE ZA PREDSTAVLJANJE ZNANJA

Metode za predstavljanje znanja bi trebalo da omoguće predstavljanje svih vrsta znanja iz oblasti na koju se odnose, prirodno i efikasno zaključivanje i pogodne načine za prikupljanje novog znanja i promjene u već postojećem znanju. Niti jedna od metoda koje se u vještačkoj inteligenciji koriste ne ispunjava sve navedene zahtjeve u svim situacijama, tako da izbor zavisi od konkretnog problema na koji se znanje odnosi. Znanje moţe biti:  Deklarativno znanje,  Proceduralno znanje. Prvi tip znanja se odnosi na opis problema, definisanje prostora pretraţivanja i kriterijuma utvrĎivanja rješenja problema. Drugi tip je više konvencionalan i odnosi se na znanje koje je zapisivanjem naredbi nekog programskog jezika eksplicitno ugraĎeno u programe. MeĎutim, dva tipa predstavljanja znanja se često prepliću. Deklarativno znanje predstavljeno pravilima je sasvim blisko proceduralnom znanju. Meta znanje (znanje o znanju) koje se koristi za usmjeravanje pretraţivanja je takoĎe na granici izmeĎu proceduralnog i deklarativnog predstavljanja znanja. Ipak, u vještačkoj inteligenciji je od prevashodnog značaja predstavljanje deklarativnog znanja. Poseban način predstavljanja znanja, koji se ne uklapa u ovu podjelu, jesu neuronske mreţe. Metode predstavljanja deklarativnog znanja dijele se na:  Sintaksne metode i  Semantičke metode. U sintaksno orijentisanim metodama se ne razmatra značenje znanja sa kojim se radi. Ti sistemi imaju uniformna pravila koja prihvataju sve vrste podataka. U semantičkim sistemima razni dijelovi reprezentacije imaju posebno značenje i svoja pravila za zaključivanje. Kod sintaksnih metoda je ideja o efikasnom zaključivanju zasnovanom na malom broju dobro proučenih jednostavnih pravila, a kod semantičkih na specifičnim pravilima za rad sa odreĎenom vrstom znanja. Sintaksne metode su zato opštije, dok su semantičke specijalizovanije. Konačno, postoje i metode u kojima se kombinuju oba pristupa. Sve metode nalaze primjene zavisno od problema koji se rješava. Sistemi za predstavljanje znanja ne sadrţe samo na odreĎeni način reprezentovano znanje, već obezbjeĎuju i osnovne procedure za rad s njim. Pod sintaksnim metodama predstavljanja znanja se prije svega podrazumjevaju:  Predstavljanje znanja pomoću relacionih tabela;  Predstavljanje znanja pomoću logičkih formula;  Predstavljanje znanja pomoću pravila (eng. Rules). Semantičke metode strukturno obuhvataju:  Semantičke mreţe i  Okvire (eng. Frames). U relacionim tabelama entiteti se opisuju pomoću vrijednosti skupa atributa. Svaki entitet predstavljan je jednim redom tabele, a atributi su polja tog reda. Relacione tabele su najjednostavniji način za predstavljanje deklarativnog znanja. Podaci koji se nalaze u njima su jasni, ali i pasivni, što znači da se kao argumenti prosljeĎuju procedurama za rad sa bazama podataka, a da sami ne dejstvuju na druge podatke. Relacione tabele ne obezbjeĎuju mehanizam za predstavljanje netačnih ili nesigurnih znanja. Relacione tabele se koriste za predstavljanje znanja u sistemima baza podataka koje imaju ugraĎene odgovarajuće postupke za rad sa njima. Baze podataka mogu se koristiti kao način za organizovanje znanja koje predstavlja ulaz u programe zasnovane na tehnikama vještačke inteligencije. Znanje koje je predstavljeno pravilima odreĎuje akcije koje nastaju pod izvjesnim skupom uslova. U nekim aspektima pravila su slična uslovnim (if-then-else) naredbama konvencionalnih programskih jezika. Sintaksnim metodama je zajednička negativna karakteristika da nemaju mogućnost, ili bar nemaju jednostavna sredstva za strukturisanje znanja koje predstavljaju. Semantičke metode, sa druge strane

49

upravo u tom pogledu imaju prednosti. Njima se mogu opisati odnosi izmeĎu entiteta, i posebni postupci zaključivanja u slučaju da se izmeĎu entiteta javlja neka specijalna vrsta veza. Recimo, jednostavno se moţe govoriti kako konkretni entiteti imaju osobine opštih entiteta. Na primjer, konkretna zlatna ogrlica je skupa, jer je uopšte zlatni nakit skup. Bez obzira na izabranu metodu predstavljanja znanja potrebno je precizirati šta su osnovni entiteti znanja, koji su njihovi bitni atributi i kakvi odnosi vaţe izmeĎu njih, zatim kako predstaviti skupove objekata i kako u velikoj količini znanja pristupiti relativnom dijelu. Semantičke metode su veoma pogodne za predstavljanje vaţnih atributa i odnosa, kao i za pristupanje dijelu znanja koje je u nekom kontekstu značajno, dok su logičke formule pogodne za opise skupova objekata pomoću kvantifikatora oblika: svaki, neki, beskonačno mnogo, konačno mnogo, itd. Osnovna ideja semantičkih metoda predstavljanja znanja je da značenje nekog entiteta znanja u vezama koje ima i sa drugim entitetima. Zato ove metode nastoje da što vjernije predstave odnose izmeĎu entiteta. Tehnike koje se pri tome koriste u značajnoj mjeri liče na metodologiju objektno orijentisanih programskih jezika. To se prije svega odnosi na nasljeĎivanje, hijerarhijsko ureĎenje znanja, komunikaciju putem poruka, itd. Granica izmeĎu osnovnih semantičkih metoda, semantičkih mjera i okvira, nije sasvim jasna, ali se metoda koja koristi veći nivo strukturiranosti znanja po pravilu podvodi pod okvire. Zanje o objektima, njihovim atributima i odgovarajućim vrijednostima ne mora biti jednostavno kao u relacionim tabelama, gdje svaki red predstavlja jedan entitet znanja. Često su entiteti znanja strukturisani, izmeĎu njih postoje veze, pa je pogodno obezbjediti mehanizam izvoĎnja koji operiše nad tako predstavljenim objektima. Posebno je interesantno izvoĎenje koje dozvoljava nasljeĎivanje osobina pri čemu objekti neke klase nasljeĎuju osobinet klase, odnosno opštije klase prenose osobine na specifičnije klase objekata. Semantička mreţa predstavlja podatke koristeći skupove čvorova (objekata koji mogu biti akcije, predmeti, materijali, ...) i označenih lukova kojiih spajaju (relacija izmeĎu objekata). Semantičke mreţe koriste relacije kao je, potklasa, na, materijal itd. Da bi se pokazala veza izmeĎu objekata. Objekat na koga je usmjeren luk iz nekog drugog objekta označen sa je predstavlja klasu objekta. Polazni objekat je tada instanca te klase. Objekti povezani lukom potklasa predstavljaju klase objekata, s tim da je objekat ka kom je luk usmjeren natklasa, a objekat iz kog luk polazi potklasa.

50

5. ARHITEKTURA EKSPERTNIH SISTEMA 5.1. KOMPONENTE EKSPERTNIH SISTEMA Svaki ekspertni sistem posjeduju odreĎene karakteristike ispecifičnosti koje kod drugih ekspertnih sistema nećemo naći. Ipak, svi ekspertni sistemi u suštini imaju istu konstrukciju, konfiguraciju i organizaciju. Znanje je ključni činilac u odlučivanju, odnosno upravljanju i uopšte rješavanju problema. Izvanredna postignuća eksperata presudno su odreĎena njihovim zanimanjima. Znanju, naročito naučnom, su svojstvene mnoge vrijednosti, pa je lako shvatljiva teţnja da se od ljudi eksperata iscrpi znanje i uloţi u softver računara, pošto bi tako postalo dostupno velikom broju mogućih korisnika, bilo na raspolaganju u proizvoljno odabrano vrijeme, lako bi i bez velikih izdataka moglo da bude reprodukovano, a donekle bi proces usavršavanja i razvijanja znanja mogao da bude ubrzan, jer bi lično, privatno zanje bilo potpunije izloţeno javnom ocjenjivanju i kritici. Opravdano je ubjeĎenje mnogih naučnika da ekspertni sistemi crpe svoju moć ne iz shema zaključivanja, niti iz formalizama koje upotrebljavaju, nego iz samog znanja koje posjeduju. Nivo dostignuća ekspertnih sistema odreĎen je prevashodno kvalitetom i veličinom baze znanja. Znanje ekspertnih sistma se sastoji od činjenica i heuristika, pri čmu su činjenice shvaćene kao skup informacija koje su rasprostranjene u naučnoj javnosti i o kojima su eksperti saglasni, dok su heuristici shvaćeni kao preteţno lična pravila rasuĎivanja i nagaĎanja, svojstvena odlučivanju nekog eksperta u datoj oblasti. Neki autori smatraju da problemi predstavljanja znanja nisu mali ni beznačajni, ali da je znanje vrlo širok i sloţen predmet proučavanja, pa su pokušaji da se neki problemi znanja riješe preuranjeni i da se, osim toga, nekoliko raspoloţivih pristupa predstavljanja znanja pokazalo dovoljnim za ekspertne sisteme. Budući da ekspertni sistemi u svom radu nastoje oponašati čovjeka – eksperta, koji osim što rješava sloţene probleme, moţe i obrazloţiti svoje odluke, jedna od komponenti uključenih u ekspertne sisteme je i podsistem za obrazlaganje zaključaka i ponašanja. Obrazlaganje zaključaka i ponašanja se sastoji od identifikovanja koraka u procesu rezonovanja i provjere njihove ispravnosti. Obrazlaganje zaključka i ponašanja spada u domen razumijevanja prirodnog jezika, budući da sistem formuliše objašnjenja na način razumljiv korisniku, u skladu sa nivoom ekspertize korisnika. U konkretnom ekspertnom sistemu, ova komponenta je svedena na izlistavanje pravila aktiviranih u procesu izvršavanja programa i provjere njihove ispravnosti. Ekspertni sistemi kao metodi vještačke inteligencije i u funkciji kloniranja eksperta u usko specijalizovanom području moraju u principu posjedovati sljedeće komponente odnosno module:  bazu znanja,  mehanizam zaključivanja i  interfejs prema korisniku. Grafička interpretacija strukture ekspertnih sistema izgledala bi ovako:

51

Slika 13

Komponente ekspertnog sistema

Baza znanja sadrţi znanje o specifičnom problemskom području: pravila koja opisuju relacije i dogaĎaje, a ponekad i metode, heuristike i ideje za rješavanje problema na konkretnom području. Baza znanja treba da sadrţi sva potrebna znanja iz posmatranog domena u svakom trenutku. Da bi uvećanje i izmjene kojem znanje podlijeţe mogli pratiti i pohranjivati u bazu znanja, potrebno je omogućiti bilo manuelno, bilo automatsko aţuriranje baze znanja. Ovu aktivnost izvršava podsistem za uzimanje i aţuriranje znanja. Pod manuelnim aţuriranjem ćemo podrazumjevati da ovu aktivnost vrši inţenjer znanja ili domen – ekspert, dok pod automatskim aţuriranjem podrazumjevamo mašinsko učenje, onosno generalizaciju iskustva u formi novog znanja. Jedan idealan eksperni sistem, zbog osobine samoaţuriranja putem mašinskog učenja, nikada ne bi trebalo modifikovati. Mehanizam zaključivanja omogućuje aktivnu upotrebu znanja o području za izvoĎenje zaključaka. Softverski sistem koji pronalazi znanje i izvodi novo iz postojećeg znanja. Ovaj element odreĎuje stepen fleksibilnosti ekspertnog sistema, odnosno mogućnost da se izvede novo znanje iz postojećeg. Na primjer, iz dvije elementarne činjenice "Ptice lete" i "Orlovi su ptice" proizilazi zaključak "Orlovi lete". Znanje koje je potrebno za donošenje odluke moţe biti postojeće ili izvedeno. Idealan ekspertni sistem (njegov mehanizam zaključivanja) je onaj koji nikada neće biti potrebno modifikovati. Sama eksploatacija ekspertnog sistema ne dovodi do promjene mehanizma zaključivanja, već samo do njegovog korišćenja. Interfejs obezbjeĎuje komunikaciju izmeĎu čovjeka sa sistemom i treba da omogući relativno komfornu interakciju što uključuje i mogućnost objašnjenja kako je sistem došao do odreĎenog zaključka. Uloga korisničkog interfejsa je u prihvatanju informacija koje zadaje korisnik i njihovom prevoĎenju u oblik razumljiv za sistem, kao i u transformaciji podataka koje pruţa sistem u oblik razumljiv za korisnika. Ova komunikacija korisnika sa računarom treba da se odvija na jeziku što sličnijem prirodnom, pogotovo stoga što računar zamjenjuje čovjeka – eksperta, tako da se često ugraĎuju sistemi za obradu prirodnog jezika u okviru interfejsa. Ekspertni sistemi uglavnom su realizovani kao sistemi voĎeni uzorcima (pattern directed systems). Ovdje se radi o arhitekturi programskih sistema, koja se bitno razlikuje od konvencionalne strukture programskih sistema. U konvencionalnoj arhitekturi moduli su organizovani hijerarhijski, a tok izvoĎenja je u znatnoj mjeri determinisan, odnosno unaprijed poznat. Svaki tekući modul odreĎuje koji modul će se izvesti kao sljedeći. Kod sistema voĎenih uzorcima hijerarhija meĎu modulima ne postoji. Moduli se aktiviraju uzorcima iz "okruţenja sistema", što ovdje predstavlja bazu podataka. Evidentno je da takva organizacija dozvoljava i istovremeno izvoĎenje više modula te na taj način sluţi kao model paralelnih, distribuiranih procesa. MeĎutim, za implementaciju na sekvencijalnom računaru potreban je kontrolni modul, koji u slučaju kad uzorak izabere više modula, odredi za izvoĎenje samo jednog izmeĎu njih. Kod tih sistema dakle imamo cikluse koji sadrţe:  Pretraţivanje baze podataka, da se naĎu uzorci koji predstavljaju uslov za aktiviranje nekog modula; time se dobija konfliktan skup potencijalno aktivnih modula;

52

 Razrješavanje konflikta, predstavlja odreĎivanje jednog od modula iz konfliktnog skupa;  IzvoĎenje izabranog modula. Prednosti takve arhitekture sistema su u visokom stepenu modularnosti, što se veoma povoljno odraţava kod komplikovanih baza znanja gdje je teško unaprijed pretpostaviti sve interakcije meĎu pojedinim elementima. Zatim, oni omogućavaju da je algoritamski dio sistema (mehanizam zaključivanja) odvojen od baze znanja, čime je moguća upotreba istog mehanizma zaključivanja za različite baze znanja. Osim toga ima problema za čije rješavanje je takva organizacija sasvim prirodna, kao na primjer u slučaju kompleksnih procesnih sistema, gdje mjerene vrijednosti pojedinih parametara u nekim slučajevima treba da aktiviraju odreĎenu akciju. Zbog komparacije uzoraka (prva tačka u gore navedenom ciklusu) sistemi voĎeni uzorcima mogu biti veoma spori. Da bi se prevazišao taj problem, često uvodimo tzv. "meta-pravila" koja govore o tome kako upotrebljavati ostala pravila. Druga tehnika za poboljšanje efikasnosti je hijerarhijsko grupisanje kako pravila tako i baza podataka. U nekim oblastima, u prvom redu u onima gdje postoje dobra algoritamska rješenja, arhitektura sistema voĎenog uzorcima ponekad nije najprikladnija. Postoji više tipova sistema voĎenih uzorcima. U prvom redu razlikujemo sisteme koji se baziraju na pravilima (rule-based systems) i mreţne sisteme (network-based systems). Kod prvih moduli se sastoje iz pravila u obliku "antecedens-konsekvens" odnosno "lijeva strana - desna strana pravila". Obično lijeva strana odreĎuje uzorke - uslove, da se pravilo aktivira, a desna strana odreĎuje operacije koje se trebaju izvesti. Kod mreţnih sistema moduli su predstavljeni kao čvorovi u mreţi. Čvorovi specificiraju akcije, a aktiviraju se pod uslovom da doĎe "poruka" (signal) preko jedne ili više ulaznih veza. Sistemi bazirani na pravilima dijele se na:  produkcione sisteme (production systems) i  transformacione sisteme (transformation systems). Znanje u jednima i drugima predstavljeno je sa pravilima i podacima. Produkcioni sistemi imaju fiksnu kontrolnu strukturu za odreĎivanje izbora sljedećeg pravila za aktiviranje, a kod transformacionih sistema toga nema. Produkcioni sistemi se dijele na:  lijevo voĎene i  desno voĎene sisteme. Kod prvih antecedens pravilo vodi traţenju pravila koje treba da se izvede sljedeće, a kod drugih tu ulogu ima konsekvens pravilo.

53

5.2. BAZA ZNANJA Znanje je ključni činilac u odlučivanju, odnosno u upravljanju i rješavanju problema. Kako ekspertni sistemi crpe svoju moć iz znanja koje posjeduju tako nivo njihovih dostignuća odreĎen je prvenstveno kvalitetom i veličinom baze znanja. Ekspertni sistemi su sofisticirani računarski programi koji primjenjuju ljudsko znanje u specifičnim ob lastima ekspertize da bi se riješili teški problemi. Ekspertni sistemi imajuza cilj da obezbijede odgovo r na pitanja probleme koji zahtijevaju rezonovanje, prepoznavanje i poreĎenje formi, akviziciju novih koncepata, r asuĎivanje. Najkraće, oni dajuodgovor na pitanja koja zahtijevaju inteligenciju. Baza znanja, mehanizam zaključivanja i interfejs predstavljaju tri ključna dijela ekspertnog sistema. Baza znanja je zavisna od problemskog domena, dok su mehanizam zaključivanja i interfejs često nezavisni. Mehanizam zaključivanja i interfejs, dva nezavisna modula, zajedno se zovu ljuska ekspertnog sistema. Od kvaliteta baze znanja zavisi kako će funkcionisati sistem, a sama baza znanja sastoji se od ekspertnih pravila koja odraţavaju znanje stručnjaka. U bazu znanja je akumulirano sve do tada poznato znanje o odreĎenom sistemu. Baza znanja je unikatna za svaki ekspertni sistem, odnosno jedna baza znanja vaţi za samo jedan ekspertni sistem. Kvalitet ekspertnog sistema uglavnom je funkcija obima i kvaliteta njegove baze znanja. Ovu konstata ciju apostrofiraju autori Harmon i King. Baza znanja sadrţi znanje ospecificnom problemskom područ ju: pravila koja opisuju relacije i dogaĎaje, a ponekad metode, heuristike i ideje za rješavanje problema na konkretnom području. U bazi znači nalazimo dva tipa znanja:  činjenice koje su javno dostupne i u struci opšteprihvaćene i  heuristike, to su ekspertna pravila zaključivanja i odlučivanja, koja karakterišu stepen ekspertnosti. Ovdje je karakteristično pitanje, kako predstaviti bazu znanja u računaru. Postoje brojni formalizmi za predstavljanje znanja i u principu bi se mogao upotrijebiti svaki konzistentan formalizam, u kojem je moguće izraziti znanje o problemskom domenu. Ipak se kod ekspertnih sistema odlučujemo za one, koji daju podršku modularnosti, inkrementalnosti i lakoj promjenljivosti baze znanja. Za tzv. "meka" područja, gdje zakonitosti vaţe samo do nekog stepena i ne apsolutno, formalizam treba da modeluje i tu vjerovatnu prirodu znanja. Da bi se baza znanja formirala potrebno je ekstrahovati ekspertno znanje i predstaviti ga u odreĎenom formalizmu, što predstavlja veoma vaţno pitanje. Formalizmi sluţe za prenos znanja u bazu, kao i za korišćenje znanja pomoću računara. Baza treba da bude u takvom formalizmu da čini "ljusku" razumljivom. Evidentno je da se eksperti za rješavanje problema u velikoj mjeri sluţe svojim iskustvenim relativno s kromnim znanjem. Takvo znanje je veoma operativno i moţe biti dovoljnoza rješavanje problema u ve ćini primjera. Tek kada doĎe do novog, teţeg problema ili kada rješenje treba obrazloţiti, ekspert upot rijebi svoje kvalitetnije znanje, to jerazumijevanje strukture i dubljih principa problemskog domena. Hronološki gledano, baze znanja u "prvoj generaciji" ekspertnih sistema uglavnom se sastoje od ekspe rtnih pravila, koja odraţavaju skromno znanje i veoma su efikasna. Doeventualnih problema moţe doć i, kada su te baze glomazne, pa je osim problema sa prostorom i provjera njihove kozistentnosti i kom pletnosti veoma teška. Zatim, ima primjerakada je potrebno što je moguće potpunije i temeljitije obraz loţenje, npr. u sistemima za edukaciju ili kod sistema za dijagnostiku, gdje tek tako dobivenim povjere

54

njem od stranekorisnika sistem moţe efikasno da obavi svoju funkciju. Kod sistema sa skromnom baz om znanja to nije uvijek moguće, mada oni mogu veoma dobro rješavati probleme. Zbog ovoga počelo se raditi na "drugoj generaciji" ekspertnih sistema, koji uvoĎenjem dubokog znanj a rješavaju neke od tih problema. Takav razvoj doveo je do toga, da supostala veoma vaţna pitanja kak o u računaru predstaviti tzv. duboko znanje i kako ga učiniti operativnim. Istraţivanja na području kva litativnog modeliranja i automatskogučenja su u funkciji rješavanja tih pitanja.

55

5.2.1. FORMALIZMI ZA PREDSTAVLJANJE ZNANJA

Formalizam za predstavljanje znanja omogućuje zapis znanja o problemskom domenu što akceptira činjenice o karakteristikama objekata, relacijama meĎu njima, opštim pravilima domena i metodama rješavanja problema na tom području. Formalizam je svrsishodan u primjeni kod ekspertnih sistema, kada omogućuje efikasno rješavanje problema i kada je istovremeno u tom smislu transparentan, da omogući jednostavnu verifikaciju, modifikaciju i dopunu baze znanja. Pristup problematici formalizma za predstavljanje znanja još je veoma pragmatičan, jer je teţište na performansama programa, a ne na teorijskim pitanjima, kao što su opisivanje pojedinog formalizma, ekvivalentnost, konverzija meĎu njima itd. Najpoznatije sheme za predstavljanje znanja su:  produkciona pravila,  mreţe,  okviri i  predikatski račun.

PRODUKCIONA PRAVILA Produkciona pravila su najpopularniji metod za predstavljanje znanja. U konceptu problema logične relacije često opisujemo pravilima "Ako vaţi U onda Z" što znači u interpretaciji "Ako vaţi uslov U onda se moţe zaključiti Z" ili "Ako situacija U onda akcija Z". Znanje se u formalizmu produkcionih pravila (ako-onda) izraţava na prirodan način. Pozitivne osobine produkcionih pravila su:  svako pravilo predstavlja mali, relativno nezavisan dio znanja;  dodavanje novih pravila moţe biti relativno nezavisno od ostalih pravila, što se odnosi i na modifikaciju postojećih pravila;  ova pravila pomaţu transparentnost sistema tako što mogu odgovoriti na pitanja tipa "kako" (Kako si došao do tog zaključka?) i "zašto" (Zašto ti je potrebna ova informacija?). Pravilo tipa "Ako vaţi uslov A onda se moţe zaključiti Z" predstavlja tzv. kategorično znanje, jer definiše logičku relaciju koja je istina. Predstavljanje znanja na mekim domenima preko ovih pravila gotovo je nemoguće. Tu relacije vaţe sa odreĎenim faktorom vjerovatnoće (npr. "Ako vaţi uslov U onda se moţe zaključiti Z sa faktorom vjerovatnoće P" ). Ovo nije matematička vjerovatnoća, već subjektivna ekspertova procjena za vjerovatnoću (obično broj nekog intervala, ne mora 0-1). Zbog njegovog karaktera, zaključivanje na bazi vjerovatnoće (probabilistic reasoning, plausible reasoning) treba uzimati veoma paţljivo. MREŢE Mreţe kao formalizmi za predstavljanje znanja, sadrţe čvorove, koji označavaju objekte (fizičke objekte, situacije, skupove, relacije) i veze (binarne relacije izmeĎu objekata). Iako se mreţe razlikuju po izraţavanju i tipovima procedura za manipulaciju, traţenje meĎusobno povezanih elemenata znanja zasniva se na strukturi, koja kodira to znanje. Oznake elemenata mreţe iz datog čvora omogućuju pozicioniranje na odgovarjuće čvorove tako što slijedimo odgovarajuće veze. Mreţe su adekvatne za predstavljanje hijerarhijskih struktura, koje zajedno sa tehnikom nasljeĎivanja osobina olakšavaju opisivanje znanja. Tako npr. ako P predstavlja karakteristične osobine skupa S, onda P vaţi i za svaki podskup skupa S i za svaki elemenat skupa S odnosno odnosno njegov podskup. To praktično znači da karakteristike opisane na višem nivou vrijede za sve niţe nivoe (ako treba nalazimo ih pomoću mreţe).

56

Koriste se za prirodno opisivanje jednostavnih relacija, a ne za kompleksne formule i veze. To se prije svega odnosi na sisteme za rad sa prirodnim jezikom (semantičke mreţe) i za zaključivanje iz domena teorije skupova. Ponekad se i produkcioni sistemi predstavljaju u obliku mreţe. Tada mreţa modelira veze izmeĎu produkcionih pravila, a veze su relacije izmeĎu njih, obično sa faktorom vjerovatnoće. Ovu strukturu imaju npr. ekspertni sistemi Mycin i Prospector.

OKVIRI Okviri su bazirani na ideji da se objekti, dogaĎaji i specifične situacije ili radnje mogu predstaviti jedinstvenom formom. Predstavljaju specifičan primjer mreţa. Oni sluţe kao baza za razumijevanje vizuelne percepcije, dijaloga u prirodnom jeziku itd. Predloţio ih je Minski kao metodu za organizovanje obimnog znanja potrebnog za rješavanje ovih zadataka. Ekspertni sistemi u okvirima skupljaju ove informacije u prepoznatljiv entitet. Kao kod mreţa, meĎusobne veze izmeĎu tih entiteta mogu se izraziti veoma jednostavno, zahvaljujući nasljeĎivanju atributa. Ovaj oblik strukture omogućuje traţenje elemenata koji se odnose na dati kontekst. Okvir je opis objekta i u njemu se nalazi otvor (slot) za svaku relevantnu informaciju tog objekta. Otvori memorišu vrijednosti tj. čuvaju znanje dostupno sistemu, čuvaju identitet entiteta i odgovarajuće akcije koje mogu biti preduzete. Sadrţe default vrijednosti, pokazivače na druge okvire, kao i pravila odnosno procedure po kojima se dobijaju odreĎene vrijednosti za objekat. Dakle, svaki objekat je skup otvora. Kao kod mreţa, okviri su u prednosti nad produkcionim pravilima, jer omogućuju implementaciju analize problema na dubljem nivou, npr. putem apstrakcije i analogije. Okviri predstavljaju bazu za jednu od najpopularnijih metoda predstavljanja znanja: objektno orijentisani okviri. U stari oni se pribliţavaju objektno orijentisanim okruţenjima. U standardnim implementacijama ekspertnih sistema, objektno orijentisani okviri se redovno kombinuju sa produkcionim pravilima, i tako nastaje jedan od najmoćnijih formalizama za predstavljanje znanja. PREDIKATSKI RAČUN Predikatski račun je najmoćniji način predstavljanja znanja. Logika ili predikatski račun prvog reda kao podsistem formalne logike moţe u velikom broju slučajeva da predstavi znanje napisano na prirodnom jeziku. Činjenice i pravila se zapišu u skladu sa sintaktičkim pravilima toga podsistema. Poznate činjenice i pravila tretiraju se kao aksiomi, a očekivani odgovor kao teorem koji vaţi u sistemu tih aksioma. U ovom formalizmu veoma je jednostavno definisati relacije i strukturirati podatke. Predikatski račun je performantan zato što za dokazivanje teorema u okviru tog formalizma postoje poznati i relativno brzi algoritmi koji se baziraju na principu rezolucije. Formule predikatskog računa se izgraĎuju upotrebom sljedećih simbola: 1. a, b, c, d… (individualne konstante, imena individual iz nekog domena), 2. x, y, z… (individualne promjenjiljve), 3. A, B, C, D… (predikatske konstante – imena relacija definisanih na datom domenu), 4. X, Y, Z… (predikatske konstante), 5. Univerzalni kvantifikatori koji govore o svim individuama domena i Egzistencijalni kvantifikatori koji govore o najmanje jednoj individui domena), 6. p, q, r, s… (iskazne promjenjljive), 7. ≈, →, ≡… (logičke konstante), 8. ( ) (zagrade).

57

Programski jezik PROLOG predstavlja formalizam ovoga tipa. Nastao je kao realizacija ideje, da je moguće matematičku logiku upotrijebiti kao programski jezik. Ima sintaksu formula predikatskog računa prvoga reda, zapisanih u klauzalnom obliku (kvantifikatori se ne navode eksplicitno), a ograničen je na Hornove klauzule. Hornove klauzule izraţavaju uslovne tvrdnje tipa: Ako P1 i P2 i ... i Pn, onda P. Prolog je deklarativni odnosno neproceduralni jezik. Umjesto algoritama za rješavanje problema u njemu se zapisuju relacije meĎu podacima i rezultatima. Prologov interpreter onda sam nalazi redoslijed operacija, koje prevode podatke u rezultate koji odgovaraju zahtjevanim relacijama. Dakle, u izvjesnom smislu podaci su istovremeno i program za rad sa njima. Prolog je dostigao veliku popularnost u Evropi i Japanu, gdje je proglašen za zvanični jezik 5. generacije računara. MeĎutim, kako je u opštem slučaju ograničeniji od produkcionih pravila, nema toliku popularnost u ekspertnim sistemima.

58

5.2.2. ZAHVATANJE ZNANJA

Da bi se izgradila baza znanja treba prvo ekstrahovati ekspertno znanje, onda ga predstaviti u formalizmu, koji omogućava da se to znanje koristi pomoću računara. Proces zahvatanja znanja i njegove preformulacije u izabrani formalizam za predstavljanje znanja inţenjering znanja (knowledge engineering). Karakteristika većine do sada izgraĎenih ekspertnih sistema je u korišćenju baze znanja koja je dobivena "ručno" tj. pomoću stručne literature i konsultovanja stručnjaka. Problem je što je to dugotrajan i skup proces, jer zahtjeva dosta dug angaţman kako samog tehnologa znanja, tako i stručnjaka za konkretno problemsko područje. Razlog je u poznatom dejstvu čovjekovog "know-how", do koga je ekspert došao dugim iskustvom i koga je teško formulisati u "say-how" toliko sistematično i detaljno koliko je to potrebno za računarsku aplikaciju, pa je zato došlo do razvoja alternativnih metoda za zahvatanje znanja, koje omogućavaju automatsku sintezu znanja, a imaju osnovu prije svega u metodama automatskog učenja i kvalitativnog modeliranja. Kada se od eksperta traţi da prezentuje svoje znanje, on će to najlakše učiniti pomoću izabranih primjera. On je sposoban mnogo brţe pretvoriti "know-how" u "show-how". Na ovaj način se eventualno prevazilazi tzv. Fajgenbaumovo usko grlo. Potrebno je iz skupa primjera induktivnim zaključivanjem izvesti pravila i tako iz njih rekonstruisati ekspertov "know-how", što se moţe postići metodama automatskog učenja. Struktura ekspertnih sistema, proširena modulom za zahvatanje znanja prikazana je na Slici 14.

Slika 14

Proširena struktura ekspertnih sistema

59

U slučaju veoma obimnih baza znanja posebno je pogodna upotreba kvalitativnog modela. Model sadrţi uzročno znanje o području, koje moţe biti predstavljjeno u relativno kompaktnom obliku. Osim toga lakše je provjeriti njegovu kompletnost i konzistentnost nego u slučaju kada je znanje u obliku velikog broja primjera. U mnogim domenima (npr. fiziologiji) priroda problema je kvalitativna, te zahtjeva takav jezik eksperta. MeĎutim konstrukcija kvalitativnog modela uglavnom je teţak zadatak, pa se zato vrše istraţivanja iz automatske izgradnje takvih modela. Rezultati utvrĎuju primjenljivost automatskog učenja i kvalitativnog modeliranja za automatsko generisanje ekspertnog znanja. Sintetizovano znanje je po suštini i tačnosti zanimljivo za stručnjaka ili praktika sa problemskog područja, a rezultati ekspertnih sistema koji se sluţe tim znanjem su u okviru tačnosti koju postiţu eksperti tačnosti.

60

5.2.3. KVALITATIVNO MODELIRANJE

Kvalitativni modeli opisuju sistem na jednostavan simbolički način, koji je blizak ljudskom načinu mišljenja. Apstrahuju se egzaktne numeričke vrijednosti, jer sve parametarske vrijednosti sistema se integrišu u jedan simbolički opis tj. kvalitativnu vrijednost. Za razliku od klasičnih modela gdje su promjenljive veličine vezane jednačinama, kod ovih modela promjenljive su vezane relacijama koje mogu imati oblik jednačina, nejednačina ili logičkih izjava. Dakle, ovdje se umjesto rješavanja sistema jednačina, promjenljivim dodjeljuju vrijednosti relevantne za relacije u modelu. Kvalitativni modeli su bazirani na skupu relacija meĎu elementima sistema. Sistem se moţe opisati i sa apstraktnim pojmovima. S obzirom na to razlikuju se:  komponentno orijentisan pristup gdje se ponašanje sistema izvodi iz ponašanja njegovih komponenti i  procesno orijentisan pristup koji opisuje procese kao izvor svih promjena u sistemu. Oba pristupa su realizovana tako da opisuju fizikalne pojave ograničavajućim (ne)jednačinama. Simulacija se vrši kao širenje ograničenja (constraint propagation) po sistemu, a izvodi je zato kreiran jezik CONLAN. Formulacija pravila u KARDIU je drugačija. Umjesto ograničavajućih jednačina ovdje postoje formule predikatskog računa prvog reda tj. logičke izjave. Simulaciju izvršava interpreter pravila napisan u PROLOGU. Prednosti kvalitativnog modeliranja u odnosu na klasično modeliranje mogu se sintetizovati u sljedećem:  Kvalitativni opisi su veoma pristupačni u odnosu na rješavanje klasičnih modela koji su kompleksni.  Kvalitativni model je bliţi čovjekovom načinu mišljenja.  Kvalitativni model je primjenljiv i u slučaju kada nisu poznate tačne vrijednosti parametara, dok to ne vaţi za klasične modele.  Kvalitativna simulacija jednostavno generiše objašnjenje i tako postiţe transparentnost sistema. Ako su relacije u modelu kauzalnog karaktera (povezuju uzroke sa posljedicama), onda lanac zaključaka predstavlja kvalitativnu simulaciju modela. Sam model predstavlja duboko znanje jer odraţava strukturu i i dublje principe problemskog domena. Ovakva duboka baza znanja je pozitivna, jer poboljšava semantiku i sposobnost objašnjavanja ekspertnog sistema. MeĎutim, negativna strana se ogleda npr. u dijagnostici i kontroli, kada treba zaključivati po lancu u smjeru nazad (od posledica ka uzrocima). Rješenje problema je u procesu kvalitativne simulacije kada se automatski mogu dobiti plitka pravila koja direktno povezuju početne uzroke sa konačnim posljedicama, za sve moguće primjere. Ovakva baza je veoma operativna, ali i veoma obimna. U tom smislu komprimuje se metodama automatskog učenja.

61

5.2.4. AUTOMATSKO UČENJE Svako inteligentno ponašanje povezano je sa sposobnošću učenja, pa je i ideja automatskog učenja odavno prisutna. Prva istraţivanja bila su na području prepoznavanja uzoraka (pattern recognition) i grupisanja uzoraka (clustering). Nastao je niz tzv. statističkih metoda, koje su davale relativno dobre rezultate, ali su ipak ti rezultati bili dosta nejasni, jer su bazirani na načinu koji je drugačiji od čovjekovog načina mišljenja. Tako je nastala nova grana automatskog učenja tzv. strukturno automatsko učenje. Ono predstavlja automatski proces dobivanja znanja na osnovu informacija dobivenih od učitelja, od nekog spoljnjeg procesa ili samostalnim posmatranjem odnosno eksperimentisanjem. Rezultat tog učenja je formula, teorija, pravilo ili opis koncepta u kvalitativnom formalizmu koji je blizak čovjeku. Tako korisnik moţe da uoči relacije, zakonitosti i logiku zaključivanja, po kojoj sistem na osnovu pravila dolazi do odreĎenih zaključaka. Načini učenja se klasifikuju prema više kriterijuma. Navešćemo podjelu prema kriterijumu stepena učešća induktivnog zaključivanja kod učenika tokom procesa učenja:  Direktno ili rutinsko učenje (rote learning). Ovdje zaključivanje nije potrebno i u ovu grupu spadaju direktno programiranje i čuvanje podataka.  Učenje na osnovu kazanog (learning by being told). Kod ovog učenja učitelj posreduje znanje (daje pravila i činjenice), koje se pomoću predznanja i induktivnog zaključivanja organizuje u takav oblik, da ga je moguće koristiti bez eksplicitnih algoritama.  Učenje na bazi objašnjenja (explanation-based learning) zasniva se na jednom primjeru rješenja problema, koje se pomoću znanja o problemskom području objašnjava, opravdava i uopštava, te tako rješava čitavu klasu problema.  Učenje po analogiji (learning by analogy) bazira se na ideji da se postojeće znanje transformiše u takav oblik, koji je moguće upotrebiti za novi, sličan problem.  Učenje na osnovu primjera (learning from examples). Ovo učenje je učenje na pozitivnim ili negativnim primjerima, gdje se na osnovu tih primjera induktivnim zaključivanjem dobivaju pravila odnosno opis koncepta koji treba da je kompletan (uključuje sve pozitivne primjere) i konzistentan (isključuje sve negativne primjere).  Učenje samostalnim otkrivanjem (learning from observation and discovery) predstavlja najteţi oblik učenja. Postavljanje i testiranje hipoteza kao i kreiranje novih teorija potpuno je samostalno bez učitelja. Dosadašnja praksa je pokazala da je najefikasniji oblik automatskog učenja učenje na osnovu primjera. Ovo učenje značajno prevazilazi problem Feigenbaum-ovog uskog grla, jer se eksperimentima lakše daju primjeri (često su već arhivirani) nego pravila po kojima se rješavaju problemi. Automatsko učenje na osnovu primjera sadrţi nekoliko poznatih opštih metoda kao što su:  Metoda prostora verzija (version space) predstavlja koncept traţenja u prostoru mogućih opisa u datom opisnom jeziku. Postojeće znanje koncepta odreĎuje podskup opisa iz prostora svih mogućih opisa. Taj podskup se zove prostor verzija i dopunom znanja se smanjuje. Ova metoda je primjenjena u sistemu kojim se uče pravila za simboličko integrisanje (LEX) i u pravilima za generisanje molekularnih struktura (META-DENDRAL).  Metoda gradnje stabla odlučivanja je veoma jednostavna i efikasna metoda. Implementirana je od strane Quinlana u sistemu ID3. Suština je da se na osnovu postojećih primjera izgradi klasifikacijsko pravilo u formi stabla odlučivanja koje se moţe upotrebiti za klasifikaciju novih objekata. Postoje mnogi sistemi zasnovani na ovoj metodi kao npr. ASISTENT 86.  Metoda za konceptualno grupisanje uzoraka razvijena je kao alternativa klasičnim metodama za grupisanje uzoraka. Uspješno je implementirana u sistemu CLUSTER. Radi relativno sporije nego standardne metode, ali ima prednost u logičkim opisima grupa koje generiše.

62

5.3. MEHANIZAM ZAKLJUČIVANJA Mehanizam zaključivanja je najvaţniji dio ekspertnih sistema i on u principu kroz svoj interpreter sadrţi elemente misaone aktivnosti čovjeka. On je u stvari modul ekspertnih sistema koji implementira algoritme za rješavanje problema. Od njega se traţi da omogući odgovore na korisnikova pitanja i da se pri tom sluţi procesom zaključivanja, koji je moguće korisniku objasniti. Pored primarnog zadatka, pronalaţenja pojedinih zaključaka on treba da realizuje i kontrolnu strategiju, po kojoj se odreĎuje redoslijed koraka relevantnih za rješavanje problema. Na primjer moţe se desiti, da odgovor na korisnikovo pitanje dobijemo samo na osnovu upotrebe jedne od "elementarnih" činjenica, registrovanih u bazi znanja. Recimo koristeći činjenice iz baze znanja "Galebovi su ptice" i "Sve ptice imaju krila" veoma se lako odgovara na pitanje da li su galebovi ptice. Naprotiv za odgovor na pitanje da li galebovi imaju krila, već je potrebno zaključivanje. U logici je ovo karakterističan odnos premisa i konkluzije. Sistem treba da je sposoban dedukovati i verifikovati činjenice, koje mu nisu eksplicitno zadate. Tada koristi poznate principe zaključivanja (kao npr. modus ponens ili princip rezolucije), a moguće i zakonitosti, koje se isto tako nalaze u bazi znanja i sluţe kao pravila za dobivanje novih tj. izvedenih činjenica. Čitav proces rješavanja problema često se tretira kao dokazivanje teorema na osnovu aksioma. Rješenju problema odgovara dokaz teorema, a problem odgovara teoremu, koga nazivamo i ciljna hipoteza ili cilj. U tom slučaju moguća su dva načina zaključivanja: zaključivanje unaprijed (forward reasoning) i zaključivanje unazad (backward reasoning). Zaključivanje unaprijed potiče u pravcu od datih elementarnih činjenica prema hipotezi. Iz poznatih činjenica generišemo nove, dok ne doĎemo do činjenice koja se poklapa sa ciljnom hipotezom. Zaključivanje unazad vrši se u obrnutom smjeru, od ciljne hipoteze prema elementarnim činjenicama. Iz ciljne hipoteze generišemo nove hipoteze, dok ne doĎemo do hipoteza koje su jednake elementarnim činjenicama. Ukratko ćemo opisati osnovne principe zaključivanja: modus ponens, modus tollens i princip rezolucije. Modus ponens je logično pravilo po kojem na osnovu činjenice "A je istinito" i pravila "ako vaţi A onda vaţi B" zaključimo istinitost za B. Taj princip veoma je jednostavan pa je zato i proces zaključivanja koji se bazira na njemu relativno lako razumljiv. Slaba strana mu je to što ne nalazi sve moguće zaključke. Na primjer iz "B nije istinito" i "ako vaţi A onda vaţi B" ne moţe se zaključiti "A nije istinito" na osnovu modes ponensa, već se radi o drugom pravilu zaključivanja poznatim kao modus tollens. Princip rezolucije je poznat metod za automatsko dokazivanje teorema u formalizmu predikatnog računa prvog reda. Posebna vrsta ovog principa realizovana je u Prologu. Osnovna ideja je u tome da se skupu vaţećih aksioma doda negacija teorema kojeg ţelimo dokazati. Ako se sada otkrije kontradikcija, time je dokazano, da je originalni teorem istinit. Više o rezoluciji kao metodi za automatsko dokazivanje teorema piše autor Nilson. Osnova za rješavanje problema je njegovo adekvatno predstavljanje. U tom smislu razvijene su odreĎene sheme kao što su:  prostor stanja i  AND/OR grafovi.

63

5.3.1. PROSTOR STANJA

Prostor stanja (state space) predstavlja graf gdje su čvorovi ekvivalentni problemskim situacijama. Veze izmeĎu čvorova su legalne akcije koje transformišu jednu problemsku situaciju u drugu. Rješenje problema se postiţe korišćenjem dvije osnovne strategije pretraţivanja grafova:  pretraţivanje u dubinu (depth-first search) i  pretraţivanje u širinu (breadth-first search). Za razliku od algoritma pretraţivanja u širinu koji nalazi najbrţe odnosno najkraće rješenje, pretraţivanje u dubinu nosi odreĎeni rizik tj. opasnost da algoritam doĎe u bezizlaznu petlju. Pretraţivanje u dubinu posjeduje dijalog sa korisnikom koji je mnogo prirodniji i veoma detaljno obraĎuje teme (jednu po jednu). Nasuprot njemu, algoritam pretraţivanja u širinu preskače sa teme na temu (random pretraţivanje) i na taj način negativno utiče na koncentraciju korisnika. Osnovni princip pretraţivanja po širini je generisanje svih mogućih stanja po nivoima stabla koja se zatim pretraţuju. Ovom metodom se uvijek nalazi najkraći put do ciljnog (ciljnih) stanja, ali broj stanja koja se generišu i pretraţuju raste eksponencijalno za svaki sljedeći nivo. Potrebno vrijeme za nalaţenje rješenja takoĎe raste eksponencijalno, pa zbog toga moţemo reći da ova strategija garantuje najbolje rješenje ako nam vrijeme i memorija nisu ograničeni.

Slika 15

Pretraţivanje po širini

Pretraţivanje po dubini predstavlja strategiju koja jednostavno eliminiše neke nedostatke prethodno navedene strategije. Potrebno je manje memorije pošto se u obzir uzimaju samo neki segmenti prostora stanja. Ako su u pitanju "duţa" ("dublja") rješenja - sa većim brojem čvorova, takav put će se naći mnogo brţe nego upotrebom pretrage po širini. Čak i kada se rješenje pronaĎe, ne mora biti najbolje moguće (najkraće). Da bi se izbjeglo ulaţenje u "beskonačan" put, pretraga se prekida nakon odreĎenog broja nivoa, pa postoji mogućnost da rješenje neće biti pronaĎeno iako se nalazi u datom segmentu prostora stanja. Osnovna upotreba heurističkog znanja je da poveća efikasnost procesa zaključivanja putem nalaţenja smjera (usmjeravanja) procesa pretrage. Takav smjer nam smanjuje prostor koji se mora pretraţiti prije nego što se doĎe do rješenja, a što povećava mogućnosti rješavanja sloţenijih problema.

64

Slika 16

Pretraţivanje po dubini

Za pretraţivanje prostora karakterističan je problem kompleksnosti. Za netrivijalna područja broj alternativa moţe biti tako veliki da slijepo pretraţivanje postaje apsurdno. Broj kandidata se povećava eksponencijalno i dolazi se do tzv. kombinatoričke eksplozije. Problem se prevazilazi heurističkim pretraţivanjem (heuristic search, best-first search), što znači da se algoritam pretraţivanja koristi specifičnim znanjem o problemu koje eliminiše bezperspektivne alternative. Obično su to numeričke procjene, koje ocjenjuju perspektivnost svakog čvora u grafu.

65

5.3.2. AND OR GRAFOVI

Problem se moţe predstaviti i sa AND/OR grafom. Ovaj graf je karakterističan za probleme koji se mogu dekomponovati na podprobleme. Ovdje su čvorovi ekvivalentni problemima. Početni čvor je originalni problem, dok su ciljni čvorovi relativno jednostavni podproblemi. Veze meĎu čvorovima predstavljaju relacije meĎu problemima. Čvor moţe biti AND tipa (za rješenje potrebno je riješiti sve njegove nasljednike) i OR tipa (za rješenje je dovoljno riješiti jednog od nasljednika). Rješenje problema nije put već podgraf u originalnom AND/OR grafu. Za pretraţivanje AND/OR grafova u Prologu moţe se iskoristiti sam interpreter za Prolog, čije je proceduralno značenje upravo pretraţivanje takvih grafova. Naročito vaţna osobina mehanizma zaključivanja je da li on omogućava monotono ili nemonotono zaključivanje. U prvom slučaju sve što je bilo prepoznato kao istinito ostaje istinito tokom čitave konsultacije. Količina informacija u tom slučaju moţe samo monotono da se povećava. Nemonotono zaključivanje dozvoljava da se znanje tokom konsultacije mijenja. Na osnovu nove informacije neki ranije izvedeni zaključci mogu se eliminisati. Opšti uzorak kod tih sistema je tzv. "default" zaključivanje tipa "ako vaţi A i ako nije evidentno da ne vaţi B, onda vaţi B". Ostaje još veoma vaţno pitanje kako se vrši zaključivanje kada imamo nepotpune ili nepouzdane informacije i kada moţda i sama pravila vaţe samo sa nekim odreĎenim faktorom povjerenja. Spomenuli smo već da su na tzv. mekim područjima, koja su glavna područja primjene ekspertnih sistema, takve situacije veoma česte. Zato ekspertni sistemi uglavnom omogućavaju zaključivanje na osnovu vjerovatnoće za razliku od kategoričkog zaključivanja gdje su stvari jednostavno istinite ili ne. Opšte prihvaćene teorije zaključivanja na osnovu vjerovatnoće još nema, mada su istraţivanja na ovom području veoma intenzivna. U literaturi se uglavnom navodi kako je to pitanje riješeno kod pojedinih poznatih sistema (Prospector, Mycin ...).

66

6. RAZVOJ EKSPERTNIH SISTEMA 6.1. PROJEKTOVANJE EKSPERTNIH SISTEMA Analiza, projektovanje i razvoj informacionog sistema organizacije, kao podrška sistema upravljanja, moţe polaziti od prihvatanja različitih metodoloških prilaza i koristi različite metode, tehnike i sredstva analize i projektovanja. Pod informacionim sistemom organizacije se ovdje podrazumijeva kooperativni i inteligentni informacioni sistem kao sinteza upravljačkih informacionih sistema, sistema za podršku odlućivanja, ekspertnih sistema, inteligentnih baza podataka, hypermedia, tehnologije za automatsko memorisanje i pretraţivanje dokumenata, elektronske razmjene podataka, i slično. Iako postoje metodološke razlike i specifičnosti u pojedinim fazama analize, projektovanja i razvoja informacionih sistema, danas se više manje u literaturi koriste isti ili veoma podudarni metodološki prilazi. Većina njih se moţe razvrstati u sljedeće klase:  Tradicionalni prilaz ţivotnom ciklusu sistema;  Strukturni prilaz ţivotnom ciklusu sistema;  Projektovanje i razvoj prototipa (prototyping);  Integracija strukturnog prilaza ţivotnom ciklusu i prototajpingu;  Prilaz brzog razvoja sistema zasnovan na osobinama i mogućnostima jezika četvrte generacije (4GL);  Inteligentan prilaz – sinteza paradigmi metoda i tehnika strukturne metodologije ţiotnog ciklusa, prototajpinga i 4GL. Nekoliko sistemskih prilaza razvoju informacionih sistema, a prema tome i donekle ekspertnih sistema je razvijeno i korišćeno u posljednjih petnaestak godina. Uglavnom se sve ove metodologije razvoja ekspertnih sistema baziraju na mogućnostima, osobinama i okviru opšteg integralnog prilaza razvoju informacionog sistema. Ove metodologije su u osnovnim crtama prikazane u tabelama 7, 8 i 9, a razvijene su i primjenjivane u sljedećem razvojnom ciklusu:  Macger (1973);  Dejvis (1974);  Boem (1976);  Frimen i Vasermen (1977);  Kvejd i Boušer (1978);  Lajbovic (1984);  Silverman (1985);  Harmon i Sojer (1989).

MACGER (1973) Definisanje sistema

DEJVIS (1974) Definisanje:

BOEM (1976) Zahtjevi sistema

67

Projektovanje

Programiranje

ocjenjivanje izvodljivosti, informaciona analiza Fizičko projektovanje: projektovanje sistema, razvoj programa, razvoj procedura Implementacija: konverzija, funkcionisanje i odrţavanje, postrevizija

Testiranje sistema

Zahtjevi softvera

Preliminarno projektovanje

Detaljno projektovanje Kodiranje, traţenje i mjenjanje programskih grešaka Testiranje i predfunkcionisanje

Prihvatanje

Instalacija i funkcionisanje

Tabela 7 1. tip metodologije razvoja informacionih sistema

FRIMEN I VASERMEN (1977) Analiza potreba

KVEJD I BOUŠER (1978) Problem

Specifikacija sistema

Formiranje

MANDEL (1979) Projektovanje situacije: prepoznavanje problema, definisanje ciljeva, studija postojećeg sistema, projektovanje novog sistema, predlaganje rješenja Implementacija: detaljno projektovanje sistema, projektovanje datoteka, razvoj programa, razvoj dokumentacije, razvojtest podataka,

68

testiranje sistema, konverzija Detaljno projektovanje Implementacija Odrţavanje

Evaluacija Interpretacija Verifikacija Sugestije akcija Tabela 8 2. tip metodologije razvoja informacionih sistema

LAJBOVIC (1984) Problematično stanje poslova Korisnik: Hijerarhijska vrijednost, pogled na svijet Identifikacija problema Motivacija: postojeće metodologije Analogno rezonovanje Izbor metodologije

SILVERMAN (1985) Identifikacija zahtjeva Projektovanje, Razvoj, Testiranje i Integracija: slični programi Funkcionisanje i Odrţavanje Kolektiranje

Raspolaganje

HARMON I SOJER (1989) Preliminarna analiza Analiza i dizajn

Razvoj prototipa Razvoj sistema

Testiranje i implementacija Odrţavanje

Tabela 9 3. tip metodologije razvoja informacionih sistema

Više manje, biće preuzeta metodologija Harmona i Sojera, jer baš ona u značajnoj mjeri prihvata i obuhvata integralni prilaz analize, projektovanja i razoja informacionih i ekspertnih sistma. Osim toga, ova metodologija ima i osobinu jasnog i preciznog naznačavanja i objašnjavanja svakog metodološkog koraka u skladu sa zahtjevima procesa upravljanja projektima. Generička metodološka procedura za razvoj i upravljanje razvojem ekspertnih sistema ima šest faza:  Preliminarna analiza;  Analiza i dizajn;  Razvoj prototipa;  Razvoj sistema;  Testiranje i implementacija;  Odrţavanje. Svaka od ovih faza se istovremeno razmatra sa dva aspekta. Prvi je ko i sa kakvom ulogom učestvuje u razvoju ekspertnog sistema, a drugi je koji se sve razni poslovi i zadaci trebaju izvršiti u nekom projektu. Tako se ovom metodologijom mogu organizovati i sistematizovati različite ideje i ona moţe posluţiti kao osnova za planiranje i upravljanje sistemskim projektom.

69

Suština faze preliminarne analize je formulacija potencijalnih projekata, obezbjeĎivanje saglasnosti rukovodstva preduzeća za potencijalne projekte i formiranje tima za razvoj projekta ekspertnog sistema. U fazi analize i dizajna osnovni zadaci su ovi:  Izrada detaljnog plana analize;  Definisanje domena i njegova dublja analiza;  Razvoj detaljnog plana projektovanja;  Organizovanje projektantskog tima;  Organizacija više sukcesivnih sastanaka sa ekspertima i korisnicima sa posebnim naglaskom na interakciji ekspert/korisnik. Razvoj prototipa podrazumijeva izvršavanje tri ključne aktivnosti:  Ocjena, na bazi izvještaja o analizi i dizajnu, da li ekspertni sistem moţe biti izgraĎen;  Pristup izgradnji prototipa sistema;  Razvoj malog inicijalnog i finalnog prototipa. Razvoj sistema je faza prirodnog nastavka i proširenja prototipa. Znanje uzeto za prototip je samo uzorak znanja. Sada se uzima, formalizuje, kodira i umeće u bazu znanja sve preostalo znanje koje se moţe obezbjediti od eksperta. Osnovni zadatak je, dakle, ove faze proširivanje prototipa u konačan sistem. Finalni ekspertni sistem biće implementiran, izršavaće u organizaciji neke korisne zadatke, činiti to na efikasan način u odreĎenom softverskom i hardverskom okruţenju i po mogućnosti integrisan u informacioni sistem organizacije. Testiranje i implementacija obuhvataju ove procese:  UvoĎenje ekspertnog sistema u radno okruţenje korisnika;  Testiranje sistema;  Modifikacija sistema. Posljednja faza projektovanja i razvoja ekspertnog sistema je njegovo odrţavanje. Sistem djeluje svakodnevno i njega je neophodno odrţavati. Odrţavanje ekspertnog sistema podrazumijeva obezbjeĎivanje takvog funkcionisanja i takvih učinaka sistema kakvi su bili namjeravani i predviĎeni pri konceptiranju sistema. Odrţavanje sistema znači i njegovo aţuriranje i unapreĎenje.

6.2. IZGRADNJA EKSPERTNIH SISTEMA U slučaju ekspertnih sistema znanje je odvojeno od algoritama koji ga koriste. Baza znanja je zavisna od problemskog domena dok su mehanizam zaključivanja i interfejs često nezavisni. Ta dva nezavisna modula se zajedno nazivaju ljuska ekspertnog sistema. U principu imajući jednom ljusku, samim dodavanjem nove baze dobivamo novi ekspertni sistem. Naravno, baza treba da bude u takvom formalizmu, da je ljuska "razumije". Empirijski gledano, to ne ide uvijek sasvim jednostavno i u pojedinim primjerima treba i ljusku promijeniti u nekim detaljima. Ipak, glavni principi ostaju isti, pa je i u tom primjeru izrada ekspertnog sistema veoma ubrzana. Ljuske dakle spadaju u dobrodošle alate za izradu ekspertnih sistema, koji su na trţištu sve evidentniji. MeĎutim, broj ekspertnih sistema u svakodnevnoj upotrebi ne napreduje u skladu sa očekivanjima. Razlog je u teškoćama, koje su sastavni dio procesa izgradnje pojedinih baza znanja kao najsloţenije faze izgradnje ekspertnih sistema. Taj fenomen tj. usko grlo u literaturi je poznato pod imenom "Feigenbaum bottleneck" i posljednjih godina predstavlja povod za brojna istraţivanja na području automatske sinteze znanja. U posljednje vrijeme dolazi do razvoja metoda i alata koji omogućavaju automatsko zahvatanje znanja, pa se moţe očekivati u skorom vremenu pozitivno rješenje ovoga problema.

70

Osnovna pitanja kod izgradnje ekspertnog sistema već u fazi izrade ljuske su sljedeća:  Riješiti u kojem formalizmu će biti predstavljeno znanje, da bi bilo pogodno za rješavanje problema. TakoĎe, paralelno s tim ono mora biti razumljivo korisniku i jednostavno za verifikaciju, modifikaciju i dopunu.  Treba izabrati mehanizam zaključivanja, koji bi bio adekvatan za rješavanje problema tj. on treba da odgovara izabranom formalizmu za predstavljanje znanja. Zatim, on treba da prikladno obradi nepouzdane i nepotpune informacije i da omogući potrebno objašnjenje. Ukratko za kvalitetan razvoj ljuske treba:  izabrati formalizam u kojem će biti predstavljeno znanje (obično pravila oblika "ako - onda"),  razviti formalizam za predstavljanje znanja adekvatan mehanizamu zaključivanja,  razviti interfejs pomoću kojeg će sistem objašnjavati svoje odluke i davati odgovor na pitanja tipa "Kako si došao do tog rješenja? " i "Zašto ţeliš ovu informaciju?" i  razviti metod za rad sa nepouzdanim i nepotpunim informacijama.

Slika 17

Proces izgradnje ekspertnog sistema

6.2.1. SREDSTVA ZA IZGRADNJU EKSPERTNIH SISTEMA

U prvim danima računarske tehnologije kada su računari, bili osnovna komponenta okruţenja, osnovni preduslov za uspješan razvoj aplikacije je bio da programer poznaje jedino oruĎe koje mu je stajalo na raspolaganju – programski jezik u kome će programi biti napisani. Čak i kasnije, kada je sistem analiza izdvojena kao posebna funkcija (često od presudne vaţnosti za uspješnu aplikaciju), ograničenje razvojnih alata na jedan jedini programski jezik je i dalje bilo prisutno. Izbor programskog jezika je zavisio od izbora i tradicije softverske razvojne kuće. Danas, u uslovima sveopšteg napretka tehnologije je razvojno okruţenje ekspertnih sistema toliko bogato alatima, da je problem njihove selekcije izdvojen kao poseban zadatak inţenjera znanja ili projektanta baze znanja. Izvršena je i klasifikacija ovih alata kao i opis načina na koje oni olakšavaju izgradnju ekspertnih sistema. Pod pojmom ekspertnih sistema se podrazumjevaju svi programi koji uključuju ekspertizu, simboličko rasuĎivanje, odreĎenu dubinu problema i znanje o sebi (ispitivanje sopstvenog rezonovanja i objašnjavanje postupaka). Razumljivo je da je izgradnja ovakvog programa mnogo sloţenija od pisanja aplikativnih programa u nekom od programskih jezika. Ona zahtjeva ne samo predstavljanje znanja u bazi znanja ekspertnog sistema, već i ekspertizu koja će te informacije učiniti dostupnima korisniku sistema putem različitih tehnika rješavanja problema – mehanizma zaključivanja. Zbog toga je zadatak izgradnje ekspertnih sistema mnogo lakše uspješno izvršiti ukoliko posjedujemo inteligentne alate i pomoćna sredstva koji ovaj mukotrpan posao olakšavaju ili skraćuju njegovo vremensko trajanje. Postoji čitav spektar proizvoda koji se ubrajaju u alate za izgradnju ekspertnih sistema. Najšire posmatrano, sva sredstva koja su u funkciji ekspertnog sistema se mogu podijeliti u sljedeće kategorije:  programske jezike za razvoj ekspertnih sistema,

71

  

jezike inţenjeringa znanja, programsku podršku izgradnji sistema i olakšice izgradnje ekspertnih sistema.

PROGRAMSKI JEZICI ZA RAZVOJ EKSPERTNIH

SISTEMA

Programski jezici su ili proceduralno ili simboličko orijentisani. Proceduralno orijentisani programski jezici su konvencionalni jezici kao što su npr. FORTRAN ili PASCAL i namijenjeni su algoritamskom rješavanju odreĎenog tipa problema. Tako je FORTRAN naročito pogodan za matematičke probleme, COBOL za poslovnu obradu, itd. S druge strane, programski jezici za simboličku obradu su kreirani za primjenu u aplikacijama vještačke inteligencije. Osnovni elementi koji se ovakvim programskim jezicima obraĎuju nisu podaci, već objekti iz domena posmatranja, koje nazivamo simbolima. Programski jezici za razvoj ekspertnih sistema pruţaju najveću slobodu pri izgradnji ekspertnih sistema, ali s druge strane ne pomaţu pri izboru načina predstavljanja znanja ili pristupa bazi znanja. Zbog svojih osobina pogodnih za izgradnju ekspertnih sistema, najčešće su primjenjivani programski jezici LISP i Prolog. C jezik se takoĎe sreće kao programski jezik u kome je razvijan veliki broj ekspertnih sistema. To je prvenstveno zbog toga što je veći broj programera familijaran sa C-om nego sa programskim jezicima koji se obično koriste u vještačkoj inteligenciji. Osim toga, C jezik ne ograničava kreativnost programera, a C kompajleri stvaraju izuzetno brze i efikasne izvršne programe. Razlika programskog jezika LISP i komercijalnih programskih jezika kao što su PASCAL, FORTRAN, je u mogućnosti da se pomoću LISP-a vrši simbolička obrada. Osnovni elementi koji se obraĎuju se nazivaju simbolima. LISP potiče od engleske riječi LIST Processing, označava obradu listi i upućuje na prvobitnu namjenu ovog jezika. Liste se u LISP-u predstavljaju na dva načina: prvi način se odnosi na vidljivi zapis liste koji se sastoji iz niza članova liste, odvojenih praznim mjestom unutar otvorene i zatvorene male zgrade. Drugi način predstavljanja listi se odnosi na internu prezentaciju u obliku lanca ćelija. Svaka ćelija je jedan element liste i sastoji se iz gornje polovine koja se naziva CAR i donje polovine koja se zove CDR. Program napisan u Lisp-u se izvršava:  Izračunavanjem vrijednosti funkcije;  Obradom listi;  Predikatima ili funkcijama testiranja;  Dodjeljivanjem vrijednosti promjenljivima;  Predstavljanjem IF-THEN pravila;  Definisanjem novih funkcija. PROLOG je deklarativan programski jezik, u kojem je zadatak programera da specificira šta treba da dobije za rezultat, a ne kako do tog rezultata doći. Prolog (PROgramming in LOGic) je programski jezik kreiran sa posebnom namjenom da se uz njegovu pomoć dobivaju odgovori na upite u bazu znanja, sastavljenu od činjenica i pravila. U Prolog je ugraĎena rutina olančavanja unazad i tzv. traganje unazad, tako da se izmeĎu pravila pisanih u Prolog-u i pravila pohranjenih u bazu znanja uspostavlja obostrano jednoznačna korespondencija. Prolog i njegova sintaksa zadovoljavaju sljedeće osobine: 

Cjelokupno pravilo napisano u Prolog-u se naziva klauzula. Postoje dva tipa klauzula: klauzula pravilo i klauzula činjenica. *Primjer klauzule-pravila: Temperatura(da):write('POVIŠENA'),POVIŠENA=da. *Primjer klauzule-činjenice:

72

vršnjaci(X,Y):roĎen(X,G),roĎen(Y,G) roĎen(igor,1985) roĎen(ema,1980) roĎen(darko,1985)



Znak : se čita kao IF(ako).



Dio pravila koji se nalaze sa lijeve strane znaka se naziva ''glava'' klauzule i ekvivalentan je THEN dijelu pravila u bazi znanja ekspertnog sistema.



Desno od znaka se nalazi ''tijelo'' klauzule i odgovara IF dijelu produkcionih pravila kojima se znanje predstavlja u bazi. Tijelo je sačinjeno iz više dijelova, svaki dio se naziva ciljem.



Na kraju cijele klauzule je obavezna tačka.



Riječ ispred zagrade je predikat i piše se malim početnim slovom. Termin predikat se često koristi u smislu procedura. Procedura je dio programa koji definiše predikat odreĎenog imena.



Riječi u zagradama su argumenti predikata ispred zagrade. Argumenti mogu biti promjenljive ili vrijednosti. Pitanja o činjenicama pohranjenim u bazi su najjednostavnija a sintaksa im je sljedeća: ?-klauzula Suočen sa zadatkom da odgovori na pitanje, računar daje rješenje sa yes ili no.Za podatke iz predhodnog primjera ?-vršnjaci(igor,ema) računar će odgovoriti sa no, dok će na pitanje: ?vršnjaci(igor,darko) odgovor biti yes. Npr: ?roĎen(x,1985) Računar daje dva odgovora,na osnovu baze i to : X=igor X=darko

JEZICI INŢENJERINGA ZNANJA Za razliku od programskih jezika opšte namjene, programski jezici na najvišem nivou, isključivo namijenjeni konstruisanju ekspertnih sistema, zajednički nazvani jezicima za inţenjering znanja, pruţaju olakšice pri radu, ali su sa aspekta predstavljanja znanja i manipulisanja znanjem manje fleksibilni. Jezici inţenjeringa znanja (JIZ) su inteligentan alat za razvoj ekspertnih sistema. Sastoje se od jezika za izgradnju ekspertnih sistema kojem je pridodato široko razvojno okruţenje. Postoje dvije vrste jezika inţenjeringa znanja, jezici ogoljenog tipa i JIZ opšte namjene. Jezici ogoljenog tipa su redukovani ekspertni sistemi koji imaju sopstvene mehanizme zaključivanja, ali su lišeni baze znanja. Dakle, ukoliko je u JIZ potrebno uključiti samo znanje specifično za odabrani domen (domensko ekspertsko znanje) da bi on prerastao u ekspertni sistem, riječ je o JIZ ogoljenog tipa. Takvi jezici se nazivaju i ljuskama ekspertnih sistema. Tako npr. od ekspertnog sistema PROSPECTOR, izuzimanjem svog geološkog znanja koje je u njega uključeno da bi on mogao da funkcioniše, dobijen je jezik inţenjeringa znanja ogoljenog tipa, KAS. Ljuska ekspertnih sistema KAS je namijenjena izgradnji ekspertnih sistema koji riješavaju probleme klasifikacije i dijagnostike. Na isti način je nastala i jedna druga ljuska, EMYCIN (Empty MYCIN = Prazan MYCIN), oduzimanjem znanja iz oblasti medicine, potrebnog za dijagnosticiranje bakterijskih infekcija, iz

73

ekspertnog sistema MYCIN. Ljuske ekspertnih sistema olakšavaju izgradnju ekspertnih sistema time što daju gotovu strukturu "skelet" sistema i mehanizam zaključivanja koji je direktno primjenjljiv na odreĎeni tip problema. Nedostatak JIZ ogoljenog tipa je pomanjkanje opštosti i fleksibilnosti u rukovanju problemima koji ne spadaju u unaprijed odreĎenu klasu, za koju su ljuske namijenjene. Dobre rezultate u razvoju ekspertnih sistema bez obzira na područje (domen) i tip problema koji se rješava, daju JIZ opšte namjene. Njihova upotreba je sloţenija, ali je bolja kontrola pristupa znanju i tehnika pretraţivanja baze znanja nego kod JIZ ogoljenog tipa. PROGRAMSKA PODRŠKA IZGRADNJI SISTEMA Programsku podršku izgradnji ekspertnih sistema (PPIES) čini skup softverskih proizvoda koji ili pomaţu pri sticanju i predstavljanju znanja domenskog eksperta ili pomaţu u postupku dizajna samog ekspertnog sistema. U poreĎenju sa alatima iz drugih kategorija, relativno je malo softverskih proizvoda koji se ubrajaju u ovu klasu razvijeno. Jedan od njih je TEIRESIAS, programska podrška izgradnji ekspertnih sistema koja podrţava transfer domenskog ekspertskog znanja u bazu znanja ekspertnog sistema na taj način što koristi iskaze veoma slične engleskom jeziku. TEIRESIAS radi na principu interakcije računara i korisnika. Korisnik je u mogućnosti da iskaţe nova pravila pomoću redukovanog skupa engleskih riječi. Sistem analizira korisnikove iskaze i daje prijedloge u zavisnosti od potpunosti i konzistentnosti pravila i pomaţe pri otkrivanju grešaka. Ispravne iskaze sistem sam ugraĎuje u bazu znanja ekspertnog sistema. PPIES koja pomaţe pri dizajnu i izgradnji ekspertnih sistema, nudi inţenjeru znanja odreĎeni skup komponenti koje ovaj koristi kao blokove za gradnju, spaja ih po potrebi u dijelove ekspertnog sistema. Svaka komponenta je skup funkcija nekog programskog jezika i podrţava ulančavanje unaprijed, unazad ili arhitekturu table. Jedan od ovakvih alata je AGE, čije komponente su napisane u INTERLISP jeziku. AGE je korišćen kao razvojni alat tokom izgradnje ekspertnog sistema HANIBAL, namijenjenog interpretaciji radio – komunikacionih poruka neprijateljskih vojnih snaga, u cilju procjene stanja na ratištu. Svaka PPIES je moćno oruĎe u rukama iskusnog inţenjera znanja, koji uz to mora dobro da poznaje jezik u kojem su pojedini od ovih alata napisani. OLAKŠICE IZGRADNJE EKSPERTNIH SISTEMA U olakšice izgradnje ekspertnih sistema (OIES) spadaju svi ostali alati koj inţenjeri koriste kada kreiraju ekspertni sistem:  Alati za otkrivanje grešaka (tzv. dibageri);  Editori baze znanja;  UgraĎeni ulazni/izlazni mehanizmi;  Mehanizmi za davanje objašnjenja. Ove olakšice mogu da budu dio jezika inţenjeringa znanja, a mogu imati formu dodatnog softverskog paketa koji se kupuje uz ljusku ekspertnog sistema, da bi ga učinio pristupačnijim, jednostavnijim i efikasnijim. Alati koji olakšavaju programiranje su:    

Alati za otkrivanje grešaka; Alati za olakšano sticanje znanja i pisanje U/I rutina; UgraĎeni mehanizmi rezonovanja; Editori baze znanja.

Alati za otkrivanje grešaka su korisni u pronalaţenju i ispravljanju grešaka u ekspertnom sistemu. To se moţe postići na različite načine. Programi za biljeţenje "puta" polaska kroz aktivirana pravila pomaţu otkrivanju greške analizom toka izvršavanja programa. Kod drugih dibagera se pronalaze

74

greške analizirajući vrijednosti u bazi znanja nakon zaustavljanja programa na označenim, kritičnim, tzv. "prekidnim" tačkama. Još jedan način otkrivanja grešeka je putem programa za automatsko testiranje. Ovakvim testiranjem se otkrivaju slabosti sistema i greške u radu, naročito na nestandardnim, "marginalnim" problemima. Alati za olakšano sticanje znanja omogućavaju inţenjeru znanja da crpljenje znanja od eksperta izvodi u toku rada ekspertnog sistema. Na taj način se rješavanje problema u realnom okruţenju zamjenjuje izvršavanjem ekspertnog sistema i umjesto da ekspert rješava stvarni problem on rješava problem zadat ekspertnim sistemom i direktno ugraĎuje svoju ekspertizu u bazu znanja. UgraĎeni mehanizmi razonovanja objašnjavaju odgovore ili preporuke ekspertnog sistema ukoliko ovi nisu dovoljno jasni, a omogućavaju i obrazlaganje postupka dolaska do rješenja. Različiti sistemi i alati na različite načine pruţaju objašnjenja. U osnovi postoje tri takva načina kojima se ugraĎeni mehanizmi rezonovanja koriste u objašnjavanju ponašanja sistema i zaključka:  Retrospektivni;  Hipotetični;  Antičinjenični. Retrospektivni alati će tragati unazad kroz pravila i lance zaključivanja da bi dali odgovor na pitanje kako se došlo do odreĎenog zaključka. Hipotetičan način davanja objašnjenja nastoji dati odgovor na pitanje kakve bi razlike u posljedicama nastale zbog izmjenjenih početnih uslova – drugačijeg pravila ili činjenice. Antičinjenično rezonovanje će pokazati zbog čega nije došlo do očekivanog rezultata, već do drugačije preporuke ili rješenja problema. Editori baze znanja automatski pohranjuju sve učinjene izmjene u sistem, provjeravaju sintaksu i osiguravaju pisanje pravila u ispravnom formatu, provjeravaju konzistentnost kako bi utvrdili da li novo pravilo ili činjenica dovodi do konfliktnih ili kontradiktornih situacija u bazi znanja.

75

6.2.2. SOFTVER ZA IZRADU EKSPERTNIH SISTEMA

U osnovi se razlikuju tri kategorije alata za izgradnju ekspertnih sistema:  Alati koji se koriste na personalnim kompjuterima, i koji sluţe za izradu ekspertnih sistema do 400 pravila.  Specijalizovani alati za izradu kompleksnih ekspertnih sistema, koji su ograničeni na rješavanje problema specijalizovanog tipa i koji sadrţe više hiljada pravila. Ovi alati zahtijevaju veće kompjutere kao npr. Lisp Machine.  Alati za izradu kompleksnih ekspertnih sistema, koji rješavaju probleme različitih tipova i koji sadrţe više hiljada pravila. TakoĎe, zahtijevaju veće kompjutere kao npr. Lisp Machine. Najpoznatiji komercijalni alati za izradu ekspertnih sistema su:  ART Automated Reasoning Tool - skup alata za izradu ekspertnih sistema koji uključuje jezik za opisivanje činjenica i relacija tzv. knowledge language, kojeg prevodi u Lisp, zatim mehanizam zaključivanja i specijalan alat za otkrivanje grešaka.  ES/P ADVISOR Ljuska za razvoj jednostavnih ekspertnih sistema za područja gdje postoji tekstualan opis kao npr. uputstva i postupci.  EXPERT-EASE Opštenamjenski sistem za izgradnju stabla odlučivanja.  EXPERT Alat za izradu konsultacijskih sistema za područja medicinske dijagnostike, analiza traţenja nalazišta nafte itd.  INSIGHT Opštenamjenska ljuska za izradu sistema do 400 pravila tipa ako-onda.  KEE Knowledge Engineering Environment - integrisani paket alata kojim se izgraĎuju kompleksne aplikacione analize i planiranje, prvenstveno za domen genetskog inţenjeringa.  OPS5 Sistem za produkciono programiranje, razvijen na Carnegie-Mellon University kao alat za istraţivanje čovjekovog pamćenja i mišljenja.  LOOPS Skup alata koji su uključeni u Interlisp okruţenje i koji uključuju proceduralno i objektno orijentisano programiranje.  TIMM The Intelligent Machine Model - dopunjena verzija EXPERT-EASE, kojom se izgraĎuje više meĎusobno povezanih pravila.

76

KATALOGIZACIJA SOFTVERA ZA RAZVOJ EKSPERTNIH SISTEMA Sljedeće tabele pokazuju najčešće korišćene alate za razvoj ekspertnih sistema, grupisane u kategorije.

Jezici za razvoj ekspertnih sistema za velike (mainframe) računare Naziv Distributer Common LISP IBM Co., Armonk, New York Intermetrics, Inc., Cambridge, Massachusetts Prolog IBM Co., Armonk, New York Lattice C Compiler SAS Institute, Inc., Cary, North Carolina za PC i kompatabilne računare Naziv Distributer Actor (objektno The Whitewater Group, Evanston, – orijentisan) Illinois LISP ExpertTelligence, Inc., Santa Barbara, California Texas Instruments, Dallas, Texas Integral Quality, Seattle, Washington, itd. OPS83 Production Systems Technologies, Inc., Pittsburgh Pennsylvanis Prolog Applied Logic Systems, Mountain View, California Borland International, Inc., Scotts Valley, California, itd. Smalltalk AT Softmarts, Inc., Woodside, California (objektno – orijentisan)

Jezici inţenjeringa znanja za velike (mainframe) računare Naziv: Application Development Systems ProizoĎač: Aion, Inc., Palo Alto, California Hardver: IBM velikiračunari ili IBM PC Izvorni jezik: Pascal Mehanizam zaključivanja: ulančavanje unaprijed i unazad Faktori izvjesnosti: od -1 do 1

Naziv: Application Exspert ProizvoĎač: Cullinet Software, Inc., Westwood, Massachusetts Izvorni jezik: Cobol Mehanizam zaključivanja: ulančavanje unaprijed i unazad Faktori izvjesnosti: IF, FIF (Fuzzy logika)

Naziv: Expert System Environment ProizvoĎač: IBM, Armonk, New York

77

Hardver: IBM veliki računari Izvorni jezik: Pascal Mehanizam zaključivanja: ulančavanje unaprijed i unazad Faktori izvjesnosti: IF, FIF

za PC i kompatabilne računare

Naziv: Arity/Expert Development Package ProizvoĎač: Arity Co., Concord, Massachusetts Hardver: IBM PC, XT, AT, Personal System/2 i kompatabilni Predstavljanje znanja: produkciona pravila I frejmovi Mehanizam zaključivanja: ulančavanje unazad Faktori izvjesnosti: FIF, uslovna vjerovatnoća i produţeni faktori izvjesnosti

Naziv: Exsys Professional ProizvoĎač: Exsys, Inc., Albuquerque, New Mexico Hardver: DEC VAX, IBM PC, XT, AT, Personal System/2, kompatabilni računari Predstavljanje znanja: produkciona pravila i frejmovi Mehanizam zaključivanja: ulančavanje unaprijed i unazad Faktori izvjesnosti: 0-1, 0-10. -100 do 100 i korisničke formule

Naziv: 1st-Class ProizvoĎač: Texas Instruments, Inc., Wazland, Massachusetts Hardver: IBM PC, XT, AT, Personal System/2, i kompatabilni Mehanizam zaključivanja: Traţenje po stablu odlučivanja Faktori izvjesnosti: 0-100

Naziv: Personal Consultant Series ProizvoĎač: Texas Instruments, Inc., Dallas, Texas Hardver: IBM PC, XT, AT, Personal System/2, TI Explorer radne stanice, računari iz TI Professional serije Predstavljanje znanja: frejmovi, produkciona pravila Mehanizam zaključivanja: ulančavanje unazad Fakori izvjesnosti: -100 do 100, FIF

Softverski alati Auto – Intelligence, kojeg proizvodi i distribuiše softverska kuća Intelligence Ware Inc., Los Angeles, California, namijenjen je samostalnom radu eksperata koji prenosi znanje u sistem putem repertoarskih rešetki i induktivnog algoritma.

Insight 2+ Insight 2+ pripada klasi manjih alata za razvoj ekspertnih sistema koji su zasnovani na pravilima. Smatra se "manjim alatom" pošto se znanje čuva u jednoj bazi znanja, a obuka je u tom slučaju lakša

78

zbog boljeg pregleda mogućnosti. Za funkcionisanje ovog alata je potrebno relativno malo radne memorije, a cijeli sistem moţe da podrţi najviše 500 pravila. Pravila se unose pomoću PRL-a (Production Rule Language) koji podrţava strukturu IF THEN-ELSE uz primjenu standardnih logičkih i aritmetičkih operacija. Ovako izraĎen ekspertni sistem moguće je povezati sa programima pisanim u Pascal-u i dBase datotekama. Način rada: 1. U integrisanom tekst editoru se unosi PRL program (izvorna datoteka) koji sadrţi definisane ciljeve i pravila; 2. Izvorna datoteka se kompajlira sve dok se ne eliminišu postojeće greške; 3. Kompajlirani program se izvršava - provjera rada ekspertnog sistema;

Meni Insight-a 2+: 1. Run a knowledge base 2. Edit a knowledge base 3. Compile a knowledge base 4. Run a DBPAS program 5. Edit a DBPAS program 6. Compile a DBPAS program 7. Edit a data base Kompletna interakcija sa alatom se vrši pomoću funkcijskih tastera (slično kao u Norton Commanderu). Pri pokretanju izraĎenog ekspertnog sistema nad bazom znanja na raspolaganju su nam sljedeće funkcije: PAGE, STRT, WHY, PRNT, MENU, HELP i EXIT. Ekspertni sistem se upravlja na osnovu informacija koje dobiva od krajnjeg korisnika putem četiri različite vrste pitanja (upita): 1. Logički - SIMPLEFACT 2. Znakovni - STRING 3. Numerički - NUMERIC 4. Atributivni - jedna od ponuĎenih vrednosti Po završetku rada sa ekspertnim sistemom, Insight 2+ prikazuje spisak konačnih zaključaka sa meĎuzaključcima. Ponovnim pokretanjem sesije se gube svi zaključci i informacije iz prethodne sesije.

79

Struktura baze znanja: 1. Naslov 2. Deklaracija podataka koji dijele povezane baze znanja 3. Deklaracija tipova podataka 4. Inicijalizacija parametara 5. Selektori kontrolnih naredbi 6. Deklaracija ciljeva 7. Definicija pravila 8. Prikaz tekstualnih informacija 9. Rezervisana riječ END Redoslijed produkcionih pravila u PRL bazi znanja nije bitan. Broj uslova unutar jednog pravila nije ograničen. Napomena Pravila koja sadrţe ELSE sluţbenu riječ UVIJEK SE OKIDAJU. Sa Insightom 2+ se formiraju ekspertni sistemi koji koriste prikupljeno znanje o nekom problemu i na osnovu toga donose odreĎene zaključke. Samo donošenje zaključaka se moţe sprovoditi na dva načina: 1. Lančano zaključivanje unaprijed (forward chaining) - slijede se zadovoljena pravila: 1.1. Okidaju se pravila iz kojih se direktno mogu izvesti novi zaključci (novo znanje). 1.2. Pravila se evaluiraju onim redom kako su napisana, pa je u ovom slučaju koncept cilja nevaţan. 1.3. Ona pravila koja se trenutno ne mogu izvršiti se ostavljaju "na stranu". 2. Lančano zaključivanje unazad (backward chaining) - sijede se (prema hipotezi) zadovoljeni uslovi koji vode prema postavljenom cilju, tj. 2.1. Cilj: C (A1, ... An) 2.2. Atributi pojedinačno postaju tekući ciljevi na osnovu kojih se rekurzivno pozivaju definisana pravila. Insight 2+ koristi i backward chaining i forward chaining mehanizam zaključivanja.

80

7. PRIMJENA EKSPERTNIH SISTEMA Osnovna područja primjene ekspertnih sistema su ona za koja nisu u potpunosti poznati algoritmi rješavanja, niti je znanje dovoljno formalizovano. Takva područja su zahvalna za eksperta da rješava probleme na osnovu obimnog znanja sluţeći se pri tom svojim iskustvom i donekle intuicijom. Ekspertni sistemi su se u početku primjenjivali na različitim poljima. Prvi najjednostavniji ekspertni sistemi sluţili su kao supstitucija ljudskog partnera u igri kao što je npr. šah. Zatim, u sljedećoj grupi se nalaze ekspertni sistemi koji zamjenjuju profesionalca npr. ljekara. Dalja primjena ogleda se u podršci vojnim sistemima u planiranju, donošenju odluka i dijagnostici. TakoĎe, ekspertni sistemi imaju veoma vaţnu primjenu za projektovanje. Na primjer na bazi logičkih jednačina vrši se konstrukcija LSI čipova. Jedan od najranijih sistema za eksploataciju specifičnog znanja iz odreĎene oblasti bio je DENDRAL, koji je razvijen na Univerzitetu Stanford kasnih '60-ih godina 20. vijeka. DENDRAL je dizajniran za izvoĎenje zaključaka o strukturi organskih molekula iz njihovih hemijskih formula i spektografskih informacija o hemijskim vezama koje postoje u okviru molekula. S obzirom da organski molekuli teţe da budu veoma veliki, broj mogućih struktura za ove molekule takoĎe naginje velikom broju. DENDRAL upućuje na problem ovih veliki prostora pretrage primjenjivanjem heurističkog znanja eksperta hemičara na strukturu problema. Metode DENDRAL-a su se pokazale izvanredno efikasnim u rutinskom pronalaţenju ispravne strukture od velikog broja, pa čak i milionskih mogućnosti nakon samo nekoliko pokušaja. Pristup se pokazao toliko uspješnim da su potomci ovog sistema korišćeni u hemijskim i farmaceutskim laboratorijama širom svijeta. Dok je DENDRAL bio jedan od prvih programa koji je efikasno upotrebio specifično znanje o odreĎenom području da bi postigao ekspertni nivo u rješavanju problema. MYCIN je uspostavio metodologiju savremenih ekspertnih sistema. MYCIN koristi stručno medicinsko znanje za dijagnosticiranje i propisivanje terapije za spinalni meningitis i bakterijske infekcije krvi. Razvijen je na Stanfordu sredinom 1970-ih godina i predstavlja jedan od prvih programa koji upućuje na probleme rasuĎivanja sa neodreĎenim ili nekompletnim informacijama. MYCIN je obezbjedio jasna i logična objašnjenja svog rasuĎivanja, koristio kontrolnu strukturu adekvatnu za specifičnu problemsku oblast, i identifikovao kriterijume za pouzdanu ocjenu njegove izvedbe. Mnoge tehnike razvoja ekspertnih sistema koje se trenutno koriste su prvi put razvijene u okviru MYCIN projekta. Ostali klasični ekspertni sistemi podrazumijevaju program PROSPECTOR za odreĎivanje moguće lokacije i tipa nalazišta rude baziran na geološkim informacijama o poloţaju. Zatim program INTERNIST za vršenje dijagnoze u oblasti interne medicine, Dipmeter Advisor za tumačenje rezultata sa bušotina nalazišta nafte, XCON za vršenje konfiguracije VAX kompjutera. Veliki broj mnogih drugih ekspertnih sistema trenutno rješava probleme u različitim oblastima kao što su:  medicina,  obrazovanje,  poslovanje,  energetika,  ţivotna sredina,

81

        

geografija, dizajn, psihologija, filozofija, lingvistika, razumijevanje prirodnih jezika, razne igre, automatsko rezonovanje i dokazivanje teorema, planiranje i robotika, itd.

Moţe se primjetiti da je većina ekspertnih sistema napisana za specijalizovane ekspertne nivoe, s obzirom da su takva područja uobičajeno dobro proučena i veoma jasno definišu strategije rješavanja problema. Problemi koji zavise od malo slobodnijeg shvatanja zdravog razuma je mnogo teţe riješiti ovim putem. MeĎutim, identifikovanje korisnosti primjene vještačke inteligencije u oblasti energetike i ţivotne sredine je podstaklo naučnike iz ovih oblasti da identifikuju različite ekspertne sisteme za rješavanje mnogih problema sa kojima se susreću u svakodnevnom radu. Najpoznatiji komercijalni ekspertni sistemi su:  DENDRAL (utvrĎuje hemijske strukturne formule na osnovu spektralnih osobina hemijskih jedinjenja),  SHRDLU (sistem za razumijevanje prirodnog jezika),  MYCIN (sistem za pomoć ljekarima kod dijagnosticiranja infektivnih oboljenja kod izbora terapije),  ARCHES (program za automatsko učenje),  AL/X (sistem za otkrivanje kvarova u kompleksnim proizvodnim procesima),  PROSPECTOR (sistem za pomoć kod geoloških istraţivanja). Noviji ekspertni sistemi su se pokazali izuzetno korisnima u poslovnoj sredini. U praksi su najdostupniji sljedeći proizvodi: AUDITOR Softverski paket ekspertnog sistema, koji je razvijen s ciljem da pomogne u analizi dopuštenih spornih potraţivanja, dugovanja i unutrašnjih kontrola u preduzeću."Auditor" je danas jedan od najviše korišćenih ekspertnih sistema. Ovaj program bira kontrolne postupke na osnovu ulaza iz preduzeća. Razvijen je na Univerzitetu Ilinois. TAX ADVISOR Ekspertni sistem koji pruţa poreske savjete za planiranje nasljedstva. Razvijen je kao dio doktorskog rada na Univerzitetu Ilinois. Svrha mu je da svojim poreskim savjetom pomogne klijentu u finansijskim poslovima tako da porez na prihod i porez na nasljeĎe budu minimalni, a da pri tom ne budu pogoĎene odluke o zdravom ulaganju i odgovarajućem pokriću osiguranja. TICOM U razvojnim fazama na Univerzitetu Minesota, ovo je metoda za modeliranje i ocjenjivanje sistema unutrašnje kontrole. "Ticom" moţe poboljšati tačnost i pouzdanost finansijskih podataka u preduzeću. EDP AUDITOR Još jedan kontrolni sistem, "Edp Auditor" je dizajniran s ciljem da pomogne kontrolorima ili kontroli modernog EOP-a, te da pomogne u izvoĎenju modernog verifikacionog postupka. TAXMAN Oporezivanje je područje za koje su od početka zainteresovani sistemi. "Taxman" procjenjuje poreske posljedice predloţenih reorganizacija u preduzeću.

ekspertni

82

CORP-TAX Još jedan poreski sistem, "Corp-Tax" je napravljen s ciljem da pomogne računovoĎi u vezi s amortizacijom. FINANCIAL ADVISOR Razvijen na MIT Univerzitetu ovaj sistem moţe pruţati savjete o projektu, proizvodima, udruţivanjima, kupovini kada se razgovara sa visokim finansijskim savjetnikom. PLAN POWER Novi ekspertni sistem za finansijsko planiranje, koji je razvijen kao rezultat sve veće sloţenosti zadataka za finansijskog planera zbog mnoţenja investicionih sredstava. Razvio ga je Applied Expert Systems za korišćenje na Xerox 1186 radnoj stanici. Program uzima u obzir finansijsku situaciju, zatim usklaĎuje potrebe s najpovoljnijim finansijskim proizvodima i uslugama. Uz to sistem će proizvoditi tabelarne izvještaje za scenarije koji pokazuju stanje poreza na prihod, tokove novca, neto vrijednost i druge kritične faktore temeljene na alternativnim odlukama. CASH VALUE Dizajniran u "Plan Power-u", ovo je komercijalno pristupačan ekspertni sistem, koji pomaţe u planiranju kapitalnih projekata. Pravila odlučivanja daju savjete o neto polaznoj vrijednosti, toku novca, isplativosti i analizi rizika. AION DEVELOPMENT SYSTEM /MVS/PC Ljuska ekspertnog sistema namijenjena za velike IBM sisteme ili PC kompatibilne sisteme. Razvijen u AION Corp. ovaj program je namijenjen komercijalnim EOP sredinama. Sistem ima razvojne funkcije koje su potrebne za stvaranje, testiranje i izvoĎenje aplikacija baza znanja. TakoĎe uključuje editor, pomoć, skicu i povezne funkcije. GURU Spoj mogućnosti ekspertnog sistema i tradicionalnog komercijalnog računovodstva, ovaj program razvijen u Micro Data Base Systems, Inc., radi kao softver za tabelarne izvještaje (spreadsheet) i kao ljuska za ekspertni sistem. Uz ovakve jedinstvene mogućnosti, korisnik moţe u njega ugraditi, znanje na mikrokompjuteru, pa tako korisnik koji radi na tabelarnom izvještaju moţe "konsultovati" ekspertni sistem i brţe donositi rutinske odluke. Pored standardnih funkcija generatora izvještaja, obrade teksta, statističke analize i upravljanja podacima, GURU ekspertne aplikacije mogu obuhvatiti administrativne savjete, finansijske analize i rutinsko odlučivanje. PLATINUM LABEL Opšti računovodstveni softver s korisničkim interfejsom u obliku prirodnog jezika, čiji je cilj brzo akceptiranje od strane korisnika. Platforma za izvoĎenje mu je običan personalni računar. Sadrţi sedam ekspertnih paketa: potraţivanja, dugovanja, glavnu knjigu, prodajne narudţbe, zalihe, analizu prodaje i osnovni pribor za voĎenje. Razvijen je u Intelli Source Inc., sadrţi zaštitu u vidu lozinke, sredstva za periodične i godišnje obračune, te prenos bilansa s nekoliko prozora na ekranu. EURISKO Futuristički ekspertni sistem koji je nastao i još se razvija na Univerzitetu Stanford, a osnovna mu je ideja da kompjuter razvija svoje vlastite teorije i ideje na osnovu zadatih principa struke. EXPERT-EASE Ovaj sistem predstavlja jedan od najčešće korišćenih opštenamjenskih ekspertnih sistema. Razvijen je na Human Edge Software, Inc. Najprikladnije primjene za sisteme kao što je "Expert-Ease" su dobro definisane odluke od dvije do četiri opcije, a istovremeno se vodi računa o tri do šest relevantnih faktora. Sadrţi samo okvir bez vlastitog domena znanja, dok domen treba dati korisnik/stručnjak.

83

PRIMJER PRIMJENE EKSPERTNOG SISTEMA EIAxpert U OBLASTI ZAŠTITE ŢIVOTNE SREDINE EIAxpert predstavlja interaktivan, na pravilu zasnovan ekspertni sistem za procjenu ţivotne sredine. Dizajniran je za nivo snimanja procjene razvojnih projekata u ranoj fazi ciklusa projekta. Sistem moţe funkcionisati sa minimumom podataka i informacija o projektu, njegovim alternativama, i okolinskom okruţenju oslanjanjem na opšte znanje i pravila kao i na regionalni geografski informacioni sistem (GIS) i set baza podataka. EIAxpert je generičko i u potpunosti podacima - voĎeno sredstvo za procjenu koje se moţe veoma lako konfigurisati za veoma širok spektar primjena u različitim oblastima i regionima. Sistem koristi specifičnu listu provjere potencijalnih problema koja je karakteristična za odreĎeni tip projekta. Ti potencijalni problemi se procjenjuju pravilima u dijalogu sa korisnikom. Ovaj ekspertni sistem obraĎuje pravila putem hibridnog simboličkog i numeričkog predstavljanja objekata, po izboru i geokarakterističnih objekata i ugraĎenog GIS-a, kao i pomoću veza sa bazama podataka i simulacionih modela. Sposobnost da obraĎuje i simboličke i numeričke podatke putem potpune meĎusobne razmjene ga čini pogodnim za analizu politike na visokom nivou. U svojoj posljednjoj verziji koja je puštena u rad sistem je u potpunosti ugraĎen u okviru WaterWare informacionog sistema za upravljanje riječnim slivom, i implementiran kao na web-u zasnovan sistem klijent-server kojem se moţe pristupati sa bilo kojeg web pretraţivača u okviru lokalnih ili širih područja mreţa, Intraneta ili Interneta. WaterWare predstavlja integrisan, na modelu zasnovan informacioni sistem kao i sistem za podršku odlučivanja za upravljanje vodnim resursima. WaterWare je implentiran na jednoj otvorenoj, te objektno orijentisanoj arhitekturi klijent-server, i podrţava integraciju baza podataka, geografskog informacionog sistema (GIS), modela i analitičkih alata u jedan zajednički okvir koji je veoma lak za korišćenje. To sve podrazumijeva multimedijalni korisnički interfejs sa pristupom Internetu, hibridni GIS sa hijerarhijskim slojevima mapa, baze podataka o objektima, analize vremenskih serija, izvještajne funkcije, ugraĎen ekspertni sistem za zadatke procjene, klasifikacije i procjene uticaja, te hipermedijalni sistem za pomoć i objašnjenja. Izvorno je EIAxpert sistem bio dizajniran za Donji Sliv Rijeke Mekong (kojim upravlja Sekretarijat Komisije za sliv rijeke Mekong - čije su članice Kambodţa, Laos, Tajland i Vijetnam) za svrhu procjene razvojnih projekata o vodnim resursima, i on koristi liste provjere i pravila procjene koje su izvedene iz Smjernica Azijske Razvojne Banke za ţivotnu sredinu. Osnovni okvir EIAxpert sistema je, već pomenuti informacioni sistem WaterWare. Opšti EIAxpert sistem podrazumijeva:  Bazu podataka i interaktivne editorske alate za razvojne projekte o vodnim resursima, koji dozvoljavaju odrţavanje i uporeĎivanje višestrukih alternativa za svaki projekat;  Dvoslojni hijerarhijski geografski informacioni sistem (GIS) koji pokriva cijeli rječni sliv kao i područja koja su neposredno ugroţena pojedinačnim projektima. GIS koristi i vektorske podatke i satelitske ilustracije;  Cijeli set baza podataka, kao na primjer meteorološke, hidrografske, te baze podataka o kvaliteti voda, ali takoĎe i ekološke tehnologije kao što je recimo tretiranje otpadnih voda;  Baza znanja sa listama provjere, pravilima, detaljnim informacijama i smjernicama, te instrukcijama za analitičara;  Mehanizam zaključivanja koji vodi analitičara kroz procjenu projekata u vidu veoma jednostavnog dijaloga;

84



Generator Sumarnog Izvještaja koji sumira i ocjenjuje procjenu uticaja i obezbjeĎuje štampanu verziju izvještaja.

Putem pravila ekspertnog sistema, eksterni modeli se mogu pozivati kao dio procedure zaključivanja. Modeli se mogu koristiti za izračunavanje uticaja smanjenja vodotoka, otpuštanja otpadnih voda, promjena u korišćenju zemljišta, itd., ili za ocjenu parametara projekta kao što su na primjer zahtjevi navodnjavanja ili promjene sadrţaja podzemnih voda. Baza znanja: Ekspertni sistem koristi AKO .... ONDA (IF ... THEN) pravila za kvalitativnu procjenu potencijalnih problema ţivotne sredine. Baza znanja Mekong sistema sadrţi preko 1000 poloţenih pravila. Osnova pravila je povezana sa hipertekstualnim sistemom koji obezbjeĎuje objašnjenja termina i koncepata, detaljne informacije, i instrukcije za korisnike. Pretraţivač baze znanja dozvoljava nadgledanje pojedinačnih pravila te funkcija povratnih objašnjenja ZAŠTO (WHY) moţe pratiti simboličko rasuĎivanje sistema korak po korak. EIAxpert je dizajniran za uvećane procjene, sa više informacija koje postaju dostupne u toku različitih faza pripreme projekata, te time bolje obraĎena analiza postaje moguća. Različiti korisnici mogu doprinijeti procjeni projekta, i nekoliko verzija projekta i projektnih alternativa se mogu istovremeno odrţavati.

Slika 18

Početni ekran EIAxpert-a

Meni sa ikonicama početne strane EIAxpert-a omogućava pristup:  glavnom ekspertnom sistemu (alatima za procjenu) - na osnovu Smjernica za procjenu uticaja na ţivotnu sredinu koje je razvila Azijska Razvojna Banka, sistem koristi hijerarhijske liste provjere koje pokrivaju odabir područja, dizajn projekta, fazu izgradnje, projektno poslovanje, ekološke olakšice, i analizu isplativosti troškova;  objektno orijentisanoj projektnoj bazi podataka koja kompilira dostupne informacije o razvojnim projektima i projektnim alternativama;  hijerarhijskom GIS-u, koji pohranjuje, prikazuje, i analizira geografske podatke za cijeli rječni sliv, kao i za pojedinačna projektna područja.

85

Slika 19

Pristup GIS-u

EIAxpert koristi hibridni GIS koji moţe kombinovati vektorske i skenirane podatke (uključujući satelitske ilustracije i fotografije iz vazduha, kao i digitalne evaluacione modele ušća rijeke. GIS takoĎe obezbjeĎuje pristup prostorno orijentisanoj bazi podataka za projekte i pojedinačne karakteristike koje su od značaja za, na primjer brane i rezervoare, naselja, područja navodnjavanja, itd.

86

8. PERSPEKTIVA EKSPERTNIH SISTEMA Realno gledano, budućnost ekspertnih sistema je veoma izvjesna. Sistemi koji podrţavaju upravljanje postajaće sve više normalna praksa, pogotovo ako se uzme u obzir sve veća pristupačnost i primjena sve moćnijih mikrokompjutera. Već su razvijeni silicijumski čipovi, koji omogućuju da mikrokompjuteri postanu sve više slični u pogledu snage dosadašnjim "velikim" kompjuterima. Na taj način rukovodilac, nezavisno od nivoa gdje se nalazi, moţe konsultovati svoj kompjuter na stolu za rješavenje vrlo vaţnih poslovnih problema. Mnoge upravljačke funkcije će izvršavati ekspertni sistemi. Pravi rukovodioci će se naučiti kako da saraĎuju sa vještačkim rukovodiocem, te će više vremena i energije posvetiti problemima koji se rjeĎe javljaju i koji su specifičniji ili neodreĎeniji. Ekspertni sistemi će pojednostaviti proces pripreme spoljnih i unutrašnjih finansijskih izvještaja. Finansijski ekspertni sistemi će biti prilagoĎeni specifičnim granama privrede tako da će finansijskim rukovodiocima pomoći u pripremi internih i eksternih finansijskih izvještaja. Područje knjigovodstva, koje je meĎu prvima iskoristilo aplikacije ekspertnih sistema, biće kontrola. Planiranje kontrole, proces analize rizika, biće u velikoj mjeri potpomognuto vještačkom inteligencijom. Ekspertni sistem će poboljšati školovanje kontrolora, jer će se u odnosu na njih testirati ocjene početnika. Izbor i primjena kontrolnih procedura biće pomognuti prilikom uzimanja uzoraka, provjere stvarnosti i potvrde podataka. TakoĎe će detalji, koji se odnose na opšteprihvaćene standarde kontrole, biti dostupni za savjet u sloţenim slučajevima izvještaja. Neki ekspertni sistemi će postati "kompjuterizovani predradnici" u industriji. To će biti sistemi za upravljanje zalihama koji će moći kreirati i mijenjati proizvodne planove. Na taj način u preduzeću će se smanjiti zalihe i povećati produktivnost. Za rukovodioce i stručnjake u prodaji ekspertni sistem će pruţati pomoć u analizi rizika kod potencijalnih kupaca. Vrlo je značajno prisustvo aplikacija u domenu posuĎivanja i ulaganja finansijskih sredstava preduzeća. Postojaće interne veze izmeĎu ekspertnih sistema i postojeće EOP-a. Ekspertni sistemi će redovno dopunjavati tradicionalne metode školovanja u obrazovnim programima. Pored toga, ovi sistemi će biti na raspolaganju za operativno planiranje i kontrolu odnosno tamo gdje je analiza rizika dio odlučivanja. Ako pogledamo još dalje u budućnost, perspektiva ekspertnih sistema je meĎusobna povezanost analogna današnjoj već tradicionalnoj povezanosti personalnih kompjutera uz pomoć lokalnih mreţa. Povezanost nekoliko ekspertnih sistema u jedan sistem, koji je relevantan za niz srodnih područja odlučivanja, eksponencijalno će povećati vrijednost ekspertnih sistema. Ogromni pomaci očekuju se u razvoju hardvera i softvera za mnoga područja stručnosti.

Pravci razvoja  Primjena novih tehnologija.  Ekspertni sistemi namjenjeni za konsultaciju korisnika u najrazlicitijim oblastima primjene.  Sistemi isporuke znanja (knowledge delivery systems) - nisu bazirani na lancu zaključivanja sa velikim brojem pravila. Zaključivanje je u jednom koraku jer se za svaku premisu vezuje odgovarajući zaključak, te se brzim pretraţivanjem i uporeĎivanjem zadate premise sa postojecim u bazi znanja dolazi do odgovarajućeg zaključka.

87

88

9. PROTOTIP EKSPERTNOG SISTEMA ZA ANALIZU KREDITNOG RIZIKA 9.1. KONCEPT ANALIZE KREDITNOG RIZIKA Opšta sposobnost banke da podnese rizik poslovanja naziva se solventnost ili adekvatnost kapitala. U razvijenim ekonomijama solventnost mjeri sposobnost banke da na duţi rok osigura vraćanje pozajmljenih sredstava, odnosno, da u momentu likvidacije osigura isplatu svojih kreditora. Mjerenje solventnosti banke u stvari se svodi na kreditnu sposobnost banke ili njenu prihvatljivost za deponente i kreditore i adekvatnost kapitala u odnosu na rizik gubitka. Kako je osnovna funkcija banke odobravanje kredita, a kako svaki kredit u sebi sadrţi odreĎeni rizik, bitan dio kreditne politike predstavlja procjena kreditne sposobnosti debitora, a time i stepena kreditnog rizika. U osnovi, prihvaćeni stepen rizika od strane banke je rezultanta njenih preferencija u odnosu na profitabilnost i likvidnost. Da bi se došlo do validne ocjene kreditnog rizika i kreditne sposobnosti debitora pri kratkoročnom kreditiranju privrede u ovom originalnom primjeru jednog ekspertnog sistema, primjenićemo kombinaciju dvije poznate metode analize kreditnog rizika i kreditne sposobnosti:  preliminarnu analizu kreditnog rizika tzv. metod "5C" i  Z - Score analizu. Analiza kreditne sposobnosti debitora predstavlja osnovu na kojoj treba da se zasniva i izvede ocjena o njegovoj kreditnoj sposobnosti. Obuhvata debitorove pojave vezane za prošlost i sadašnjost, kao i buduće uslove poslovnog ambijenta debitora srazmjerne duţini eventualnog perioda kreditiranja. Američko poslovno bankarstvo ovom analizom analizira pet faktora kreditne sposobnosti debitora i naziva ih "5 Cs of Credit" ili skraćeno "5C", pri čemu favorizuje prva tri faktora u odnosu na ostala dva. Ti faktori su:  character - karakteristike debitora,  capacity - kapacitet debitora,  capital - kapital debitora,  collateral - zalog ili obezbjeĎenje kredita i  conditions - ekonomski uslovi u okruţenju. Karakter debitora u savremenom kontekstu podrazumijeva osobine debitora ili zajmotraţioca u smislu njegove poslovne reputacije, pripadnosti vrsti djelatnosti i pravnog statusa. Karakter se razlaţe na četiri elementa:  odgovornost (osobine menadţera i vlasnika preduzeća),  integritet (sopstvena i tuĎa poslovna iskustva sa debitorom),  tačnost (blagovremenost izvršenja obaveza) i  dosljednost (stanje poslovnih knjiga). U našoj analizi svaki od navedenih elemenata vrednovan je sa tri stepena (odličan, dobar ili loš). Kapacitet debitora predstavlja sposobnost debitora da vraća odobreni i uzeti kredit. Zasniva se na sljedećim elementima:  likvidnost debitora,  operativna efikasnost preduzeća,

89

 rentabilnost debitora,  zaduţenost debitora. Likvidnost debitora, u slučaju kratkoročnog kreditiranja, podrazumijeva osnovni kriterijum procjene kreditne sposobnosti debitora. Likvidnost se definiše kao sposobnost debitora da pravovremeno pokriva dospjele obaveze. Osnovni indikatori likvidnosti su stopa tekuće aktive i stopa finansijske aktive. stopa tekuće aktive = tekuća aktiva / tekuće obaveze stopa finansijske aktive = tekuća aktiva – zalihe / tekuće obaveze

U zavisnosti od vrijednosti koeficijenata likvidnost dobiva ukupnu ocjenu odlična, dobra ili loša likvidnost. Operativna efikasnost preduzeća se procjenjuje na bazi prosječnog obrta sredstava debitora, uz pretpostavku da debitor sa većim prosječnim koeficijentom obrta sredstava formira veći obim otplatnog potencijala i ima manju potrebu za dodatnim finansijskim resursima. To onda znači da banka u eventualnom kreditnom odnosu sa takvim debitorom ima manji kreditni rizik. Indikatori operativne efikasnosti izraţavaju se sljedećim odnosima: prosječan obrt zaliha = godišnja realizacija / (koeficijent obrta zaliha) prosječan obim zaliha operativna efikasnost potraţivanja = godišnja realizacija / (konverzija potraţivanja u gotovinu) prosječna poslovna potraţivanja

U zavisnosti od vrijednosti koeficijenata dobija se ukupna ocjena odlična, dobra ili loša operativna efikasnost preduzeća. Rentabilnost preduzeća je posebno značajan indikator za dugoročno kreditiranje, ali ima svoju ulogu i kod kratkoročnog kreditiranja. Ovim indikatorom se mjeri rentabilnost debitora da bi se kreditni resursi usmjerili najperformansnijim preduzećima. Rentabilnost se izraţava stopom neto dobiti. Neto dobit se dobije kada se ukupan prihod umanji za troškove i poreze. stopa neto dobiti = neto dobit / realizacija

U zavisnosti od vrijednosti stope neto dobiti dolazi se do ocjene rentabilnosti: odlična, dobra ili loša. Zaduţenost debitora kvantitativni indikator kreditnog rizika banke. Izraţava se stopom zaduţenosti: stopa zaduţenosti = dugovi / aktiva

U zavisnosti od vrijednosti stope zaduţenosti, ekspertni sistem zaduţenost debitora tretira kao dobru ili lošu. Kapital debitora definiše se kao trajno uloţeno sredstvo osnivača i akcionara. To je u stvari finansijska vrijednost komitenta, odnosno, njegove firme i mjeri se kao neto vrijednost imovine vlsnika, Dobiva se tako što se od ukupnih sredstava (aktive) oduzmu ukupne obaveze (pasiva). Ovdje treba voditi računa da knjigovodstvena vrijednost ne reflektuje trţišnu vrijednost. Imovina debitora je gornja granica visine kredita i sigurnost za vraćanje kredita. U našem primjeru finalno moţe imati dvije vrijednosti da ili ne. Kolateral debitora predstavlja obezbjeĎenje kredita i pokriva slabe tačke kreditne sposobnosti preduzeća debitora. Kolateral se odnosi na bilo koje sredstvo (u aktivi), kojima debitor raspolaţe kao specifičnom zalogom za obezbjeĎenje vraćanja kredita. U našem primjeru ekspertni sistem kolateral kao ulazni element analize uzima sa da ili ne.

90

Kondicije ili ekonomski uslovi poslovanja odnose se, prije svega, na konjukturu trţišta na kojem debitor posluje. U našem primjeru bitne su ekonomske projekcije u periodu vraćanja kredita. Te projekcije daju ekspertnom sistemu vrijednost povoljne ili nepovoljne konjukture. Z-Score analiza je specifčan metod mjerenja finasijskih teškoća debitora a time i rizika banke. Suština ove analize je u predviĎanju realnosti finasijske pozicije debitora na osnovu korišćenja preciznih indikatora, pri čemu ovi indikatori ne zamjenjuju već dopunjuju prethodno izloţene indikatore. Z-Score analiza je zasnovana na primjeru američkih preduzeća srednje veličine i premošćava jaz izmeĎu koeficijenata konvencionalne kreditne analize i egzaktnih parametara dobijenih na bazi statističkih multivarijacionih metoda analize boniteta debitora. Z indikator kvaliteta kredita dobiva se sljedećom jednačinom: Z=1,2x1+1,4x2+3,3x3+0,6x4+1,0x5, gdje su:

x1= tekuća aktiva / ukupna aktiva x2= neto dobit / ukupna aktiva x3= bruto dobit / ukupna aktiva x4= trţišna vrijednost kapitala / knjigovodstvena vrijednost ukupnih obaveza x5= realizacija / ukupna aktiva. Kritične vrijednosti Z indikatora su: Z > 2,98 performansno poslovanje debitora, 1,81= (1.0) THEN KPC_OEP=Odlicna; RULE E2 IF KOZ >= (0.75) AND KPG < (1.0) THEN KPC_OEP=Dobra; RULE E3 IF KOZ < (0.75) AND KOZ > (0.5) AND KPG > (1.0) THEN KPC_OEP=Dobra; RULE E4 IF KOZ < (0.75) AND KPG < (1.0) THEN KPC_OEP=Losa; RULE E5 IF KOZ (0.3) THEN KPC_REN=Odlicna; RULE F2 IF REN = (0.1) THEN KPC_REN=Dobra; RULE F3 IF REN < (0.1) THEN KPC_REN=Losa; ! G pravila - ispitivanje zaduzenosti debitora u okviru ispitivanja kapaciteta RULE G1 IF ZAD (0.25) THEN KPC_ZAD=Losa; ! H pravila - ispitivanje Z-scor u okviru ispitivanja kapaciteta RULE H1 IF Z >= (2.99) THEN KPC_ZSC=Odlican; RULE H2 IF Z >= (1.81) AND Z < (2.99) THEN KPC_ZSC=Dobar; RULE H3 IF Z < 1.81 THEN KPC_ZSC=Los;

108

! I pravila - ispitivanje kapitala debitora RULE I1 IF IMOVINA >= (KREDIT) THEN KAPITAL=Dovoljan; RULE I2 IF IMOVINA < (KREDIT) THEN KAPITAL=Ne_dovoljan; ! Blok izjava ! Definisanje pitanja za unos varijabli i mogucih vrijednosti varijabli ASK KOLATERAL: ―Da li postoji kolateral ?‖; CHOICES KOLATERAL: DA,NE; ASK KONJUKTURA: ―Kakva je konjuktura ?‖; CHOICES KONJUKTURA: Povoljna,Losa; ASK KAR_ODG: ―Ocjena top menadzera - vlasnika preduzeca ?‖; CHOICES KAR_ODG: Odlican,Dobar,Los; ASK KAR_INT: ―Poslovna iskustva sa debitorom ?‖; CHOICES KAR_INT: Odlicna,Dobra,Losa; ASK KAR_TAC: ―Blagovremenost izmirenja obaveza ?‖; CHOICES KAR_TAC: Odlicna,Dobra,Losa; ASK KAR_DOS: ―Stanje poslovnih knjiga ?‖; CHOICES KAR_DOS: Odlicno,Dobro,Lose; ASK TAKT: ―Kolika je tekuca aktiva ?‖; ASK TOBA: ―Kolike su tekuce obaveze ?‖; ASK TZAL: ―Kolike su tekuce zalihe ?‖; ASK GR: ―Kolika je godisnja realizacija ?‖; ASK POZ: ―Koliki je projsecan obim zaliha ?‖; ASK PPP: ―Kolika su prosjecna potrazivanja ?‖; ASK GPRI: ―Koliki su godisnji prihodi ?‖; ASK GTRO: ―Koliki su godisnji troskovi ?‖; ASK GPOR: ―Koliki je porez ?‖; ASK TDUG: ―Koliki su tekuci dugovi ?‖; ASK UAKT: ―Kolika je ukupna aktiva ?‖; ASK TVKAP: ―Kolika je trzisna vrijednost kapitala ?‖; ASK KVUOB: ―Kolika je knjigovodstvena vrijednost ukupnih obaveza ?‖; ASK KREDIT: ―Koliki kredit trazis ?‖; ASK IMOVINA: ―Kolika je neto vrijednost ukupnog kapitala ?‖;

109

9.2.5. IZGLED EKRANA ZA UNOS VARIJABLI

Finding ODG_INT Testing B29 RULE B29 IF KAR_ODG = Odlican AND KAR_INT = Odlicna THEN ODG_INT = yes CNF 100 Finding KAR_ODG STA = (TAKT/TOBA) CNF 100 KOZ = (GR/POZ) CNF 100 KPG = (GR/PPP) CNF 100 REN = ((GPRI-GTROGPOR)/GR CNF 100 ZAD = (TDUG/TAKT) CNF 100 NETO = (GPRI-GTROGPOR) CNF 100 BRUTO = (GPRI+GTRP+GPOR) CNF 100 Z = (1.2*(TAKT/UAKT)+1.4 CNF 100

Kolika je ? 113064000

trzisna

vrijednost

kapitala

Kolika je knjigovodstvena vrijednost ukupnih obaveza ? 3734000 Ocjena top ? Odlican

menadzera

-

vlasnika

Dobar

preduzeca

Los

Enter to select END to complete /Q to Quit ? for Unknown Odlican

Dobar

Poslovna ? Odlicna

iskustva

Blagovremenost ? Odlicna

Los sa

Dobra

debitorom Losa

izmirenja Dobra

Debitor je kreditno sposoban! THEN KPC_REN = Odlicna CNF 100 Finding KAPITAL Testing I1 RULE I1 IF IMOVINA >= KREDIT THEN KAPITAL = Dovoljan CNF 100 KAR_TAC = Dobra CNF 100 KARAKTER = Dobar CNF 100 KPC_LIK = Odlicna CNF 100 KPC_OEP = Odlicna CNF 100 KPC_REN = Odlicna CNF 100 KAPACITET = DA CNF 100 KAPITAL = Dovoljan CNF 100 ODGOVOR = je CNF 100

obaveza Losa

110

Odlicna

Dobra

Losa

Blagovremenost izmirenja obaveza ? Odlicna Dobra Losa Stanje poslovnih knjiga ? Odlicno Dobro

Lose

Da li postoji kolateral ? DA NE KAPACITET = DA CNF 100 Finding KAPITAL Testing I1 RULE I1 IF IMOVINA >= KREDIT THEN KAPITAL = Dovoljan CNF 100 Finding KOLATERAL STA = (TAKT/TOBA) CNF 100 KOZ = (GR/POZ) CNF 100 KPG = (GR/PPP) CNF 100 REN = ((GPRI-GTROGPOR)/GR CNF 100 ZAD = (TDUG/TAKT) CNF 100 NETO = (GPRI-GTROGPOR) CNF 100 BRUTO = (GPRI+GTRP+GPOR) CNF 100 Z = (1.2*(TAKT/UAKT)+1.4 CNF 100

LITERATURA

1. Adegoke A., Okunowo O.: Artificial Intelligence-Expert Systems for Environmental and Energy Applications, Environmental Informatics Archives, Volume 2, 2004. 2. Bošnjak K., Latinović B.: Informatika, Narodna i univerzitetska biblioteka RS, Banjaluka, 2004. 3. Buchman. J. r.: What are expert system, in building expert systems, Addison Wesley, 1983. 4. Date C.J.: An Introduction to Database Systems, 7th Edition. AddisonWesley, Reading MA, 1999.

Enter to select END to complete /Q to Quit ? for Unknown

5. ERwin, Methods Guide, 1995. 6. Fedra K., Winkelbauer L., Pantulu V.R.:

Expert Systems for Environmental Screening: An Application in the Lower Mekong Basin, International Institute for Applied Systems Analysis, Laxenburg, Austria, 1991

7. Fowler M.: UML, Mikro knjiga, Beograd, 2004. 8. Geeorge J. Klir., Fuzzy sets and fuzzy logic, Prentice Hall P T R , Neew Jersey, USA, 1997. 9. Grant T.J.: Lessons for OI from AI, A. Sheduling Case Study, Journal of the Operation Research Society, No.1, 1986, str.41-57.

10. Jackson P.: Introduction to Expert Systems, 3rd Edition, Addison-Wesley, Wokingham, 1999.

11. Jocković M., Ognjanović Z., Stankovski S.: Veštačka inteligencija, inteligentne mašine i sistemi, Beograd, 1997.

12. Korth H.F., Silberschatz A.: Database System Concepts, 4th Edition. McGraw-Hill, New York, 2001.

13. Lindsay R. K.: Applications of Artificial Intelligence: As birds are to airplanes, so my brains be to beer cans, McGraw Hill, New York, 1988.

111

14. Luger G., Stubblefield W.: Artificial intelligence - structures and strategies for complex problem solving, Addison-Wesley, 1998.

15. Negnevitsky M.: Artificial Intelligence: A Guide to Intelligent Systems, Addison Wesley, 2002. 16. Ristić Ţ., Bošnjak Z., Balaban, N.: Ekspertni sistemi, Savremena , Beograd, 1993. 17. Turban E.: Decision support and expert systems: management support systems, Englewood Cliffs, N.J., Prentice Hall, 1995

18. Turban E., McLean E., Wetherbe J.; Informaciona tehnologija za menadţment, Zavod za udţbenike i nastavna sredstva, Beograd, 2003.

19. Varga M.: Baze podataka - konceptualno, logičko i fizičko modeliranje podataka. DRIP, Zagreb, 1994.

20. www.alfanum.co.yu 21. www.cet.co.yu 22. www.elitesecurity.org 23. www.fon.bg.ac.yu 24. www.mathos.hr 25. www.microsoft.com 26. www.mrcmekong.org 27. www.odlucivanje.fon 28. www.oracle.com 29. www.raf.edu.yu 30. www. solair.eunet.yu/~ilicv/neuro.html 31. www.tsrb.hr 32. www.wikipedia.com 33. www.willamette.edu 34. www.nm.zesoi.fer.hr 35. www.znanje.org

112

113

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF