Upload
luka-drobilo
View
1.689
Download
10
Embed Size (px)
Citation preview
Ekspertni sustavi
Seminarski rad iz kolegija Umjetna inteligencija Fakultet strojarstva i brodogradnje
Luka Drobilo
Ekspertni sustavi
1
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
Ekspertni sustavi
2
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.
Ekspertni sustavi
3
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)
Ekspertni sustavi
4
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
Ekspertni sustavi
5
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.
Ekspertni sustavi
6
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.
Ekspertni sustavi
7
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:
Ekspertni sustavi
8
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.
Ekspertni sustavi
9
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 ‐
Ekspertni sustavi
10
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 PROGRAM
EKSPERTNI SUSTAV
predstavlja i algoritamski koristi podatke, ponavljajući proces
predstavlja i heuristički koristi znanje, proces zaključivanja
efikasno manipuliranje velikim bazama podataka
efikasno manipuliranje velikim bazama znanja
znanje i metode korisničkog znanja su pomješani
model rješavanja problema se pojavljuje kao baza znanja a njom upravlja odvojeni dio – mehanizam zaključivanja
(interpreter pravila)
znanje je organizirano u dva nivoa – podaci i program
znanje je organizirano u bar tri nivoa – podaci, baza znanja i mehanizam zaključivanja
u slučaju novog znanja potrebno je reprogramiranje
novo znanje se dodaje bez reprogramiranja, proširivanjem
baze znanja
Tablica 1
Ekspertni sustavi
11
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.
Ekspertni sustavi
12
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) započinje sa dostupnim podacima i koristi
pravila zaključivanja kako bi razmotrilo više
podataka sve dok željeni cilj nije postignut.
Mehanizam zaključivanja koji koristi metodu
ulančavanja unaprijed pretražuje pravila
zaključivanja sve dok ne nađe pravilo u kojem
je IF klauza istinita. Zatim izvršava operacije
zadane THEN klauzom i pridodaje ovu
informaciju svojoj bazi podataka. Sustav
nastavlja ovu proceduru sve dok ne postigne
zadani cilj. Budući da dostupni podaci
određuju koja će se pravila zaključivanja
koristiti, ova metoda se također zove metoda
vođena podacima (engl. data driven).
S
Slika 6
bazapravila
radnamemorija
odredivanje pravilakoja bi mogla biti
aktivirana
strategijarješavanja problema
aktiviranje pravila
izlaz
odabir pravila za aktivaciju
pravilopronadeno
podset
pravilo nijepronadeno
izlaz ako je tako odredeno pravilom
Ekspertni sustavi
13
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.
bazapravila
cilj
pretraživanje radne memorije i ciljeva radi
provjere istititosti izvršenja ciljeva
pošalji signalistinito
poklapaju lise ciljevi s
memorijom?
unat
ražn
o po
navl
jaj s
vako
sta
nje
aktiv
irano
g pr
avila
kao
cilj
a
da
ciljevi su ispunjeni, izlaz, vraća istinitu vrijednost
radnamemorija
odredi sljedeće moguće pravilo za
aktivaciju provjerom zaključaka i ciljeva
strategijarješavanja problema
izlaz
odabir pravila za aktivaciju
podset
pravilo nijepronađeno
pošalji signal
nije istinito
ne
aktivirajpravilo pravilo
pronađeno
za svako stanje pravila
napraviti unatražno
ulančavanje sa stanjem kao
ciljem
rezultati svih ponavljanja su istiniti? jedno ili više pravila nije uspjelo, sljedeće odgovarajaćuje pravilo
istinito
Slika 7
Ekspertni sustavi
14
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
Ekspertni sustavi
15
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:
Ekspertni sustavi
16
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
eksperimantalni podaci
teorijski simulacijski podaci
prototip sustava utemeljenog na
pravilima
redefinirana pravila
datoteka primjera
ekspertno znanje
strateški model informacijskih analiza
baza ulaznih podataka
generiranje pravila
ULAZNI PODACI
modul za odlučivanje
operacijski sustav baze znanja
software za vezu
poboljšanja
software za uvođenje
pravila
baza 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.
Ekspertni sustavi
17
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.
pravilo br.
AKO TEST AKCIJA
…
30103 broj okretaja prevelik smanjeno opterećenje na propeleru
smanji se dobava goriva u cilindar
30104 tlak kompresije u cilindru nizak
provjera stanja stapnih prstenova
zamijene se stapni prstenovi
30105 tlako kompresije u cilindru nizak
provjera zračnosti ventila
ispušni se ventil demontira i ubrusi
30106 max. tlak izgaranja u cilindru nizak
provjera visokotlačne pumpe goriva
otkloni se kvar ili zamijene komponente pumpe
30107 max. tlak izgaranja u cilindru nizak
provjera ubrizgača goriva
ubrizgač se demontira, rastavi, očisti i testira a po potrebi se ugradi novi
30108 max. tlak izgaranja u cilindru nizak
smanjena dobava goriva u cilindar
poveća se dobava goriva u cilindar
30109 max. tlak izgaranja u cilindru nizak
zakašnjelo ubrizgavanje goriva u cilindar
ubrizgavanje goriva u cilindar počne prije
…
30418 temperatura ispušnog plina se povisuje
povećaba dobava goriva u cilindar
smanji se dobava goriva u cilindar
…
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
Ekspertni sustavi
18
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.
Ekspertni sustavi
19
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