Title: Kroz primjere
1Kroz primjere
Marin Japec
I'm sorry Dave, I'm afraid I can't do that.
Hall 9000
2EKSPERTNI SUSTAVI
http//en.wikipedia.org/wiki/CategoryExpert_syste
ms http//clipsrules.sourceforge.net/ http//www
.aaai.org/aitopics/pmwiki/pmwiki.php/AITopics/Expe
rtSystems ...detaljnije na kraju predavanja
3Što cemo raditi
Upoznati se sa ljuskama ekspertnih sustava
Pogledati primjere ekspertnih sustava
2
Dati savjete za izgradnju ekspertnih sustava
3
Što necemo raditi
Riješiti Vam labose
1
Raspravljati da li je Mirko Miocic ekspertni
sustav
2
4EKSPERTNI SUSTAVI
5EKSPERTNI SUSTAVI
Kome je potreban ekspertni sustav?
Kriket?
Najcešca
Banke, osiguravajuce kuce Investitori Financijski
analiticari Odvjetnici Planeri i dizajneri Homer
Simpson Industrijski inženjeri Bolnice,
Fizicari Itd. ..
U pravilu na svako podrucje se može primjeniti!
Detekcija pranja novca ?
6EKSPERTNI SUSTAVI
Tata mata ljuski
Fuzzy Clips
Pyke
ExSys Corvid
CLIPS
OPS5
SHINE
Orahova ljuska
Jess
7EKSPERTNI SUSTAVI
- Alati koji nude gotov okvir izrade ekspertnog
sustava - -gt puno brža i efikasnija izrada ES-a
- Generalna razlika medu ljuskama?
Jedna specificna ljuska daje na raspolaganje
samo ograniceni broj metoda za reprezentaciju
znanja i zakljucivanja . To je ujedno
i mana ljuski.
PROLOG, Lisp,C, Java, Ruby, Python,..
8EKSPERTNI SUSTAVI
Sintaksa nalik LISP-u (okrugle zagrade kao
delimiteri)
Razvijen 1984, u NASA centru
Više paradigmatsko programsko okruženje (3
nacina prikaza znanja)
- pravilima
- proceduralno
- objektno-orijentirano
CLIPS ljuska
Potpuno okruženje za razvoj ekspertnih sustava
Radi kao samostalan alat, no moguce ga je
pozvati i iz drugog jezika
Open source
9EKSPERTNI SUSTAVI
- Razlikuje velika i mala slova
- Cinjenice (facts) - Baza cinjenica predstavlja
pocetno stanje problema
- Pravila (rules) - Baza pravila sadrži operatore
koji pretvaraju stanje problema u rješenje
- Mehanizam zakljucivanja(inference engine) u
CLIPS-u radi u tri koraka - Usporeduje cinjenice sa pravilima
- Izabire koje pravilo izvršiti
- Izvršava odgovarajucu akciju zadanu uz pravilo
Watch
CLIPSgt (watch rules)
Reset
CLIPSgt (reset)
Run
CLIPSgt (run)
10EKSPERTNI SUSTAVI
CINJENICE
- Pregledavanje baze cinjenica CLIPSgt
(facts)
- Dodavanje podatka u bazu cinjenica assert
CLIPSgt (assert (Homer voli pivo))
- Brisanje cinjenice retract
CLIPSgt (retract 0)
- Brisanje svih cinjenica clear
CLIPSgt (clear)
- Definiranje više cinjenica odjednom deffacts
CLIPSgt (deffacts Simpsoni (Homer voli
pivo) (Marge ima plavu kosu) )
- Ili...ucitavanje iz datoteke! Potrebno napraviti
reset (tek tada dodajemo ih u bazu)
- Korištenje predložaka(templates) deftemplate
(deftemplates Simpson (slot ime (type STRING)
) (slot godine (type NUMBER) (default 36)) )
CLIPSgt (deffacts Simpsoni (Simpson (ime Homer)
) (Simpson (ime Marge) (godine (34) ) )
11EKSPERTNI SUSTAVI
PRAVILA
!
Sintaksa (defrule ltimePravilagt ltkomentar(opcija)
gt ltdeklaracija(opcija)gt ltpremisa1gt ... ltpremisaNgt
gt ltakcija1gt ... ltakcijaMgt )
Npr (defrule navike Homerove
navike (salience 10) (Homer drži pivo u
ruci) (Moe razgovara sa Homerom) gt (assert
(Homer se nalazi u baru) ) (assert (Homer je
sretan) ) )
Sa varijablama (defrule navike (?osoba drži
pivo u ruci) (Moe razgovara sa ?osoba)) gt (assert
(?osoba se nalazi u baru) ) (assert (?osoba je
sretan) ) )
- Važnost pravila salience, raspon -10 000,10
000, veci broj, veca važnost, default 0
Vidi Clips Users Guide za više informacija!
12EKSPERTNI SUSTAVI
Identificira bakterije koje uzrokuju teške
infekcije i preporucuje antibiotike sa dozom
prilagodenom pacijentovoj težini
Pionirski projekt
(1970)
Identificiranje nepoznatih organskih molekula
(1960)
70 slucajeva prihvatljiva terapija
U praksi nije nikada zaživio zbog 1.Premalog
broja pravila(samo 400) 2. Previše rac. resursa
Mogao dijagnosticirati 1000 bolesti
(1985)
Preporucuje testiranja i cjepljenja vezana uz
spolne bolesti
13EKSPERTNI SUSTAVI
Dipmeter Advisor
Pomaže u analizi podataka dobivenih u
istraživanju nafte
XCON
Bira komponente VAX sustava na temelju narudžbi
kupaca.
Animal Expert System
Podrška poslovnim sustavima u graditeljstvu
Daje odgovor o kojoj vrsti kita se radi
Zakljucuje o kojoj se životinji radi
14EKSPERTNI SUSTAVI
Klasifikacija problema koje rješavamo ekspertnim
sustavima Interpretacija - podaci sa senzora
-gt razumijevanje signala, kemijskih struktura...
Predvidanje - posljedice nekog dogadaja -gt
predvidanje vremena, financijsko
predvidanje Dijagnoza zakljucivanje pogrešaka
iz simptoma -gt širok spektar podrucja(medicina,ele
ktronika...) Dizajn izgradnja objekata koji
zadovoljavaju neka ogranicenja -gt dizajn
sklopova... Planiranje generiranje niza
aktivnosti koje postižu zadani cilj -gt planiranje
gibanja robota, planiranje puta... Pracenje
prati ponašanje sustava da bi ga zaštitio -gt
pracenje rada elektricne centrale... Debugiranje
otklanja pogreške sustava -gt pomoc
programerima... Popravljanje dijagnosticira
problem i riješava ga -gt racunalne
mreže... Instrukcije omogucuje ispravljanje
zabluda -gt studentska zabluda da je izgradnja
ekspertnog sustava teška... Kontrola
administrira sustav tako da ceka probleme,
planira rješenja i prati potrebe aktivnosti -gt
kontrola misije...
Savjeti 1. Fokusiranje u dubinu specificnog
problema, a ne u širinu( npr. dijagnoza odredenog
tipa kvara na automobilu (umjesto opcenito kvara
na automobilu,posebna vrsta cvijeta (umjesto
cvijeca opcenito)) 2. Heuristicka domena, za
koju ne postoje jednostavna rješenja. 3. Domena
za koju imate jednostavno dostupan izvor
informacija ( covjek ekspert ) 4. Ako je
problem teži nego što ste ocekivali,
pojednostavite problem ogranicavajuci domenu
Ekspertni sustav Gdje na apsolventsko putovanje?
(CLIPS)!
15(No Transcript)
16EKSPERTNI SUSTAVI
Whale watcher http//www.aiinc.ca/demos/whale.htm
l
STD Wizard http//www.stdwizard.org
Animal Expert System http//www.lpa.co.uk/pws_dem
7.htm
CLIPS http//en.wikipedia.org/wiki/CLIPS OPS5
http//en.wikipedia.org/wiki/OPS5 Pyke
http//pyke.sourceforge.net/overview/index.html
SHINE http//en.wikipedia.org/wiki/SHINE_Expert_
System Jess
http//en.wikipedia.org/wiki/Jess_programming_lan
guage JessfuzzyLogic http//www.iit.nrc.ca
/IR_public/fuzzy/fuzzyJToolkit2.html
FuzzyCLIPS http//www.iit.nrc.ca/IR_public/fuzzy/
fuzzyClips/fuzzyCLIPSIndex2.html
Dijagnoza kvara racunala http//www.zemris.fer.hr
/predmeti/tes/NekiProjekti/PCkvar.clp
Ideje za projekt http//www.zemris.fer.hr/predmet
i/tes/Projects.txt
17Pitanja?