Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


Ekspertni sistemi, Beleške od Ekspertni sistemi

ekspertnih sistema je [1]: „Ekspertni sistem je inteligentan kompjuterski program koji koristi znanje i procedure zaključivanja kako bi riješio probleme ...

Tipologija: Beleške

2022/2023

Učitan datuma 13.01.2023.

Petra_DoraJelic
Petra_DoraJelic 🇭🇷

4

(4)

4 dokumenti

1 / 26

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
UNIVERZITET CRNE GORE
Elektrotehnički fakultet, Podgorica
Materijal sa drugog termina predavanja iz
EKSPERTNIH SISTEMA
EKSPERTNI SISTEMI POJAM I ARHITEKTURA
PREDSTAVLJANJE ZNANJA
Prof. dr Vesna Popović-Bugarin
Podgorica, 2015.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Delimični pregled teksta

Preuzmite Ekspertni sistemi i više Beleške u PDF od Ekspertni sistemi samo na Docsity!

UNIVERZITET CRNE GORE

Elektrotehnički fakultet, Podgorica

Materijal sa drugog termina predavanja iz

EKSPERTNIH SISTEMA

EKSPERTNI SISTEMI – POJAM I ARHITEKTURA

PREDSTAVLJANJE ZNANJA

Prof. dr Vesna Popović-Bugarin

Podgorica, 2015.

Ekspertni sistemi – pojam i arhitektura

2.1 Pojam ekspertnih sistema

Ekspertni sistemi su jedna od oblasti koje pokriva VI. Jedna od ranih definicija ekspertnih sistema je [1]: „Ekspertni sistem je inteligentan kompjuterski program koji koristi znanje i procedure zaključivanja kako bi riješio probleme dovoljno teške da zahtijevaju značajnu ljudsku ekspertizu za svoje rješavanje“. Dakle, ekspertni sistem je program koji emulira svojstvo ljudskog eksperta da donosi odluke. Termin emulira se koristi da bi označio namjeru da ekspertni sistem djeluje u svakom pogledu kao ljudski ekspert. Emulacija je mnogo zahtijevnija od simulacije, kod koje se zahtijeva djelovanje poput onoga šta se simulira, i to samo u nekim aspektima.

Ekspertni sistemi su grana VI u kojoj se vrši opsežna upotreba specijalizovanih znanja kako bi se problemi riješili na nivou na kojem bi ih riješio ekspert. Pod ekspertom se podrazumijeva čovjek koji posjeduje ekspertizu u određenoj oblasti, odnosno znanja ili specifične sposobnosti koje nisu poznate ili dostupne većini ljudi. Ekspert može riješiti probleme koje većina ljudi ne može da riješi ili ih ekspert rješava mnogo efikasnije.

Ukoliko bi se sistematizovali zahtjevi koji se postavljaju da bi se neko smatrao ekspertom, moglo bi se reći da su osnovna svojstva eksperta da [2]:

 Na optimalan način primijeni svoja znanja u rješavanju problema. Pri tome se podrazumijeva uzimanje u obzir činjenica i predviđanje relevantnih posljedica;  Objasni i obrazloži svoje odluke i prijedloge;  Komunicira sa drugim ekspertima i proširuje svoja znanja, prestruktuira i reorganizuje shvatanja i znanja;  Formira i napušta određene zaključke, što dokazuje da je pronikao u suštinu određenih pojava i našao nove zakonitosti koje među njima vladaju;  Određuje najbrži način dolaska do rješenja i njegove praktične primjene;  U specifičnim situacijama intuitivno (heuristički), na osnovu svih dosadašnjih iskustava i događaja, ocijeni gdje se nalazi rješenje problema. Ključni faktor za dobre performanse ekspertnog sistema je kvalitet znanja koje je u njega ugrađeno. Smatra se da se u slučaju da ekspertni sistem ne daje adekvatne odogovor, intervencije treba vršiti nad ugrađenim znanjem. Znanje u ekspertnom sistemu može biti znanje koje je generalno dostupno u knjigama, časopisima itd. i/ili ekspertiza. Dakle, može se reći da se razlikuju dva tipa znanja:

 Eksplicitno znanje – Znanje koje se zove činjenicama datog domena, odnosno znanje koje je široko poznato i nalazi se napisano u udžbenicima, časopisima i slično;  Implicitno znanje – heurističko znanje – Ono znanje koje čovjek – ekspert gradi na osnovu iskustva i koje kombinovano sa prvim tipom znanja čini čovjeka ekspertom. Naime, heuristička znanja ne garantuju uspjeh prilikom rješavanja problema, kao što garantuje algoritamski način rješavanja problema. Naime, heuristička znanja, stečena na osnovu iskustva, mogu pomoći u konkretnom slučaju, ali nije garantovano da će uvijek funkcionisati. Ipak, u velikom broju oblasti kao što je medicina i inženjerstvo, heurizam igra ključnu

komunikaciju eksperta i računara i nesmetan prenos znanja od eksperta ka računaru? U ovom trenutku, akvizicija znanja predstavlja jedno od ključnih pitanja u razvoju VI.

Slika 1 Osnovni koncept ekspertnog sistema

Znanje ugrađeno u ekspertni sistem može biti predstavljeno na više načina – ono može biti enkapsulirano u objektima (činjenicama) i pravilima. Čest metod za predstavljanje znanja je u obliku AKO ... TADA tipa pravila, kao na primjer:

AKO svijetlo je crveno TADA stani

Ukoliko postoji činjenica da je svijetlo crveno, ovo odgovara šablonu „svijetlo je crveno“. Pravilo je zadovoljeno i izvršava se akcija „stani“. Iako je ovaj primjer dosta jednostavan, veliki broj ekspertnih sistema je građen, i još uvijek se gradi, predstavljanjem znanja eksperata u obliku pravila.

Ovo je jedan od načina za predstavljanje znanja. Predstavljanje znanja će biti detaljnije rađeno u toku kursa.

Danas postoji veliki broj malih sistema koji su sagrađeni sa svega nekoliko stotina pravila. Ovi mali sistemi ne rade na nivou eksperta, ali su dizajnirani korišćenjem tehnologije ekspertnih sistema kako bi se njima izvršili zadaci koji zahtijevaju veliki obim znanja. Za ove male sisteme se najčešće koristi eksplicitno znanje.

Klasični ekspertni sistemi su zasnovani na implicitnom znanju, nepisanom znanju koje mora na neki način biti izvučeno-ekstrahovano od eksperta mnogobrojnim intervjuima u toku dužeg vremenskog perioda. Ove intervjue sprovodi osoba koja i razvija – gradi ekspertni sistem i ona se naziva inženjer znanja. Proces izgradnje ekspertnog sistema se naziva inženjerstvo znanja. Inženjerstvo znanja obuhvata skup metoda i postupaka koje se odnose na prikupljanje, računarsko predstavljanje i memorisanje, kao i upotrebu ljudskog znanja u rješavanju složenih problemskih situacija.

Može se zaključiti da u razvoju ekspertnog sistema postoji nekoliko osnovnih faza. Na početku, inženjeri znanja stupaju u kontakt sa ekspertima kako bi intervjuima izvršili ekstrakciju njihovog znanja. Inženjeri znanja nakon toga kodiraju dobijeno znanje eksplicitno u bazu znanja. Ekspert procjenjuje rezultujući ekspertni sistem i upućuje sugestije i kritike inženjeru znanja, a u cilju poboljšanja ekspertnog sistema. Ovaj postupak se ponavlja sve dok eksperti ne ocijene da su performanse ekspertnog sistema na zadovoljavajućem nivou. Naravno, ocjenu ekspertnog sistema vrši i krajnji

Korisnik

Baza znanja

Modul za zaključivanje

Činjenice

Ekspertiza

Ekspertni sistem

korisnik. Osnovna šema ekspertnih sistema nezamisliva je bez korisnika, jer ekspertni sistem ima smisla samo ako se može praktično primijeniti. Testiranje ekspertnog sistema, u svim fazama razvoja, se provodi uz pomoć korisnika.

Ekspertni sistemu su generalno dizajnirani drugačije od konvencionalnih programa. Naime, problem koji se rješava ekspertnim sistemom najčešće nema rješenje koje se može predstaviti algoritmom. Dakle, riješavanje je zasnovano je na zaključivanju kako bi se dobila razumna rješenja. Ovdje se ne misli na zaključivanja koja vrši inženjer znanja u toku razvoja ekspertnog sistema, već na zaključivanja za koja se ekspertni sistem mora osposobiti. Razumna rješenja su najbolje što se može očekivati, ukoliko ne postoji algoritam koji bi obezbijedio optimalno rješenje. S obzirom da je ekspertni sistem zasnovan na zaključivanju, on mora biti sposoban da objasni način na koji je došao do zaključaka, tako da njegovo rezonovanje može biti provjereno. Podsistem za objašnjavanje je sastavni dio sofisticiranih ekspertnih sistema.

Neki ekspertni sistemi mogu dozvoljavati sistemu da uči pravila na osnovu primjera, kroz indukciju pravila , kojom sistem kreira pravila na osnovu tabele podataka.

2.3 Arhitektura ekspertnih sistema

Da bi se izvršiti postavljeni zadaci, ekspertni sistem je veoma složen programski paket. Može se reći da se sastoji od niza manjih programskih cjelina ili modula. Dva osnovna dijela su [2]:

 vezni modul ili korisnički interfejs,  jezgro ekspertnog sistema.

Slika 2 Osnovna struktura ekspertnih sistema

Jezgro ekspertnog sistema se sastoji od dva glavna dijela i to:  baze znanja,  relacionog modula ili modula za zaključivanje; kao i  radne memorije.

Modul za interpretaciju znanja

VEZNI MODUL

EKSPERTNI SISTEM

JEZGRO EKSPERTNOG SISTEMA

EKSPERT INŽENJER ZNANJA KORISNIK

Modul za zahvatanje znanja (^) Modul za interpretaciju znanja

BAZA ZNANJA MODUL ZA ZAKLJUČIVANJE

Procesiranje znanja – modul za zaključivanje

Prilikom rješavanja postavljenih zadataka, ekspertni sistem može naići na promjenljive situacije, odnosno na pitanje čiji odgovor nema dat eksplicitno u bazi znanja. U ovakvim slučajevima potrebno je da ekspertni sistem bude sposoban da izvede novo znanje iz postojećeg. U slučaju kada prilikom rješavanja postavljenog zadatka, ekspertni sistem nailazi na poznatu situaciju, odnosno pitanje čiji odgovor ima dat eksplicitno u bazi podataka, potrebno je samo da primijeni odgovarajuće znanje. Dakle, zadatak modula za zaključivanje je ili nalaženje zahtijevanog znanja kao postojećeg ili njegovo izvođenje iz postojećeg znanja. Proces traženja odgovarajućeg znanja i izvođenje iz njega novog znanja je ključni element ekspertnog sistema. Modul za zaključivanje je softverski sistem koji pronalazi znanje i izvodi novo znanje iz osnovnog znanja. On funkcioniše tako što činjenice iz baze znanja kombinuje sa informacijama dobijenim od korisnika u cilju izvođenja specifičnih zaključaka. Pri radu se koriste kontrolne strategije, koje odlučuju u kom trenutku treba primijeniti neko od pravila iz baze znanja na nove činjenice dobijene tokom konsultovanja sa korisnikom. Na ovaj način se simulira ljudsko razmišljanje. Primjer izvođenja novog znanja iz postojećeg bi bio, kada bi se iz:

Petar je otac Zoranu Zoran je otac Milanu izvelo znanje: Petar je djeda Milanu Bitan element modula za zaključivanje je strategija pretraživanja - razvijanje zahtijevanog znanja. Modul za zaključivanje odlučuje koja je od hipoteza (šablona – pravila), i da li je ijedna, zadovoljena. Dva su osnovna koncepta zaključivanja zastupljena u većini ekspertnih sistema: povratno ulančavanje, koje predstavlja proces rezonovanja s vrha ka dnu, i direktno ulančavanje zasnovano na procesu rezonovanja od dna ka vrhu. Povratno ulančavanje je rezonovanje od činjenica prema zaključku koji slijedi iz tih činjenica. Na primjer, ako vidimo da pada kiša prije nego što napustimo kuću (činjenica) trebamo ponijeti kišobran (zaključak). Direktno ulančavanje uključuje obratno rezonovanje, počinje se od hipoteza, da bi se potencijalni zaključak dokazao, i ide se ka činjenicama koje potvrđuju postavljene hipoteze. Na primjer, ukoliko ne pogledamo napolje prije izlaska iz kuće, a neko uđe u kuću sa mokrim cipelama i kišobranom, naša hipoteza je da vani pada kiša. Da bi se potvrdila ova hipoteza, može se pitati osoba koja je ušla u kuću da li napolju pada kiša. Ukoliko je odgovor potvrdan, naša hipoteza je dokazana i postaje činjenica, na osnovu koje se može izvesti zaključak da je potrebno ponijeti kišobran. Naime, hipoteze se mogu posmatrati kao činjenice čija je istinitost pod pitanjem i tek treba da se utvrdi, odnosno kao cilj koji je neophodno potvrditi. Izbor paradigme zaključivanja, uz moguću kombinatorijalnu eksploziju, jako utiče na ukupne performanse ekspertnog sistema.

Modul za zaključivanje se sastoji od:  uparivača šablona – odlučuje koje pravilo da aktivira s obzirom na sadržaj radne memorije. Ovo je suštinski težak zadatak. Ukoliko svako pravilo ima par premisa i radna memorija sadrži stotine činjenica, uparivač šablona bi mogao da pretražuje milione kombinacija činjenica, kako bi pronašao one koje zadovoljavaju pravila. Na sreću, ogromna pažnja istraživača je posvećena ovom problemu u pronađen je veliki broj efikasnih algoritama za

pretraživanje. Ipak, za većinu ekspertnih sistema, uparivač šablona je još uvijek najskuplji dio.  agende – kada uparivač šablona utvrdi koje pravilo treba biti aktivirano, preostaje da se odredi redosljed izvršavanja aktiviranih pravila. Lista pravila koja su aktivirana se nalazi u agendi. Zadatak agende je upotreba strategija za rješavanje konflikata, kako bi se odlučilo koje od aktiviranih pravila ima najveći prioritet, i treba biti izvršeno prvo. I ovo je potencijalno veliki problem, i skoro svaki ekspertni sistem ima svoj sopstveni pristup. Uobičajeno, strategija rješavanja konflikata mora uzeti u obzir specifičnost ili kompleksnost svakog pravila i relativnu starost činjenica koje zadovoljavaju premise u agendi. Pravila takođe mogu imati specificirani prioritet, povezan sa njima, tako da su neka pravila važnija i moraju se uvijek izvršiti prije nego neka druga. Kao primjer se mogu posmatrati dva pravila koja bi se koristila u programu za vožnju auta od strane robota. Prvo bi bilo: AKO svijetlo je zeleno TADA kreni , dok bi drugo bilo AKO čovjek je ispred tebe TADA stani. Ukoliko je robot stao na crveno svijetlo, i upali se zeleno kada se neko još uvijek nalazi na pješačkom prelazu, oba se pravila aktiviraju. Važno je da se prvo izvrši drugo pravilo. Dakle, drugom se pravilu mora dati veći prioritet.  mašine za izvršavanje – kada se utvrdi koje pravilo je potrebno prvo izvršiti, mašina za izvršavanje to i čini.

Grubo se može reći da modul za zaključivanje funkcioniše u diskretnim ciklusima:

  1. Sva pravila (šabloni) se upoređuju sa radnom memorijom (koristeći uparivač šablona) da bi se odlučilo koja se pravila trebaju aktivirati u toku tekućeg ciklusa. Ova lista sa neutvrđenim redoslijedom izvršavanja aktiviranih pravila, zajedno sa pravilima aktiviranim u prethodnoj iteraciji naziva se lista konflikata.
  2. Kada se utvrdi redosljed izvršavanja pravila, lista konflikata postaje agenda – lista pravila čija će desna strana biti izvršena. Proces određivanja redoslijeda izvršavanja pravila se naziva rješavanje konflikata. Strategija za rješavanje konflikata će zavisiti od velikog broja faktora, pri čemu će mali broj njih biti pod kontrolom programera.
  3. Ciklus se završava izvršavanjem pravila koje je na prvom mjestu u agendi (što će vrlo vjerovatno promijeniti sadržaj radne memorije), i cijeli proces se ponavlja. Problem procesiranja znanja i njegovo prikazivanje su osnova na kojoj se zasniva kompletna teorija vještačke inteligencije, pa tako i teorije izgradnje ekspertnih sistema. Ova problematika je posebno istraživana sredinom 70-tih godina, tako da se do danas razvio čitav niz metoda i programskih alata, gdje je sve bazirano na matematičkim disciplinama, i to: statistici i teoriji vjerovatnoće, matricama i teoriji grafova, običnoj, višedimenzionalnoj i tzv. "neizrazitoj" (fuzzy) logici, predikatskom računu, itd.

Vremenom se izdvojio čitav niz metoda, koje danas dominiraju u izgradnji jezgra ekspertnih sistema:

 automatsko dokazivanje teorema,  ekspertni sistemi zasnovani na matematičkoj logici,  semantičke mreže,

jednostavna pretpostavka je jedan od rubnih kamenova kompletne teorije i prakse ekspertnih sistema. Postavlja se pitanje, kako popuniti bazu znanja i kako pravilno definisati modul za zaključivanje, odnosno kako „naučiti“ konkretni ekspertni sistem?

Proces pribavljanja znanja je veoma složen i može se rasčlaniti u nekoliko jasno izdvojenih postupaka. Ti postupci predstavljaju neku vrstu algoritma za sve koji izgrađuju bilo koji ekspertni sistem, odnosno ponavljaju obavljanje određenih zadataka. Zadaci bitni za zahvatanje znanja su:

  1. Definisanje neophodnosti proširenja i modifikacije znanja;
  2. Dobijanje potpuno novih znanja o sistemu;
  3. Formiranje novih znanja u obliku koji sistem poznaje;
  4. Usklađivanje starih i novih znanja i prelazak na korak 1.

Navedeni postupci su pokazali da nova generacija ekspertnih sistema mora biti zasnovana na izgradnji modula za zahvatanje znanja, koji omogućava automatizaciju zahvatanja znanja u ekspertnim sistemima.

Pored izgradnje modula za zahvatanje znanja i automatizacije zahvatanja znanja, pojam automatsko učenje predstavlja treću stepenicu u razvoju i pojedini autori je smatraju jedinim pravim početkom teorije i prakse ekspertnih sistema. Ovo mišljenje je bazirano na mogućnosti ekspertnog sistema da samostalno i automatski indukcijom pravila dolazi do potpuno novih zaključaka. Jasno je da i modul za zahvatanje znanja mora imati programe za analizu i sintezu saopštenja od strane eksperta, koji se obično nazivaju mehanizmi uvođenja informacija, da bi se dobio oblik pogodan za logičku obradu i kasniju predaju novih znanja i pravila jezgru ekspertnog sistema.

Međutim, induktivno učenje je samo jedna od mogućnosti. Ovdje je od bitnog značenja program koji se može uslovno nazvati intelektualni redaktor. Dužnost intelektualnog redaktora je da prihvati strukturu svih oblika znanja i da stalno obavlja poređenje novih znanja, od strane eksperta, i starih znanja, koja se nalaze u jezgru ekspertnog sistema.

Način na koji intelektualni redaktor obavlja ovu funkciju određuje i sam tip automatskog zahvatanja znanja, odnosno učenja:

 induktivno, ili posebna vrsta analognog,  jezičko konceptualno,  eliminaciono, uz pomoć stabla grananja,  zvjezdasto,  uz pomoć uzoraka, itd. Svaka od ovih metoda ima svoje prednosti i nedostatke, a mogu se koristiti i njihove kombinacije.

Zajedničko za sve oblike i tipove zahvatanja znanja je tzv. opšti mehanizam učenja i samostalnog zaključivanja.

Da li se radi o induktivnom, jezičko konceptualnom i/ili nekom drugom obliku zahvatanja znanja, odlučuju modeli pojmova i/ili pravila. Očigledno, radi se o sistemu sa povratnom vezom, gdje se novostvoreni pojam i/ili pravilo ukomponuju samo ako su prošli dodatni test mehanizma zaključivanja i eksperta.

Jedna od važnih karakteristika ovog načina učenja je i stalni dijalog sa ekspertom. Sistem donosi svoje zaključke i postavlja pitanja svome "učitelju", te pokazuje svoja rješenja. Za ovakav tip konverzije zadužen je podsistem za dijalog.

Podsistem za dijalog, u širem smislu, u sebi sadrži i analizu i sintezu saopštenja, isto kao i modul za interpretaciju znanja. U zajednici sa intelektualnim redaktorom predstavlja modul za zahvatanje znanja.

2.4 Prednosti ekspertnih sistema

Može se zaključiti, imajući na umu arhitekturu ekspertnih sistema, da je njihova realizacija zahtijevna i skupa. Moguće je postaviti pitanje: zašto razvijati ekspertne sisteme kad postoje ljudi eksperti? Odgovor na to pitanje se može dobiti kroz definisanje prednosti u primjeni ekspertnih sistema [1]. Prednosti u primjeni ekspertnih sistema su:

Povećana dostupnost. Ekspertiza je dostupna na bilo kojem pogodnom računaru/hardveru. Može se reći da ekspertni sistemi predstavljaju mas produkciju ekspertize.  Smanjena cijena. Ekonomski gledano cijena ekspertnog sistema je niska u poređenju sa izdacima za rad eksperta. Tamo gdje je potrebno mnogo stručnjaka jeftinije je primijeniti ekspertni sistem. Ujedno je lakše obezbijediti više računara nego obučiti stručnjake za neku oblast. Dakle, cijena obezbijeđivanja ekspertize po korisniku je u velikoj mjeri smanjena.  Smanjena opasnost. Ekspertni sistemi se mogu koristiti u okruženjima koja mogu biti opasna po čovjeka (nuklearne elektrane i sl.).  Postojanost. Za razliku od ljudi eksperata, koji se mogu penzionisati, dati otkaz ili umrijeti, znanje ekspertnog sistema, teorijski gledano, može trajati beskonačno dugo. Osim toga, sposobnosti eksperta vremenom opadaju jer čovek stari i nije uvek i permanentno u situaciji da drži korak sa tehnološkim promjenama, dok su mogućnosti ekspertnog sistema nezavisne od vremena, zdravlja ili emocija.  Višestruka ekspertiza. Korišćenjem ekspertnih sistema za rješavanje problema, znanje više eksperata (ugrađeno u bazu znanja) može biti korišćeno istovremeno i neprekidno, i u bilo koje doba dana ili noći. Nivo ekspertize dobijene kombinovanjem znanja više eksperata može prevazići nivo ekspertize jednog eksperta. Osim toga, ekspertni sistem uvijek postavlja predviđena pitanja, koja bi možda ekspert zaboravio da pita.  Povećana pouzdanost. Pri donošenju odluke, ekspert može da bude pod uticajem okoline i da bude subjektivan. Menadžer, na primjer, mora kvalitetno i efikasno da donese odluku, u ograničenom vremenu koje mu je dato za to ili u stresnim situacijama kojima je izložen. Ekspertni sistem za iste ulazne parametre uvek donosi iste odluke. Na njega okolina ne utiče, pa zato kažemo da je on konzistentan.  Obezbijeđivanje objašnjenja. Ekspertni sistem može eksplicitno i do detalja objasniti rezonovanje koje ga je dovelo do određenog zaključka. Ovo povećava pouzdanost da je donijeta odluka korektna. Čovjek ekspert može biti previše umoran, nedostupan ili nevoljan da ovo čini sve vrijeme. Drugi razlog za postojanje mogućnosti obezbijeđivanja objašnjenja rezonovanja se javlja u fazi razvoja ekspertnog sistema. Naime, sistem za objašnjenje potvrđuje da je

Velika prednost čovjeka je što informacije prima svim svojim čulima: vidom, sluhom, dodirom i mirisom, a ekspertni sistem manipuliše isključivo simbolima u vidu slova i brojeva. Percepcija je cjelovit čulni doživljaj objektivne stvarnosti. Na osnovu iskustva, čovjek je u stanju da iz ukupno percipiranih informacija izdvaja bitne od nebitnih i iz haotične mase utisaka organizuje cjelinu opažaja. Čovek na čulni doživljaj stvarnosti odmah reaguje, pošto su centri opažanja povezani sa centrima za motoriku. Percepciju je nemoguće prenijeti na računar (računari imaju samo ograničenu mogućnost unosa slike i zvuka). Sve one informacije koje čovjek percipira čulima moraju biti transformisane u simbole. Ovom transformacijom gubi se znatna količina informacija.

Ekspertni sistem ne poseduje širinu sagledavanja problema. Fokusira se samo na glavni problem. Uzimanje u obzir djelova koji se odnose na glavni problem, ali su odvojeni od njega, zahtjeva obradu velikog broja drugih, sporednih informacija.

Zdrav razum

Racionalan čovjek se koristi zdravim razumom pri odlučivanju i u tome je racionalno ekspeditivan. Na primer, ako se pojavi nekakav nelogičan podatak, on će ga odmah uočiti i bez oklijevanja eliminisati iz daljeg razmatranja, dok ekspertni sistem mora da pretraži sve svoje podatke, da izgubi dosta vremena, da bi na kraju utvrdio nekonzistentnost podataka. Ako nekog čovjeka pitate za adresu ili telefon Petra II Petrovića Njegoša, on će vam se odmah nasmijati u lice. Ako isto pitanje postavite računaru, on prvo mora da pretraži svoju cjelokupnu bazu podataka o licima i adresama da bi odgovorio da tako nešto ne postoji.

Postojeći ekspertni sistemi imaju još uvijek značajna ograničenja i zahtijevaju intenzivan istraživački rad kako bi se izvršilo njihovo usavršavanje.

Odlike većine postojećih ekspertnih sistema mogu se svesti na sledeće:  Ograničeni su na usko područje ekspertize. Kako se područje primjene širi, tako broj mogućnosti koje treba obrađivati eksponencijalno raste, a efikasnost sistema eksponencijalno opada.  Jezici i sredstva za predstavljanje znanja imaju ograničene izražajne mogućnosti.  Interfejs ka korisniku (ulaz/izlaz) većine ekspertnih sistema je krut i nije na prirodnom jeziku.  Proces izgradnje ekspertnog sistema nije u potpunosti dostigao naučnu egzaktnost, već još uvek, u velikoj mjeri, zavisi od vještine pojedinca.  Neophodno je postojanje stručnjaka – autoriteta u oblasti, radi održavanja konzistentnosti elemenata u bazi znanja koji se preklapaju.  Opasnost od jednostranog viđenja predmetne problematike, s obzirom na uobičajeno oslanjanje na samo jednog stručnjaka iz oblasti.  Nepostojanost ponašanja, koja se ogleda u tome da i najbolji ekspertni sistemi mogu dati pogrešne odgovore.  Otežano rukovanje većinom ekspertnih sistema.  Zbog svojih ograničenja, ekspertni sistemi se prvenstveno koriste kao savjetnici i asistenti u riješavanju problema. U budućnosti se očekuje veća postojanost ponašanja i veća autonomnost sistema, tako da se prevaziđe uloga inteligentne pomoći.

2.5. Opravdanost razvoja ekspertnih sistema

4

- primjena i

domeni

Osnovna pitanja koja se postavljaju pred svakog budućeg korisnika ekspertnih sistema su:

 Da li je ekspertni sistem pogodan za riješavanje postavljenih zadataka?  Koji su elementi odgovarajućih djelatnosti najpristupačniji za izgradnju ekspertnih sistema? Jedan od najvažnijih zahtjeva je da u izgradnji ekspertnih sistema učestvuju vrhunski specijalisti iz svoje oblasti. To su ljudi koji imaju veliko iskustvo profesionalnog rada u analiziranoj predmetnoj oblasti. Bez takvih saradnika, rad na izgradnji ekspertnih sistema može biti uzaludan. Dakle, neophodno je imati makar jednog eksperta koji je voljan da učestvuje u izgradnji ekspertnog sistema. Naime, izrada ekspertnog sistema podrazumijeva ispitivanje znanje eksperta koji učestvuje i potragu za mogućim greškama, stoga nisu svi eksperti voljni da učestvuju u ovom procesu. Čak i u situacijama kada postoji veći broj eksperata koji su voljni da učestvuju u izgradnji ekspertnog sistema, mudro je ograničiti njihov broj. Različiti eksperti mogu imati različite pristupe riješavanju jednog istog problema, a nekada čak mogu doći i do različitih zaključaka. Pokušaj da se iskodira više načina riješavanja jednog problema može dovesti do unutrašnjih konflikata i nekompatibilnosti u ekspertnom sistemu. Dakle, sledeći bitan element je da se ocjene pojedinih eksperata u osnovi podudaraju. Eksperti moraju znati da jasno objasne metode koje koriste pri riješavanju zadataka definisane predmetne oblasti. Ako su odgovori nejasni, specijalisti za izgradnju ekspertnih sistema neće uspeti da "preuzmu" znanja i ugrade ih u odgovarajuće programe.

Sledeća karakteristika je da postavljeni zadatak ne smije da bude isuviše težak. Ako ekspert ne može izvršiti obuku početnika odgovarajuće kvalifikacije (ako mu je zadatak nerazumljiv), ili ako su ekspertu potrebni dani i nedelje, a ne sati za riješavanje problema, to je verovatno isuviše složeno i za inženjera znanja koji treba da izvrši projektovanje ekspertnog sistema. Međutim, ako je moguće izvršiti dekomponovanje zadatka na podzadatke, onda za svaki podzadatak može biti izgrađen odgovarajući ekspertni sistem. Izgradnja ekspertnog sistema je opravdana i u onim slučajevima ako nema na tržištu dovoljno eksperata a njihove usluge su skupe.

Ekspertni sistemi veliku opravdanost imaju i u onim zadacima gde je potrebno na više mesta imati eksperte, kao na primer na platformama za istraživanje nafte, gdje na svakoj platformi mora biti makar jedan specijalista. Na kraju, razrada ekspertnih sistema je opravdana i u slučajevima nepogodnim za čoveka, kao što su atomski reaktori, kosmičke stanice ili posjeta drugim planetama.

Ključni faktori u opredjeljenju smisla izgradnje ekspertnih sistema su karakter, složenost i širina postavke zadatka koji je potrebno riješiti. Karakter ekspertnih sistema mora biti takav da se riješavanje zadatka izvodi manipulacijom simbolima i simboličkim strukturama, što je i osnovna razlika od klasičnog programiranja.

Takođe je većina zadataka za koje je opravdana izgradnja ekspertnih sistema heuristička po svojoj prirodi. Konvencionalni kompjuterski problemi se mogu koristiti za riješavanje problema koji imaju algoritamsko rješenje. Zadaci koji se mogu riješiti korišćenjem algoritama, tj. formalnih procedura, garantujući dobijanje tačnog rješenja

(^4) Veći dio teksta je preuzet iz [4]

primjene. Ne može se ekspertni sistem projektovati za svaku primjenu, ni za svaki obim posla. Kada se onda to čini? To se čini ako je razvoj moguć, opravdan i odgovarajući.

Da bi razvoj ekspertnog sistema bio moguć, potrebni su sledeći uslovi:  riješavanje problema ne zahtijeva rasuđivanje zdravog razuma,  zahtijeva misaone vještine,  eksperti mogu da definišu metode riješavanja problema i oni su jedinstveni,  problem nije suviše složen,  problem je razumljiv.

Razvoj ekspertnog sistema je opravdan ako:

 postoji ekonomska isplativost, ekspertni sistem se razvija za praktičnu namjenu,  eksperti često napuštaju radno mesto,  eksperti su rijetki,  potrebna je ekspertiza na mnogo mjesta,  radno mesto je nepodesno ili čak štetno za čoveka, zbog kontaminiranosti ili drugog razloga koji ugrožava život, pa čovjeka zamijenjuje računar.

Razvoj ekspertnog sistema je odgovarajući u slučaju da:

 riješavanje problema zahtijeva rukovanje simbolima,  koriste se heuristička rješenja,  problem nije suviše jednostavan,  rješenje ima praktičnu primjenu,  riješavanje problema nije suviše obimno.

2.6 Odnos sistema za podršku odlučivanju i ekspertnih

sistema

U savremenom okruženju podrazumijeva se da je svaka ozbiljna, profesionalna djelatnost podržana osmišljenim, najčešće računarom podržanim informacionim sistemom. Dakle, informacioni sistem koji vrši akviziciju, bilježi transakcije i pruža izvještaje o stanju realnog sistema smatra se realnošću koja pruža potrebne, ali ne i dovoljne uslove za odlučivanje. Iz tih razloga je zapravo i došlo do razvoja disciplina o kojima je reč – sistema za podršku odlučivanju i ekspertnih sistema.

Sistem za podršku odlučivanju pretpostavlja postojanje neke vrste baznog informacionog sistema nad koji se nadgrađuje. S obzirom na kompleksnost problema koje obrađuje, to obično znači računarski i interaktivni sistem rada, mada u principu (ali samo teoretski) računar nije neophodan uslov funkcionisanju sistema za podršku odlučivanju.

Osnovni cilj sistema za podršku odlučivanju i ekspertnog sistema je u osnovi isti, utoliko što je namjena oba sistema povećanje kvaliteta odlučivanja. Ipak, filozofija koja leži u osnovi njihove izgradnje je dosta različita. Cilj sistema za podršku odlučivanju je da podrži korisnika kod donošenja (slabo struktuiranih) odluka, obezbijeđujući mu brz i jednostavan pristup do podataka, modela i znanja. Na

drugoj strani, cilj ekspertnih sistema je da obezbijedi korisniku zaključak ili odluku koja je tačna u svako doba (ili bar tačnija od bilo koje koju bi korisnik mogao da donese bez ekspertnog sistema). Dakle, sistem za podršku odlučivanju pomaže pri odlučivanju, dok ekspertni sistem "odlučuje". Osim toga, ekspertni sistem se ne može koristiti kod slabo struktuiranih procesa odlučivanja.

Poređenjem operativnih razlika, zaključujemo da sistem za podršku odlučivanju dozvoljava korisniku suočavanje sa problemom na ličan, fleksibilan način, obezbijeđujući mu mogućnost manipulacije podacima i kontrolu njihove upotrebe u toku procesa odlučivanja. Ekspertni sistem korisniku ostavlja malo, ili nimalo, fleksibilnosti pri analizi problema. Umjesto toga, izvodi se odgovarajući segment znanja na način koji je određen mehanizmom za zaključivanje.

S obzirom da ekspertni sistem djeluje kao nezavisan konsultantski sistem, a sistem za podršku odlučivanju kao mehanizam za podršku odlučivanju, njihovi koncepti ni u kom slučaju nisu oprečni; sve više se radi na njihovom približavanju – do integrisanja, po nekoliko osnova: ekspertni sistem može biti generator alternativa – samostalno ili kao dio sistema za podršku odlučivanju, ali i obratno, memorisano znanje i odgovarajuća pravila sistema za podršku odlučivanju mogu postati dio ekspertnog sistema. Hoće li ekspertni sistem dominantno postati dio sistema za podršku odlučivanju, ili obrnuto, nije u krajnjoj liniji od presudnog značaja.

Rješavanje problema pretraživanjem

Klasično pretraživanje koje smo koristili u kursevima programiranja sastoji se u nalaženju nekog podatka u skupu podataka organizovanih na određeni (poznati) način. Pretraživanje se vršilo na osnovu određene karakteristike podatka koji se traži. U ekspertnim sistemima pretraživanje ima drugačiji smisao. Podsjetimo se, zadatak ekspertnog sistema je rješavanje problema koji se inače teško može riješiti metodama klasičnog programiranja. Kada su u pitanju problemi koje je potrebno rješavati inteligentnim agentima, najčešće je prvo potrebno odgovoriti na pitanja: šta tražiti i gdje tražiti. Dok se za prvo pitanje može reći da je ključ pretraživanja , drugo se odnosi na tzv. prostor pretraživanja. Kada je u pitanju vještačka inteligencija, prostor pretraživanja se odnosi na skup mogućih stanja , pa se češće naziva prostorom stanja. Stanje se može posmatrati kao snimak okruženja u jednom trenutku vremena. Za razliku od uobičajenog prostora pretraživanja, prostor stanja u problemima VI nije uvijek poznat u cjelosti prije rješavanja problema.

Proces rješavanja problema pretraživanjem se može organizovati u dvije faze. Prva faza je predstavljanje problema korišćenjem odgovarajućeg dobro organizovanog prostora stanja, dok je druga faza testiranje postojanja dobro definisanog cilja u tom prostoru stanja. Rješavanje problema pretraživanjem u ekspertnim sistemima se odnosi na identifikaciju rješenja nekog problema (cilja) i određivanje optimalne putanje koja vodi do tog rješenja kroz jedan ili više mogućih prelaza od datog startnog stanja. Može se reći da agent (softver) za rješavanje problema odlučuje šta da radi pronalaženjem sekvence akcija koje će ga odvesti do željenog stanja (rješenja). Od inteligentnih agenata se očekuje da maksimizuju mjeru svog učinka. Ponekada je rješavanje problema pojednostavljeno ukoliko agent može da prilagodi svoj cilj kako bi ga lakše ostvario.

Procedura rješavanja problema pretraživanjem se najbolje može shvatiti kroz analizu konkretnog problema. Zamislimo da se agent nalazi na ljetovanju u Budvi.

Sada se rješenje postavljenog zadatka svodi na formulisanje cilja i problema koji se treba riješiti, pozivanje procedure pretraživanja koja će utvrditi sekvencu akcija koja prevodi iz početnog stanja, preko niza mogućih stanja, do ciljnjeg stanja, i izvršavanje tih akcija. Izvršavanje akcija se najčešće svodi na izvršavanje prve akcije u sekvenci utvrđenih akcija, uklanjanje izvršene akcije i ponavljanje ove procedure sve dok se ne dođe do cilja.

Pseudokod za ovakav način rješavanja problema bi bio: function akcija=jednostavno_rjesenje_problema(opažanje) seq, sekveca akcija, inicijalno prazna stanje, neki opis trenutnog stanja svijeta cilj, cilj koji u početku nije definisan problem, formulacija problema stanje = obnoviStanje(stanje, opažanje) if seq==prazna cilj = ustanoviCilj(stanje) problem = formulišiProblem(stanje,cilj) seq=Pretražuj(problem) akcija=Prva(seq) seq=preostale_akcije(seq) return akcija

Prikazan je jednostavan način za rješavanje problema koji se svodi na definisanje cilja i problema, pretraživanje za sekvencom akcija koje bi riješile postavljeni problem, i sekvencijalno izvršavanje akcija.

Prilikom rješavanja problema gore opisanim postupkom, nakon utvrđivanja koja se akcija treba izvršiti, ta akcija se sprovodi ne obazirući se na stanje u svijetu (put zatvoren zbog radova), računajući da će utvrđena akcija uvijek dovesti do dobrog rješenja. Ovakav pristup se može koristiti u slučajevima kada je stanje svijeta statičko

  • ne mijenja se ukoliko agent ne djeluje na njega. Takođe se implicitno smatra da je stanje svijeta diskretno , odnosno da postoji ograničeni broj potpuno definisanih stanja i akcija. Smatra se da je početno stanje poznato i da je stanje svijeta deterministiško (nasuprot stohastičkog) – sledeće stanje svijeta je kompletno definisano pomoću trenutnog stanja i akcije koju preduzima agent (ako je okruženje determinističko osim u slučaju akcije drugih agenata, tada je okruženje strategijsko ).

3.1. Definisanje problema i rješenja

Dobro definisan problem i opis stanja svijeta će u velikoj mjeri olakšati nalaženje rješenja (postizanje cilja). Rekli smo da kada se zna šta je cilj, može se i prostor mogućih stanja suziti i olakšati pretraga, odnosno smanjiti zahtjevi koji se postavljaju pred agenta. Prilikom definisanja prostora stanja treba odbaciti sve nevažne detalje iz stvarnog svijeta, koji se želi modelirati, vodeći računa da su prostorom stanja opisane sve pojedinosti bitne za rješavanje analiziranog problema. Prostor stanja mora obuhvatiti sva moguća stanja prilikom rješavanja problema. Najbolje bi bilo, ukoliko je moguće, prostor stanja definisati bez direktnog nabrajanja pojedinih stanja (kojih često ima beskonačno mnogo). U primjeru u kojem nam je cilj stizanje na let, nijesmo uzeli u obzir stanje na putu, gužvu, količinu goriva u automobilu, vremenske uslove i slično, jer bi to dodatno proširilo prostor stanja i zahtijevalo dodatne odluke od agenta. Proces uklanjanja detalja iz reprezentacije svijeta naziva se apstrakcija.

Prostor stanja se sastoji od: skupa početnih stanja, skupa dozvoljenih stanja, skupa prelaza (operatora) i skupa završnih stanja. Struktura prostora stanja odgovara strukturi problema koji se rješava i definiše se imajući na umu način rješavanja problema, prevođenje iz početnog u željeno stanje upotrebom dozvoljenih prelaza.

Predstavljanje problema u prostoru stanja zasniva se na definisanju:  Početnog stanja (stanje od kojeg se započinje pretraživanje). Početnih stanja može biti više. U primjeru u kojem je potrebno stići na avion koji polijeće iz Podgorice, a agent se nalazi u Budvi, imamo samo jedno početno stanje U(Budvi).  Skupa dozvoljenih akcija, tj. operatora. Akcije-operatori su prelazi iz određenog stanja u drugo stanje iz skupa mogućih stanja. Ukoliko se agent nalazi u nekom stanju xi primjenom operatora operatora opi se može prevesti u stanje xj , što se može predstaviti kao

opi:xi  xj

Ovdje je bitno primijetiti da se ne može uvijek svaki operator primijeniti na svako stanje. Uz svaki operator se najčešće vezuju određeni uslovi koje mora zadovoljavati stanje u kojem se nalazi agent, da bi se taj operator mogao primijeniti. Operatori se mogu opisivati na različite načine u zavisnosti od konkretnog problema. Jedan od mogućih načina opisivanja operatora je preko funkcije sljedbenika opi : (trenutno_stanje, sljedeće_stanje), uslovi_primjene(niz_uslova). U našem primjeru bi imali tri operatora koja se mogu primijeniti na početno stanje, i to {(Budva,Petrovac),(Budva,Kotor),(Budva,Cetinje)}. Ne bi se mogao primijeniti operator (Budva, Herceg Novi) , nijesu susjedni gradovi – Što je i uslov za primjenu operatora.

Početno stanje uz pomoć funkcija sljedbenika za početno i sva iz njega dostupna stanja definiše prostor stanja za razmatrani problem – skup svih stanja do kojih se može doći iz početnog stanja. S obzirom na način definisanja prostora stanja, kao logičan izbor za prikaz prostora stanja se odabiraju grafovi u kojima su čvorovi stanja, a lukovi (grane) koji povezuju pojedine čvorove su operatori. Graf se formira tako što se pođe od početnog stanja, a zatim se korišćenjem nekog od dostupnih operatora generiše novo stanje (čvor) sljedbenik stanja (čvora) iz kojeg je generisan. Polazni čvor (roditelj) se spaja sa generisanim čvorom granom koja se označava imenom operatora koji je primijenjen za njegovo generisanje. Proces generisanja čvorova se nastavlja sve dok se ne dostigne ciljno stanje. Putanja u ovako generisanom grafu je sekvenca stanja koja su povezana sekvencom operatora. Putanja koja povezuje početno sa ciljnjim stanjem čini rješenje problema. Politiku generisanja čvorova određuje strategija pretraživanja.

Testa na ciljno stanje kojim se provjerava da li je trenutno stanje ciljno stanje. U našem primjeru ciljno stanje je jasno definisano – biti u Podgorici. U ovakvim slučajevima, kada imamo jasno definisano jedno ili više mogućih ciljnih stanja, test na ciljno stanje je jednostavan – provjerava se da li smo u nekom od mogućih ciljnih stanja. Međutim, cilj nije uvijek definisan kao skup stanja, već se može određivati nekim svojstvima koja moraju biti zadovoljena kada se dođe do cilja (na primjer pozicija na šahovskoj tabli takva da napadamo protivničkog kralja, a da on nema načina da se odbrani).