Professional Documents
Culture Documents
Ekspertni Sustavi, AI Seminar
Ekspertni Sustavi, AI Seminar
Ekspertni sustavi
Seminarski rad iz kolegija Umjetna inteligencija
Fakultet strojarstva i brodogradnje
Luka Drobilo
Ekspertni sustavi
Sadržaj
Ekspertni sustavi – pojam ........................................................................................................................ 2
Prednosti ekspertnih sustava .................................................................................................................. 2
Arhitektura ekspertnih sustava ............................................................................................................... 3
Svojstva ekspertnih sustava .................................................................................................................... 6
Inženjerstvo znanja .................................................................................................................................. 8
Prikupljanje znanja .......................................................................................................................... 9
Razlika od konvencionalnih programa .................................................................................................. 10
Baze pravila ........................................................................................................................................... 11
Ulančavanje ........................................................................................................................................... 12
Ulančavanje unaprijed ................................................................................................................... 12
Ulančavanje unatrag ...................................................................................................................... 13
Koju metodu koristiti? ................................................................................................................... 14
Primjena ................................................................................................................................................ 14
Primjer: Ekspertni sustav inteligentnoga dizelskog motora .................................................................. 15
Zaključak ................................................................................................................................................ 18
Literatura ............................................................................................................................................... 19
1
Ekspertni sustavi
Ekspertni sustavi – pojam
Ekspertni sustav (ES) je program koji je projektiran tako da svojim modelom oponaša
sposobnosti rješavanja problema ljudskog eksperta u nekom području.
Pod ekspertnim sustavima podrazumijeva se uspostavljanje dijela vještine nekog eksperta
unutar samog računala i to u takvom obliku da sustav može ponuditi inteligentan savjet ili donijeti
inteligentnu odluku o operaciji koja je u tijeku. Ekspertni sustav posjeduje i karakteristiku da na
zahtjev izloži svoju način razmišljanja tako da direktno obavještava korisnika koji postavlja pitanje.
Drugim riječima, ekspertni sustav je inteligentni računalni program koji koristi znanje i
postupke zaključivanja u procesu rješavanja problema i to takvih problema za čije je rješavanje
potreban visok stupanj stručnosti i iskustva iz područja kojima je ekspertni sustav namijenjen. Naziv
ekspertni potječe upravo od toga što se ovi sustavi ponašaju kao vrhunski stručnjaci (engl. expert) na
svom području. Njegovu osnovu čini poseban software koji modelira one elemente čovjekovog
rješavanja problema za koje se smatra da čine čovjekovu inteligenciju: zaključivanje, prosuđivanje,
odlučivanje na osnovu nepouzdanih i nepotpunih informacija i tumačenje svog ponašanja.
Ekspertni sustav mora omogućiti tri osnovna zadataka inženjerstva znanja:
prezentacija i memoriranje velike količine znanja problemskog pobručja u računalo
aktiviranje korištenja znanja problemskog područja za rješavanje problema
odgovor na korisnikovo pitanje
Dvije stvari se prije svega modeliraju u ekspertnom sustavu: znanje eksperta i njegovo
zaključivanje. Zato se ekspertni sustav među ostalim sastoji i od baze znanja i sustava zaključivanja
(inference engine). Znanje koje nam ekspert pruža može se predstavljati činjenicama, pravilima,
konceptima ili relacijama. Način i problem njegovog predstavljanja je reprezentacija znanja, dok način
i problem zaključivanja na osnovu baze znanja i zadatih upita je pitanje tehnike zaključivanja. Ekspert
je često neophodna osoba u mnogim organizacijama, i postavlja se onda pitanje zašto ga uopće
pokušavati zamijeniti strojem? Prije svega, donekle slično zamjeni nekih ljudi i njihovih poslova
strojevima tijekom industrijske revolucije, ekspertni sustav može biti koristan kao pomoć kada čovjek
nije raspoloživ ili jednostavno kao alat koji olakšava posao i omogućava automatizaciju nekih
postupaka, radi sa većim stupnjem formalizma koji isključuje mogućnost greške ili slabosti zbog
ljudskog faktora i sl. Postoji i jedna dodatna prednost ‐ znanjem kao općim dobrom ili kapitalom neke
organizacije se lakše upravlja, lakše se prenosi i primjenjuje jer ne ovisi u toj mjeri od pojedinca ‐
eksperta ako se koristi ekspertni sustav. Gotovo da i nema područja ljudskih djelatnosti gdje nije
napravljen neki ekspertni sustav i uspješno primijenjen, a njihov broj i dalje geometrijski raste.
Prednosti ekspertnih sustava
Ekspertni sustavi posjeduju niz korisnih svojstava:
Povećana dostupnost – stručnost je dostupna na svakom računalu primjerenih
performansi, moglo bi se zapravo reći da je ekspertni sustav jedan način masovne
proizvodnje stručnosti.
2
Ekspertni sustavi
Snižena cijena – Cijena pružanja stručnosti po korisniku je znatno snižena.
Povećanje sigurnosti – Ekspertni sustavi mogu biti korišteni u okruženjima koja mogu
biti potencijalno opasna po ljudsko zdravlje.
Trajnost – Stručnost je trajna. Zarazliku od ljudskih stručnjaka koji mogu otići u
mirovinu, dati otkaz ili umrijeti, znanje i stručnost ugrađeni u ekspertni sustav ne
posjeduju rok trajanja.
Višestruka stručnost – Pomoću ekspernih sustava znanje većeg broja stručnjaka može
biti iskorišteno da istovremeno i neprekidno radi na rješavanju problema u bilo koje
doba dana i noći. Razina stručnosti većeg broja stručnjaka znanjem i opširnošću znatno
nadmašuje znanje samo jednog stručnjaka.
Povećana pouzdanost – Ekspertni sustavi povećavaju pouzdanost u donošenje pravilne
odluke pružajući drugo mišljenje ljudskom stručnjaku ili mogu pomoći u donošenju
odluke u slučaju kada se veći broj ljudskih stručnjaka ne može usuglasiti oko rješenja.
Naravno ova metoda vjerojatno nije primjenjiva ako je jedan od tih stručnjaka
programirao sam ekspertni sutav budući bi se, ukoliko stručnjak nije počinio nekakvu
pogrešku, ekspertni sustav uvijek trebao slagati sa stručnjakom na bazi čijeg znanja je
oformljen.
Objašnjavanje – Ekspertni sustav može eksplicitno u detalje objasniti razmišljanje koje
ga je dovelo do nekog zaključka. Ljudski stručnjak bi možda bio preumoran, u
nemogućnosti ili bi nevoljko to radio cijelo vrijeme i uvijek kada je potrebno. Ovo
povećava pouzdanje u ispravnost donesene odluke.
Kratko vrijeme reakcije – Brza ili reakcija u stvarnom vremenu može nekad biti
krucijalna za neka područja primjene. Ovisno o korištenom softwareu i hardwareu,
ekspertni sustav može odgovarati na upite brže i spremnije od ljudskog stručnjaka.
Neke hitne situacije možda zahtjevaju reakciju bržu nego što ju je ljudski stručnjak u
mogućnosti pružiti pa se u takvim slučajevima ekspertni sustavi sa reakcijom u
stvarnom vremenu nameću kao dobro rješenje.
Uravnotežene, kompletne reakcije bez prisutstva osjećaja – Ovo svojstvo je
potencijalno izrazito bitno u stvarnim stresnim situacijama ili hitnim slučajevima kada
ljudski stručnjak možda nije u mogućnosti djelovati pri vršnoj učinkovitosti kao
posljedica stresa ili umora.
Inteligentni sustav za učenje – Ekspertni sustav može se koristiti i kao inteligentni
sustav za učenje koji omogućava učeniku pokretanje i proučavanje primjera te ujedno i
objašnjava način razmatranja sustava prema datim primjerima.
Inteligentna baza podataka – Ekspertni sustavi mogu biti korišteni za pristup bazi
podataka na inteligentan način.
Arhitektura ekspertnih sustava
Temeljna konfiguracija ekspertnih sustava uključuje tri glavna dijela:
baza znanja (engl. Knowledge Base – KB)
mehanizam zaključivanja (engl. Inference Mechanism ili Inference Engine – IE)
korisničko sučelje (engl. User Interface – UI)
3
Ekspertni sustavi
Slika 1
Baza znanja je baza činjenica i heuristika pridruženih problemu u području za koje je
namjenjen ekspertni sustav. Baza znanja uključuje činjenice, relacije između činjenica i moguće
metode za rješavanje problema u području date aplikacije. U predstavljanju znanja koriste se tzv.
proizvodna pravila (IF ‐ THEN), okviri i semantičke mreže. Prikupljanje znanja vrši se intervjuiranjem
stručnjaka i tzv. strojnim učenjem.
Mehanizam zaključivanja je software sposoban na osnovu pravila iz baze znanja shvatiti
informacije iz baze znanja i na osnovu toga izvoditi zaključke. On funkcionira na taj način da činjenice
iz baze znanja kombinira sa informacijama dobivenim od korisnika u cilju izvođenja specifičnih
zaključaka. Pri radu se koriste kontrolne strategije koje odlučuju u kojem trenutku treba primjeniti
neko od pravila iz baze znanja na nove činjenice dobivene tijekom konzultiranja sa korisnikom. Na taj
način se simulira ljudsko razmišljanje. Postoje dvije osnovne procedure zaključivanja, odnosno
rezoniranja:
zaključivanje koje počinje s tzv. potvrđenim pronalascima i djeluje unaprijed da
pronađe zaključak, tzv. zaključivanje vođeno podacima (engl. Forward chaining)
zaključivanje koje počinje s hipotezom i djeluje unatrag prema lako potvrđenim
pronalascima, tzv. zaključivanje vođeno ciljem (engl. Backward chaining)
Korisničko sučelje je dio koji omogućava dijalog između donosioca odluke (korisnika) i
sustava, služi za unos i prikaz podataka, prezentira moguće odluke, prikazuje informacije, pitanja,
odgovore te odvraća korisnika da unosi greške. Sa jedne strane omogućava korisniku da tijekom rada
sustava dostavi informacije koje sustav iz baze znanja nije uspio dobiti, a sa druge strane omogućava
korisniku da za svaku odluku ekspertnog sustava zatraži dodatno objašnjenje o tome koji su ga
zaključci vodili da donese takvu odluku odgovaranjem na pitanja “zašto'' i “kako”.
Ovakav sustav u teoriji umjetne inteligencije naziva se “zaključivanje na temelju pravila” (engl.
Rule‐based Reasoning). Ekspertni ili na znanju temeljeni sustavi jedan su od uspješnih područja iz
područja umjetne inteligencije. Više od 25 godina je prošlo od realizacije prvih ekspertnih sustava
(DENDRAL, MYCIN i PROSPECTOR). Arhitektura ekspertnih ili na znanju temeljenih sustava nije
4
Ekspertni sustavi
značajnije mijenjana i više je poznatih problema u njihovu razvoju: prikupljanje znanja vrlo je težak i
dugotrajan proces, implementacija i uspješno korištenje ovakvih sustava zahtijeva visoku stručnost i
iskustvo, implementirani ekspertni sustavi često su spori i teški za održavanje. Uz tri navedena
osnovna dijela, ekspertni sustavi sadrže i bazu podataka čime se mogućnosti sustava znatno proširuju
i povećavaju.
Slika 2
Suvremeni ekspertni sustavi imaju mogućnost prikupljanja znanja i učenja. Na slici 3
prikazana je puna konfiguracija ekspertnog sustava koji uz temeljnu konfiguraciju i bazu podataka
sadrži razvojni dio i modul za učenje. Razvojni dio ekspertnih sustava zadužen je za prikupljanje
znanja koje je moguće tzv. strojnim učenjem ili preuzimanjem znanja od stručnjaka. Prikupljanje
znanja kod ovakvih sustava u svakom je slučaju vrlo teško i zahtijeva tzv. eksperte za prikupljanje
znanja. Modul za učenje u suvremenim ekspertnim sustavima važan je dio koji omogućuje tzv.
samoučenje sustava. Glavni problemi ekspertnih sustava jesu nedostatak tzv. dubokog znanja, zatim
točnost rezultata i skupo učenje. Nedostatak “dubokog znanja” ustvari znači čest nedostatak uskih
specijalističkih znanja za uspješno rješavanje problema. Proces objašnjenja postupka zaključivanja
također je često nerazumljiv. Točnost rezultata često može biti upitna. Ovo je ozbiljan problem,
posebno u rizičnim područjima kao što je upravljanje zračnim prometom, upravljanje nuklearnim
pogonima, vojnim sustavima itd. Učenje temeljeno na iskustvu je oskudno. Proces zaključivanja nije
predmet unapređenja tijekom korištenja ekspertnih sustava.
5
Ekspertni sustavi
Slika 3
Svojstva ekspertnih sustava
Srce svakog ekspertnog sustava je znanje akumulirano u procesu izgradnje tog sustava.
"Znanje" ekspertnog sustava čine činjenice i heuristika (iskustvo i osjećaj za izbor rješenja).
Činjenice čine glavni dio podataka o prirodi sustava, njegovim aktivnostima i ciljevima koje
sustav ostvaruje kroz te aktivnosti. Određene pojave i manifestacije regularnog i neregularnog stanja
u sustavu imaju svoje uzroke i posljedice i također se opisuju skupovima podataka. Svi ovi podaci
uglavnom mogu biti raspoloživi, dokumentirani i verificirani u domeni ekspertnog sustava.
Heuristiku čine vlastita pravila rasuđivanja i vještina u izboru i donošenju odluka kojima se
utjče na promjenu stanja sustava. Ona je uglavnom slabo dokumentirana i osobina je vrhunskih
specijalista za područje za koje se ekspertni sustav kreira. Nivo performansi ekspertnog sustava je
prije svega funkcija veličine i kvalitete baze znanja tog sustava u kojoj su objedinjene činjenice i
heuristika, a ne određenog formalizma zaključivanja i postupka koji se koriste u pretraživanju
činjenica.
U principu razlikujemo dva tipa znanja:
eksplicitno znanje – znanje dato u pisanoj ili drugoj prijenosnoj formi i nalazimo ga
u knjigama, časopisima i sl. Ovo znanje je obično prihvaćeno kao univerzalno točno.
6
Ekspertni sustavi
implicitno znanje – heurističko znanje, ono znanje koje čovjek ekspert gradi na
osnovu iskustva i koje, kombinirano sa prvim tipom znanja čini čovjeka ekspertom.
Znanje je dostupno i može se prenositi putem knjiga i lekcija.
Slika 4
Važno svojstvo ekspertnog sustava je ekspertiza visokog nivoa koju osigurava kao pomoć u
rješavanju problema. Ta ekspertiza predstavlja najbolja razmišljanja vrhunskih eksperata u datom
području, sakupljena i ugrađena u program tako da u postupku rješavanja problema mogu dovesti do
preciznih i efikasnih rešenja.
Mogućnost predviđanja je svojstvo koje potječe iz mogućnosti da se ekspertni sustav koristi
kao model za rješavanje problema u datom području koji će, kao takav, davati odgovore na zadane
probleme i pokazivati kako će se ti odgovori mijenjati ovisno o novim situacijama.
Cjelokupno znanje ugrađeno u ekspertni sustav prikupljeno je kroz interakciju sa ključnim
osobljem u nekoj službi, odjelu ili području, tako da ono oslikava i tekuću politiku i način rada te
grupe. Na taj način, ova skup znanja postaje trajni zapis usklađenih najboljih metoda i postupaka koje
ti ljudi koriste pri rješavanju problema. I kad ti ljudi odu iz određene firme ovo znanje će ostati
sačuvano. Ovo je veoma važno u poslovnim sistemima, a kritično u vojsci i državnim ustanovama
zbog čestih premještaja i izmjene kadrova. Prikupljeno znanje je na taj način postalo institucionalna
memorija, koja ublažava (iako nikad ne može potpuno ukloniti) nedostatke proistekle iz čestih
fluktuacija ljudi.
Još jedno važno svojstvo svakog ekspertnog sustava je i mogućnost obučavanja. Ekspertni
sustav može biti oblikovan tako da omogući obuku novih kadrova. Oni već imaju određena znanja i
sposobnosti i potrebno je na njih prenijeti znanje i iskustvo prikupljeno i sačuvano u bazi znanja u
vidu institucionalne memorije. Neophodno je da program posjeduje mogućnost tečnog, prijateljskog
dijaloga sa čovjekom, kao i ugrađene metode učenja. Ekspertni sustav može biti podešen kako za
obuku stručnih ljudi, tako i za uvođenje u posao tek pridošlih početnika.
Ovisno o sustavu, načini objašnjavanja i razlaganja donesenih odluka mogu biti jednostavni ili
složeni. Jednostavni sustavi u pravilu samo navode činjenice koje su ih zaključivanjem doveli do
posljednjeg izvedenog pravila. Složeniji sustavi su sposobni učini i nešto od sljedećeg:
7
Ekspertni sustavi
Navesti sve razloge za i protiv određene hipoteze – Hipoteza je cilj koji treba biti
dokazan, pa tako kao primjer možemo uzeti zaključak medicinskog ekspertnog
sustava: “pacijent boluje od tetanusa”. U stvarnom problemu može postojati veći
broj hipoteza isto kao što i pacijent može imati više bolesti istovremeno. Na hipotezu
se također može gledati kao na činjenicu u čiju se istinitost sumnja i koja mora biti
dokazana.
Navesti sve hipoteze koje mogu objasniti dostupne dokaze
Objasniti sve posljedice hipoteze – Primjerice, ako pretpostavljamo da pacijent
boluje od tetanusa na njemu bi također trebali biti prisutni znakovi vrućice kako
infekcija napreduje. Ako su ovi simptomi stvarno prisutni oni dodaju na sigurnosti da
je hipoteza ispravna. Ako simptomi nisu prisutni sigurnost u točnost hipoteze se
smanjuje.
Dati prognozu ili predviđanje što će se dogoditi u slučaju da je hipoteza ispravna
Opravdati pitanja koja program postavlja korisniku kako bi dobio dodatne
informacije – Ova pitanja mogu biti korištena kako bi se usmjerio način razmišljanja u
smjeru vjerojatnih dijagnostičkih pravaca. U većini realnih problema razmatranje svih
mogućnosti je preskupo i traje predugo tako da je potrebno osigurati neki način
navođenja potrage prema točnom rješenju. Primjerice možemo razmotriti koliko bi
sredstava i vremena potrošili a kakvi bi bili efekti primjenivanja svih mogućih
medicinskih ispitivanja na pacijenta koji se žali na bol u grlu.
Opravdati znanje programa – Recimo da program tvrdi kako je hipoteza “pacijent
boluje od tetanusa” točna, korisnik bi od sustava mogao zatražiti objašnjenje.
Program bi mogao opravdati ovaj zaključak prema pravilu koje mu govori da ako
rezultati krvnog testa pokazuju da je pacijent pozitivan na tetanus, onda on stvarno i
boluje od tetanusa. Tada bi korisnik od sustava mogao zatražiti da opravda i to
pravilo na što bi on mogao odgovoriti kako je pozitivan krvni test dokaz bolesti.
Inženjerstvo znanja
Sveukupnost procesa izgradnje ekspertnog sustava naziva se inženjerstvo znanja, time se
obuhvaća skup metoda i postupaka koje se odnose na prikupljanje, računalno predstavljanje i
memoriranje, kao i upotrebu ljudskog znanja u rješavanju složenih problemskih situacija. Taj proces
uključuje posebnu vrstu interakcije između graditelja ekspertnog sustava, koga zovemo inženjer
znanja i jedne ili više osoba koje su eksperti u određenom problemskom području za koje se
ekspertni sustav izgrađuje.
Inženjer znanja od eksperata "vrši ekstrakciju" njihovih procedura, strategija i postupaka za
rješavanje problema i ugrađuje to znanje u ekspertni sustav. Rezultat procesa je skup programa koji
rješavaju probleme u datom području na način na koji to radi čovjek‐ekspert.
Kao što je prikazano na sljedećoj slici, u proces izgradnje ekspertnog sustava uključeni su:
ekspert, inženjer znanja i korisnik. U cijelom poslu važno mjesto zauzima i alat za izgradnju
ekspertnog sustava a ne smije se zaboraviti ni sam ekspertni sustav.
8
Ekspertni sustavi
Slika 5
Ekspert je osoba koja je stekla reputaciju u svojem području zbog stručnih sposobnosti
kvalitetnog rješavanja problema. On koristi svoje znanje, sposobnosti i vještine stečene kroz bogato
iskustvo kako bi skratio proces pronalaženja rješenja. Znanje eksperta je nadgradnja znanja koje se
može dobiti čitanjem knjiga. On ne može uvijek objasniti razloge svoje odluke, ne zato što ih ne želi
objasniti, već zato što se kroz svoje odluke vodi intuicijom. On isto tako vjerojatno zna mnogo više
nego što je svjestan. Ekspertni sustav treba obuhvatiti i objediniti te sposobnosti, vještine i iskustvo
jednog ili više eksperata. Znanje se, naravno, može prikupljati i iz stručnih knjiga i časopisa.
Inženjer znanja je osoba koja poznaje područje računalnih znanosti i umjetne inteligencije te
zna kako se izrađuju ekspertni sustavi. On kroz pitanja i razgovore sa ekspertom od njega prikuplja
znanje, organizira ga, odlučuje kako će ono biti prikazano u sustavu i piše programe, sam ili uz pomoć
drugih programera.
Korisnik je osoba koja koristi ekspertni sustav kad je njegova izrada i učenje gotovo i spreman
je za uporabu.
Osoblje uključuje sve one koji unose podatke u sustav (operateri, pomoćnici i sl.).
Alat za izgradnju ekspertnih sustava je programski jezik koji koristi inženjer znanja i/ili
programer kako bi taj sustav izradio. Pod pojmom alat podrazumjevaju se i svi uslužni programi koji
su na raspolaganju (editori, debugeri, sredstva za izdvajanje znanja, grafika i dr.). Razvijeni su
specijalizirani alati za izradu ekspertnih sustava, koji su nazvani "školjke" (shells). Ovi alati se razlikuju
od konvencionalnih programskih jezika po tome što osiguravaju odgovarajuće načine predstavljanja
složenih koncepata i elemenata znanja.
Prikupljanje znanja
Upravo prikupljanje znanja je usko grlo razvoja ekspertnih sustava jer je često veoma teško
izvesti ovu fazu. Postoje različite tehnike otkrivanja znanja prilagođene različitim tipovima sustava, ali
osnova je razgovor (strukturirani i nestrukturirani intervju) sa ekspertom za što opet postoje
standardni praktični postupci. Nakon prikupljanja informacija od eksperta slijedi analiza sakupljenog
znanja na osnovu čega se izdvajaju važne činjenice i strukture koje pomažu i utječu na daljnji tijek
razvoja sustava. Prikaz gotovih primjera (case studies, retrospektivno proučavanje i promatračko ‐
9
Ekspertni sustavi
uživo) kao šablona kroz koju se može vršiti procjena, demonstracija, i sl. Protokol (pojam kognitivne
psihologije) kao bilješka postupaka koji osoba ili sustav čini da bi rješio problem. Otkrivanje znanja:
Prikupljanje
Interpretacija
Analiza
Razvoj sljedeće sesije
Razlika od konvencionalnih programa
Današnja računala rješavaju zadatke logikom konvencionalnih programa. Programi se sastoje
u osnovi iz dva dijela:
algoritam
podaci
Algoritam određuje kako riješiti određenu vrstu problema koristeći niz točno definiranih
pravila, a podaci karakterizirajuu parametre u konkretnom problemu.
Ljudsko znanje se ne uklapa u ovaj model. Sistemi na bazi znanja razlikuju se od
konvencionalnih programa po načinu organizacije, po tome da je u njih ugrađeno znanje, po načinu
izvršavanja i po efektu koji stvaraju kroz interakciju dijalogom.
Može se dakle reći da je glavna razlika između konvencionalnih programa i ekspertnih
sustava u tome što prvi manipuliraju podacima a drugi znanjem. Ostale razlike prikazane su u tablici 1:
KONVENCIONALNI
EKSPERTNI SUSTAV
PROGRAM
predstavlja i algoritamski koristi predstavlja i heuristički koristi
podatke, ponavljajući proces znanje, proces zaključivanja
efikasno manipuliranje velikim efikasno manipuliranje velikim
bazama podataka bazama znanja
model rješavanja problema se
pojavljuje kao baza znanja a
znanje i metode korisničkog
njom upravlja odvojeni dio –
znanja su pomješani
mehanizam zaključivanja
(interpreter pravila)
znanje je organizirano u bar tri
znanje je organizirano u dva
nivoa – podaci, baza znanja i
nivoa – podaci i program
mehanizam zaključivanja
novo znanje se dodaje bez
u slučaju novog znanja
reprogramiranja, proširivanjem
potrebno je reprogramiranje
baze znanja
Tablica 1
10
Ekspertni sustavi
Osim toga, konvencionalni programi su projektirani tako da svaki put daju konkretne
rezultate, dok su ekspertni sustavi projektirani uglavnom da daju korektne odgovore, a imaju i
mogućnost da uče na greškama.
U konvencionalnim programima su implementirani potpuno definirani algoritmi i jasan način
nalaženja rješenja čak i kad se koristi kompleksno grananje, rekurzivne petlje i dr. S druge strane,
poslovi koje obavljaju stručnjaci uglavnom su takvi da ih često nije moguće opisati u algoritamskoj
formi. Stručnjaci ne rade po čvrstom planu već iskustvom i prosuđivanjem odlučuju kako će se dalje
rješavati problem, ne "vide" kompletan postupak rješavanja odmah. Ekspertni sustavi su pak
zasnovani na stručnoj vještini akumuliranoj u bazi znanja tako da su u stanju ponuditi inteligentan
savjet i na zahtjev mogu objasniti svoj način “razmišljanja”.
U konvencionalnim programima, moduli (potprogrami) se međusobno pozivaju po fiksnom, unaprijed
definiranom postupku. U ekspertnim sustavima moduli se ne pozivaju između sebe direktno. Moduli
komuniciraju sa okruženjem podataka. Struktura dozvoljava simultano izvršenje nekoliko modula
(onih koje aktivira trenutno stanje baze podataka).
Baze pravila
Kao što smo već spomenuli, ekspertni sustavi koriste pravila kako bi ispitivali uvjete,
„razmišljali“ i tako donosili odluke o zadanim problemima. Ta pravila se pohranjuju unutar sustava u
bazu pravila, uključene u bazu znanja, koja se pri radu pretražuje i očitava ili modificira te tako
omogućuje rad sustava i daljnji razvoj. Sustav proučava sve uvjete pravila (IF) i određuje podset
pravila u koji su smješteni uvjeti za izvršavanje pravila iz seta pravila. Taj podset se zatim koristi za
uspoređivanje za vrijeme rada i aktivira jedan od uvjeta u njemu. Koji od uvjeta je aktiviran ovisi o
strategiji rješavanja problema. Kada je uvjet aktiviran izvršavaju se operacije određene THEN klauzom
dotičnog uvjeta. Ove operacije mogu promijeniti stanje memorije sustava, modificirati bazu pravila ili
učiniti bilo što drugo što programer odluči uključiti u njih. Taj se lanac uvjeta i zadovoljavanja njihovih
pravila nastavlja sve dok jedan od dva uvjeta nije postignut: nema više pravila čije uvjete treba
zadovoljiti ili je aktivirano pravilo čijom je operacijom definirano prekidanje programa.
Koje pravilo je aktivirano pri rješavanju zadatka ovisi o strategiji rješavanja problema. Odabir
strategije može biti određen samim problemom ili može biti stvar preferencije osobe koja izvodi i
uređuje sustav. U svakom slučaju odabir strategije je izrazito važan budući ona kontrolira koje od
primjenjivih pravila će biti aktivirano te time i kako će se cijeli sustav ponašati. Postoji nekoliko
različitih strategija od kojih su ovdje navedne neke od najčešćih:
Prvo primjenjivo ‐ Ako su pravila pohranjena prema nekom principu, aktiviranje prvog
primjenjivog omogućava kontrolu rasporeda po kojem su pravila aktivirana. Ovo je
najjednostavnija strategija iz koje potencijalno može nastati veliki problem: beskonačna
petlja na jednom istom pravilu. Ukoliko se stanje memorije sustava i/ili baze pravila ne
promijeni tada se ni uvjeti prvog pravila neće promijeniti i ono će stalno iznova biti
aktivirano. Kako bi se riješio ovaj problem uobičajena je praksa omogučivanje prekida tog
pravila i spriječavanje njegovog ponovnog aktiviranja sve dok nisu promijenjeni podaci u
memoriji sustava tako da zadovoljavaju uvjet ili dok sam uvjet pravila nije modificiran.
11
Ekspertni sustavi
Nasumičan odabir ‐ Iako ne pruža predvidljivost i kontrolu strategije prvog primjenjivog
pravila, strategija nasumičnog odabira ima svoje prednosti. Kao prvo njena nepredvidivost
dolazi kao prednost u određenim okolnostima (npr. u igrama). Nasumična strategija
jednostavno odabire jedno pravilo iz podseta koje će biti aktivirano. Druga mogućnost je
primjena sustava neizrazite logike u kojem bi svaki od sustava imao vjerojatnost takvu da će
neka od pravila imat veću šansu da budu aktivirana od drugih.
Najkonkretniji ‐ Ova strategija je bazirana na broju uvjeta pravila, pravilo sa najvećim
brojem uvjeta je odabrano iz podseta. Ovo je bazirano na pretpostavci da je ukoliko pravilo
ima najviše uvjeta izgledno kako je to pravilo od najveće važnosti i relevantnosti za
postojeće podatke.
Najdulje nekorišteno ‐ Svako od pravila posjeduje vremensku oznaku koja označava vrijeme
kada je posljednji put korišteno. Ovo povećava broj pojedinačnih pravila koja su aktivirana
barem jedanput. Ako su sva pravila potrebna za postizanje rješenja tada je ovo savršena
strategija za taj primjer.
„Najbolje“ pravilo ‐ Kako bi ovako strategija funkcionirala, svakom pravilu dodijeljena je
težinska vrijednost koja određuje koliko bi neko pravilo trebalo biti više uzeto u obzir s
obzirom na alternative. Pravilo sa željenim ishodom je odabrano ovisno o svojoj težinskoj
vrijednosti.
Ulančavanje
Dvije metode odlučivanja kada se koriste pravila zaključivanja su:
ulančavanje unaprijed
ulančavanje unatrag
Ulančavanje unaprijed (slika 6)
baza
započinje sa dostupnim podacima i koristi pravila
pravila zaključivanja kako bi razmotrilo više
odredivanje pravila
podataka sve dok željeni cilj nije postignut. koja bi mogla biti
Mehanizam zaključivanja koji koristi metodu aktivirana
ulančavanja unaprijed pretražuje pravila radna
zaključivanja sve dok ne nađe pravilo u kojem memorija podset
je IF klauza istinita. Zatim izvršava operacije
zadane THEN klauzom i pridodaje ovu
informaciju svojoj bazi podataka. Sustav odabir pravila
strategija
aktiviranje pravila rješavanja
nastavlja ovu proceduru sve dok ne postigne za aktivaciju
pravilo problema
pronadeno
zadani cilj. Budući da dostupni podaci
određuju koja će se pravila zaključivanja
pravilo nije
koristiti, ova metoda se također zove metoda pronadeno
izlaz ako je tako
vođena podacima (engl. data driven). odredeno pravilom
izlaz
S
Slika 6
12
Ekspertni sustavi
Ulančavanje unatrag (slika 7) započinje sa popisom ciljeva i djeluje unatrag kako bi se
otkrilo postoje li podaci koji omogućavaju zaključivanje nekih od ciljeva. Mehanizam zaključivanja koji
koristi ulančavanje unatrag će tražiti pravila zaključivanja sve dok ne nađe pravilo koje ima THEN
klauzu koja odgovara zadanom cilju. Ako je IF klauza toga pravila istinita ono je tada dodano na listu
ciljeva.
baza
pravila
pretraživanje radne
memorije i ciljeva radi radna
provjere istititosti memorija
izvršenja ciljeva
cilj
unatražno ponavljaj svako stanje
aktiviranog pravila kao cilja
pošalji da poklapaju li
signal se ciljevi s
istinito memorijom?
pošalji ne
signal
nije istinito
za svako
stanje pravila odredi sljedeće
napraviti moguće pravilo za
unatražno aktivaciju provjerom
ulančavanje sa zaključaka i ciljeva
stanjem kao
ciljem podset
strategija
aktiviraj odabir pravila
rješavanja
pravilo pravilo za aktivaciju
problema
pronađeno
pravilo nije
pronađeno
izlaz
rezultati svih
ponavljanja
su istiniti? jedno ili više pravila nije uspjelo, sljedeće odgovarajaćuje pravilo
istinito
ciljevi su ispunjeni, izlaz, vraća istinitu vrijednost
Slika 7
13
Ekspertni sustavi
Koju metodu koristiti?
Od dvije dostupne metode ulančavanja ‐ unaprijed ili unatrag, odabir koju ćemo koristiti je
određen samim problemom. Usporedba stanja i operacija u bazi pravila može pomoći odrediti koja
metoda ulančavanja je preferirana. Ako “prosječno” pravilo ima više uvjeta nego zaključaka, tj. da
tipična hipoteza ili cilj (zaključci) može dovesti do još mnogo više pitanja (uvjeti), preferira se
ulančavanje unaprijed. Ako je pak obrnuta situacija i prosječno pravilo ima više zaključaka nego
uvjeta tako da se svaka nova činjenica može proširiti u velik broj novih činjenica i operacija, idealna bi
bila uporaba ulančavanja unatrag.
Ako nijedno nije dominantno, broj činjenica u radnoj memoriji može pomoći pri odluci. Ako
se sve (relevantne) činjenice već znane i svrha sustava je odrediti kamo informacije vode trebalo bi
odabrati ulančavanje unaprijed. Ako je pak s druge strane znano samo nekoliko ili niti jedna činjenica
ili operacija, ulančavanje unatrag je idealno rješenje problema.
Primjena
Expertni sustavi konstruirani su kako se bavili problemima u računovodstvu, medicini,
upravljanju, financijskim uslugama, proizvodnji, ljudskim resursima itd. Uobičajeno su problemska
područja toliko kompleksna da su jednostavniji tradicionalni algoritmi nedostatni u pružanju
odgovarajućeg rješenja.
Dobar primjer primjene ekspertnih sustava u financijskom području su ekspertni sustavi za
kamate. Odjeli za kredite su zainteresirani za ekspertne sustave za kamate zbog sve više rastuće
cijene rada koje rukovanje i prihvaćanje relativno malih kredita čine manje isplativim. U primjeni
ekspertnih sustava također vide i mogućnost standardizacije te efikasnog baratanja hipotekarnim
kreditima. Još jedna česta primjena ekspertnih sustava u financijskom području je u obliku pružanja
trgovačkih preporuka u raznim trgovinama. Ovakve trgovine uključuje brojne varijable i ljudske
osjećaje koje bi bilo nemoguće deterministički iskazati pa su stoga na takvim pozicijama primjenjeni
ekspertni sustavi temeljeni na pravilima stručnjaka i simulacijskim podacima. Ekspertni sustavi ovog
tipa mogu varirati od pružanja regionalnih prodajnih preporuka oko financijskih odluka donesenih od
strane nadležnih institucija ili vlada.
I dok su se ekspertni sustavi dokazali u pronalasku praktične primjene za rješenja bazirana na
umjetnoj inteligenciji, njihova primjena je ipak ostala ograničena. Ekspertni sustavi djeluju u izrazito
uskom području znanja i ukoliko im je zadan problem koji nadilazi te granice mogu raditi greške koje
bi čovjek lako primjetio. Isto tako nakon što je dio mističnosti vezane uz ekspertne sustave kao
primjer umjetne inteligencije polako nestao, većina programera je shvatila kako su jednostavni
ekspertni sustavi u svojoj biti samo malo razrađenije verzije logike odlučivanja koju su već bili koristili.
Stoga se neke od tehnika ekspertnih sustava mogu pronaći u najkompleksnijim programima bez da se
diže ikakva prašina oko toga.
Primjer i dobra demonstracija ograničenja ekspertnih sustava je ekspertni sustav koji velik
broj ljudi koristi: sustav za otkrivanje greški inkorporiran u Microsoftov operativni sustav Windows.
Microsoft je osmislio svoj ekspertni sustav kako bi pružao rješenja, savjete i prijedloge na neke
14
Ekspertni sustavi
uobičajene pogreške koje se mogu susresti tijekom korištenja operativnog sustava. Sam sustav
možda i djeluje jednostavno, no pojedincima koji nisu usko vezani uz razvoj operativnog sustava,
dobivanje stručne tehničke potpore preko tog sustava je često zahtjevno i teško je dobiti konkretne
rezultate kojima će riješiti svoj problem.
Uz primjene u financijskim i proizvodnim područjima, tehnike umjetne inteligencije, pa tako i
ekspertni sustavi, našli su i primjenu u sve više rastućem informatičkom području – računalnim
igrama. U gotovo svim računalnim igrama postoji nekakav sustav umjetne inteligencije kojim se
pokušava dočarati inteligencija protivnika ili računalnog suigrača. Ti sustavi su često razvijeni upravo
preko samih ekspertnih sustava i baza znanja prema kojima će se entiteti u vritualnim okruženjima
ponašati ovisno o geometriji samog okruženja, njihovim svojstvima ili akcijama igrača.
Primjer: Ekspertni sustav inteligentnoga dizelskog motora
Ekspertni sustav za dijagnostiku stanja brodskoga dizelskog motora temelji se na
eksperimentalnim podacima dobivenima mjerenjem relevantnih značajki brodskog motora i
kontinuiranim praćenjem njegova rada. Baza znanja pri izradi dijagnostičkog ekspertnog sustava je
datoteka kvarova gdje se unose teorijska i praktična znanja stručnjaka. Osnovni zahtjevi koji se
očekuju u radu stroja, pa tako i brodskoga dizelskog motora, jesu maksimalni radni učinci s
minimalnim troškovima održavanja.
Uspješnost ekspertnog sustava izravno ovisi o kvantiteti i kvaliteti formiranih primjera i
pravila. Poradi toga je potrebno uskladiti prikupljene podatke s radnim značajkama motora ovisno o
okolnostima kvara. Najveći dio podataka za bazu znanja dobiva se eksperimentalnim putem, mjereći
parametre motora u radnim uvjetima. Najprije se uspostavlja baza sirovih podataka na temelju već
spomenutih eksperimentalnih vrijednosti, tj. laboratorijskih i servisnih podataka, a zatim se
dopunjuje podacima tijekom "eksperimentiranja" (testiranjima) u radu. Posebnim softverskim
postupkom, od prikupljenih podataka formira se baza kondenziranih podataka, koja sadržava
statističke rezultate za kritične značajke.
Koncept ekspertnog sustava za dijagnostiku kvarova prikazan je na slici. Nakon što se
specificira problem, utvrđuju se zahtjevi potrebni da se dođe do informacija. Podaci se dobivaju iz
odgovarajućih izvora i adekvatno se organiziraju u bazi ulaznih podataka. Slijedi izrada modela
problema sa shemom procesa koji vodi do rješenja. Model problema zajedno s bazom ulaznih
podataka tvori „ekspertni sustav za analizu informacija“. On služi za definiranje datoteke primjera, iz
koje se primjenom pogodnog softwarea izvodi prototip "sustava utemeljenog na pravilima". Da bi se
kompletirao ekspertni sustav, potreban je modul za donošenje odluke, koji konzultira bazu znanja i
konstruira operacijski sustav baze znanja. Dijagnostika u sebi sadržava određivanje i analizu statičkih i
dinamičkih značajka i procjenu sustava.
Promjene stanja u sustavu prate se i kvantitativno mjere temeljem odgovarajućih značajka
tehničkog sustava. Izbor dijagnostičkih značajka svakoga sastavnog dijela ili sustava obnavlja se na
osnovi:
15
Ekspertni sustavi
proučavanja njihovih funkcija, načina i uvjeta rada
analize razine njihova funkcioniranja
sastavljanja logičkih shema uzročno‐posljedičnih veza značajka i činitelja koje utječu na
radnu sposobnost tehničkog sustava
analize otkaza i drugo.
ULAZNI
PODACI
baza ulaznih
podataka
software za
software
datoteka primjera uvođenje
za vezu
pravila
strateški model
informacijskih analiza
redefinirana
pravila
generiranje pravila
ekspertno znanje
prototip sustava
utemeljenog na poboljšanja
pravilima
ULAZNI
PODACI
modul za odlučivanje
baza znanja operacijski sustav
baze znanja
Slika 8
Na slici 8 prikazan je ekspertni sustav inteligentnog dizelskog motora u kojemu je prikazano polje
POBOLJŠANJA. Poboljšanja se ostvaruju s pomoću jedinice za kontrolu cilindara ili jedinice za kontrolu
motora postupnim otklanjanjem pojedinih vrijednosti od trenutnih. Otvaranje i zatvaranje ispušnih
ventila te ubrizgavanje goriva više se ne obavljaju s pomoću bregaste osovine već se oni elektronički
upravljaju, pa tako vremena nisu strogo definirana, već je moguće ugađati vremena otvaranja i
zatvaranja ispušnih ventila te vremena i način ubrizgavanja goriva u cilindar. Izravnim istraživanjem
tijekom rada brodskog motora, promjenom određenih parametara u njihovim dopuštenim granicama
(dobivenih eksperimentalnim podacima na radnom stolu, teorijskim simulacijskim podacima i
ljudskim znanjem) može se doći do optimalne potrošnje goriva i maziva bez posljedica za rad motora.
16
Ekspertni sustavi
U tablici 2 prikaz je dijela baze znanja za „inteligentni“ motor koji se odnosi na kontrolu ispušnih
ventila i vremena ubrizgavanja goriva. Uz to prikazan je samo mali dio dijagnostičkog ekspertnog
sustava, koji djeluje sa sustavom inteligentnog motora.
Tablica 2
Koristeći se računalom on–line povezuju se sve radnje u vezi s održavanjem broda
(preventivno održavanje, održavanje nakon kvara, rezervni dijelovi...) pa se time postiže bolja
organiziranost, što je preduvjet za sigurniju plovidbu. Satelitskom vezom brodar u svakom trenutku
(u području pokrivenosti telekomunikacijskom vezom) može dobiti podatke o stanju porivnog motora.
Tako se omogućuje ekspertu na kopnu uvid u kvar, ako kvar zahtijeva njegovu intervenciju.
Primjenom elektroničkog uređaja koji preuzima funkciju bregaste osovine motora, otvaraju
se nove mogućnosti za daljnji razvoj i ispitivanje brodskoga porivnog sustava. Centralizacijom
informacija pojedinih sustava i podsustava može se ostvariti i veza onih elemenata koji nisu prije bile
vezane sustavom automatizacije (npr. veza sustava rashladne morske vode s visokotemperaturnim i
niskotemperaturnim sustavom slatke vode, pa zatim tih sustava sa sustavima uputnog zraka, ulja za
podmazivanje,…). Ovim bi se omogućilo točnije zaključivanje ekspertnog računalnog sustava o kakvu
se kvaru radi, te eventualna redukcija alarma
17
Ekspertni sustavi
Zaključak
Pojam umjetne inteligencije koji smo do prije par desetljeća mogli susretati samo u
znanstveno fantastičkim filmovima sada je postao dio svakodnevnice i posve normalna pojava. Od
svojih početaka na slabašnim računalima pred kraj dvadesetog stoljeća, ekspertni sustavi su razvojem
informatičke industrije dobili znatan porast mogućnosti i sve veći broj primjena u rješavanju
problema u mnogim svakodnevnim situacijama. U nekim područjima ta primjena je ostvarena na
veoma visokoj razini, olakšavajući rad ljudima, omogućavajući pohranu znanja tvrtki, prijenos toga
znanja na nove zaposlenike te veliku pomoć kroz savjete i predviđanja o datim problemima, no zato u
nekim drugim područjima su se pokazali neuspješnim i nisu ispunili očekivanja koja su na njih
postavljena. Ali razvoj ide dalje, uz kombinaciju ekspertnih sustava i ostalih oblika umjetne
inteligencije u obliku hibridnih sustava povećavaju se i njihove mogućnosti a ekspertni sustavi sve
više postaju korisni alati koji u svojim konkretnim područjima primjene na jedan ili drugi način
izvršavaju svoju primarnu ulogu – pomaganje ljudima.
18
Ekspertni sustavi
Literatura
Alempije Veljović : Menadžment informacioni sistemi (Kompjuter biblioteka, Beograd)
Milenko Obad: CAD/CAM tehnologije (http://www2.fsr.ba/nastava/icad/ICAD‐CBR.pdf)
Zoran Popović : Primena VI – Ekspertni sustavi (http://users.hemo.net/shoom/es.pdf)
Giarratano – Riley: Expert systems principles and programming (Brooks/Cole Publishing
Co., Pacific Grove, CA, USA)
http://en.wikipedia.org/wiki/Expert_system
http://ai‐depot.com/Tutorial/RuleBased‐Methods.html
http://hrcak.srce.hr/file/12790
19