You are on page 1of 40

Tema 9: Ekspertni sistemi i podrka

odluivanju odluivanju
SISTEMI ZA PODRKU ODLUIVANJU
dr Vladislav Mikovic
vmiskovic@singidunum.ac.rs
Tehniki fakultet
2013/2014
Tema 9: Ekspertni sistemi i podrka odluivanju
1. Osnovni pojmovi vetake inteligencije
2. Uvod u ekspertne sisteme
3. Alati za istraivanje znanja i razvoj ekspertnih
sistema
4. Primeri ekspertnih sistema za podrku odluivanju 4. Primeri ekspertnih sistema za podrku odluivanju
5. Ekspertni sistemi na Webu
1. Osnovni pojmovi vetake
inteligencije
Vetaka inteligencija
Mainsko uenje
Znanje
Predstavljanje znanja Predstavljanje znanja
Zakljuivanje
Ekspertni sistem
Vetaka inteligencija
Podruje raunarskih nauka, koje se bavi ponaanjem
raunara koje se, kada ga izvrava ljudsko bie, naziva
inteligentnim
Primer:
Igranje aha je igra koja zahteva inteligenciju Igranje aha je igra koja zahteva inteligenciju
ahovski program Deep Blue je 1997. godine
pobedio svetskog ampiona Garija Kasparova
Turingov test - pokuaj da se definie pojam inteligencije
raunara (apstraktna raunska maina)
Alan Mathison Turing, matematiar i kriptoanalitiar (1912-1954)
Turingov test: moe li maina da misli?
Turingov test
Dve prostorije, u jednoj je
ovek-ispitiva (C), a u drugoj
raunar (A) i ovek (B)
Raunar (raunska maina) je
inteligentan ako ispitiva (C)
Kineska soba
John Searle, 1980
Soba sa odgovarajuom
literaturom na kineskom i
uputstvom za pronalaenje i
davanje odgovora na kineskom inteligentan ako ispitiva (C)
ne moe da razlikuje
ponaanje raunara (A) i
ljudskog bia (B) prilikom
ispitivanja
davanje odgovora na kineskom
Moe da daje odgovore, a da
ne razume ni re kineskog
Mogue je poloiti Turingov
test, bez razumevanja ili
resuivanja
5
Obeleja inteligentnog ponaanja
Uenje ili razumevanje na osnovu iskustva
Shvatanje dvosmislenih ili kontradiktornih poruka
Brzo i uspeno regovanje u novim situacijama
Korienje zakljuivanja u reavanju problema i
Snalaenje u nepredvidivim situacijama Snalaenje u nepredvidivim situacijama
Razumevanje i zakljuivanje na obian, racionalan nain
Upotreba znanja za manipulisanje okruenjem
Miljenje i rezonovanje
Prepoznavanje relativne vanosti razliitih elemenata neke
situacije
Mainsko uenje
Proces u kome sistem poboljava svoje performanse na
datom zadatku bez dodatnog programiranja [Hart,1989]
Induktivno uenje
uenje na osnovu primera (learning by examples) i
uenje posmatranjem i samostalnim otkrivanjem (learning by uenje posmatranjem i samostalnim otkrivanjem (learning by
observation and discovery)
Induktivno uenje koncepata
indukcija logikih zakonitosti koje zadovoljavaju "princip razumljivosti"
(principle of comprehensibility)
Znanje
Znanje
Kontekstno zavisna, relevantna i delatna informacija
Razumljivost znanja
Najvii stepen razumljivosti omoguava korienje Najvii stepen razumljivosti omoguava korienje
nauenog znanja bez pomoi raunara
Predstavljanje znanja
Eksplicitno znanje
objektivno, racionalno, tehniko, lako se formalizuje
predstavlja se matematikom logikom, produkcionim pravilima,
frejmovima i sl.
Implicitno (distribuirano) znanje, teko se formalizuje Implicitno (distribuirano) znanje, teko se formalizuje
subjektivno, empirijsko, teko se formalizuje
predstavljeno npr.u obliku neuronskih mrea
Predstavljanje znanja
deklarativno (opisno)
proceduralno
metaznanje
Zakljuivanje
Zakljuivanje (inference) moe biti
Induktivno (od pojedinanog ka optem)
Deduktivno (od opteg ka pojedinanom)
Abduktivno (od konkretnog ka konkretnom)
Primer abdukcije: Primer abdukcije:
if a & b if pijan(x) & not hoda-pravo(x)
b not hoda-pravo(Petar)
a pijan(Petar)
Postoje razliite forme zakljuivanja (logike), osnovne su
propoziciona logika (logika sudova) i predikatna logika
Zakljuivanje u uslovima neizvesnosti - verovatnost i
statistika, alternativne teorije
Zakljuivanje i teorija verovatnoe:
Bajesova formula
U kontekstu sistema za podrku odluivanju (DSS), konkretno
dijagnostikih ekspertnih sistema, trai se verovatnoa nekog
oboljenja d na osnovu simptoma s
) (
) ( ) | (
) | (
s P
d P d s P
s d P

=
izvri se aproksimacija verovatnoa relativnim frekvencijama
oboljenja mogu da imaju vie simptoma s
1
, ... , s
n
P(d|s
1
&..&s
n
) = P(d) P(s
1
&..&s
n
|d) / P(s
1
&..&s
n
)
pretpostavlja se meusobna nezavisnost simptoma
P(s
i
|s
j
)= P(s
i
) i P(s
i
|s
j
&d)= P(s
i
|d)
tada je verovatnoa dijagnoze d (odluke)
P(d|s
1
&..&s
n
)= P(d) (P(s
1
|d) .. P(s
n
|d)) / (P(s
1
) .. P(s
n
))
) (s P
Ekspertni sistem
Ekspert
osoba koja poseduje
specijalistiko znanje, iskustvo
i sposobnost rasuivanja
Ekspertiza
specifino znanje eksperata,
steeno na osnovu uenja,
obuke i prakse
Ekspertni sistem
raunarski zasnovan sistem
koji je namenjen reavanju
problema za koje je potrebno
ekspertsko znanje
2. Uvod u ekspertne sisteme
1. Nastanak ekspertnih sistema
2. Struktura ekspertnih sistema
3. Vrste ekspertnih sistema
4. Alati za razvoj ekspertnih sistema 4. Alati za razvoj ekspertnih sistema
2.1 Nastanak ekspertnih sistema
Prvi uspeni ekspertni sistemi
DENDRAL - ekspertni sistem (Stanford,1965)
pomo u identifikaciji molekula u organskoj hemiji na osnovu masenih
spektrograma
pretea ekspertnih sistema MYCIN, MACSYMA, PROSPECTOR, XCON pretea ekspertnih sistema MYCIN, MACSYMA, PROSPECTOR, XCON
MYCIN - dijagnostiki ekspertni sistem (Stanford,1970)
dijagnostika bakterijskih infekcija i propisivanje doza antibiotske
terapije
oko 600 pravila, oko 69% ispravnih terapija (prevaziao uspenost
lekara)
prerastao u ljusku ekspertnih sistema KEE i ekspertni sistem
CADUCEUS
3.2 Struktura
ekspertnih sistema
1. Baza znanja (knowledge base)
2. Mehanizam zakljuivanja
(inference engine)
3. Korisniki interfejs
Pomoni podsistemi
podsistem za prikupljanje znanja
Radna memorija
plan
opis reenja
Baza znanja
injenice (facts)
pravila (rules)
Mehanizam
zakljuivanja
interpreter
planer
Prikupljanje
znanja

Poboljanje
baze znanja
podsistem za prikupljanje znanja
(knowlege acquisition)
podsistem za objanjenja
podsistem za poboljanje baze
znanja
radni prostor (workplace)
planer
konzistentnost
Korisniki
interfejs
inenjer
znanja
dokumentova
no znanje
korisnik

Objanjenja
predlog
reenja
injenice o
problemu
ekspertsko
znanje
RAZVOJ
SISTEMA
UPOTREBA
SISTEMA
Razvoj i upotreba sistema
Razvoj
Ekspert, sistem inenjer i
inenjer znanja
Inenjering znanja (knowledge
engineering)
definisanje problema
3
Radna
memorija
Baza
znanja
Mehanizam
zakljuivanja
sistem
inenjer
inenjer
znanja
kodirana
ekspertiza
definisanje problema
prikupljanje znanja
predstavljanje znanja
implementacija u bazi znanja
testiranje, ocena i poboljanje
znanja
Upotreba
krajnji korisnici
Korisniki
interfejs
inenjer
ekspert
ekspertiza
korisnik
Baza znanja
(Knowledga Base)
Najei nain predstavljanja znanja u bazi znanja su
produkciona pravila (production rules)
IF uslov THEN zakljuak
razumljiva su ljudima (ako ... onda ..)
dodavanje novih pravila je jednostavno dodavanje novih pravila je jednostavno
omogueno je predstavljanje neizvesnosti i probabilistiko zakljuivanje
Logiki izrazi
H :- B
1
, , B
n
.
Semantike mree
deklrativno predstavljanje znanja
XML, razliiti jezici i standardi
raunarska lingvistika, ANN, Semantic Web, ...
ptica
krila koa da
vrabac
ima
je
ima
leti
Napomena: Baza znanja u jeziku Prolog
Standardna forma pravila u bazi znanja ekspertnog sistema:
IF prva_premisa AND
druga_premisa AND
...
THEN THEN
zakljuak
Semantiki ekvivalentna pravila u jeziku Prolog imaju formu:
zakljuak :-
prva_premisa,
druga_premisa,
. . .
.
18
Primer: Baza znanja za pomo
pri kupovini notebook raunara
Rule 1:
IF namena=obrada teksta AND
nain upotrebe=na putovanju
THEN teina=lagan
Rule 2:
Rule 3:
IF budet2000 AND
budet>1000 AND
teina=lagan
THEN model=Dell Lattitude
Rule 2:
IF namena=obrada teksta AND
nain upotrebe=u kancelariji
THEN teina=nije bitna
THEN model=Dell Lattitude
Rule 4:
IF budet<1000 AND
teina=nije bitna
THEN model=Toshiba Satellite
Mehanizam zakljuivanja
(Inference Engine)
Komponenta koja realizuje
operacije izvoenja
zakljuaka na osnovu
trenutnog stanja baze
podataka (radnog prostora)

BAZA PODATAKA
BAZA ZNANJA


injenica: A je x injenica: B je y


Pravilo: IF A je x THEN B je y
Primena Poreenje
podataka (radnog prostora)
ekspertnog sistema
Metod zakljuivanja zavisi
od naina predstavljanja
znanja
20
Predstavljanje znanja Metod zakljuivanja
Logika pravila princip rezoulcije (resolution principle)
Produkciona pravila unapred (forward) i unazad (backward)
Semantike mree nasleivanje i posebni metodi
Pamenje primera (sluajeva) analogno, koristi se koncept slinosti

Metodi zakljuivanja
u ekspertnim sistemima
Zakljuivanje unapred (forward chaining)
trai se odgovarajui uslov pravila (uslov), koji odgovara
poznatim injenicama
na osnovu zadovoljenja svih uslova, bira se dalji put
zakljuivanja: za vie pravila, razreavanje konflikata zakljuivanja: za vie pravila, razreavanje konflikata
Zakljuivanje unazad (backward chaining)
poinje se od zakljuka i pretpostavlja njegova istinitost
identifikuju se svi uslovi zakljuka i testira njihova
istinitost, radi potvrde ili opovrgavanja zakljuka
ako su svi uslovi istiniti, prihvata se istinitost zakljuka,
inae se zakljuak odbacuje
Primer: Kupovina notebook raunara i
dva metoda zakljuivanja
(A) Zakljuivanje unapred (1-2-3-4)
Osnovna namena?
1. obrada teksta
2. komunikacije
3. multimedija
Odgovor: 1
Nain upotrebe?
1. u kancelariji
(B) Zakljuivanje unazad (npr. od 3)
Koliki je budet?
1. <1000
2. 1000..2000
3. >2000
Odgovor: 2
Osnovna namena?
1. obrada teksta
Rule 3:
IF budet2000 AND
budet>1000 AND
teina=lagan
THEN model=Dell Lattitude
Rule 1:
IF namena=obrada teksta AND
1. u kancelariji
2. na putovanju
Odgovor: 2
Koliki je budet?
1. <1000
2. 1000..2000
3. >2000
Odgovor: 2
Sistem preporuuje Dell Lattitude
Obrazloenje: lagan, pogodan za obradu
teksta i putovanja, zadovoljava budet
1. obrada teksta
2. komunikacije
3. multimedija
Odgovor: 1
Nain upotrebe?
1. u kancelariji
2. na putovanju
Odgovor: 2
Sistem preporuuje Dell Lattitude
Obrazloenje: lagan, pogodan za obradu
teksta i putovanja, zadovoljava budet
Rule 1:
IF namena=obrada teksta AND
nain upotrebe=na putovanju
THEN teina=lagan
Algoritam RETE
(I-III,NT)
Problem: ispitivanje velikog
broja uslova drugih pravila
za zakljuak jednog pravila
svi elementi u radnoj memoriji
sa svim premisama svih pravila
(n *n *n )
Pravila
P1: if a1=v1 and a2=v2 then zaklj 1
P2: if a1=v1 and a2=v3 then zaklj 2
P3: if a1=v4 and a2=v5 then zaklj 3
P4: if a1=v6 and a2=v7 then zaklj 4
Algoritam RETE na osnovu a1=v1 u
memoriji dalje evaluira samo P1
(n
1
*n
2
*n
3
)
sistemi sa velikim brojem
pravila su spori
Algoritam RETE (lat. mrea)
pronalazi zajednike delove
pravila i konstruie mreu
evaluacije premisa pravila
samo neophodna raunanja
23
memoriji dalje evaluira samo P1
a1
a2
v1
v2 v3 v5 v7
v4 v6
P1 P2 P4 P3
RETE: 4 ispitivanja
(umesto 4x2=8)
Radna memorija:
a1 = v1
a2 = v2
Napomena: Bajesovo pravilo
je mehanizam zakljuivanja
Bayesian(s) {
// s= {s
1
,..,s
n
} simptomi
for each d
i
Pcurrent(d
i
)= P(d
i
);
repeat
s
j
= s[1]; s = s\{s[1]};
) ,..., (
) | (
) ( ) ,..., | (
1
1
1
m
m
j
i j
i m i
s s P
d s P
d P s s d P

=
=
s
j
= s[1]; s = s\{s[1]};
for each d
i
Pcurrent(d
i
)= Pcurrent(d
i
)*I(d
i
|s
j
);
until s
j
={};
List top N diseas by Pcurrent
}
Napomena: s
i
su simtomi, d
i
dijagnoze; koristi se celobrojna aritmetika eksponenata
P(d|s
1
&..&s
n
)= P(d)
i=1..n
P(s
i
|d), I(d|s)=P(s|d)/P(s)
2.3 Vrste ekspertnih sistema
Ekspertni sistemi zasnovani na pravilima (rule-based)
Ekspertni sistemi zasnovani na okvirima (frames)
Hibridni ekspertni sistemi
istovremeno se koristi vie naina predstavljanja znanja
Ekspertni sistemi zasnovani na modelima (model-based) Ekspertni sistemi zasnovani na modelima (model-based)
koriste se modeli za simulaciju strukture i funkcionisanja sistema
Ekspertni sistemi opte namene (off-the-shelf)
sistemi opte namene za iru oblast primene
Ekspertni sistemi sistemi posebne namene (custom-made)
izraeni prema posebnim zahtevima krajnjih korisnika
Ekspertni sistemi u realnom vremenu (real-time)
stroga ogranienja vremena odziva sistema
2.4 Alati za razvoj ekspertnih sistema
Programski jezici opte namene
C++, Prolog, LISP
Ljuske ekspertnih sistema i sistemi za upravljanje poslovnim
pravilima (Business Rules Management Systems, BRMS)
Exsys CORVID, CLIPS, Jess, Expertise2Go Exsys CORVID, CLIPS, Jess, Expertise2Go
JBoss Rules (Drools), IBM ILOG JRules, WebFOCUS
Sistemi istraivanja podataka i sistemi mainskog uenja
(za istraivanje/otkrivanje znanja)
WEKA, RapidMiner, SAS Enterprise Miner, IBM SPSS Modeler
Gotova reenja - ekspertni sistemi za odreene primene
osiguranje, medicina, planiranje (Haley, ILOG, LPA VisiRule)
3. Alati za istraivanje podataka
i razvoj ekspertnih sistema
Programski jezici opte namene
Ljuske ekspertnih sistema i sistemi za upravljanje
poslovnim pravilima
Sistemi istraivanja podataka i mainskog uenja Sistemi istraivanja podataka i mainskog uenja
Gotova reenja za odreene primene
Programski jezici opte namene
Algoritamski
C/C++
Java
Funkcionalni
unsigned long factorial(unsigned long n){
if (n == 0)
return 1;
else
return n * factorial (n - 1);
}
Funkcionalni
LISP
F#
Erlang
Logiko programiranje
Prolog
JLog/JScriptLog
factorial(X, 1) :- X<2.
factorial(X, F) :- Y is X-1,
factorial(Y,Z), F is Z*X.
(defun factorial (N)
(if (= N 1) 1
(* N (factorial (- N 1)))))
Ljuske ekspertnih sistema
(Expert Systems Shells)
Ekspertni sistemi sa praznom bazom znanja
baza znanja se razvija za specifino podruje korienjem tehnika
prikupljanja/izvlaenja znanja (knowledge acquisition/elicitation)
Primeri:
EMYCIN (empty MYCIN) / TMYCIN EMYCIN (empty MYCIN) / TMYCIN
Exsys CORVID
CLIPS (C Language Integrated Production System)
JESS (Java Expert Systems Shell)
Expertise2Go
...
Sistemi za upravljanje poslovnim pravilima
(Business Rule Management Systems, BRMS)
Tehnologija razvoja poslovnih sistema zasnovanih na znanju
(ekspertni sistemi u poslovanju)
sve kompanije imaju pravila i ogranienja poslovanja
poslovna pravila se predstavljaju u formi iskaza prirodnog jezika
ne zahtevaju probabilistike ocene ne zahtevaju probabilistike ocene
Mehanizam zakljuivanja (rule engine)
Primeri
FICO Blaze Advisor
IBM ILOG (C/C++,.Net,Java)
Microsoft BizTalk / Windows Workflow Foundation
Oracle Business Rules
Information Builders WebFOCUS
...
30
Sistemi istraivanja podataka
i mainskog uenja
Samostalni integrisani alati (Data Mining)
WEKA (open source)
SAS Enterprise Miner (komercijalni)
IBM SPSS Modeler (komercijalni)
Samostalni algoritmi uenja (Machine Learning) Samostalni algoritmi uenja (Machine Learning)
CART (stabla odluivanja)
Delovi sistema poslovne inteligencije (BI) - uenje stabala
odluivanja, neuronskih mrea i modela noseih vektora
Oracle BI 11g
IBM DB2 Intelligent Miner
Microsoft SQL Server Business Intelligence Development Studio (BIDS)
Primer: WEKA
WEKA
(Waikato Environment for
Knowledge Analysis)
open-source (Java)
veliki broj metoda za veliki broj metoda za
uenje klasifikacija
predvianje kontinualnih
vrednosti (regresija)
uenje otkrivanjem
(grupisanje)
analiza asocijacija
vizualizacija podataka i znanja
Primer: WEKA
Primer uenja pravila i
stabala odluivanja na
osnovu analize glasanja u
amerikom kongresu
4. Primeri ekspertnih sistema
za podrku odluivanju
1. Oblasti primene ekspertnih sistema
2. Primeri primene ekspertnih sistema
4.1 Oblasti primene ekspertnih sistema
Interpretacija - opis nastale situacije
Predvianje - predvianje posledica situacije
Dijagnostika - na osnovu posmatranja stanja
Projektovanje - uz potovanje ogranienja
Planiranje - usklaenost s ciljevima Planiranje - usklaenost s ciljevima
Nadzor - otkrivanje odstupanja/neispravnosti
Opravke - upravljanje otklanjanjem neispravnosti
Uenje - pomo studentima
Upravljanje - funkcionisanjem sistema
4.2 Primeri primene
ekspertnih sistema
Dijagnostika u medicini
Medical Expert
http://www.med-expert.net/
Nadzor berzi-spreavanje
zloupotreba zloupotreba
SONAR - Securities
Observation, News Analysis,
and Regulation
Dijagnostika sloenih
tehnikih sistema
http://www.exsys.com/cessna
top.html
5. Ekspertni sistemi na Webu
Upotreba ES posredstvom Web-a
Exsys www.exsys.com
(inteligentni Web baner, banner with brains)
e2go - www.expertise2go.com
(male demonstracije) (male demonstracije)
Upotreba ES za funkcionisanje Web-a
ekspertski Web pretraivai (Search Engine) zasnovani na
znanju koriste zakljuivanje za odluke o odgovoru na upit
(query modification, query suggestion, inserting key results)
Primeri sistema
Ljuske ekspertnih sistema
e2go - www.expertise2go.com
XpertRule www.xpertrule.com
Corvid www.exsys.com
Sistemi za izvlaenje/otkrivanje znanja Sistemi za izvlaenje/otkrivanje znanja
WEKA www.weka.com
Knowledge Miner http://www.knowledgeminer.com
CART http://salford-systems.com/
http://www.kdnuggets.com/software/
Literatura
1. Mikovic V., Sistemi za podrku odluivanju, Univerzitet Singidunum,
Beograd, 2013
2. Turban E., Aronson J.E., Liang T., Sharda R., Decision Support and Business
Intelligence Systems, 9th Ed, Pearson Education, Inc, 2010
3. Negnevitsky M., Artificial Intelligence: A guide to Intelligent Systems, 2nd
Edition, Addison Wesley, 2005 Edition, Addison Wesley, 2005
4. Charniak E., McDermott D., Introduction to Artificial Intelligence, Reading:
Addison-Wesley, 1987
5. Giarratano J.C., Riley G. D., Expert Systems: Principles and Programming,
3rd Edition, Course Technology, 1998
6. Meritt D., Building Expert Systems in Prolog, Springer-Verlag, 2000
7. Witten I.H., Frank E., Hall. M.A., Data Mining: Practical machine Learning
Tools and Techniques, 3rdEd, Elsevier Inc, 2011
8. www.wikipedia.org
SISTEMI ZA PODRKU ODLUIVANJU
Tema 9: Ekspertni sistemi i podrka odluivanju
KRAJ KRAJ

You might also like