Ekspertni sistemi (1.)

Pod ekspertnim sistemima podrazumeva se uspostavljanje unutar računara dela veštine nekog eksperta koji se bazira na znanju i u takvom obliku da sistem može da ponudi inteligentan savet ili da preuzme inteligentnu odluku o funkciji koja je u postupku. Ekspertni sistem poseduje i karakteristiku da na zahtev verifikuje svoju liniju rezonovanja, tako da direktno obaveštava korisnika koji postavlja pitanje.

Drugim rečima, ekspertni sistem je inteligentni računarski program koji koristi znanje i postupke zaključivanja u procesu rešavanja problema, i to takvih problema za čije je rešavanje potreban visok stepen stručnosti i iskustva iz domena kome se ekspertni sistem obraća. Naziv ekspertni upravo potiče odatle što se ovi sistemi ponašaju kao vrhunski stručnjaci (engl. expert) na svom području. Njegovu osnovu čini poseban softver koji modelira one elemente čovekovog rešavanja problema za koje se smatra da čine čovekovu inteligenciju: zaključivanje, prosuđivanje, odlučivanje na osnovu nepouzdanih i nepotpunih informacija i tumačenje svog ponašanja.

Upravo ova poslednja osobina, koja pored običnog rešavanja problema omogućava interaktivno savetovanje o problemu između sistema i korisnika, jeste značajna novost po kojoj se ekspertni sistemi i najviše razlikuju od svih prethodnih tipova informacionih sistema.

U nazivu stoji ekspertni sistem, a ne ekspertni program, jer se sastoji iz više delova: dela za rešavanje problema

(baza znanja, mehanizam zaključivanja i globalna baza podataka) i okruženja.

Najvažniji elemenat okruženja je korisnički interfejs, koji pomaže korisniku u već pomenutom interaktivnom savetovanju sa delom za rešavanje problema. Korisnički interfejs može sadržavati i dodatna sredstva, kao što su: sredstva za otkrivanje grešaka u razvoju sistema (debbuging aids), grafičke mogućnosti prikaza rezultata, postavljanje pitanja uz pomoć slike i dr.

Inženjerstvo znanja

Sveukupnost proces izgradnje ekspertnog sistema naziva se inženjerstvo znanja, time se obuhvata skup metoda i postupaka koje se odnose na prikupljanje, računarsko predstavljanje i memorisanje, kao i upotrebu ljudskog znanja u rešavanju složenih problemskih situacija. Taj proces uključuje posebnu vrstu interakcije između graditelja ekspertnog sistema, koga zovemo inženjer znanja, i jedne ili više osoba koje su eksperti u određenoj problemskoj oblasti za koju se ekspertni sistem izgrađuje.

Inženjer znanja od eksperata „vrši ekstrakciju“ njihovih procedura, strategija i postupaka za rešavanje problema i ugrađuje to znanje u ekspertni sistem. Rezultat procesa je skup programa koji rešavaju probleme u datoj oblasti na način kako to radi čovek-ekspert.

Kao što je prikazano na sledećoj slici, u proces izgradnje ekspertnog sistema uključeni su: ekspert, inženjer znanja i korisnik. U celom poslu važno mesto zauzima i alat za izgradnju ekspertnog sistema, a ne sme se zaboraviti ni sam ekspertni sistem.

Svi ovi elementi utiču na dalji razvoj MIS jer možemo prepoznati dva oblika menadžera: menadžer ekspert, koji učestvuje u izgradnji ekspertnog sistema, i menadžer korisnik, koji koristi postavljeni ekspertni sistem.

Ekspert je osoba koja je stekla reputaciju u svojoj oblasti zbog stručnih sposobnosti kvalitetnog rešavanja problema. On koristi svoje znanje, sposobnosti i veštine stečene kroz bogato iskustvo da skrati proces pronalaženja rešenja. Znanje eksperta je nadgradnja znanja koje se može dobiti čitanjem knjiga. On ne može uvek da objasni razloge svoje odluke, ne zato što ne želi da ih objašnjava, već zato što se opredeljuje intuicijom. On verovatno zna mnogo više nego što je svestan. Ekspertni sistem treba da obuhvati i objedini te sposobnosti, veštine i iskustvo jednog ili više eksperata. Znanje se, naravno, može prikupljati i iz stručnih knjiga i naučno – stručnih časopisa.

Inženjer znanja je osoba koja poznaje oblast računarskih nauka i veštačke inteligencije i zna kako se izgrađuju ekspertni sistemi. On kroz pitanja i razgovore sa ekspertom od njega prikuplja znanje, organizuje ga, odlučuje kako će ono biti prikazano u sistemu i piše programe, sam ili uz pomoć ekipe programera. Korisnik je osoba koja koristi ekspertni sistem, kad se on jednom završi. Osoblje uključuje sve one koji unose podatke u sistem (operateri, sekretarice i sl.). Alat za izgradnju ekspertnih sistema je programski jezik koji koristi inženjer znanja i/ili programer da bi taj sistem izgradio. Pod alatom se podrazumevaju i svi uslužni programi koji su na raspolaganju (editori, debageri, sredstva za izdvajanje znanja, grafika i dr.). Razvijeni su specijalizovani alati za izgradnju ekspertnih sistema, koji se nazivaju „školjke“ (shells). Ovi alati se razlikuju od konvencionalnih programskih jezika po tome što obezbeđuju odgovarajuće načine za predstavljanje složenih koncepata i elemenata znanja.

Komponente ekspertnog sistema

Ekspertni sistemi treba da realizuju tri glavna zadataka inženjerstva znanja:

• prezentacija i memorisanje velike količine znanja problemske oblasti u računar,

• aktiviranje korišćenja znanja problemske oblasti za rešavanje problema,

• odgovor na korisnikovo pitanje.

Osnovne komponente ekspertnog sistema su:

• Baza znanja (knowledge base)

• Mehanizam zaključivanja (inference engine)

• Komunikacioni interfejs

• Globalna baza podataka

Baza znanja (knowledge base) – baza činjenica i heuristika u području za koje je namenjen ekspertni sistem, pridruženih problemu. Baza znanja uključuje činjenice, relacije između činjenica i moguće metode za rešavanje problema u oblasti date aplikacije.

Mehanizam zaključivanja (inference engine) – softver sposoban da sredi informacije iz baze znanja i da na osnovu toga izvuče zaključke. On radi 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 primeniti neko od pravila iz baze znanja na nove činjenice dobijene tokom konsultovanja sa korisnikom. Na ovaj način se simulira ljudsko razmišljanje.

Komunikacioni interfejs – deo koji omogućava dijalog između donosioca odluke (korisnika) i sistema. Sa jedne strane služi da korisnik u toku rada sistema dostavi informacije koje sistem iz baze znanja nije uspeo da dobije, a sa druge strane omogućava korisniku da za svaku odluku ekspertnog sistema traži dodatno objašnjenje o tome koji su ga zaključci vodili da donese takvu odluku.

Globalna baza podataka – radna memorija za beleženje trenutnih statusa sistema, ulaznih podataka za određeni problem i relevantnih elemenata iz dotadašnjeg rada. Ona čuva činjenice i zaključke dobijene tokom tekuće ekspertize. Razlikuje se od baze znanja po tome što sadrži informacije koje se odnose isključivo na tekući problem odlučivanja.

Svojstva ekspertnog sistema

Srce svakog ekspertnog sistema je znanje akumulirano u procesu izgradnje tog sistema. „Znanje“ ekspertnog sistema čine činjenice i heuristika (iskustvo i osećaj za izbor rešenja).

Činjenice čine glavni deo podataka o prirodi sistema, njegovim aktivnostima i ciljevima koje sistem ostvaruje kroz te aktivnosti. Određene pojave i manifestacije regularnog i neregularnog stanja u sistemu imaju svoje uzroke i posledice i takođe se opisuju skupovima podataka. Svi ovi podaci uglavnom mogu biti raspoloživi, dokumentovani i verifikovani u domenu ekspertnog sistema.

Heuristiku čine lična pravila rasuđivanja i veština u izboru i donošenju odluka kojima se utiče na promenu stanja sistema. Ona je uglavnom slabo dokumentovana i svojina je vrhunskih specijalista za oblast koju pokriva dati ekspertni sistem. Nivo performansi ekspertnog sistema je pre svega funkcija veličine i kvaliteta baze znanja tog sistema 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 prenosnoj formi i nalazimo ga u knjigama, časopisima i sl. Ovo znanje je obično prihvaćeno kao univerzalno tačno.

implicitno znanje – heurističko znanje, ono znanje koje čovek ekspert gradi na osnovu iskustva i koje, kombinovano sa prvim tipom znanja, čini čoveka ekspertom. Znanje je dostupno i može se prenositi putem knjiga i lekcija.

Važno svojstvo ekspertnog sistema je ekspertiza visokog nivoa, koju obezbeđuje kao pomoć u rešavanju problema. Ta ekspertiza predstavlja najbolja razmišljanja vrhunskih eksperata u datoj oblasti, sakupljena i ugrađena u program tako da u postupku rešavanja problema mogu dovesti do preciznih i efikasnih rešenja.

Mogućnost predviđanja je svojstvo koje proističe iz mogućnosti da se ekspertni sistem koristi kao model za rešavanje problema u datoj oblasti koji će, kao takav, davati odgovore na zadate probleme i pokazivati kako će se ti odgovori menjati zavisno od novih situacija.

Celokupno znanje ugrađeno u ekspertni sistem prikupljeno je kroz interakciju sa ključnim osobljem u nekoj službi, odeljenju ili oblasti, tako da ono odslikava i tekuću politiku i način rada te grupe. Na taj način, ova kolekcija znanja postaje trajni zapis usklađenih najboljih metoda i postupaka koje ti ljudi koriste pri reš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 premeštaja i izmene 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 sistema jeste i mogućnost obučavanja. Ekspertni sistem može biti oblikovan tako da omogući obuku za novodošle kadrove. Oni već imaju određena znanja i sposobnosti i potrebno je na njih preneti znanje i iskustvo prikupljeno i sačuvano u bazi znanja u vidu institucionalne memorije. Neophodno je da program poseduje mogućnost tečnog, prijateljskog dijaloga sa čovekom, kao i ugrađene metode učenja. Ekspertni sistem može biti podešen kako za obuku stručnih ljudi, tako i za uvođenje u posao pridošlih početnika.

Razlika od konvencionalnih programa

Današnji računari rešavaju zadatke logikom konvencionalnih programa. Programi se sastoje u osnovi iz dva dela:

• algoritam
• podaci.

Algoritam određuje kako rešiti određenu vrštu problema koristeći niz tačno definisanih pravila, a podaci karakterišu 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 sistema u tome što prvi manipulišu podacima, a drugi znanjem. Ostale razlike date su u sledećoj tabeli.

KONVENCIONALNI PROGRAMEKSPERTNI SISTEM
predstavlja i algoritamski koristi podatke, ponavljajući procespredstavlja i heuristički koristi znanje, proces zaključivanja
efikasno manipulisanje velikim bazama podatakaefikasno manipulisanje velikim bazama znanja
znanje i metodi korisničkog znanja su izmešanimodel rešavanja problema se pojavljuje kao

baza znanja, a njom upravlja odvojeni deo – mehanizam zaključivanja (interpreter pravila)

znanje je organizovano u dva nivoa – podaci i programznanje je organizovano u bar tri nivoa –

podaci, baza znanja i mehanizam

zaključivanja

u slučaju novog znanja potrebno je reprogramiranjenovo znanje se dodaje bez reprogramiranja, proširivanjem baze znanja

Osim toga, konvencionalni programi su projektovani da svaki put daju konkretne rezultate. Ekspertni sistemi su projektovani da, uglavnom, daju korektne odgovore, a imaju i mogućnost da uče na greškama.

U konvencionalnim programima su implementirani potpuno definisani algoritam i jasan način nalaženja rešenja,

čak i kad se koristi kompleksno grananje, rekurzivne petlje i dr.

Uglavnom su poslovi koje obavljaju stručnjaci takvi da ih, često, nije moguće opisati u algoritamskoj formi. Stručnjaci ne rade po čvrstom planu, već iskustvom i rasuđivanjem odlučuju kako će se dalje rešavati problem, ne „vide“ kompletan postupak rešavanja odmah.

Ekspertni sistemi su zasnovani na stručnoj veštini akumuliranoj u bazi znanja, tako da su u stanju da ponude inteligentan savet i na zahtev mogu objasniti svoju liniju rasuđivanja.

U konvencionalnim programima, moduli (potprogrami) se međusobno pozivaju po fiksnom, unapred definisanom postupku.

U ekspertnim sistemima 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 odataka).

Na osnovu knjige: Menadžment informacioni sistemi, prof. dr Alempije Veljović

2461-ekspertni-sistemi-1-1