Ekspertni sistemi

**Ekspertski sistemi** (takođe, **ekspertni sistemi**) su inteligentni računarski programi kojima se emulira rešavanje problema na način na koji to čine eksperti i predstavljaju jednu od najznačajnijih oblasti istraživanja veštačke inteligencije. Ekspertski sistemi rešavaju realne probleme iz različitih oblasti, koji bi inače zahtevali ljudsku ekspertizu. Cilj je da uvek računarski program daje korektne odgovore, u datoj oblasti, ne lošije od eksperta, ali je to teško dostižno. Zato se postavlja manje ambiciozan cilj, traži se da sistem pruži pomoć u odlučivanju. 

## Ekspert i ekspertni sistemi
Ekspert je stručnjak u nekoj oblasti koji poseduje i efikasno koristi određeno znanje, razumevanje problema i zadataka, veštine i iskustva. 

Eksperti poseduju i sposobnost da u konkretnom problemu koji rešavaju prepoznaju tipski zadatak. Poseduju i neke lične osobine poput snalažljivosti, što čini heurističko znanje. Na osnovu ovog znanja mogu da prepoznaju najbrži način dolaska do rešenja, kao i ispravan pristup u rešavanju problema, čak i ako su podaci nekompletni. 

Eksperstki sistemi iz pojedinih oblasti se povezuju čineći na taj način bazu znanja šire namene, koja je veliki potencijal za pomoć u odlučivanju. 

Pomoć u odlučivanju je neophodna zbog:
* velikog broja informacija, koje treba obraditi i
* zahteva da se odluke donose u realnom vremenu.

## Primena
Razlog za primenu ekspertskih sistema je težnja da znanje, iz raznih specifičnih oblasti ljudske delatnosti, postane dostupnije kroz primenu računarskih programa. Omogućeno je da u svakom trenutku zaključivanja bude na raspolaganju celokupno znanje iz određene oblasti. Zahvaljujući velikoj brzini računara iz tog znanja za kratko vreme je moguće izvući zaključke.

Razlike između konvencionalnog programa i ekspertnog sistema se sastoje u tome što, ekspertski sistem ima sposobnost zaključivanja i objašnjavanja, može da objasni svoje akcije, opravda svoje zaključke i obezbedi korisniku informacije o znanju koje poseduje.

Čovek ne može potpuno biti zamenjen, naročito u pogledu kreativnosti i korišćenja opšteg znanja. Prednost ekspertskih sistema nad ljudima je što se ljudsko znanje vremenom gubi naročito ako se često ne koristi. 

Ekspertski sistemi omogućavaju korisnicima da odgovore na specifična ili hipotetička pitanja koja eventualno rezultiraju dobijanjem specifičnih, relevantnih informacija. Na višem nivou mogu planirati budžete nacija, simulirati ratne situacije, anticipirati promene u prirodnom okruženju i slično, kao "asistenti" ljudskim ekspertima.

## Komponente ekspertskog sistema

Ekspertski sistemi imaju tri komponente: 
* baza znanja 
* mehanizam izvođenja 
* upravljački mehanizam
Postupak prikupljanja znanje počinje tako što inženjer znanja nastoji da od experta dobije heurističko znanje, da ga kodira i unese u eksperski sistem. 
Korisnik sa ekspertskim sistemom komunicira preko terminala. 

Osnovni elementi eskpertskog sistema pored baze znanja, mehanizam zaključivanja, su i radna memorija i interfejs prema korisniku, kao i pomoćni moduli: podsistemi za prikupljanje znanja, posebni interfejsi, sistem za objašnjenja. 

**Baza znanja** je specijalizovana i jedinstvena za konkretni sistem koji sadrži znanje eksperata iz određene ooblasti a koje je uneto putem sistema za prikupljanje znanja i ne menja se tokom vremena. 
**Radna memorija** sadrži trenutne podatke o problemu koji se rešava. Oni su prmenljivi i odražavaju trenutno stanje u procesu rešavanja. **Mehanizam zaključivanja** na osnovu tih promenljivh podataka i fiksnog znanja iz baze znanja rešava problem. Preko interfejsa prema korisniku odvija se komunikacija.

## Učesnici u razvoju ekspertnih sistema
Učesnici u razvoju ES su:
* **ekspert** (osoba koja poseduje znanje, veštinu i iskustvo na osnovu kojih rešava probleme iz određenog domena bolje i efikasnije od drugih ljudi) 
* **inženjer znanja** (koji dizajnira, implementira i testira ekspertski sistem, zna koji je softverski alat pogodan za rešavanje problema koji definiše, intervjuiše eksperta, identifikuje koncepte, organizuje i formalizuje znanje koje se predstavlja, identifikuje metode, vrši izbor softverskog okruženja za razvoj, implementira, testira i revidira, instalira i održava ekspertski sistem).
* **krajnji korisnik** (koji radi sa eksperskim sistemom, unosi ulazne podatke i činjenice zahteva objašnjenja, definiše zahteve vezane za korisnički interfejs).
 
## Softverska okruženja za razvoj ekspertnih sistema
* ART
* CADUCEUS
* CLIPS
* Corvid
* DoctuS
* Drools
* Dendral
* Expert System Builder
* Exsys Professional
* Jess/JessGUI
* Java DON
* Kappa PC
* KnowledgeBench
* LogicNets
* MQL 4
* Mycin
* NETeXPERT
* Prolog
* Forth
* R1/Xcon
* SHINE Expert System
* STD Wizard
* PyKe

## Ekspertni sistemi i konvencionalni programi
Konvencionalni programi se uglavnom upotrebljavaju za obradu velikih količina podataka numeričkog tipa, koja se vrši prema unapred definisanim algoritmima. 

Ekspertski sistemi manipulišu simboličkim podacima i ne rade po unapred zadatim algoritmima. Problemi koje rešavaju su slabo strukturirani i ne podležu matematičkom modeliranju i formalizmu. 

Razlike između konvencionalnih programa i eksperskih sistema su u tome što 
* eksperski sistemi koriste heuristiku, 
* predstavljaju i koriste znanja umesto podataka, 
* umesto cikličkih procesa koriste se procesi zaključivanja, 
* znanje i metode znanja nisu pomešani već se koristi odvojeni model, 
* znanje je organizovano u obliku podataka, 
* sadrže bazu znanja 
* novo znanje se dodaje bez reprogramiranja.

**Istorijat razvoja ekspertnih sistema ** 
* GPS - prvi pokušaj razdvajanja znanja od načina rešavanja problema
* DENDRAL - analiza spektrograma mase; korišćenje heurističkog znanja
* MYCIN - medicinska dijagnostika; korišćenje faktora izvesnosti
* PROSPECTOR - analiza prisustva minerala u zemljištu.

## Veze
* Veštačka inteligencija
* Informacioni sistem
* Fazi logika
* Heuristika
* Neuronske mreže
* Rečnik socijalnog rada

## Vanjske veze
* www.aaai.org
* GOOD OLD AI 

## Literatura
* "Ekspertni sistemi za rad u realnom vremenu", Devedžić Vladan, Institut "Mihajlo Pupin", 1994.
* "Rečnik socijalnog rada", Ivan Vidanović