Seminarski rad: Primena VI

-
Ekspertni sistemi
Popovi´c Zoran
Centar za multidisciplinarne studije
Univerzitet u Beogradu
18. avgust 2006
Saˇzetak
Ovaj tekst je zamiˇsljen kao pregled sadrˇzaja knjige [JD] (pogledati
bibliografiju), kao uvod u osnovne pojmove, koncepte, projektovanje i
razvoj ekspertnih sistema kao primene veˇstaˇcke inteligencije. Rad je
pisan pomo´cu T
E
X-a tj. L
A
T
E
X-a kao njegovog dijalekta i jfig alata.
Profesor: Ivan Obradovi´c
Primena VI - Ekspertni sistemi 1
Sadrˇzaj
1 Poglavlje 1 - Ekspertni sistemi, uvod 3
1.1 Inteligentne maˇsine . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Definicja i kratka istorija VI . . . . . . . . . . . . . . . . . . . 3
1.3 Ekspertni sistemi - pojam . . . . . . . . . . . . . . . . . . . . 4
2 Poglavlje 2 - Osnovne osobine ES 5
2.1 Struktura i osobine . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Programiranje naspram inˇzenjerstva znanja . . . . . . . . . . . 7
2.3 Ljudi ukljuˇceni u ES razvoj . . . . . . . . . . . . . . . . . . . 8
3 Predstavljanje znanja
(knowledge representation) 9
3.1 Tipovi znanja . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Tehnike zakljuˇcivanja 12
5 ES bazirani na pravilima (rule-based) 15
5.1 Prednosti ES baziranih na pravilima . . . . . . . . . . . . . . 15
5.2 Mane ES baziranih na pravilima . . . . . . . . . . . . . . . . . 16
5.3 ES bazirani na pravilima s nizanjem unazad . . . . . . . . . . 17
5.4 ES bazirani na pravilima s nizanjem unapred . . . . . . . . . . 18
6 Bajesov pristup neegzaktnom zakljuˇcivanju 20
6.1 Teorija verovatno´ce i zakljuˇcivanje, PROSPECTOR . . . . . . 20
6.2 Osobine ovakvog pristupa . . . . . . . . . . . . . . . . . . . . 23
7 Teorija uverenja 24
7.1 Zakljuˇcivanje s uverenjem . . . . . . . . . . . . . . . . . . . . 24
7.2 Mere verovanja i neverovanja i ukupno uverenje . . . . . . . . 24
7.3 Propagiranje uverenja . . . . . . . . . . . . . . . . . . . . . . 25
7.4 Preporuke i zakljuˇcci . . . . . . . . . . . . . . . . . . . . . . . 26
8 Fuzzy logika 27
8.1 Osnovni pojmovi . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.2 Reprezentovanje . . . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3 Fuzzy zakljuˇcivanje . . . . . . . . . . . . . . . . . . . . . . . . 28
8.4 Max-Min zakljuˇcivanje . . . . . . . . . . . . . . . . . . . . . . 29
2 Seminarski rad
8.5 Max-Proizvod zakljuˇcivanje . . . . . . . . . . . . . . . . . . . 30
8.6 Pravila sa viˇse premisa . . . . . . . . . . . . . . . . . . . . . . 31
8.7 Defazifikacija (Defuzzification) . . . . . . . . . . . . . . . . . . 31
8.8 Razvoj fuzzy sistema, preporuke . . . . . . . . . . . . . . . . . 32
9 Sistemi zasnovani na okvirima 33
10 Indukcioni sistemi 35
10.1 ID3 algoritam . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
10.2 Prednosti i mane ID3 . . . . . . . . . . . . . . . . . . . . . . . 36
10.3 Razvoj indukcionih sistema . . . . . . . . . . . . . . . . . . . 36
11 Prikupljanje znanja 37
12 Inˇzenjerstvo znanja 38
13 Primer - sistem za generisanje i klasifikaciju muziˇckog zapisa 40
13.1 Opis i arhitektura sistema . . . . . . . . . . . . . . . . . . . . 40
13.2 CLIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
13.3 Prot´eg´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
13.4 Jess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
13.5 abc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
13.6 Primer - MUST.CLP . . . . . . . . . . . . . . . . . . . . . . . 45
Primena VI - Ekspertni sistemi 3
1 Poglavlje 1 - Ekspertni sistemi, uvod
1.1 Inteligentne maˇsine
Odavno postoji ˇzelja (,,sveti gral”) da se napravi maˇsina koja bi bila
sposobna da obavlja posao koji zahteva intelektualne sposobnosti ˇcoveka,
npr. da igra ˇsah (Charles Babbage, 1834. konstruiˇse mehaniˇcku ,,analitiˇcku
maˇsinu” koja raˇcuna i ˇstampa neke matematiˇcke proraˇcune, imao je nameru
da napravi i maˇsinu za igranje ˇsaha). Tek napretkom informatiˇcke tehnologije
od sredine 20. veka taj san postaje ostvariv. Nekoliko istraˇzivaˇca na Dartmut
koledˇzu 1956. g. (Dartmouth College, USA) uˇcestvuje u konferenciji koji
organizuje McCarthy na temu VI (koji je prvi predloˇzio upravo taj naziv
za tu oblast, a poznat je i kao otac LISP-a). Pored pregleda postoje´cih
dostignu´ca u oblasti automatskih dokazivaˇca teorema i programskih jezika,
raspravlja se i o mogu´cnosti razvoja raˇcunara koji bi bio u stanju da simulira
ljudsko razmiˇsljanje. Ovo okupljanje istraˇzivaˇca oznaˇcava rod¯enje veˇstaˇcke
inteligencije kao oblasti raˇcunarstva.
1.2 Definicja i kratka istorija VI
Definicija 1.1 (jedna od definicija)
Veˇstaˇcka inteligencija (VI) je oblast raˇcunarstva ˇciji je cilj rezonovanje na
raˇcunaru na naˇcin koji je sliˇcan ljudskom.
Veˇstaˇcka inteligencija beleˇzi prve uspehe akademske prirode kao ˇsto su prvi
program za igranje ˇsaha (Shannonn, 1955) ili dama (Samuel, 1963), au-
tomatsko dokazivanje teorema (,,Logic Theorist”, Simon i Newell, 1972), kao
i ambiciozan pokuˇsaj ostvarivanja opˇsteg sistema za reˇsavanje problema GPS
(General Problem Solver - Newell, 1960) baziran na traˇzenju razlika i oper-
atora izmed¯u ciljnog i trenutnog stanja u bazi ˇcinjenica i operatora koji se
pokazao ipak slabim za sloˇzenije probleme. VI je nakon poˇcetnih uspeha i
popularnosti doˇsla u krizu poˇcetkom sedamdesetih godina 20. veka (Lajthilov
preterano kritiˇcan izveˇstaj 1971.) kada je shva´ceno da nisu dovoljni algoritmi
pretraˇzivanja i simboliˇcki programski jezici sa simboliˇckom reprezentacijom
(baze) znanja da bi se reˇsili kompleksniji problemi (ˇcuveni primer prevod¯enja
sa jednog prirodnog jezika na drugi i nazad, tj. da za automasko prevod¯enje
nije dovoljna samo sintaksna analiza i reˇcnik - Dreyfys, 1972. i Lighthill
1973). Prvi uspeˇsni ekspertni sistemi kao ˇsto je to bio DENDRAL oznaˇcili
su izlazak iz te krize.
4 Seminarski rad
1.3 Ekspertni sistemi - pojam
Sistemi bazirani na znanju (knowledge-based systems) ili ekspertni sistemi
stavljaju naglasak na znanje (bazu znanja) pre nego na naˇcin pretraˇzivanja
i zakljuˇcivanja. Uopˇstene metode zakljuˇcivanja i sistemi ˇcija oblast nije do-
voljno specificirana se pokazuju nedovoljno sposobnim za mnoge realne prob-
leme (i njihovo reˇsavanje u realnom vremenu). Ekspert je osoba koja izuzetno
dobro poznaje neku oblast ljudskog znanja kao i naˇcine reˇsavanja problema
vezanih za tu oblast.
Definicija 1.2 Ekspertni sistem je program koji je projektovan da modelira
sposobnosti reˇsavanja problema ljudskog eksperta u nekoj oblasti.
Dve stvari se pre svega modeliraju u ekspertnom sistemu (ES): znanje eksperta
i njegovo zakljuˇcivanje. Zato se ES sastoji iz baze znanja i maˇsine za-
kljuˇcivanja (inference engine). Znanje koje nam ekspert pruˇza moˇze se pred-
stavljati ˇcinjenicama, pravilima, konceptima ili relacijama. Naˇcin i problem
njegovog predstavljanja jeste reprezentovanje znanja, dok naˇcin i problem
zakljuˇcivanja na osnovu baze znanja i zadatih upita je pitanje tehnika za-
kljuˇcivanja.
Ekspert je ˇcesto veoma neophodna osoba u mnogim organizacijama, i postavlja
se onda pitanje zaˇsto ga zamenjivati maˇsinom ? Pre svega, donekle sliˇcno
zameni nekih ljudi i njihovih poslova maˇsinom tokom industrijske revolucije,
ekspertni sistem moˇze biti koristan kao pomo´c kada ˇcovek nije raspoloˇziv, ili
prosto kao alat koji olakˇsava posao i omogu´cava automatizaciju nekih postu-
paka, radi sa ve´cim stepenom formalizma koji iskljuˇcuje mogu´cnost greˇske ili
slabosti zbog ljudskog faktora i sl. Postoji i jedna dodatna prednost - znan-
jem kao opˇstim dobrom ili kapitalom neke organizacije se lakˇse upravlja, lakˇse
se prenosi i primenjuje jer ne zavisi u toj meri od pojedinca-eksperta ako se
koristi ekspertni sistem. Gotovo da nema oblasti ljudskih delatnosti gde nije
napravljen neki ES i uspeˇsno primenjivan i njihov broj geometrijski raste.
Primena VI - Ekspertni sistemi 5
2 Poglavlje 2 - Osnovne osobine ES
2.1 Struktura i osobine
Ekspert / Ekspertni sistem
Dugotrajno pam´cenje / Baza znanja
znanje o oblasti (domenu) ekspertize
Kratkotrajno pam´cenje /
Radna memorija
problem, privremeno izvedeni
zakljuˇcci, ˇcinjenice i pitanja
Savet / Korisnik
ˇcinjenice o problemu
i zakljuˇcci
?
6
?
6
Zakljuˇcivanje /
Maˇsina (mehanizam)
zakljuˇcivanja
-
Na dijagramu iznad je prikazan odnos i pored¯enje modela rada jednog ljud-
skog eksperta i strukture ekspertnog sistema. Osnovna struktura ekspertnog
sistema se tako sastoji iz osnovnih komponenti: baze znanja, radne memo-
rije (koja se menja tokom sesije u radu sa ES dobijenim novim ˇcinjenicama i
zakljuˇccima) i maˇsine zakljuˇcivanja (procesor koji povezuje ˇcinjenice iz baze
znanja sa dobijenim zakljuˇccima i ˇcinjenicama iz radne memorije i izvlaˇci
nove zakljuˇcke o problemu). Pored ovih osnovnih komponenti postoje do-
datno i neke osnovne osobine ekspertnih sistema:
• objaˇsnjenja (kako, zaˇsto) - u svakom trenutku u toku sesije sa ES
moˇze se dobiti objaˇsnjenje kako je doˇsao do nekog zakljuˇcka ili pitanja
(ugrad¯eno u sve komponente)
6 Seminarski rad
• interfejs (prema korisniku) - ˇcesto se traˇzi komunikacija prirodnim
jezikom kroz interaktivni dijalog s korisnikom (mada mogu biti zastu-
pljeni i multimedijalni i drugi sadrˇzaji i vidovi komunikacije ˇsto zavisi
od prirode same oblasti i namene ES)
• razdvojeno znanje od kontrole - veoma vaˇzna karakteristika ES
nasuprot klasiˇcnim proceduralnim programima gde se upravljaˇcka kon-
trola u programu meˇsa sa raspoloˇzivim znanjem (kontrola tj. zakljuˇcivanje
kod ES se moˇze menjati nezavisno od baze znanja)
• poseduje ekspertsku bazu - baza znanja koja potiˇce pre svega od
ljudksih eksperata, gde se pod ekspertizom podrazumeva sposobnost
efikasnog reˇsavanja problema u nekoj oblasti
• naglasak na ekspertizi - svako ˇsirenje oblasti znanja obavezno nosi
rizik da ES postane neefikasan i nepotrebno sloˇzen (bilo je pokuˇsaja
ograniˇcenog uspeha, GPS ili Ham 1984.) - uvek je lak’ˇse reˇsavati prob-
lem kroz potprobleme odnosno probleme u podoblastima
• koristi simbole (ˇcinjenice, koncepte, pravila) - predstavljanje
znanja u razliˇcitim strukturama (od deklarativnih oblika kao ˇsto je
prirodni jezik do potpuno proceduralnih) ˇcini ES obrad¯ivaˇcima znanja
nasuprot konvencionalnim proceduralnim programima kao procesorima
podataka
• zakljuˇcianje heuristikama - da bi mogao da efikasno zakljuˇcuje mora
da vodi raˇcuna o najboljem naˇcinu reˇsavanje problema ne samo kroz
algoritme pretraˇzivanja s heuristikama, nekakvim poznatim preˇcama
• ˇcesto se koristi neegzaktno zakljuˇcivanje - zakljuˇcivanje sa verovatno´com,
mogu´cnostima ili uverenjima
• ograniˇcenje na probleme koji su reˇsivi ekspertnim sistemom -
ne treba oˇcekivati nemogu´ce ...
• borba sa kompleksnoˇs´cu - reˇsavanje veoma jednostavninh problema
ES se joˇs i moˇze opravdati, ali ako je problem previˇse kompleksan
nemoˇze se opravdati predugaˇcko vreme potrebno za njegovo reˇsavanje
• moˇze napraviti greˇsku - kao i pravi (ljudski) ekspert
Primena VI - Ekspertni sistemi 7
2.2 Programiranje naspram inˇzenjerstva znanja
Konvencionalno programiranje ima dobro poznate i prouˇcene metode
razvoja i odvija se sekvencijalno (iterativno), grubo reˇceno u tri faze redom
(ˇzivotni ciklus): projektovanje, kodiranje i provera / otklanjanje greˇsaka (de-
bug). Konvencionalni program je zavrˇsen tek nakon prolaska kroz sve tri faze
do poslednje. Inˇzenjerstvo znanja u odnosu na konvencionalno programi-
ranje nema joˇs uvek tako dobro ustanovljene metodologije razvoja. Ovde nije
naglasak na obradi podataka (algoritmom, programom) ve´c na oblikovanju
(baze) znanja - deklarativno-proceduralna kontroverza: kontrolna struktura
ES kod kojih je naglasak na deklarativnom znanju je potpuno odvojena od
podataka za razliku od proceduralnih programa, paradigma deklarativnih
jezika naspram proceduralnih, i sl.. Grubo reˇceno, faze razvoja su:
Faza procene: Tokom ove faze se identifikuju vaˇzni problemi, izvodivost
njihovog reˇsenja u odnosu na ciljeve, i drugi vaˇzni ˇcinioci projekta kao
ˇsto su ciljevi, oblast i potrebni resursi - podaci i ljudi (eksperti). Tako
se formiraju osnovni zahtevi projekta.
Faza prikupljanja znanja: Znanje se obiˇcno preuzima od eksperta, orga-
nizuje i prouˇcava kako radi boljeg uvida u problem, tako i zbog potreba
daljeg razvoja. Moˇze biti usko grlo projekta i zato se smatra vaˇznom
fazom.
Faza projektovanja: Definiˇsu se ukupna struktura i organizacija znanja
sistema, metodi obrade znanja - bira se (npr.) alat kojim se znanje
predstavlja i obrad¯uje (naˇcin zakljuˇcivanja u upravljanja znanjem) tako
da bude ˇsto sliˇcniji ljudskom ekspertu.
Faza testiranja: Ova faza se ˇcesto odvija zapravo tokom svih prethodnih
faza, i nakon nje se po potrebi iterativno vra´ca na neku od prethodnih.
Faza dokumentacije: Specifiˇcnost u odnosu na konvencionalnu dokumentaciju
je reˇcnik znanja - daje inˇzenjeru uvid u organizovano predstavljeno
znanje i procedure reˇsavanja sistema.
Faza odrˇzavanja: ES je po pravilu sistem koji ˇzivi jer se baza znanja menja
vremenom.
8 Seminarski rad
2.3 Ljudi ukljuˇceni u ES razvoj
Projekat ES obavezno ukljuˇcuje:
• Domenskog eksperta (Domain Expert)
– poseduje ekspertsko znanje, ima sposobnosti za efikasno reˇsavanje
problema
– moˇze da prenese (objasni) znanje, komunikacione sposobnosti
– raspoloˇzivost - ima vremena koje moˇze da posveti razvoju ES
– nije neprijateljski raspoloˇzen (prema razvoju ES)
• Inˇzenjera znanja
– poznaje inˇzenjerstvo znanja
– ima dobre komunikacione sposobnosti
– moˇze da problem pretvori u softver
– ima programerske sposobnosti za ES (jedan od glavnih ciljeva ove
knjige)
• Krajnjeg korisnika
– u stanju je da pomogne u specificiranju korisniˇckog interfejsa
– moˇze da pomogne u sakupljanju znanja
– moˇze da pomogne u razvoju sistema
Ekspert u odnosu na ne-eksperta poseduje znanje (to je njegova ,,apsolutna
vrednost”). Svaki od ovih uˇcesnika poseduje odred¯ene praktiˇcne osobine i
znanja potrebne da se projekat uspeˇsno zavrˇsi.
Primena VI - Ekspertni sistemi 9
3 Predstavljanje znanja
(knowledge representation)
U ovom poglavlju se pravi pregled nekoliko najpopularnijih metoda za
predstavljanje znanja u simboliˇckom obliku. Pre svega znanje se definiˇse kao
razumevanje predmetne oblasti analogno znanju ljudskog eksperta, a domen
kao deo oblasti znanja koji je od znaˇcaja za ES je dobro usredsred¯ena oblast
znanja gde se pod tim podrazumeva oblast znanja vezana za jednu specifiˇcnu
temu a ne viˇse njih (npr. tema ,,zarazne bolesti krvi”). Tada je domen
znanja ono ˇcime se ES bavi, i potrebno je nekako njegove elemente kodi-
rati i smestiti u ES - predstavljanje (reprezentovanje) znanja je metod
kodiranja znanja u bazi znanja nekog ES.
3.1 Tipovi znanja
Razliˇciti tipovi predstavljanja znanja prema razliˇcitim vrstama problema
naglaˇsava jednu vrstu informacija o problemu a drugu ignoriˇse i ne postoji
idealan tip predstavljanja znanja koji za sve primene.
Ljudsko znanje se sastoji iz pojedinih ˇcinjenica kao osnovnih elemenata.
U mnogim formalnim sistemima se pod ˇcinjenicom kao oblikom deklarativnog
znanja obiˇcno podrazumeva iskaz (bilo kao logiˇcki iskaz ili kao iskaz nekog
drugog formalnog jezika - u ve´cini sluˇcajeva se pokazuje da je izraˇzajnost
ista tj. da postoje reˇcenice u oba jezika ekvivalentne semantike - problem u
tom sluˇcaju moˇze da bude npr. proceduralni deo okvira) - reˇcenica koja je
taˇcna ili nije taˇcna.
ˇ
Cinjenice mogu biti reprezentovane na razlˇcite naˇcine
- mogu biti zadate i tabelama ili grafovima, itd. Neki ES koriste i prirodni
jezik i druge oblike informacija (multimedijalnog karaktera na primer), ali
to su obiˇcno elementi interfejsa prema korisniku koji se prevode u internu
reprezentaciju i obratno.
Sledi kratak pregled tipova znanja prema suˇstinskom znaˇcaju i upotrebi:
10 Seminarski rad
pravila
proceduralno znanje - kako strategije
se neˇsto reˇsava agende
procedure
deklarativno znanje - ˇcinjenice, koncepti
ˇsta se zna objekti
ˇcinjenice
meta-znjanje - znanje kako znanje o drugim tipovima znanja
upotrebiti i upravljati znanjem
heurstiˇcko znanje - ,,preko palca”, ,,pravilo preko palca”
plitko empirijsko znanje
strukturno znanje - opisuje strukture skupovi pravila
znanja, mentalni model eksperta koncepti i relacije
Pet osnovnih tehnika za predstavljanje znanja:
• trojke objekat-atribut-vrednost (O-A-V) - atribut moˇze imati
jednu ili viˇse vrednosti, iskaz moˇze imati vrednost i sa verovatno´com
(zadatim koeficijentom), fuzzy pravila
• pravila - proces zakljuˇcivanja u ES je odred¯en je pravilima (po uzoru
na modus ponens) sa levom i desnom stranom (uslov - zakljuˇcak), gde
desna strana moˇze osim nove ˇcinjenice znaˇciti i izvrˇsenje neke pro-
cedure. Meta pravila su posebna pravila kojima se upravlja domen-
skim znanjem - o upotrebi pravila. Pravila mogu biti ˇseme pravila
(promenljiva), grupisana u strukture koje odgovaraju podsistemima
koji komuniciraju preko deljenih resursa (table)
• semantiˇcke mreˇze - graf kao struktura korisna i kao prikaz znanja
na naˇcin blizak ljudima, i kao struktura koja nudi neke korisne os-
obine pretraˇzivanja i formalno predstavljanja znanja (npr. ˇsetanjem od
Primena VI - Ekspertni sistemi 11
zadatog ˇcvora se moˇze traˇziti odgovor na upit uz osobine nasled¯ivanja
(luk ”jeste”) i tranzitivnosti, organizovanje izuzetaka od nasled¯enih os-
obina)
• okviri (frames) - ˇsema kao proˇsirenje semantiˇckih mreˇza (Barlett,
1932) sadrˇzi i deklarativno i proceduralno tipiˇcno znanje o nekom ob-
jektu ili konceptu. Struktura podataka kojom se ovo opisuje je okvir
(frame, Minsky, 1975). Objekat tj. okvir ima slotove koji predstavl-
jaju osobine sa vrednostima (O-A-V), mogu imati pretpostavljene (de-
fault) vrednosti, mogu biti statiˇcke ili dinamiˇcke, mogu biti niska, broj,
Boolean ili objekat - okvir. Ovo poslednje ukazuje na objektnu struk-
turu okvira (zapravo klasa) sa osobinom nasled¯ivanja i instanciranja, a
metodima se opisuje proceduralno znanje. Faceti su metodi kojima se
daju ili menjaju vrednosti, a koriste se i ako finije ograniˇcenje mogu´cih
vrednosti pored tipa, ili utiˇcu na izbor i okidanje pravila prema uslovu.
• logika - iskazna logika i PR1 - u mnogim sistemima je potrebno makar
imati implicitno zadat model znanja u obliku formula i teorija PR1, a
u nekima se koristi upravo kao reprezentovanje znanja u nekom vidu
(PROLOG, Hornove ˇseme, rezolucija) i kao naˇcin zakljuˇcivanja.
12 Seminarski rad
4 Tehnike zakljuˇcivanja
Postavlja se najpre granica izmed¯u procesa ljudskog razmiˇsljanja i modela
ljudskog razmiˇsljanja kojeg sre´cemo u VI tj. ES:
Definicija 4.1 Razmiˇsljanje (reasoning) je proces rada sa znanjem, ˇcinjenicama
i strategijama reˇsavanja problema (pravilima) radi dolaˇzenja do zakljuˇcaka o
istim.
• Deduktivno zakljuˇcivanje - klasiˇcan oblik razmiˇsljanja i zakljuˇcivanja
(npr. modus ponens) u kome se na osnovu postoje´ceg skupa ˇcinjenica
(aksioma) izvode novi zakljuˇcci ili med¯uzakljuˇcci.
• Induktivno zakljuˇcivanje - Ljudi ˇcesto zakljuˇcuju uopˇstavanjem po-
jedinih sluˇcajeva (generalizacijom) u sve sluˇcajeve odred¯enog tipa. Suˇstina
takvog induktivnog razmiˇsljanja je taj prelazak od pojedinog ka svemu
(Firebaugh, 1988. - ako vaˇzi P(x) na nekom podskupu vrednosti X
onda vaˇzi (∀x)P(x)).
• Abduktivno zakljuˇcivanje - abduktivno zakljuˇcivanje je oblik de-
duktivnog zakljuˇcivanja u kome se dozvoljavaju i mogu´ci zakljuˇcci (gen-
eralizacija nad predikatom ili podizrazom a ne samo nad promenljivom,
npr. ako je B i A ⇒ B onda je mogu´ce da je taˇcno i A).
• Analogiˇcno zakljuˇcivanje - okvirom se mogu uhvatiti stereotipne in-
formacije, i ako se kaˇze da je neki objekat predstavljen okvirom sliˇcan
nekom drugom objektu predstavljenim okvirom s nekim uhva´cenim raz-
likama onda je to analogiˇcno zakljuˇcivanje o novom objektu koji preuz-
ima osobine starog objekta uz neke razlike.
• Zdravorazumsko zakljuˇcivanje - ili zakljuˇcivanje uz upotrebu heuris-
tika, ,,plitkog” ali praktiˇcnog znanja o nekim stvarima i najboljim
postupcima zakljuˇcivanja o njima (kao kod algoritma pretraˇzivanja s
izborom najbooljeg, best-first, kao i sa upotrebama heuristika - korisnih
preˇcica u pretrazi), ˇsto je ˇcest sluˇcaj kod ljudi eksperata.
• Nemonotono zakljuˇcivanje - ˇcesto se razmiˇslja o problemu tako da
mnoge ˇcinjenice u bazi i njihove posledice imaju konstantnu istinitosnu
vrednost nakon dodavanja nove ˇcinjenice u bazu (ili se istinitost do-
brog dela baze znanja ne menja) i ako to vaˇzi za sve ˇcinjenice u bazi
Primena VI - Ekspertni sistemi 13
znanja onda je to monotono zakljuˇcivanje, inaˇce je nemonotono i pos-
toje ˇcinjenice koje se menjaju nakon dodavanja nove ˇcinjenice u bazu.
Praktiˇcno, obiˇcno se ˇcinjenice ili dodaju ili oduzimaju iz baze znanja
pored med¯uzakljuˇcaka (RETRACT - povlaˇcenje ˇcinjenice, CYCLE -
pokretanje pretrage ponovo sa novim stanjem), nakon ˇcega se promene
mogu reflektovati na ostatak ili deo baze znanja.
Zakljuˇcivanjem se naziva model ljudskog razmiˇsljanja u ES.
Definicija 4.2 Zakljuˇcivanje (inference) je proces ekspertnog sistema kojim
se dobijaju nove informacije na osnovu postoje´cih.
Mehanizam zakljuˇcivanja uzima prema nekom izboru iz baze znanja neke
ˇcinjenice u vidu okvira i pravila, kao i instance ˇcinjenica iz radne memorije,
i onda prema zadatom naˇcinu zakljuˇcivanja dobija nove instance ˇcinjenica i
smeˇsta ih u radnu memoriju ili dobija ciljeve. Pred mehanizam zakljuˇcivanja
se postavljaju slede´ca pitanja pored samog naˇcina tj. pravila zakljuˇcivanja
za date premise i pravila:
• Kada i koja pitanja postavljati korisniku ?
• Kako pretraˇzivati bazu podataka ?
• Kako izabrati pravilo koje treba primeniti ako ih postoji viˇse u datom
trenutku ?
• Kako zakljuˇcena informacija utiˇce na dalju pretragu ?
Dve osnovne vrste zakljuˇcivanja bile bi:
• Nizanje unapred (Forward Chaining) - od baze znanja stiˇze se
ka cilju (podaci utiˇcu na rezultat, karakteristiˇcno za sisteme bazirane
na pravilima), koristi se modus ponens ili rezolucija kao naˇcin za-
kljuˇcivanja - dokle god se ne zakljuˇci cilj ili ne iscrpu primenjiva pravila.
• Nizanje unazad (Backward Chaining) - polaze´ci od cilja stiˇze se
do ˇcinjenica u bazi znanja tako da se utvrdi istinitost cilja (npr. nere-
zolucija, gde premise postaju podciljevi) - primenjivo pravilo (cilj je sa
desne strane pravila) ˇcije premise nisu u bazi znanja ili radnoj memoriji
postaju podciljevi, a podcilj jeste primitiva (traˇzi se vrednost od koris-
nika) ako nema primenjivog pravila. Agenda je spisak ciljeva koje treba
14 Seminarski rad
reˇsiti kao problem (neki put je bitno ne drˇzati se strogo redosleda). Ko-
risno je imati pravila kojima se bira cilj (nizanjem unapred) i to se moˇze
posti´ci posebnim pravilima (meta-pravilima) koja utiˇcu na biranje cilja.
Moˇze biti korisno imati mreˇzu zakljuˇcivanja (u toku razvoja ili eksploat-
acije sistema) - strukturu zakljuˇcivanja prikazanu grafom na osnovu ˇcinjenica
(ˇcvorovi) i pravila (lukovi) koja uˇcestvuju (npr. polaze´ci od cilja kod nizanja
unazad).
Pojam razreˇsavanja sukoba (conflict resolution) je strategija odabira pravila
koje se okida kada ima viˇse primenjivih pravila. Sastoji se iz 3 faze: prepoz-
navanja (svih premisa pravila u radnoj memoriji i skupa primenjivih prav-
ila), razreˇsenja (biranje pravila prema nekoj strategiji), i primene (nakon
ˇcega se zakljuˇcak dodaje u radnu memoriju). Tipiˇcne strategije su: prvo
pravilo po redu u memoriji, po zadatom prioritetu (salience), pravilo najve´ce
specifiˇcnosti, pravilo koje se odnosi na poslednji dodat element radne memo-
rije, ne okidaj ve´c upotrebljeno pravilo, pravila iz druge linije zakljuˇcivanja.
Dobre strane Loˇse strane
dobar za probleme vod¯ene nema predstavu o vaˇznosti
Nizanje unapred podacima (planiranje, pitanja (postavlja i nepotrebna
monitoring, interpretacija) pitanja, sva zadata)
dobro za potvrdu hipoteze prati´ce liniju zakljuˇcivanja iako
Nizanje unazad usredsred¯en je na problem ne treba (postoje poboljˇsanja,
(dijagnoza, savet, debugging) meta-pravila i faktori uverenja)
Kombinovanje jednog i drugog se ˇcesto koristi pored samog izbora izmed¯u
ova dva naˇcina (smera) nizanja tokom projektovanja ES (npr. posmatranjem
eksperta). To se moˇze posti´ci komunikacijom izmed¯u razliˇcitih podsistema
ili posebnim demon pravilima (koja nizanjem unapred reˇsavaju specifiˇcne
sluˇcajeve). Nemonotono zakljuˇcivanje moˇze podrazumevati i uklanjanje ˇcinjenice
(kao promenu u bazi znanja) kao i svih ˇcinjenica koje zavise od nje prema
nekom pravilu.
Primena VI - Ekspertni sistemi 15
5 ES bazirani na pravilima (rule-based)
ES bazirani na pravilima su zasnovani na strukturi u kojoj bazu znanja
ˇcine pravila (kao dugotrajna memorija), radnu memoriju unete i zakljuˇcene
ˇcinjenice (kao kratkotrajna memorija), kao i mehanizam zakljuˇcivanja. Pored
ovih osnovnih komponenti strukture tu su i korisniˇcki interfejs, razvojni in-
terfejs (koji moˇze biti isti kao i prethodni, ista ˇskoljka (shell) - okruˇzenje, ali
predstavlja drugaˇciji pogled na sistem i moˇzda dozvoljava promenu izvornog
koda), komponenta za objanjenja (obiˇcno proima sve ostale) i spoljni pro-
grami (koji dodatno podravaju ES). Osnovna vrsta ovakvih sistema su pro-
dukcioni sistemi gde se pod pravilima podrazumevaju produkcije - relacije
izmed¯u stanja i akcija (leva strana produkcije je stanje odred¯eno radnom
memorijom (pattern), desna akcija nad radnom memorijom, tj. nova ˇcinjenica).
Prvi uspeˇsni primeri su DENDRAL (60-tih), MYCIN i PROSPECTOR (70-
tih).
zakljuˇcivanja -
zakljuˇcci
ˇcinjenice
baza znanja
(pravila)
radna memorija
(ˇcinjenice)
mehanizam (maˇsina)
6
5.1 Prednosti ES baziranih na pravilima
• Prirodno izraˇzavanje - ljudima je blisko iskazivanje pravila u obliku
ako - onda
• Razdvojeno znanje od kontrole - kao i kod svih ES, Baza znanja i
mehanizam zakljuˇcivaja (sa meta-pravilima npr.) su razdvojeni
16 Seminarski rad
• Modularnost znanja - pravila su nezavisni delovi znanja i tako mogu
biti organizovani
• Lako proˇsirivanje - dodavanje pravila i ˇcinjenica je lako omogu´ceno
razdvojenoˇs´cu kontrole od znanja
• Proporcionalni rast inteligencije - dodavanjem znanja i ˇcinjenica
raste i sposobnost ES da reˇsava problem bolje
• Upotreba relevantnog znanja - sistem izdvaja bitna pravila za za-
dati problem (i u tom smislu je dodatno fokusiran)
• Izdvajanje objaˇsnjenja iz formalne sintakse - pravila nude mogi´cnost
davanja objaˇsnjenja i pra´cenja celog traga objaˇsnjenja datog zakljuˇcka
• Provera konzistentnosi - sama ˇskoljka moˇze nuditi mogu´cnost pro-
vere unetog znanja s obzirom na formalnu prirodu pravila i sintakse
• Heuristiˇcko znanje - mogu´ce je koristiti ,,zdravorazumsko” iskustvo
eksperta i zakljuˇcivanje (meta-pravilima npr.)
• Znanje s verovatno´com- moˇze se implementirati zakljuˇcivanje (prav-
ila i ˇcinjenice) s verovatno´com
• Upotreba promenljivih - mogu se koristiti ˇseme pravila upotrebom
promenljivih
5.2 Mane ES baziranih na pravilima
• Potreba za taˇcnim uparivanjem- da bi se pravilo okinulo neophodno
je da postoji ˇcinjenica koja formalno potpuno i taˇcno odgovara uslovu
• Nejasni odnosi med¯u pravilima - med¯u pravilima postoji ˇcesto
med¯uzavisnost koju nije lako uoˇciti u toku razvijanja sistema a to moˇze
biti vaˇzno
• Performanse - sistem sa velikom bazom znanja moˇze biti spor ili bar
nedovoljno brz za neke primene
Primena VI - Ekspertni sistemi 17
• Odgovaraju samo odred¯enim problemima - znanje se teˇsko ,,hvata”
odnosno reprezentovanje znanja pravilima nije uvek odgovaraju´ca za,
ˇsto se i oˇcekuje, i onda se mogu koristiti drugi oblici reprezentovanja
znanja (okviri, semantiˇcke mreˇze, tabele odluka - tabele u kojima su
kolone ˇcinioci tj. preduslovi i (neposredni) zakljuˇcci tj. odluke, itd.) ili
reˇsenja
5.3 ES bazirani na pravilima s nizanjem unazad
Tipiˇcni koraci u razvoju:
1. Definisanje problema
2. Definisanje ciljeva
3. Definisanje ciljnih pravila (koja zakljuˇcuju cilj)
4.
ˇ
Sirenje sistema
5. Preˇciˇs´cavanje sistema (uopˇstavanje pravila, sigurnosna mreˇza, opti-
mizacija, itd.)
6. Projektovanje korisniˇckog interfejsa
7. Evaluacija sistema
Preporuke u razvoju ovakvog sistema bi bile:
• Razdvojiti problem u potprobleme i njima dodeljene podsis-
teme - npr. (MYCIN) - posebno se vrˇsi dijagnoza, zatim ,,ispravka
problema” odnosno prepisivanje recepta, ili kontrola i novo reˇsenje
ako prethodno ne pomogne
• Inteligentan korisnik - pretpostavlja se da korisnik zna korisne infor-
macije koje mogu da reˇse problem i treba omogu´citi njihov unos (koris-
niku se moˇze ,,ugad¯ati” dodatnim objaˇsnjenjima i med¯urezultatima,
pogotovu o bitnim fazama i stvarima)
• Sigurnosna mreˇza (Safety Net) - treba uvek imati ,,ELSE” granu
ili odg. pravilo u zakljuˇcivanju sa nekim pretpostavljenim zakljuˇccima
da bi sistem uvek mogao dod¯e do nekakvog zakljuˇcka (makar pret-
postavljenog)
18 Seminarski rad
• Dokumentacija - treba uredno dokumentovati sva pravila i njihovo
znaˇcenje i efekat
• Promenljivi cilj - npr. prepisani recept je promenljiva tako da je
podrˇzano viˇse mogu´cnosti prepisivanja i zakljuˇcivanja, kao i kasnije
lakˇse proˇsirivanje sistema
• Testiranje - nakon svake izmene baze znanja treba testirati rad sis-
tema, ako se sistem ˇriri poˇzeljno je to raditi iterativno sluˇcaj po sluˇcaj
5.4 ES bazirani na pravilima s nizanjem unapred
Za razliku od prethodnih ES gde su mogu´ci ciljevi poznati i dobro utvrd¯eni,
ovde se reˇsenje traˇzi i nemora biti poznato unapred. Tipiˇcni koraci u razvoju:
1. Definisanje problema
2. Definisanje ulaznih podataka (pravila kojima se zadaje korisniˇcki unos)
3. Definisanje strukture vod¯ene podacima (pravila)
4. Pisanje inicijalnog koda (ne samo pravila koja daju ispravan rezultat,
ve´c niz koji daje ˇsablon po kome sva ostala mogu da se napiˇsu)
5. Testiranje sistema
6. Projektovanje korisniˇckog interfejsa
7.
ˇ
Sirenje sistema
8. Evaluacija sistema
Preporuke u razvoju ovakvog sistema bi bile:
• Sigurnosna mreˇza, dokumentacija, testiranje - takod¯e su primen-
jivi kao i kod prethodne vrste ES
• Grupisanje pravila - poˇzeljno je grupisati pravila, pogotovu prema
fazama rada - npr. sistem za dijagnozu ima obiˇcno 4 faze: detekciju,
izolaciju, dijagnozu i preporuˇcen postupak reˇsavanja problema.
Primena VI - Ekspertni sistemi 19
• Promenljive - koristiti ˇseme pravila upotrebom promenljivih, mada
se ovo odnosi i na prethodnu vrstu ES
• Unos podataka - obiˇcno ako podaci nisu ve´c u radnoj memoriji (AS-
SERTion) unose se okidanje inicijalnog pravila kojim se traˇze od koris-
nika
• Izuzeci i zaustavljanje rada - koriste se posebna pravila za speci-
jalne sluˇcajeve koji se obiˇcno okidaju pre svih ostalih, kao i mogu´cnost
zaustavljanja rada (STOP) iako postoje joˇs neka primenjiva pravila
20 Seminarski rad
6 Bajesov pristup neegzaktnom zakljuˇcivanju
6.1 Teorija verovatno´ce i zakljuˇcivanje, PROSPECTOR
Bez posebnog definisanja osnovnih pojmova teorije verovatno´ce (polje
dogad¯aja i njihovi svetovi kao skupovi, verovatno´ca, sluˇcajna promenljiva i
njena raspodela, itd.), osnova ovakvog zakljuˇcivanja je Bajesova teorema o
uslovnoj verovatno´ci:
p(H|E) =
p(H)p(E|H)
p(E)
gde je H neki dogad¯aj - hipoteza, a E dokaz - odnosno uslov td. je H|E
uslovni dogad¯aj ,,H je taˇcno kad god je E (taˇcno)” i tada vaˇzi pomenuto
Bajesovo pravilo koje se moˇze zapisati i kao:
p(E) = p(E|H)p(H) +p(E|¬H)p(¬H)
Ako se definiˇse odnos O(E) =
def
p(E)
p(¬E)
=
p(E)
1−p(E)
kao ,,izgledi za E” (odds),
tada su uslovni izgledi za H dati sa O(H|E) =
p(H|E)
1−p(H|E)
. Ako je:
(faktor dovoljnosti) λ =
def
p(E|H)
p(E|¬H)
, (faktor potrebnosti) λ =
def
p(¬E|H)
p(¬E|¬H)
onda je O(H|E) = λO(H), O(H|¬E) = λO(H) i umesto obiˇcnog pravila
sa premisama i posledicama imamo i dva faktora koja vezujemo za dato
pravilo: E → H(λ, λ). Vrednosti ova dva faktora su, naravno, povezane
(npr. λ = (1 − λ p(H|¬E))/(1 − p(H|¬E)), te ako je λ < 1 onda je λ > 1
i obratno, a vaˇzi i λ = 1 akko λ = 1. O tome treba voditi raˇcuna pri-
likom grad¯enja baze znanja ili nekako prevazi´ci subjektivno zadate vrednosti
(koje obiˇcno zadaje ekspert koji nije dovoljno svestan teorije verovatno´ce i
ove povezanosti). Vrednosti faktora ˇsetaju od 0 do ∞ pri ˇcemu se λ tumaˇci
ovako:
Primena VI - Ekspertni sistemi 21
0 H je ⊥ kada E je , ili
¬E je neophodno da bude H
malo E je nepoˇzeljno da bi bilo H
1 E ne utiˇce na H
veliko E je poˇzeljno da bi bilo H
∞ E je dovoljno da bi bilo H
dok se λ tumaˇci na slede´ci naˇcin:
0 H je ⊥ kada E je ⊥, ili
E je neophodno da bude H
malo ¬E je nepoˇzeljno da bi bilo H
1 ¬E ne utiˇce na H
veliko ¬E je poˇzeljno da bi bilo H
∞ ¬E je dovoljno da bi bilo H
Ako sa E

obeleˇzimo dogad¯aj koji predstavlja dokaz, simptom ili uverenje
da je E, tada se moˇze zapisati
p(H|E

) = p(H|E)p(E|E

) +p(H|¬E)p(¬E|E

)
i definiˇse linearnu zavisnost p(H|E

) i p(E|E

) td. je p(H|E

) = p(H) ako
je p(E|E

) = p(E) tj. kada E

potpuno podrˇzava E, ako je E taˇcno onda je
p(E|E

) = 1, p(H|E

) = p(H|E), a ako je E netaˇcno onda je p(¬E|E

) = 1,
p(H|E

) = p(H|¬E). Ovaj odnos moˇze biti naruˇsen ako se unose nekonzis-
tentne vrednosti pomenutih faktora λ i λ. Pored ispravljanja i provere u
toku samog unosa, postoji i metod korekcije (Duda, 1976) koji nije sasvim
u skladu sa teorijom verovatno´ce ali se dobro pokazao u PROSPECTOR
22 Seminarski rad
sistemu:
p(H|E

) =

p(H|¬E) +
p(E|E

)
p(E)
(p(H) −p(H|¬E)), 0 ≤ p(E|E

) ≤ p(E);
p(H)−p(H|E)p(E)
1−p(E)
+p(E|E

)
p(H|E)−p(H)
1−p(E)
, p(E) ≤ p(E|E

) ≤ 1.
(linearna aproksimacija). Ako imamo konjunkcija viˇse premisa u pravilu
E
1
, E
2
, ... → H uz dokaze E

1
∧ E

2
∧ ... i pretpostavku da su med¯usobno
(uslovno) nezavisni kao i premise, onda se moˇze uzeti da je p(E|E

) =
min
i
E
i
|E

u prethodnoj formuli, odnosno p(E|E

) = max
i
E
i
|E

ako je dis-
junkcija (E

1
∨E

2
∨...) premisa u pitanju. Ovakvu fuzzy aproksimaciju koristi
PROSPECTOR, s tim da se verovatno´ca uverenja u neku od premisa unosi
kao vrednost izmed¯u -5 i 5. Domenski ekspert zadaje poˇcetne verovatno´ce
svih premisa, a korisnik unosi verovatno´ce uverenja.
Nakon svake nove unete premise preraˇcunati koeficijente izgleda hipoteze
(posledice). Za sve sloˇzene premise, prema prethodnom raˇcunu, pravila sa
tom hipotezom (uz pomenutu pretpostavku o nezavisnosti premisa) vaˇzi za
datu hipotezu:
p(H|E

1
, ..., E

n
) = O(H)
n
¸
i=1
λ
i
gde je λ
i
=
O(H|E

i
)
O(H)
=
p(E
i
)H
p(E
i
|¬H)
. To npr. ako postoji samo jedno pravilo znaˇci
O(H|E

) =
p(H|E

)
1−p(H|E

)
. Takod¯e vaˇzi:
p(H|¬E

1
, ..., ¬E

n
) = O(H)
n
¸
i=1
λ
i
gde je λ
i
=
O(H|¬E

i
)
O(H)
=
p(¬E
i
)H
p(¬E
i
|¬H)
.
Primena VI - Ekspertni sistemi 23
6.2 Osobine ovakvog pristupa
• Verovatno´ce uslova moraju biti poznate - verovatno´ca svih premisa
mora biti zadata pre pokretanja mehanizma zakljuˇcivanja, a to nije
uvek lako ni mogu´ce, a subjektivne i time neprecizno zadate vrednosti
(greˇske) uzrokuju greˇske u rezultatu s obzirom na strogu zasnovanost
raˇcuna
• Aˇzuriranje verovatno´ca i faktora - nakon svake promene i unosa
verovatno´ca uverenja moraju biti aˇzurirane i sve zavisne vrednosti iz-
gleda, ˇsto moˇze biti veoma zahtevno
• Ukupna verovatno´ca - mora biti p(H|E) +p(¬H|E) = 1 na osnovu
teorije verovatno´ce, ali u praksi ekspert moˇze biti nezadovoljan takvim
odnosom hipoteze i njene negacije (zato je moˇzda interesantnija teorija
uverenja)
• Nezavisnost premisa - je preduslov, ˇsto ako nije izraˇzeno nemora biti
problem, i mora se prilikom razvoja o tome voditi raˇcuna. Pomenuta
aproksimacija konjunkcije minimumom (i disjunkcije maksimumom)
ima tu manu da male promene ostalih uslova koji nisu minimum ne
utiˇcu na hipotezu. Sloˇzenijom formulom se to moˇze reˇsiti ali se tako
raˇcun ˇcini dodatno sloˇzenijim.
24 Seminarski rad
7 Teorija uverenja
7.1 Zakljuˇcivanje s uverenjem
Ovde se se dogad¯aj ne posmatra formalno kao u teoriji verovatno´ce iako
ima sliˇcnosti i dodira, ve´c se znaˇcenje uverenja naspram verovatno´ce vezuje
za praktiˇcno iskustvo, intuitivno ljudsko znanje i drugaˇciji formalni aparat.
Uverenje predstavlja meru da je neˇsto mogu´ce odnosno verovanja da je tako
(mogu´ce naspram verovatno). Pravilo E
1
∧ E
2
... → Hβ tako ima faktor uv-
erenja β (certainity factor) koji ima vrednost od −1 (potpuno netaˇcno) do 1
(potpuno taˇcno). MYCIN koristi takav pristup, s tim da je naglasak bio na
mehanizmu i formuli koja bi imala osobine: komutativna (da bi se izbegla
zavisnost rezultata od redosleda primene pravila) i asimptotna (svako pravilo
koje dodatno podupre uverenje ga pove´cava asimptotski ka 1).
7.2 Mere verovanja i neverovanja i ukupno uverenje
Uvode se mere verovanja µ
B
(belief) i neverovanja µ
D
(disbelief) takod¯e
tako da budu komutativne i asimptotne. Nakon prikupljanja svih podataka
(za i protiv) i raˇcunanja ovih mera za datu hipotezu H se odred¯uje ukupno
uverenje (net belief): β = µ
B
−µ
D
. Na osnovu dokaza E uverenje u hipotezu
se moˇze uve´cati ako je p(H|E) > p(H) ili smanjiti ako je p(H|E) < p(H)
(odnosno, pove´cava se neverovanje u potonjem sluˇcaju):
µ
B
(H, E) =

1, ako je p(H) = 1
max [p(H|E),p(H)−p(H)
1−p(H)]
, inaˇce.
µ
D
(H, E) =

1, ako je p(H) = 0
min[p(H|E),p(H)−p(H)]
−p(H)
, inaˇce.
... i odavde se vidi da je 0 ≤ µ
B
(H, E) ≤ 1 i 0 ≤ µ
D
(H, E) ≤ 1. Dalje,
β(H, E) = µ
B
(H, E) − µ
D
(H, E) ima vrednost -1 ako E potpuno opovr-
gava H, 0 ako E nije dokaz (nedostatak dokaza - E je nezavisan od H tj.
Primena VI - Ekspertni sistemi 25
p(H|E) = p(H) pa su obe mere i uverenje onda jednake 0), ili 1 ako E
potpuno potvrd¯uje H. Zbir β(H, E) +β(¬H, E) uopˇste ne mora biti 1.
7.3 Propagiranje uverenja
Za dato pravilo
E → H β(PRAV ILO)
raˇcuna se uverenje kao β(H, E) = β(E)β(PRAV ILO). Ako je u pitanju
konjunkcija
E
1
∧ E
2
... → H β(PRAV ILO)
onda je:
β(H, E
1
∧ E
2
...) = min
i
β(E
i
)β(PRAV ILO)
a ako je disjunkcija
E
1
∨ E
2
... → H β(PRAV ILO)
u pitanju onda je:
β(H, E
1
∨ E
2
...) = max
i
β(E
i
)β(PRAV ILO)
Ako dva pravila zakljuˇcuju o istoj hipotezi, onda se ,,akumulira” uverenje
prema (Shortliffe, Buchanan, 1975):
µ
B
(H, E
1
&E
2
) =

0, µ
D
(H, E
1
&E
2
) = 1
µ
B
(H, E
1
) +µ
B
(H, E
2
)(1 −µ
B
(H, E
1
)), inaˇce.
µ
D
(H, E
1
&E
2
) =

0, µ
B
(H, E
1
&E
2
) = 1
µ
D
(H, E
1
) +µ
D
(H, E
2
)(1 −µ
D
(H, E
1
)), inaˇce.
... odnosno, ako se odmah raˇcuna uverenje (β
1
i β
2
su izraˇcunata uverenja
dvaju pravila):
β(β
1
, β
2
) =

β
1

2
(1 −β
1
), ako je β
1
, β
2
> 0
β
1

2
1−min [|β
1
|,|β
2
|]
, jedan od β
1
, β
2
< 0
β
1

2
(1 +β
1
) inaˇce.
26 Seminarski rad
7.4 Preporuke i zakljuˇcci
• Heuristika - ako treba odabrati koje pravilo okinuti, ima smisla iz-
abrati ono sa najve´cim koeficijentom uverenja (best-first)
• Meta-pravila s uverenjem - ako npr. vrednost koeficijenta uverenja
po trenutnoj grani padne ispod nekog praga odbaciti trenutni i postaviti
drugi cilj

ˇ
Ciˇs´cenje pretrage - ako npr. koeficijent uverenja upadne u interval
[−0.2, 0.2] onda se odbacuje trenutni cilj
• Unos vrednosti - neka vrsta primitive moˇze biti koeficijent uverenja
• Atributi sa viˇse vrednosti - pravila s uverenjima mogu imati i
premise i zakljuˇcke sa viˇse vrednosti (u smislu O-A-V)
• Biranje zakljuˇcivanja - mogu se kombinovati egzaktno i neegzaktno
zakljuˇcivanje s uverenjem
• Sortiranje rezultata po uverenju - prednost ovakvog zakljuˇcivanja
• Problem s dubokim lancem pretrage - treba ih izbegavati (zbog
prirode raˇcuna se ,,gubi uverenje”, pove´cava greˇska)
• Mnogo pravila s istom hipotezom - moˇze biti problem ako se
pokaˇze da daje precenjeno jako uverenje
• Problem s disjunkcijom - sloˇzene premise mogu biti problem - onda
je bolje sloˇzeno pravilo razbiti u viˇse manjih ali konzistentnih pravila
Primena VI - Ekspertni sistemi 27
8 Fuzzy logika
Fuzzy sistemi potiˇcu joˇs od 1930. (Lukasiewicz, poznat i po ,,poljskoj” tj.
prefiksnoj notaciji, daje samo naˇcelnu ideju koju ne sprovodi dosledno) a
Zadeh (1965) to formalizuje do kraja i nastaje formalna teorija fuzzy logike.
8.1 Osnovni pojmovi
Fuzzy logika se zasniva na skupovima i elementima ˇcija se pripadnost
meri pre nego da egzaktno pripradaju ili ne pripadaju skupu (naspram Aris-
totelovske logike, ,,fuzzy” - nejasan). Lingvistiˇcke promenljive su iskazi
prirodnog jezika koji imaju tako nejasno znaˇcenje kao npr. visina sa vred-
nostima nizak, srednje, visok. Onda svaka od vrednosti daje fuzzy podskup
vrednosti iz domena skupa visina.
Definicija 8.1 Ako je X domen sa elementima x, fuzzy skup A od X dom-
ena je karakterisan funkcijom pripadnosti
µ
A
(x) : X → [0, 1]
koja dodeljuje elementu x stepen pripadnosti skupu A.
Tako se moˇze zapisati µ
A
(x) = Degree(x ∈ A) gde je 0 ≤ µ
A
(x) ≤ 1. Fuzzy
teorija je tako proˇsirenje klasiˇcne teorije skupova - ako je µ
A
(x) = 1 onda je
x ∈ A, odnosno ako je µ
A
(x) = 0 onda je x / ∈ A u klasiˇcnom smislu.
8.2 Reprezentovanje
Fuzzy skup s diskretnim (,,crisp”) vrednostima se moˇze jednostavno prikazati
kao vektor karakteristiˇcnih vrednosti A = (a
1
, ..., a
n
) ili odred¯enije kao niz
ured¯enih parova A = ((a
1
, x
1
), ..., (a
n
, x
n
)) gde je a
i
= µ
A
(x
i
). Uz konven-
ciju zapisa ured¯enih parova sa ,,/” i unije kao ,,+” to se moˇze zapisati i
kao A =
¸
n
i=1
µ
A
(x
i
)/x
i
ako je X diskretan, odnosno A =

i
µ
A
(x
i
)/x
i
ako
nije. Skra´ceni zapis koji se najˇceˇs´ce koristi je samo µ
A
(x) uz podrazumevane
vrednosti domena X.
U praksi se ˇcesto koriste dodante operacije nad karakteristiˇcnom funkcijom
kojom se odred¯uju (odnosno modifikuju) dodatno granice tj. ograniˇcenja ili
odredbe (hedges) pripadnosti skupu (proˇsiruju je ili skupljaju - u narednim
primerima se pretpostavlja da je A skup visokih osoba):
28 Seminarski rad
• Koncentracja (VEOMA) - µ
CON(A)
(x) = (µ
A
(x))
2
npr. koncetracija
daje skup VEOMA visokih osoba
• Dilatacija (DONEKLE) - µ
DIL(A)
(x) = (µ
A
(x))
1/2
npr. dilatacija
daje skup DONEKLE (MANJE ILI VI
ˇ
SE) visokih osoba
• Intenziviranje (ZAISTA) -
µ
INT(A)
(x) =

2(µ
A
(x))
2
, ako je 0 ≤ µ
A
(x) ≤ 1/2
1 −2(1 −µ
A
(x))
2
, ako je 1/2 < µ
A
(x) ≤ 1
npr. intenziviranje daje skup zaista visokih osoba (intenzivira pripad-
nost izraˇzeno visokih, a smanjuje pripadnost ostalih)
• Snaˇzno (VEOMA VEOMA) - µ
POW(A,n)
(x) = (µ
A
(x))
n
pojaˇcanje
µ
POW
za n=3 ili ve´ce ...
Operacije nad fuzzy skupovima:
• Presek -
µ
A∧B
(x) =
def
min[µ
A
(x), µ
B
(x)] = µ
A
(x) ∧ µ
B
(x) = µ
A
(x) ∩ µ
B
(x) za
sve x ∈ X ... osim ˇsto je ovim definisan presek fuzzy skupova, ovo
takod¯e tretira i kao logiˇcka operacija ,,i”
• Unija -
µ
A∨B
(x) =
def
max[µ
A
(x), µ
B
(x)] = µ
A
(x) ∨ µ
B
(x) = µ
A
(x) ∪ µ
B
(x)
za sve x ∈ X ... osim ˇsto je ovim definisana unija fuzzy skupova, ovo
takod¯e tretira i kao logiˇcka operacija ,,ili”
• Komplement - µ
¬A
(x) =
def
1 − µ
A
(x) ... tretira se i kao logiˇcka
negacija
Operatorima i ograniˇcenjima se prave derivati fuzzy skupova.
8.3 Fuzzy zakljuˇcivanje
Fuzzy logika tretira fuzzy skup kao fuzzy iskaz. Uopˇste, fuzzy iskaz se
moˇze predstaviti kao ,,X je A” (gde je X domen, A fuzzy skup), a fuzzy
pravilo kao
X je A → Y je B
Ovakvo pravilo uspostavlja relaciju med¯u fuzzy iskazima i obiˇcno se takvo
pravilo zapisuje u obliku matrice. Ovakva se fuzzy asocijativna matrica M
Primena VI - Ekspertni sistemi 29
koja mapira fuzzy skup A u fuzzy skup B zove joˇs i Fuzzy Associative Mem-
ory (FAM - Kosko, 1992). Umesto obiˇcnog linearnog mapiranja
b = M a zadatog matriˇcnim mnoˇzenjem b
j
=
¸
n
i=1
a
i
m
ij
, j = 1, n
obiˇcno se koristi operator ◦ max-min kompozicije b = M ◦ a zadat sa
b
j
= max
i=1,n
min[a
i
, m
ij
], j = 1, n. Zadeh daje jedan opˇstiji pristup u kome
se raˇcunanjem uslovnih verovatno´ca (koristi termin distribucija mogu´cnosti,
possibility distribution, umesto karakteristiˇcne funkcije) dobija pomenuta
matrica
¸
B|A
sa klasiˇcnim mnoˇzenjem matrica, td. vaˇzi
¸
B
=
¸
B|A
¸
A
.
Ovakav pristup naziva kompozicionim pravilom zakljuˇcivanja. Daje uopˇsteni
postupak dobijanja matrice
¸
B|A
:
¸
B|A
=

¸
¸
a
1
→ b
1
a
1
→ b
2
· · ·
a
2
→ b
1
.
.
.
.
.
.

= (m
ij
) = M
Zavisno od definisanja operatora implikacije definiˇse se i matrica M.
8.4 Max-Min zakljuˇcivanje
Ako se minimumom definiˇse operator implikacije m
ij
= V al(a
i
→ b
j
) =
min(a
i
, b
j
) onda se za data dva fuzzy skupa na osnovu ove formule definiˇse
matrica M.
Ako su u pitanju ,,trougani” fuzzy skupovi (granica linearna), onda se
slikanje nekog skupa A

svodi na odseˇcak B na visini vrha preseka A i A

na niˇze, ˇsto proizilazi iz definicije i osobina ovakvog preslikavanja. Npr.
ako je µ
A
(x
k
) pomenuti vrh ili jedna diskretna izmerena vrednost, ˇsto se
najˇceˇs´ce koristi kao ulaz (kao da su ostale vrednosti ulaznog vektora 0), vaˇzi
za diskretne vrednosti y ∈ X:
b(y) = µ
A
(x
k
) ∧ µ
B
(y), y ∈ X
30 Seminarski rad
B
B’
Pravilo
A B
A
A’
8.5 Max-Proizvod zakljuˇcivanje
Ovaj naˇcin zakljuˇcivanja se dobija se proizvodom definiˇse operator imp-
likacije m
ij
= a
i
b
j
.
Pravilo
B’
B
A’
A
B A
Preslikavanje trouglova ima osobine b(y) = µ
A
(x
k
) · µ
B
(y), y ∈ X ako je
µ
A
(x
k
) pomenuti vrh) sliˇcne prethodnom, ali se ovde dobija ,,sniˇzeni” ali
ceo trougao umesto odseˇcka. Za jednu ulaznu diskretnu vrednost onda vaˇzi:
b(y) = µ
A
(x
k

B
(y), y ∈ X
Primena VI - Ekspertni sistemi 31
8.6 Pravila sa viˇse premisa
Ako imamo dve premise A i B (moˇze ih biti i viˇse, analogno) razreˇsenje
moˇzemo na´ci (Kosko, 1992) poˇsavˇsi od toga kao da imamo dva pravila A → C
i B → C sa svojim matricama M
AC
i M
BC
td. vaˇzi:
A

◦ M
AC
= C
A

B

◦ M
BC
= C
B

Tada se definiˇse C

= C
A
∧ C
B
ako je u pitanju konjunkcija A ∧ B → C,
odnosno C

= C
A
∨ C
B
ako je u pitanju disjunkcija A ∨ B → C. U ranije
pomenutom specijalnom sluˇcaju trouglastih skupova, minimum odnosno mak-
simum respektivno konjunkcija odnosno disjunkcija vrhova trouglova odred¯uje
prag odsecanja odnosno sabijanja (zavisno od toga da li se koristi max-min
ili max-proizvod zakljuˇcivanje) skupa B. Za date diskretne ulazne vrednosti
a
i
= µ
A
(x
i
) i b
j
= µ
B
(y
j
) i diskretne vrednosti z ∈ X domena vaˇzi onda:
C

Spajanje Zakljuˇcivanje
min(a
i
, b
j
) ∧ µ
C
(z) I Max-Min
max(a
i
, b
j
) ∧ µ
C
(z) ILI Max-Min
min(a
i
, b
j

C
(z) I Max-Proizvod
max(a
i
, b
j

C
(z) ILI Max-Proizvod
8.7 Defazifikacija (Defuzzification)
Ako imamo fuzzy zakljuˇcak, njegovo tumaˇcenje je defazifikacija i obiˇcno se
nekim postupkom izdvoji jedna diskretna vrednost fuzzy skupa kao reprezent.
Najˇceˇs´ce koristi fuzzy centroid odnosno nekakva sredina u odnosu na pri-
padnost kao teˇzinu (najbliˇza vrednosti u X):
y

=
¸
n
i=1
y
i
µ
B
(y
i
)
¸
n
i=1
y
i
Ako se traˇzi zakljuˇcak na osnovu viˇse fuzzy pravila A
1
→ B
1
, ..., A
n
→ A
n
onda se uzima da je ukupni fuzzy zakljuˇcak B

=
¸
n
i=1
B

i
tj. µ

B
(x) =
max
i=1,n

B

i
(x)] i njegov centroid se tumaˇci kao diskretna vrednost zakljuˇcka
na osnovu svih polaznih premisa A

.
32 Seminarski rad
8.8 Razvoj fuzzy sistema, preporuke
Uobiˇcajeni koraci u razvoju fuzzy sistema su:
1. Definisanje problema - sliˇcno kao i kod ostalih ES
2. Definisanje lingvistiˇckih promenljivih -
3. Definisanje fuzzy skupova - obiˇcno se formira tabela ˇcije su kolone
raspoloˇzive lingvistiˇcke promenljive a redovi pridevi koje koristi ekspert
(diskretne vrednosti na domenu). Poˇzeljno je da se susednu skupovi
preklapaju (npr. ako se koriste trouglovi da se dodiruju parni odnosno
neparni redom na domenu).
4. Definisanje fuzzy pravila - pravila se mogu definisati na nivou prethodne
tabele kojom je dobar deo posla urad¯en (u CubiCalc ˇskoljki zapis prav-
ila podse´ca sintaksno na LEVEL5 jer se zadaju simboliˇcki)
5. Izgradnja sistema - moˇze se razvijati posebno ili koristiti gotovo
okruˇzenje, sliˇcno ostalim ES
6. Testiranje - osim ispravljanja grubih greˇsaka, korisno je i za naredni
korak
7. Dodatno podeˇsavanje (tuning) - pravila se mogu preispitati, tamo
gde je potrebna ve´ca osetljivost pove´cava se broj podskupova i suˇzavaju
trouglovi, dodaju se odredbe, itd.
Primena VI - Ekspertni sistemi 33
9 Sistemi zasnovani na okvirima
Okvir i instanca se u mnogo ˇcemu mogu uporediti (i poistovetiti bez ve´ce
greˇske) sa pojmom klase i objekta u objektnom programiranju od kojeg je
vremenom dosta toga ,,pozajmljeno” iako pojam okvira potiˇce joˇs od Min-
skog (1975). Tako se klasa sastoji iz (opisa) osobina i metoda (ˇsta objekat
moˇze), dok se u ES terminologiji kaˇze da se okvir sastoji iz deklarativnog
(osobine, slotovi) i proceduralnog znanja (metodi). Prisutni su npr. tipiˇcni
odnosi med¯u klasama bazirani na osnovnoj osobiini nasled¯ivanja (Rumbaugh,
1988):
• Generalizacija - odnos oblika ,,vrsta-od”
• Agregacija - odnos oblika ,,Deo-od”
• Asocijacija - semantiˇcki odnos
Mogu´ce je viˇstruko nasled¯ivanje (od viˇse razliˇcitih klasa) i upravljanje izuzec-
ima (nasled¯ena osobina se menja, specijalan sluˇcaj). Specifiˇcnost okvira su
faceti - pruˇzaju dodatnu kontrolu nad slotovima:
• Tip
• Default (pretpostavljena vrednost)
• Dokumentacija
• Constraint (dozvoljene vrednosti)
• Minimalna, maksimalna kardinalnost vrednosti (u smislu A-O-V)
• if-needed (za ˇcitanje) metod
• if-changed (za upis) metod
Metodi tipa if-needed i if-changed se mogu se koristiti za komunikaciju med¯u
instancama, a negde se koristi mehanizam slanja poruka (poziv metoda po
nazivu i opciono zadatim argumentima).
34 Seminarski rad
Pored ranijih preporuka o razvoju ES i metodologija objektno-orijentisanog
programiranja mogu se izdvojiti slede´ci koraci u razvoju sistema baziranog
na okvirima:
• Definisanje problema
• Analiziranje domena - definisanje objekata sa osobinama, dogad¯ajima
i arhitekturom
• Definisanje klasa - na osnovu prethodnog uz npr. facete i druge
dorade
• Definisanje instanci
• Definisanje pravila
• Definisanje komunikacije med¯u objektima
• Razvoj interfejsa
• Evaluacija sistema

ˇ
Sirenje sistema
Primeri ˇskoljki: Kappa, CLIPS.
Primena VI - Ekspertni sistemi 35
10 Indukcioni sistemi
10.1 ID3 algoritam
Kroz primer ID3 algoritma - ID3 je potomak CLS algoritma (Hunt et al.
1966) koji se koristi kao podalgoritam. CLS je u stanju da klasifikuje zadate
primere u dve grupe - pozitivnu (DA, pripada klasi) i negativnu (NE, ne
pripada klasi). Poˇcinje s praznim drvetom odluˇcivanja koje gradi i zaustavlja
se kad drvo odluˇcivanja (koncept, pravilo) moˇze pravilno da klasifikuje sve
zadate probne primere:
1. Ako su svi primeri u C pozitivni, generiˇsi DA ˇcvor i stani.
Ako su svi primeri u C negativni, generiˇsi NE ˇcvor i stani.
Inaˇce, (koriste´ci neku heuristiku) izdvoj neki atribut A s vrednostima
V
1
, V
2
, ..., V
n
i kreiraj ˇcvor odluˇcivanja
2. Particioniˇsi C u C
1
, C
2
, ..., C
n
prema vrednostima A
3. Primeni algoritam rekurzivno na svaki od podskupova C
i
Heuristika koju ID3 koristi da bi odabrao atribut vezuje se za oˇcekivanu
koliˇcinu informacija M(C) = −p
+
log
2
p
+
−p

log
2
p

td. se bira atribut koji
maksimizuje M(C) −B(C, A) gde je B(C, A) = p(A = V
i
)M(C
i
).
ID3 algoritam dalje sledi:
1. Izaberi proizvoljan podskup W primera iz C zadate velˇcine (prozor,
window)
2. Primeni CLS na W (rezultat je drvo odluˇcivanja tj. pravilo)
3. Proveri sve primere u C koji su izuzeci trenutno dobijenom pravilu
4. Ako postoje izuzeci, uvrsti ih u W i pokreni ponovo korak 2. i prikaˇzi
dobijeno pravilo
ID3 je u stanju da klasifikuje mnogo ve´ci broj primera nego CLS koji je
ograniˇcen poˇcetnom pretragom svih primera.
36 Seminarski rad
10.2 Prednosti i mane ID3
Prednosti su:
• Biranje skupa primera - ID3 se zasniva na filterisanju vod¯enom
izuzecima ˇsto se smatra prednoˇs´cu jer algoritam moˇze da se usresredi
na izuzetke ako se tako postavi prozor. CLS i ID3 su veoma dobri za
probleme s jednim konceptom.
• Heuristika - bira se atribut koji je najviˇse diskriminatoran (najviˇse
utiˇce na klasifikaciju) i zato je posebno efikasan
Mane su:
• Pravila nisu verovatnosna
• Viˇse identiˇcnih primera - ne utiˇce viˇse nego jedan
• Kontradiktorni primeri - ne snalazi se sa kontradiktornim primer-
ima
• Velika osetljivost na male promene primera
10.3 Razvoj indukcionih sistema
• Ustanoviti cilj
• Utvrditi ˇcinioce odluˇcivanja - atribute
• Utvrditi vrednosti ˇcinioca odluˇcivanja
• Utvrditi reˇsenja - koje vrednosti mogu krajnji ˇcvorovi drveta odluˇcivanja
da uzmu
• Formiranje skupa primera
• Formiranje drveta pretrage - upotreba neke ˇskoljke kao ˇsto je ID3
• Testiranje
• Revizija sistema
Primena VI - Ekspertni sistemi 37
Indukcija nudi mogu´cnost da se izbegne otkrivanje znanja kao jer se znanje
dobija iz ranije unetih primera, a iz tih primera donosi otkriva i novo znanje,
otkriva kritiˇcne ˇcinioce odluˇcivanja, moˇze da eliminiˇse nebitne, moˇze da elim-
iniˇse kontraditorne primere (joˇs prilikom unosa kod nekih ˇskoljki). Med¯utim,
ˇcesto je teˇsko odabrati i izdvojiti ˇcinioce odluˇcivanja (moˇze loˇse da utiˇce na
rad sistema), teˇsko je razumeti drvo odluˇcivanja sloˇzenijih problema, i na
kraju, indukcioni sistemi se primenjuju samo na probleme klasifikovanja.
Primeri su: Meta-DENDRAL, AQ11, WILLARD.
11 Prikupljanje znanja
Kako je pomenuto, ovo je usko grlo razvoja ES jer je ˇcesto veoma teˇsko
izvesti ovu fazu. Postoje razliˇcite tehnike otkrivanja znanja prilagod¯ene ra-
zliˇcitim tipovima sistema, ali osnova je razgovor (struktuirani i nestruktuirani
intervju) sa ekspertom za ˇsta opet postoje standardni praktiˇcni postupci.
Nakon prikupljanja informacija od eksperta sledi analiza sakupljenog znanja
na osnovu ˇcega se izdvajaju vaˇzne ˇcinjenice i strukture koje pomaˇzu i utiˇcu
na dalji tok razvoja sistema. Prikaz gotovih primera (case studies, retro-
spektivno prouˇcavanje i posmatraˇcko - uˇzivo) kao ˇsablon kroz koji se moˇze
vrˇsiti procena, demonstracija, i sl. Protokol (pojam kognitivne psihologije)
kao beleˇska postupaka koje lice ili sistem ˇcini da bi reˇsio problem. Otkrivanje
znanja:
• Skupljanje
• Interpretacija
• Analiza
• Razvoj slede´ce sesije
38 Seminarski rad
12 Inˇzenjerstvo znanja
Neki aspekti inˇzenjerstva znanja, sliˇcnosti i razlike u odnosnu na uobˇcajene
postupke projektovanja informacionih sistema (software engineering) su ve´c
pomenuti. Razlike pre svega potiˇcu od strukture i osobina ES - ˇsto se moˇze
uporediti sa deklarativno-proceduralnom kontroverzom. Osnovni tok upravl-
janja projektom razvoja ES:
• Utvrd¯ivanje problema
– Motiv organizacije (upravljen problemom ili reˇsenjem pre nego
problemom)
– Kandidati problema (Identifikacija, lista, demonstracija)
– Studija izvodljivosti (Zahtevi, rizici i problemi, ljudi (pored ranije
pomenutih i menadˇzment je od presudnog znaˇcaja), implementacija)
– Analiza cene i dobijenog
– Odabir projekata
– Pisanje predloga projekta (cilj, pregled, problem, reˇsenje, plan i
raspored, dobijeno, ljudi, cena)
• Prikupljanje znanja item Razvoj sistema
– Biranje reprezentovanja
– Mehanizam kontrole
– Biranje sistema za razvoj
– Prototip
– Korisniˇcki interfejs
– Razvoj proizvoda (greˇska u ranijim fazama manje koˇsta nego u
kasnijim)
• Testiranje i evaluacija
– Validacija sistema (rezultata i zakljuˇcivanja)
– Validacija rezultata (kriterijum, sluˇcajevi i ljudi koji vrˇs evalu-
aciju)
Primena VI - Ekspertni sistemi 39
• Dokumentovanje
• Odrˇzavanje
– Dokumentacija
– O odrˇzavanju treba razmiˇsljati joˇs tokom razvoja
– Modularnost, meta-pravila
– Razdvojeno znanje (kao kontrola) od informacija

ˇ
Skoljka, portabilnost
– Vaˇzno je ko odrˇzava sistem i pod kojim uslovima, dnevnik prom-
ena
40 Seminarski rad
13 Primer - sistem za generisanje i klasifikaciju
muziˇckog zapisa
13.1 Opis i arhitektura sistema
Kao ˇskoljku i okruˇzenje sam koristio CLIPS - sistem koji po sintaksi
veoma podse´ca na LISP, podrˇzava upotrebu pravila nizanjem unapred i
okvire, nastao po ugledu na komercijalnu varijatnu CLIPS/R3 koja podrˇzava
i nizanje unazad (mada postoji i ,,nezvaniˇcna” koja to moˇze). Postoje i
mnoge druge implementacije i dijalekti kao ˇsto je to JESS realizovan na Java
platformi. Kao razvojno okruˇzenje dovoljan je tekst editor, mada sam probno
koristio i Prot´eg´e kao GUI koji podrˇzava i CLIPS. Korisniˇcki interfejs se u
prvom sloju oslanja na tekstuelni ulaz i izlaz koji se svodi na abc format
namenjen tekstuelnom obliku notnog zapisa koji se lako dalje transformiˇse
u ili iz MIDI formata ili nekog drugog. Kada sistem dostigne neki stadijum
zrelosti sve ove komponente mogu se objediniti u GUI-u napisanom na Java
platformi.
13.2 CLIPS
Ukratko, CLIPS (autor Joseph C. Giarratano) je sistem baziran na prav-
ilima (koristi RETE algoritam koji veoma efikasno uparuje pravila - pat-
tern matching, algoritam koji podse´ca na algoritam unifikacije samo mnogo
jednostavniji ali opet dovoljno mo´can), omogu´cava i upotrebu klasa i fac-
eta. Sintaksno je veoma blizak LISP-u sa svim prednostima uz to osim ˇsto
ne podrˇzava listu kao strukturu, niti podrˇzava direktno enkapsulaciju druge
klase kao osobine tj. slota (postoji, doduˇse, mogu´cnost indirektnog referen-
ciranja instance na drugu instancu).
Primer sesiju u CLIPS-u:
CLIPS> (defclass DUCK (is-a USER) (multislot sound (default quack quack))
(message-handler silence))
CLIPS> (defmessage-handler DUCK silence () (send ?self put-sound nil)
(printout t (instance-name ?self) " can say now " ?self:sound crlf))
CLIPS> (make-instance [Dorky1] of DUCK)
[Dorky1] of DUCK
CLIPS> (make-instance [Dorky2] of DUCK (sound quack))
[Dorky2] of DUCK
Primena VI - Ekspertni sistemi 41
CLIPS> (make-instance [Dorky3] of DUCK (sound cough))
[Dorky3] of DUCK
CLIPS> (make-instance [Dorky] of DUCK (sound cough cough))
[Dorky4] of DUCK
CLIPS> (deffacts dummy (a b) (c d))
CLIPS> (defrule find-sound ?duck <- (object (is-a DUCK)(sound
\$?find)(name [Dorky])) =>
(printout t "Duck " (instance-name ?duck) " says " ?find crlf)
(assert (says ?find)))
CLIPS> (defrule remove-sound ?fact <- (says \$?X) => (retract ?fact)
(printout t "Removed " ?X "!" crlf))
CLIPS> (run)
Duck [Dorky] says (cough cough)
Removed (cough cough)!
CLIPS> (send [Dorky1] silence)
[Dorky1] can say now (nil)
CLIPS> (defrule delcd (a b) ?fact<-(c d) => (retract ?fact))
CLIPS> (agenda)
0 delcd: f-1,f-2
For a total of 1 activation
CLIPS> (facts)
f-0 (initial-fact)
f-1 (a b)
f-2 (c d)
For a total of 3 facts.
CLIPS> (run)
CLIPS> (facts)
f-0 (initial-fact)
f-1 (a b)
For a total of 2 facts.
Osnovna verzija CLIPS-a je besplatna i Open Source, dok verzije sa
naprednijim mogu´cnostima kao ˇsto su backward chaining i neegzaktno za-
kljuˇcivanje nisu takve (NASA-in projekat CLIPS/R3, zatim ECLIPSE, itd. -
mada postoje nezvaniˇcne modifikacije Open Source verzije koje to podrˇzavaju).
Postoji ugrad¯ena osnovna hijerarhija objekata COOL (CLIPS Object-Oriented
Language framework), mogu´cnost uticanja na rad sistema (options) i pre
svega bogatstvo opisa levih strana pravila koje ˇcini ovaj sistem veoma upotre-
bljivim.
42 Seminarski rad
13.3 Prot´eg´e
Grafiˇcko okruˇzenje i sistem koji je nastao kao otvoreni projekat na Stan-
ford univerzitetu, u kome se mogu organizovati i razvijati pre svega ontologije
(recimo neke vrste uopˇstenja okvira uz forme kao dodatnu specifikaciju klase
vezanu npr. za korisniˇcki interfejs) pa time i okviri i objekti. Okruˇzenje
je modularno tako da se npr. moˇze dodati neki od postoje´cih ili sopstveni
,,TAB” (plug-in) kao proˇsirenje. Postoji CLIPSTab koji je predstavlja pot-
punu implementaciju standardnog CLIPS-a i u kojem se moˇze importovati
Prot´eg´e ontologija (uz neka ograniˇcenja). Veoma je korisno ako se razvija
sloˇzen sistem sa dovoljno velikim brojem okvira i instanci. Viˇse o tome na
stranici [PROTEGE].
13.4 Jess
Jess (autor Ernest J. Friedman-Hill) nastao po uzoru na CLIPS je reali-
zovan na Java platformi, dobar deo Jess koda je kompatibilan sa CLIPS-om
i obratno. Nema klasa i objekata kao u standardnoj CLIPS implementaciji
(ve´c se oslanja na svoju sintaksu i Java mreˇzu klasa), ali ima ugrad¯en back-
ward chaining (npr. ciljno pravilo stvara podciljeve oblika need-podcilj gde je
podcilj deo ˇsablona s leve stranje pravila tj. ˇcinjenica dela leve strane ciljnog
pravila) i moˇze npr. da koristi regularne izraze.
Primer sesije u Jess-u:
Jess> (clear)
TRUE
Jess> (assert (a b))
<Fact-0>
Jess> (defrule x (a ?X) => (assert (c)))
TRUE
Jess> (defrule y (c) => (printout t "Hej !"))
TRUE
Jess> (rules)
MAIN::x
MAIN::y
For a total of 2 rules in module MAIN.
Jess> (reset)
TRUE
Jess> (deffacts s (a c) (d c) (a d) (a f))
TRUE
Primena VI - Ekspertni sistemi 43
Jess> (run)
0
Jess> (facts)
f-0 (MAIN::initial-fact)
For a total of 1 facts in module MAIN.
Jess> (reset)
TRUE
Jess> (facts)
f-0 (MAIN::initial-fact)
f-1 (MAIN::a c)
f-2 (MAIN::d c)
f-3 (MAIN::a d)
f-4 (MAIN::a f)
For a total of 5 facts in module MAIN.
Jess> (agenda)
[Activation: MAIN::x f-4 ; time=5 ; salience=0]
[Activation: MAIN::x f-3 ; time=4 ; salience=0]
[Activation: MAIN::x f-1 ; time=2 ; salience=0]
For a total of 3 activations in module MAIN.
Jess> (run)
Hej !f!Hej !d!Hej !c!6
Jess> (run)
0
Jess> (facts)
f-0 (MAIN::initial-fact)
f-1 (MAIN::a c)
f-2 (MAIN::d c)
f-3 (MAIN::a d)
f-4 (MAIN::a f)
f-5 (MAIN::c f)
f-6 (MAIN::c d)
f-7 (MAIN::c c)
For a total of 8 facts in module MAIN.
Jess se posebno licencira (vlasniˇstvo Sandia National Laboratories za in-
ternu i akademsku upotrebu jeste besplatan) i nije ni u kom obliku open
source. Zvaniˇcni sajt je [JESS].
44 Seminarski rad
13.5 abc
Ovaj naˇcin zapisivanja muzike je nastao poˇcetkom 90-tih (autor Chris
Walshaw) motivisan ˇzeljom da formalan notni zapis bude u ascii formatu i
koristio se u poˇcetku za prikupljanje zapisa folklora i etno muzike (Steve Allen
ga kasnije prijavljuje kao standardni MIME format). Najpre je napravljen
alat abc2mtex koji takav zapis pretvara u T
E
X kod (uz mtex biblioteku), kas-
nije abc2ps i abcMIDI za konverziju u PostScript i MIDI (moˇze i obratno, iz
MIDI-ja u abc, MIDI je preko 20 godina standardni format notnog muziˇckog
zapisa koji se koristi pre svega za reprodukciju dok su T
E
Xi PostScript na-
menjeni ˇstampi). Viˇse se moˇze na´ci na stranicama [CW], BNF sintaksa na
[NB], FAQ na [ABC]. Sistem koji opisujem koristi abc2midi iz abcMIDI
paketa James Allwright-a (ili implementacija koju je napravio Guido Gon-
zato) napravljenog pod otvorenom GNU GPL licencom koji se moˇze na´ci na
[Seymour] odnosno na
[abcPlus] ili [sourceforge] (Win32 binaries). Pomenutu komandu koristim da
bih generisani abc kod pretvorio u MIDI i pustio tako nastalu pesmu. Koris-
tim samo deo abc 1.6 standarda po RFC-u za abc, i u budu´cnosti planiram da
koristim deo 1.7 abc standarda koji implementira abc2midi a koji se odnosi
na implicitne %%MIDI komande u abc kodu.
Ukratko o abc kodu koji se ovde koristi - struktura abc zapisa: zaglavlje
se sastoji iz polja X:n (koje se koristi ako je u zapisu viˇse pesama od jedne),
polja T:... ili C:... za naziv pesme i kompozitora. Nakon zaglavlja mogu
slediti slede´ca polja bilo gde u pesmi - M:... za oznaku metrike, L:... za
predefinisanu duˇzinu note, Q:... za tempo. Pored ovih polja mogao bih isko-
ristiti i P:... i V:... polja kojima se veoma jednostavno mogu definisati delovi
pesme i njihovo nizanje (u zaglavlju npr. P:A.B(AB)6C.A a u telu zapisa
P:A, P:B, ... dok V: daje mogu´cnost polifonije unutar jednog dela), kao i
abc2midi proˇsirenja oblika ,,%%MIDI komanda”(sa % poˇcinje linija sa komen-
tarom u pesmi) gde komanda moˇze biti channel n ili program n (postavljanje
midi kanala i programa) ili neki MIDI kontroler. Veoma je korisna opcija
,,%% MIDI gchord niz”koja je se ve´c koristi po default-u (generiˇse akorde
u zapisu prema nizu i metrici, niz se sastoji od f - osnovni (fundamentalni)
stupanj, c - akord, b - ton akorda, z - pauza, sve sa mogu´cim duˇzinama,
moˇze se iskljuˇciti sa gchordoff), dok se drum komanda mora ukljuˇciti (dru-
mon) i definisati sekvcenca (npr. %%MIDI drum d2zdd 35 38 38 100 50 50
- d2zdd je niz kojim se definiˇse ritmiˇcka sekvenca, 35 i 38 su programi (GM
Primena VI - Ekspertni sistemi 45
standard) tj. ,,note”bubnjeva a 100 50 50 je niz koji se odnosi na jaˇcinu (ve-
locity) udaraca d). Same note su odred¯ene visinom i visinom koja se zadaje
razlomkom iza visine u trenutnoj jedinici duˇzine, z je pauza. Ovo je samo
kratak opis koda koji koristim ili planiram da koristim, abc nudi daleko ve´ce
mogu´cnosti.
13.6 Primer - MUST.CLP
Sistem koji nizanjem unapred uz neke zadate parametre i na osnovu pos-
toje´ce baze znanja generiˇse muziku zadatog raspoloˇzenja ili stila. Osnovni
elementi i pojmovi su:
1. n-shema - predstavlja zapis muziˇcke fraze u zadatoj rezoluciji s oce-
nama raspoloˇzenja i stila. Sam zapis fraze je izraˇzen nizom parova (ton
poloˇzaj) gde je ton broj polustepena u odnosu na C-1 a poloˇzaj je broj
osnovnih jedinica od poˇcetka fraze, s tim da je -101 ,,specijalni” ton
- pauza. Svaka n-shema se vezuje za 3 raspoloˇzenja i 3 stila, a jaˇcina
veze se izraˇzava koeficijentom u istom multislotu.
2. STANJE - objekat koji sadrˇzi trenutno stanje - trenutna skala, tonalitet,
rezolucija, raspoloˇzenje, stil, itd. (tempo i razmak kao opseg tonova se
pomalo nedosledno drˇze kao posebna ˇcinjenica u bazi, ali to se lako
moˇze ispraviti)
3. skala - skala je niz tonova - stupnjeva skale (od mogu´cih 12 u jednoj
oktavi) i povezuje se sa 3 stila i 3 raspoloˇzenja
4. tonalitet, akordi i drugi muziˇcki pojmovi - pod akordom se podra-
zumeva viˇse tonova (u uglastim zagradama u abc notaciji) koji se repro-
duku u isto vreme, transponovanje je uve´canje / smanjenje za zadati
broj polutonova svih nota u pesmi ili delu pesme, tonalitet bi se mogao
definisati kao zadato transponovanje u visini neke note ako se uzme
u obzir da su sve ˇcinjenice u bazi vezane za osnovni tonalitet 0 (iz
,,C”), oktavu ˇcini 12 polutonova i moglo bi se re´ci da je nota klasa
tonova koji su kongruentni po modulu 12, tako da svaki ton ˇcini nje-
gova nota i oktava. Tonalitet u muziˇckoj teoriji podrazumeva i skalu
i pomenutu visinu (odraz u odnosu na C), i akord se obiˇcno gradi po
nekim pravilima vezanim za stupanj skale i opet ima funkciju i vezu ka
raspoloˇzenjima i stilovima.
46 Seminarski rad
5. kvant, rezolucija i drugi pojmovi - ovo su pojmovi koji nisu deo stan-
dardne muziˇcke teorije (mada su bitni deo MIDI formata i MIDI sveta),
gde je rezolucija broj najmanjih (atomskih) vremenskih jedinica zapisa
trajanja cele note a kvant je broj tih jedinica sa kojim se trenutno radi
(kao L: polje u abc zapisu) i prema kome se obiˇcno vremenski porav-
navaju elementi (trenutno je sistem vezan za jednu rezoluciju ali se lako
moˇze uopˇstiti npr. uz primenu funkcije transliraj)
6. struktura - trenutno je struktura odred¯ena nizom trojki (stupanj tonalitet tip)
koji predstavljaju delove zadate duˇzine gde stupanj (aktuelne skale)
ukazuje na akord u tom delu a tonalitet na promenu transpozicije. Tip
se moˇze iskoristiti kao veza ka n-shemama (zadnje polje id slota) npr.
uvod i zavrˇsnica ili neki drugi oblik klasifikacije (0 u n-shemi znaˇci
proizvoljan tip). Struktura na poˇcetku iza identifikatora ima jedan
string koji ako nije prazan oznaˇcava abc kod koji se ubacuje ne poˇcetku
tog dela (npr. ranije pomenute komande). To je samo najgrublji opis,
delovi mogu imati i drugaˇciji tonalitet (skalu), metriku, tempo, itd
(trenutno se to postavlja odgovaraju´com komandom u n-shemi).
Prvo polje id slota n-sheme i prvo polje strukture (ˇcinjenice duzxa i
kracya) su jedinstveni brojevi od 1 do broja zadatog ˇcinjenicama koliko-n-shema,
odnosno koliko-duzxih i koliko-kracyih - time se omogu´cava nsumiˇcno
biranje jedne od tih ˇcinjenica (ili prelazak na pravilo bez n-sheme, isto nasum-
ice) za razliku od pravila u poˇcetnoj fazi kojima se sve ˇcinjenice obrad¯uju (ali
se bira jedna od njih na osnovu nekog pravila) - tu i vidim nekakav zaˇcetak
neegzaktnog zakljuˇcivanja.
Navedene definicije muziˇckih pojmova odgovaraju onima u klasiˇcnoj
muziˇckoj teoriji ali su formulisani na naˇcin koji omogu´cava lakˇsu (matematiˇcku)
formalizaciju. Pravila su grupisana prema fazi izvod¯enja u tri faze:
faza 0 - u ,,nultoj”fazi se najpre prikupljaju parametri ako nedostaju (ras-
poloˇzenje ili stil, tempo, trajanje nije u jedinicama rezolucije ve´c je
pre pribliˇzan broj nota pesme koji grubo odred¯uje kasnije strukturu
pesme) uz osnovnu proveru njihove validnosti, a onda se na osnovu
ˇcinjenica u bazi formiraju osobine objekta poˇcetnog stanja i ˇcinjenice
koje ˇcine strukturu pesme. Sistem trenutno raspolaˇze ˇcinjenicama: ako
je traˇzeno raspoloˇzenje sre´cno onda koristi dursku skalu, ako je tuˇzno
onda neku molsku, ako je besno onda smanji kvant, itd.
Primena VI - Ekspertni sistemi 47
faza 1 - u prvoj fazi se na osnovu ˇcinjenica (n-shema) u bazi ako i ima ili
nasumice ako ih nema generiˇse detaljnija struktura (note) koje ˇcine
pesmu u vidu novih ˇcinjenica. Trenutno sistem raspolaˇze samo dvema
ˇcinjenicama (ˇsto je zaista malo) i to o ,,sre´cnim frazama” (C, D, E,
F, G, F, E, D, C i varijanta), sve ostale nasumiˇcno generiˇse formiraj
funkcijom. U ovoj fazi se implicitno koristi i jedna transformacija -
uzeti note do sada generisane fraze kao nekakve tonove skale i njima
prepraviti naredni deo koji se dodaje (bilo da je iz n-sheme ili sluˇcajno
generisan).
faza 2 - u drugoj fazi se transformacijama koje zavise od zadatih parametara
i ˇcinjenica u bazi formira konaˇcan oblike pesme tj. fraze. Praktiˇcno se
koristi samo nasumiˇcno (po nekim pravilima) variranje fraze u zadatom
broju iteracija.
Na kraju, skup pravila koji je zaduˇzen za poˇcetni i konaˇcan ispis pozivom
funkcije daj-abc formira konaˇcan rezultat zapisan u abc kodu i ispisuje ga
na konzolu i u output.abc datoteku. Veze izmed¯u ˇcinjenica su donekle ve´c
,,labave” (od svih ˇcinjenica o skalama se bira ona koja najviˇse po koeficijentu
odgovara raspoloˇzenju ili stilu, a ako ih ima viˇse iste ,,jaˇcine” bira se neka
nasumice, struktura i n-sheme se biraju nasumiˇcno) ali nije sasvim imple-
mentirano neegzaktno zakljuˇcivanje. Cilj je vremenom pre svega obogatiti
bazu znanja novim pravilima o ˇcemu sam vodio raˇcuna - npr. pravilima su
opisane samo delom osobine harmonija i akorda ali nisu ni do kraja implemen-
tirane, kao ni upotreba zapisa razliˇcitih rezolucija. Trudio sam se da pratim
metodologiju o projektovanju forward-chaining rule-based sistema odnosno
njene delove iz Durkinove knjige [JD] shodno trenutnim potrebama razvoja
ovakvog jednog sistema. Nakon potpune implementacije i testiranja bih onda
prema ranije opisanoj metodologiji proˇsirio bazu znanja npr. pravilima i
sloˇzenijim akordima (septakordima pored kvintakorda), dodatao bih pravila
kojima se opisuju paralelni tonaliteti, kvintni i kvartni krug, itd. Takod¯e,
ograniˇcenje da se prati do 3 stila i raspoloˇzenja po skali ili n-shemi je po
nekom iskustvu opravdano, ali se moˇze uopˇstiti i na ve´ci broj. Odnos ako-
rda i drugih elemenata se zato svakako mora uopˇstiti (nema opravdanja ni u
nekom iskustvu ograniˇcenje na tri). Uz veoma malo truda, implementacijom
delova i ritma se moˇze posti´ci veliki efekat, dok implementacija polifonije za-
hteva sloˇzeniju formalizaciju ali ne teˇzu od postoje´cih. Veoma bi bilo korisno
uvesti dinamiku (glasno´cu, jaˇcinu udarca), ˇsto bi bila samo jedna nova ko-
manda i pravila o njoj. Jednostavno se moˇze dodati stakato kao stil. Takod¯e,
mislim da bi bilo korisno uvesti inkrementalno generisanje u kojem bi koris-
48 Seminarski rad
nik mogao da utiˇce nekim parametrima i usmerava svaki naredni rezultat do
nekog konaˇcno zadovoljavaju´ceg rezultata. Dokumentacija o bazi znanja se
trenutno nalazi u samom kodu ovakvog sistema ali je treba izdvojiti i voditi
posebno uz detaljnij obrazloˇzenja (npr. kratko sam opisao nekoliko pravila i
ˇcinjenica u bazi u vezi faza izvrˇsenja).
Kasnije bih pokuˇsao sa klasifikacijom zadate melodije nizanjem unazad
u odnosu na zadate atributa, kao i nekim drugim (statistiˇckim metodama,
GA, i sl.) metodama. Sistem koji sam uˇci i prepoznaje takvo znanje bi bio
neki krajnji izazov. Koje su mogu´ce primene ovakvog sistema - kao pomo´c
u aranˇziranju u nekom paketu za MIDI obradu i sekvenciranje, varijacije i
improvizacije u realnom vremenu, ali i ,,hvatanje” nekog muziˇckog korpusa
kao opˇsteg znanja o nekoj vrsti muzike (nizanjem unapred i unazad se moˇze
potvrditi uspeˇsnost ovakve baze znanja) ili primena u edukaciji (moˇzda bi to
bila osnova za jedan takav sistem, ˇsto bih voleo da vidim).
ˇ
Sto ve´cim brojem
ˇcinjenica o strukturi, skalama i primerima u vidu n-shema moˇze se dobiti baza
koja bolje opisuje znanje, ali i transformacijama koje bi bolje objasnile vezu
izmed¯u primera i znanja (korisne bi bile npr. transformacije kombinatornog
karaktera nad frazama kao nizovima). Praktiˇcno, sistem bi na kraju trebalo
poboljˇsavati samo dodavanjem primera, skala i transformacija i tu oˇcekujem
najve´ce bogatstvo u opisivanju ovakvog znanja (npr. dodati modalne skale)
- trenutno sistem raspolaˇze jako malim brojem ˇcinjenica (tek nekoliko). Neki
primeri transformacija koje sam implementirao: transponovanje, vremenska
translacija, nasumiˇcno menjanje ili dodavanje neke sluˇcajno izabrane note
ili nasumiˇcno oduzimanje note iz pesme (uz poˇstovanje pravila o redosledu,
tonalitetu i sl.), itd. Takod¯e, abc nudi i mogu´cnost zapisa ponavljanja i
strukture, viˇse polifonih redova (tj. MIDI kanala) itd. ˇsto moˇze doprineti
jednostavnosti i kvalitetu rezultata.
Da bi se ovakav CLIPS kod portovao u JESS morala bi se sva pravila
prepraviti da ne koriste objekat koji sam koristio da beleˇzi trenutno stanje.
Takod¯e, bilo bi veoma korisno implementirati vid neegzaktnog zakljuˇcivanja
(ˇsto je nagoveˇsteno u samom kodu) kojim bi se finije opisivale veze osobina
i transformacija. Korisniˇcki interfejs trenutno predstavljaju funkcije kon-
verzije izmed¯u abc i internog zapisa (n-shema), kao i poziv eksternog alata,
kasnije bi moglo da se to poboljˇsa - pre svega konverzija abc u interni zapis
znanja, a mogu da zamislim i ulaz u vidu MIDI sekvenci, pretraga razliˇcitih
zapisa na internetu, ulaz iz skeniranog i automatski prepoznatog notnog za-
pisa ili joˇs bolje automatski prepoznat zvuˇcni zapis (ˇsto je dovoljan problem
za sebe, teˇzi nego OCR ali postoje neki ohrabruju´ci rezultati i primeri). Pri-
Primena VI - Ekspertni sistemi 49
mena takvog sisema bi onda mogla biti i neka pretraga audio materijala na
internetu. Trenutno se koristi samo najosnovniji oblik abc sintakse dovoljan
za reprodukciju / konverziju u MIDI bez dodatnih elemenata i proˇsirenja.
Nije teˇsko zamisliti ovakav sistem onda kao ˇskoljku u kojoj bi se mogla dalje
razvijati ovakva vrsta znanja kada bi se sistem usavrˇsio na opisan naˇcin.
Ovaj sistem ima i jednu osobinu koja mu omogu´cava jedan osnovni oblik
uˇcenja - na kraju svake sesije se nudi mogu´cnost da se generisana fraza za-
pamti kao nova ˇcinjenica u bazi sa nekim zadatim raspoloˇzenjem i njegovim
stepenom. Stanje se uvek moˇze snimiti save komandom.
Primer se moˇze uˇcitati (load must.clp) komandom ili iz GUI menija,
zatim se resetuje sistem sa (reset) i pokrene se sa (run). Nakon generisanja
se pokre´ce pesma, ali da bi to radilo u direktorijumu odakle se pokre´ce CLIPS
primer mora da stoji abc2midi.exe, mora da bude podeˇsen ispravno MIDI
izlaz (npr. u Control Panel-u se pokrene aplet Sounds and Audio Devices,
zatim na Audio tabu se podesi MIDI music playback Default device npr. kao
Microsoft GS Wavetable SW Synth ili ˇsta ve´c nudi zvuˇcna kartica) i MID ek-
stenzija mora da bude asocirana npr. sa Windows Media Player-om (ili bilo
kojim sposobnim da reprodukuje MIDI). Ovakav sistem je lako portovati na
neki drugi OS, npr. Unix/Linux - jedino se reprodukcija drugaˇcije realizuje
(npr. upotrebom playabc ili bilo kog *i*x MIDI playera).
Primer jedne sesije (prototipa must.clp ovakvog jednog sistema):
CLIPS> (load must.clp)
CLIPS> (reset)
CLIPS> (run)
Muzicki sistem za generisanje fraza
Kakvo se raspolozenje trazi (srecno tuzno besno napeto blues) ? srecno
Koliko dugacka fraza (u celim) ? 24
Predlozena fraza:
X:1
T:Title
50 Seminarski rad
M:none
C:Composer
K:C
Q:1/4=100
L:1/4
M:4/4
=E1/2 =G1/2 =B1/2 =c =E1/2 =D1/2
Q:1/4=100
L:1/4
M:4/4
=C1/2-| =C1/2 =C3/2 =B1/2 =c =E1/2-| =E1/2 =C
Q:1/4=100
L:1/4
M:4/4
z2 "G/F"=C =G =A1/2-| =A1/2 =E1/2 =D1/2
Q:1/4=100
L:1/4
M:4/4
=C =C1/2 =E1/2 =f’’1/2-| =f’’1/2 [=c =A ]=E1/2 =D1/2 =C12 =F,4 | z
% (n-shema (id 3 0) (shema -105 100 -104 4 -103 4 -102 4 4 7 7 9 11 11 12 13
4 17 2 19 0 21 -105 100 -104 4 -103 4 -102 4 0 25 11 31 12 33 4 37 0 41 -101
37 -105 100 -104 4 -103 4 -102 4 -106 89 0 45 7 49 9 53 4 57 2 59 0 61 -105
100 -104 4 -103 4 -102 4 0 65 4 67 41 69 12 73 9 73 4 77 2 79 0 81 -7 33)
(rezolucija 16))
Da li da ubacim dobijeno u bazu (Da/Ne) ?d
U koje raspolozenje ova fraza najviv{s}e spada (srecno tuzno besno napeto
blues) ? srecno
Koliko je to tako - izra\v{z}eno brojem izme\d{d}u 0 i 1 ? 1
Slede’{c}a sesija se pokre’{c}e sa (run) ...
CLIPS> (facts)
f-0 (initial-fact)
f-1 (razmak -12 24)
f-2 (skala (note 0 2 4 5 7 9 11) (a1 dur 0 0) (a2 dur7 7 7) (a3 dur 5 5)
(r1 srecno 1) (r2) (r3) (s1 dur 1) (s2) (s3))
f-3 (skala (note 0 2 3 5 7 8 10) (a1 mol 0 0) (a2 mol 7 7) (a3 mol 5 5)
(r1 tuzno 1) (r2) (r3) (s1 mol 1) (s2) (s3))
f-4 (skala (note 0 2 3 5 7 9 11) (a1 mol 0 0) (a2 dur7 7 7) (a3 dur 5 5)
(r1 tuzno 1) (r2) (r3) (s1 mol-prirodni 1) (s2) (s3))
f-5 (skala (note 0 2 3 5 7 8 11) (a1 mol 0 0) (a2 dur7 7 7) (a3 mol 5 5)
(r1 tuzno 1) (r2) (r3) (s1 mol-harmonski 1) (s2) (s3))
Primena VI - Ekspertni sistemi 51
f-6 (skala (note 0 3 5 6 7 10) (a1 dur7 0 0) (a2 dur7 7 7) (a3 dur7 5 5)
(r1 tuzno 0.5) (r2 srecno 0.5) (r3) (s1 blues 1) (s2) (s3))
f-7 (skala (note 0 3 5 6 7 10) (a1 mol7 0 0) (a2 mol7 7 7) (a3 mol7 5 5)
(r1 tuzno 0.5) (r2 srecno 0.5) (r3) (s1 blues 1) (s2) (s3))
f-8 (skala (note 0 3 4 5 7 10) (a1 dur7 0 0) (a2 dur7 7 7) (a3 dur7 5 5)
(r1 tuzno 0.4) (r2 srecno 0.6) (r3) (s1 blues 1) (s2) (s3))
f-9 (skala (note 0 2 4 6 8 10) (a1 aug 0 0) (a2 aug 5 4) (a3 aug 7 8)
(r1 napeto 0.8) (r2 besno 0.5) (r3 srecno 0.5) (s1) (s2) (s3))
f-10 (skala (note 0 1 2 3 4 5 6 7 8 9 10 11) (a1 dim 0 1) (a2 maj9 5 6)
(a3 aug 7 2) (r1 besno 0.9) (r2 napeto 0.6) (r3 blues 0.5) (s1 hromatska 1)
(s2) (s3))
f-11 (skala (note 0 1 2 3 4 5 6 7 8 9 10 11) (a1 aug 0 1) (a2 aug 5 4)
(a3 aug 7 2) (r1 napeto 0.9) (r2 besno 0.6) (r3 blues 0.5) (s1 hromatska 1)
(s2) (s3))
f-12 (n-shema (id 1 0) (rezolucija 16) (shema 0 1 2 3 4 5 5 7 7 9 5 11 4
13 2 15 -1 17)
(komanda "") (a1) (a2) (a3) (r1 srecno 1) (r2) (r3) (s1) (s2) (s3))
f-13 (n-shema (id 2 0) (rezolucija 16) (shema 0 1 4 3 7 5 11 7 12 9 9 9 4
13 2 15 0 17)
(komanda "") (a1) (a2) (a3) (r1 srecno 1) (r2) (r3) (s1) (s2) (s3))
f-15 (tempo 100)
f-16 (duzxa 1 "" 4 4 1 0 0 4 0 0 1 0 0 5 0 0)
f-17 (duzxa 2 "" 4 4 1 0 0 1 0 0 5 0 0 4 0 0)
f-18 (kracya 1 "" 4 4 1 0 0)
f-19 (kracya 2 "" 3 4 1 0 0)
f-20 (koliko-duzxih 2)
f-21 (koliko-kracyih 2)
f-22 (osobine (lista srecno tuzno besno napeto blues) (faktori))
f-42 (n-shema (id 3 0) (rezolucija 16) (shema -105 100 -104 4 -103 4
-102 4 4 7 7 9 11 11 12 13 4 17 2 19 0 21 -105 100 -104 4 -103 4 -102 4 0
25 11 31 12 33 4 37 0 41 -101 37 -105 100 -104 4 -103 4 -102 4 -106 89 0
45 7 49 9 53 4 57 2 59 0 61 -105 100 -104 4 -103 4 -102 4 0 65 4 67 41 69
12 73 9 73 4 77 2 79 0 81 -7 33) (komanda) (a1) (a2) (a3) (r1 srecno 1)
(r2) (r3) (s1) (s2) (s3))
f-43 (r1 srecno tuzno besno napeto blues)
f-44 (rezolucija 16)
f-45 (koliko-n-shema 3)
For a total of 26 facts.
CLIPS> (dribble-off)
52 Seminarski rad
Knjige koriˇs´cene tokom pisanja ovog rada, kao i sajtovi sa dokumentaci-
jom -
Literatura
[JD] John Durkin: Expert Systems - Design and Development
[JL] Jean-Louis Lauriere: Problem-Solving and Artificial Intelligence
[GN] Michael R. Genesereth and Nils J. Nilsson: Logical Foundations of
Artificial Intelligence
[TB] Donald E. Knuth: The TeXbook
[PG] Predrag Janiˇci´c, Goran Nenadi´c: OSNOVI L
A
T
E
X-A
[CLIPS] http://www.ghg.net/clips/CLIPS.html
[JESS] http://herzberg.ca.sandia.gov/jess/
[PROTEGE] http://protege.stanford.edu
[CW] http://staffweb.cms.gre.ac.uk/~c.walshaw/abc/
[NB] http://www.norbeck.nu/abc/abcbnf.htm
[ABC] http://ecf-guest.mit.edu/~jc/music/abc/ABC-FAQ.html
[PLAY] http://www.geocities.com/Nashville/8773/abcplay.htm
http://abc.sourceforge.net/abcMIDI
http://abcplus.sourceforge.net/
[Seymour] http://ifdo.pugmarks.com/~seymour/runabc/top.html
[abcPlus] http://abcplus.sourceforge.net
[sourceforge] http://abc.sourceforge.net/abcMIDI

Primena VI - Ekspertni sistemi

1

Sadrˇaj z
1 Poglavlje 1 - Ekspertni sistemi, 1.1 Inteligentne maˇine . . . . . . s 1.2 Definicja i kratka istorija VI . 1.3 Ekspertni sistemi - pojam . . uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 5 5 7 8 9 9 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 15 16 17 18

2 Poglavlje 2 - Osnovne osobine ES 2.1 Struktura i osobine . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Programiranje naspram inˇenjerstva znanja . . . . . . . . . . . z 2.3 Ljudi ukljuˇeni u ES razvoj . . . . . . . . . . . . . . . . . . . c 3 Predstavljanje znanja (knowledge representation) 3.1 Tipovi znanja . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Tehnike zakljuˇivanja c 5 ES 5.1 5.2 5.3 5.4 bazirani na pravilima (rule-based) Prednosti ES baziranih na pravilima . . . . Mane ES baziranih na pravilima . . . . . . . ES bazirani na pravilima s nizanjem unazad ES bazirani na pravilima s nizanjem unapred

6 Bajesov pristup neegzaktnom zakljuˇivanju c 20 6.1 Teorija verovatno´e i zakljuˇivanje, PROSPECTOR . . . . . . 20 c c 6.2 Osobine ovakvog pristupa . . . . . . . . . . . . . . . . . . . . 23 7 Teorija uverenja 7.1 Zakljuˇivanje s uverenjem . . c 7.2 Mere verovanja i neverovanja i 7.3 Propagiranje uverenja . . . . 7.4 Preporuke i zakljuˇci . . . . . c 8 Fuzzy logika 8.1 Osnovni pojmovi . . . 8.2 Reprezentovanje . . . . 8.3 Fuzzy zakljuˇivanje . . c 8.4 Max-Min zakljuˇivanje c . . . . . . . . . . . . . . . . . . . . . . . . . . ukupno uverenje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 24 24 25 26 27 27 27 28 29

2 8.5 8.6 8.7 8.8 Max-Proizvod zakljuˇivanje . . c Pravila sa viˇe premisa . . . . . s Defazifikacija (Defuzzification) . Razvoj fuzzy sistema, preporuke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Seminarski rad . . . . . . . . . . . . . . . . . . . . . . . . 30 31 31 32 33

9 Sistemi zasnovani na okvirima

10 Indukcioni sistemi 35 10.1 ID3 algoritam . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 10.2 Prednosti i mane ID3 . . . . . . . . . . . . . . . . . . . . . . . 36 10.3 Razvoj indukcionih sistema . . . . . . . . . . . . . . . . . . . 36 11 Prikupljanje znanja 12 Inˇenjerstvo znanja z 13 Primer - sistem za generisanje i klasifikaciju muziˇkog zapisa c 13.1 Opis i arhitektura sistema . . . . . . . . . . . . . . . . . . . . 13.2 CLIPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3 Prot´g´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e 13.4 Jess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5 abc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.6 Primer - MUST.CLP . . . . . . . . . . . . . . . . . . . . . . . 37 38 40 40 40 42 42 44 45

Primena VI - Ekspertni sistemi

3

1
1.1

Poglavlje 1 - Ekspertni sistemi, uvod
Inteligentne maˇine s

Odavno postoji ˇelja (,,sveti gral”) da se napravi maˇina koja bi bila z s sposobna da obavlja posao koji zahteva intelektualne sposobnosti ˇoveka, c npr. da igra ˇah (Charles Babbage, 1834. konstruiˇe mehaniˇku ,,analitiˇku s s c c maˇinu” koja raˇuna i ˇtampa neke matematiˇke proraˇune, imao je nameru s c s c c da napravi i maˇinu za igranje ˇaha). Tek napretkom informatiˇke tehnologije s s c od sredine 20. veka taj san postaje ostvariv. Nekoliko istraˇivaˇa na Dartmut z c koledˇu 1956. g. (Dartmouth College, USA) uˇestvuje u konferenciji koji z c organizuje McCarthy na temu VI (koji je prvi predloˇio upravo taj naziv z za tu oblast, a poznat je i kao otac LISP-a). Pored pregleda postoje´ih c dostignu´a u oblasti automatskih dokazivaˇa teorema i programskih jezika, c c raspravlja se i o mogu´nosti razvoja raˇunara koji bi bio u stanju da simulira c c ljudsko razmiˇljanje. Ovo okupljanje istraˇivaˇa oznaˇava rod s z c c ¯enje veˇtaˇke s c inteligencije kao oblasti raˇunarstva. c

1.2

Definicja i kratka istorija VI

Definicija 1.1 (jedna od definicija) Veˇtaˇka inteligencija (VI) je oblast raˇunarstva ˇiji je cilj rezonovanje na s c c c raˇunaru na naˇin koji je sliˇan ljudskom. c c c Veˇtaˇka inteligencija beleˇi prve uspehe akademske prirode kao ˇto su prvi s c z s program za igranje ˇaha (Shannonn, 1955) ili dama (Samuel, 1963), aus tomatsko dokazivanje teorema (,,Logic Theorist”, Simon i Newell, 1972), kao i ambiciozan pokuˇaj ostvarivanja opˇteg sistema za reˇavanje problema GPS s s s (General Problem Solver - Newell, 1960) baziran na traˇenju razlika i operz atora izmed ciljnog i trenutnog stanja u bazi ˇinjenica i operatora koji se ¯u c pokazao ipak slabim za sloˇenije probleme. VI je nakon poˇetnih uspeha i z c popularnosti doˇla u krizu poˇetkom sedamdesetih godina 20. veka (Lajthilov s c preterano kritiˇan izveˇtaj 1971.) kada je shva´eno da nisu dovoljni algoritmi c s c pretraˇivanja i simboliˇki programski jezici sa simboliˇkom reprezentacijom z c c (baze) znanja da bi se reˇili kompleksniji problemi (ˇuveni primer prevod s c ¯enja sa jednog prirodnog jezika na drugi i nazad, tj. da za automasko prevod ¯enje nije dovoljna samo sintaksna analiza i reˇnik - Dreyfys, 1972. i Lighthill c 1973). Prvi uspeˇni ekspertni sistemi kao ˇto je to bio DENDRAL oznaˇili s s c su izlazak iz te krize.

4

Seminarski rad

1.3

Ekspertni sistemi - pojam

Sistemi bazirani na znanju (knowledge-based systems) ili ekspertni sistemi stavljaju naglasak na znanje (bazu znanja) pre nego na naˇin pretraˇivanja c z i zakljuˇivanja. Uopˇtene metode zakljuˇivanja i sistemi ˇija oblast nije doc s c c voljno specificirana se pokazuju nedovoljno sposobnim za mnoge realne probleme (i njihovo reˇavanje u realnom vremenu). Ekspert je osoba koja izuzetno s dobro poznaje neku oblast ljudskog znanja kao i naˇine reˇavanja problema c s vezanih za tu oblast. Definicija 1.2 Ekspertni sistem je program koji je projektovan da modelira sposobnosti reˇavanja problema ljudskog eksperta u nekoj oblasti. s Dve stvari se pre svega modeliraju u ekspertnom sistemu (ES): znanje eksperta i njegovo zakljuˇivanje. Zato se ES sastoji iz baze znanja i maˇine zac s kljuˇivanja (inference engine). Znanje koje nam ekspert pruˇa moˇe se predc z z stavljati ˇinjenicama, pravilima, konceptima ili relacijama. Naˇin i problem c c njegovog predstavljanja jeste reprezentovanje znanja, dok naˇin i problem c zakljuˇivanja na osnovu baze znanja i zadatih upita je pitanje tehnika zac kljuˇivanja. c Ekspert je ˇesto veoma neophodna osoba u mnogim organizacijama, i postavlja c se onda pitanje zaˇto ga zamenjivati maˇinom ? Pre svega, donekle sliˇno s s c zameni nekih ljudi i njihovih poslova maˇinom tokom industrijske revolucije, s ekspertni sistem moˇe biti koristan kao pomo´ kada ˇovek nije raspoloˇiv, ili z c c z prosto kao alat koji olakˇava posao i omogu´ava automatizaciju nekih postus c paka, radi sa ve´im stepenom formalizma koji iskljuˇuje mogu´nost greˇke ili c c c s slabosti zbog ljudskog faktora i sl. Postoji i jedna dodatna prednost - znanjem kao opˇtim dobrom ili kapitalom neke organizacije se lakˇe upravlja, lakˇe s s s se prenosi i primenjuje jer ne zavisi u toj meri od pojedinca-eksperta ako se koristi ekspertni sistem. Gotovo da nema oblasti ljudskih delatnosti gde nije napravljen neki ES i uspeˇno primenjivan i njihov broj geometrijski raste. s

u svakom trenutku u toku sesije sa ES moˇe se dobiti objaˇnjenje kako je doˇao do nekog zakljuˇka ili pitanja z s s c (ugrad ¯eno u sve komponente) .Osnovne osobine ES Struktura i osobine Ekspert / Ekspertni sistem Dugotrajno pam´enje / Baza znanja c znanje o oblasti (domenu) ekspertize 6 ? Zakljuˇivanje / c  Maˇina (mehanizam) s zakljuˇivanja c 6 ? - Savet / Korisnik ˇinjenice o problemu c i zakljuˇci c Kratkotrajno pam´enje / c Radna memorija problem.1 Poglavlje 2 .Primena VI . Pored ovih osnovnih komponenti postoje doc datno i neke osnovne osobine ekspertnih sistema: s s • objaˇnjenja (kako. zaˇto) .Ekspertni sistemi 5 2 2. radne memorije (koja se menja tokom sesije u radu sa ES dobijenim novim ˇinjenicama i c zakljuˇcima) i maˇine zakljuˇivanja (procesor koji povezuje ˇinjenice iz baze c s c c znanja sa dobijenim zakljuˇcima i ˇinjenicama iz radne memorije i izvlaˇi c c c nove zakljuˇke o problemu). Osnovna struktura ekspertnog sistema se tako sastoji iz osnovnih komponenti: baze znanja. privremeno izvedeni zakljuˇci. ˇinjenice i pitanja c c Na dijagramu iznad je prikazan odnos i pored ¯enje modela rada jednog ljudskog eksperta i strukture ekspertnog sistema.

.svako ˇirenje oblasti znanja obavezno nosi s rizik da ES postane neefikasan i nepotrebno sloˇen (bilo je pokuˇaja z s ograniˇenog uspeha.uvek je lak’ˇe reˇavati probc s s lem kroz potprobleme odnosno probleme u podoblastima • koristi simbole (ˇinjenice. gde se pod ekspertizom podrazumeva sposobnost efikasnog reˇavanja problema u nekoj oblasti s • naglasak na ekspertizi . koncepte.ˇesto se traˇi komunikacija prirodnim c z jezikom kroz interaktivni dijalog s korisnikom (mada mogu biti zastupljeni i multimedijalni i drugi sadrˇaji i vidovi komunikacije ˇto zavisi z s od prirode same oblasti i namene ES) • razdvojeno znanje od kontrole .. pravila) . ali ako je problem previˇe kompleksan s z s nemoˇe se opravdati predugaˇko vreme potrebno za njegovo reˇavanje z c s • moˇe napraviti greˇku . c c sc s • borba sa kompleksnoˇ´u . nekakvim poznatim preˇama z c • ˇesto se koristi neegzaktno zakljuˇivanje .zakljuˇivanje sa verovatno´om. c c c c mogu´nostima ili uverenjima c • ograniˇenje na probleme koji su reˇivi ekspertnim sistemom c s ne treba oˇekivati nemogu´e .reˇavanje veoma jednostavninh problema ES se joˇ i moˇe opravdati.veoma vaˇna karakteristika ES z nasuprot klasiˇnim proceduralnim programima gde se upravljaˇka konc c trola u programu meˇa sa raspoloˇivim znanjem (kontrola tj. GPS ili Ham 1984.da bi mogao da efikasno zakljuˇuje mora c c da vodi raˇuna o najboljem naˇinu reˇavanje problema ne samo kroz c c s algoritme pretraˇivanja s heuristikama.baza znanja koja potiˇe pre svega od c ljudksih eksperata.predstavljanje c znanja u razliˇitim strukturama (od deklarativnih oblika kao ˇto je c s prirodni jezik do potpuno proceduralnih) ˇini ES obrad cima znanja c ¯ivaˇ nasuprot konvencionalnim proceduralnim programima kao procesorima podataka • zakljuˇianje heuristikama .) .kao i pravi (ljudski) ekspert z s .6 Seminarski rad • interfejs (prema korisniku) . zakljuˇivanje s z c kod ES se moˇe menjati nezavisno od baze znanja) z • poseduje ekspertsku bazu .

daje inˇenjeru uvid u organizovano predstavljeno c z znanje i procedure reˇavanja sistema. kodiranje i provera / otklanjanje greˇaka (dez s bug). . i sl. i nakon nje se po potrebi iterativno vra´a na neku od prethodnih.) alat kojim se znanje predstavlja i obrad ¯uje (naˇin zakljuˇivanja u upravljanja znanjem) tako c c da bude ˇto sliˇniji ljudskom ekspertu.podaci i ljudi (eksperti). Moˇe biti usko grlo projekta i zato se smatra vaˇnom z z fazom. programom) ve´ na oblikovanju c (baze) znanja . s c Faza testiranja: Ova faza se ˇesto odvija zapravo tokom svih prethodnih c faza. Konvencionalni program je zavrˇen tek nakon prolaska kroz sve tri faze s do poslednje. oblast i potrebni resursi .deklarativno-proceduralna kontroverza: kontrolna struktura ES kod kojih je naglasak na deklarativnom znanju je potpuno odvojena od podataka za razliku od proceduralnih programa. orgac nizuje i prouˇava kako radi boljeg uvida u problem. i drugi vaˇni ˇinioci projekta kao s z c ˇto su ciljevi. Ovde nije s naglasak na obradi podataka (algoritmom. Grubo reˇeno. tako i zbog potreba c daljeg razvoja. izvodivost z njihovog reˇenja u odnosu na ciljeve. Faza prikupljanja znanja: Znanje se obiˇno preuzima od eksperta. metodi obrade znanja . s z Faza odrˇavanja: ES je po pravilu sistem koji ˇivi jer se baza znanja menja z vremenom.bira se (npr. Inˇenjerstvo znanja u odnosu na konvencionalno programiz ranje nema joˇ uvek tako dobro ustanovljene metodologije razvoja. grubo reˇeno u tri faze redom c (ˇivotni ciklus): projektovanje. faze razvoja su: c Faza procene: Tokom ove faze se identifikuju vaˇni problemi.2 Programiranje naspram inˇenjerstva znanja z Konvencionalno programiranje ima dobro poznate i prouˇene metode c razvoja i odvija se sekvencijalno (iterativno)..Primena VI .Ekspertni sistemi 7 2. Faza projektovanja: Definiˇu se ukupna struktura i organizacija znanja s sistema. c Faza dokumentacije: Specifiˇnost u odnosu na konvencionalnu dokumentaciju c je reˇnik znanja . Tako s se formiraju osnovni zahtevi projekta. paradigma deklarativnih jezika naspram proceduralnih.

Svaki od ovih uˇesnika poseduje odred c ¯ene praktiˇne osobine i c znanja potrebne da se projekat uspeˇno zavrˇi.apsolutna vrednost”). komunikacione sposobnosti z – raspoloˇivost .ima vremena koje moˇe da posveti razvoju ES z z – nije neprijateljski raspoloˇen (prema razvoju ES) z • Inˇenjera znanja z – poznaje inˇenjerstvo znanja z – ima dobre komunikacione sposobnosti – moˇe da problem pretvori u softver z – ima programerske sposobnosti za ES (jedan od glavnih ciljeva ove knjige) • Krajnjeg korisnika – u stanju je da pomogne u specificiranju korisniˇkog interfejsa c – moˇe da pomogne u sakupljanju znanja z z – moˇe da pomogne u razvoju sistema Ekspert u odnosu na ne-eksperta poseduje znanje (to je njegova .3 Ljudi ukljuˇeni u ES razvoj c Projekat ES obavezno ukljuˇuje: c • Domenskog eksperta (Domain Expert) – poseduje ekspertsko znanje. s s .. ima sposobnosti za efikasno reˇavanje s problema – moˇe da prenese (objasni) znanje.8 Seminarski rad 2.

ali to su obiˇno elementi interfejsa prema korisniku koji se prevode u internu c reprezentaciju i obratno. a domen kao deo oblasti znanja koji je od znaˇaja za ES je dobro usredsred c ¯ena oblast znanja gde se pod tim podrazumeva oblast znanja vezana za jednu specifiˇnu c temu a ne viˇe njih (npr. itd.1 Tipovi znanja Razliˇiti tipovi predstavljanja znanja prema razliˇitim vrstama problema c c naglaˇava jednu vrstu informacija o problemu a drugu ignoriˇe i ne postoji s s idealan tip predstavljanja znanja koji za sve primene. 3.problem u c tom sluˇaju moˇe da bude npr. Sledi kratak pregled tipova znanja prema suˇtinskom znaˇaju i upotrebi: s c . tema .reˇenica koja je c z c ˇ taˇna ili nije taˇna.predstavljanje (reprezentovanje) znanja je metod kodiranja znanja u bazi znanja nekog ES..u ve´ini sluˇajeva se pokazuje da je izraˇajnost c c z ista tj.zarazne bolesti krvi”).Ekspertni sistemi 9 3 Predstavljanje znanja (knowledge representation) U ovom poglavlju se pravi pregled nekoliko najpopularnijih metoda za predstavljanje znanja u simboliˇkom obliku. i potrebno je nekako njegove elemente kodic rati i smestiti u ES .mogu biti zadate i tabelama ili grafovima. Ljudsko znanje se sastoji iz pojedinih ˇinjenica kao osnovnih elemenata. Pre svega znanje se definiˇe kao c s razumevanje predmetne oblasti analogno znanju ljudskog eksperta.Primena VI . c U mnogim formalnim sistemima se pod ˇinjenicom kao oblikom deklarativnog c znanja obiˇno podrazumeva iskaz (bilo kao logiˇki iskaz ili kao iskaz nekog c c drugog formalnog jezika . Tada je domen s znanja ono ˇime se ES bavi. proceduralni deo okvira) . da postoje reˇenice u oba jezika ekvivalentne semantike . Neki ES koriste i prirodni jezik i druge oblike informacija (multimedijalnog karaktera na primer). Cinjenice mogu biti reprezentovane na razlˇite naˇine c c c c .

atribut moˇe imati z jednu ili viˇe vrednosti. i kao struktura koja nudi neke korisne osc obine pretraˇivanja i formalno predstavljanja znanja (npr.zakljuˇak). mentalni model eksperta skupovi pravila koncepti i relacije Pet osnovnih tehnika za predstavljanje znanja: • trojke objekat-atribut-vrednost (O-A-V) . fuzzy pravila • pravila . c ˇta se zna s meta-znjanje ..graf kao struktura korisna i kao prikaz znanja c z na naˇin blizak ljudima.10 Seminarski rad pravila strategije agende procedure koncepti objekti ˇinjenice c znanje o drugim tipovima znanja proceduralno znanje .znanje kako upotrebiti i upravljati znanjem heurstiˇko znanje .kako se neˇto reˇava s s deklarativno znanje .o upotrebi pravila.proces zakljuˇivanja u ES je odred je pravilima (po uzoru c ¯en na modus ponens) sa levom i desnom stranom (uslov ...ˇinjenice. Meta pravila su posebna pravila kojima se upravlja domenskim znanjem . ˇetanjem od z s . grupisana u strukture koje odgovaraju podsistemima koji komuniciraju preko deljenih resursa (table) • semantiˇke mreˇe .pravilo preko palca” strukturno znanje . c plitko empirijsko znanje .opisuje strukture znanja. Pravila mogu biti ˇeme pravila s (promenljiva). iskaz moˇe imati vrednost i sa verovatno´om s z c (zadatim koeficijentom). gde c desna strana moˇe osim nove ˇinjenice znaˇiti i izvrˇenje neke proz c c s cedure.preko palca”.

Minsky.Ekspertni sistemi 11 zadatog ˇvora se moˇe traˇiti odgovor na upit uz osobine nasled c z z ¯ivanja (luk ”jeste”) i tranzitivnosti. okvir ima slotove koji predstavljaju osobine sa vrednostima (O-A-V).iskazna logika i PR1 . a u nekima se koristi upravo kao reprezentovanje znanja u nekom vidu (PROLOG. Struktura podataka kojom se ovo opisuje je okvir (frame. rezolucija) i kao naˇin zakljuˇivanja. ili utiˇu na izbor i okidanje pravila prema uslovu. s s c z 1932) sadrˇi i deklarativno i proceduralno tipiˇno znanje o nekom obz c jektu ili konceptu. broj. Objekat tj. mogu imati pretpostavljene (default) vrednosti. Ovo poslednje ukazuje na objektnu strukturu okvira (zapravo klasa) sa osobinom nasled ¯ivanja i instanciranja.ˇema kao proˇirenje semantiˇkih mreˇa (Barlett. mogu biti niska. c c Boolean ili objekat . mogu biti statiˇke ili dinamiˇke. a koriste se i ako finije ograniˇenje mogu´ih c c vrednosti pored tipa. c • logika .u mnogim sistemima je potrebno makar imati implicitno zadat model znanja u obliku formula i teorija PR1. Faceti su metodi kojima se daju ili menjaju vrednosti.okvir. s c c . a metodima se opisuje proceduralno znanje. 1975).Primena VI . organizovanje izuzetaka od nasled ¯enih osobina) • okviri (frames) . Hornove ˇeme.

okvirom se mogu uhvatiti stereotipne inc c formacije.ili zakljuˇivanje uz upotrebu heurisc c tika.plitkog” ali praktiˇnog znanja o nekim stvarima i najboljim c postupcima zakljuˇivanja o njima (kao kod algoritma pretraˇivanja s c z izborom najbooljeg. • Deduktivno zakljuˇivanje . best-first. 1988.1 Razmiˇljanje (reasoning) je proces rada sa znanjem. ˇto je ˇest sluˇaj kod ljudi eksperata. i ako se kaˇe da je neki objekat predstavljen okvirom sliˇan z c nekom drugom objektu predstavljenim okvirom s nekim uhva´enim razc likama onda je to analogiˇno zakljuˇivanje o novom objektu koji preuzc c ima osobine starog objekta uz neke razlike.ako vaˇi P (x) na nekom podskupu vrednosti X z onda vaˇi (∀x)P (x)). ako je B i A ⇒ B onda je mogu´e da je taˇno i A).abduktivno zakljuˇivanje je oblik deduktivnog zakljuˇivanja u kome se dozvoljavaju i mogu´i zakljuˇci (genc c c eralizacija nad predikatom ili podizrazom a ne samo nad promenljivom. npr. modus ponens) u kome se na osnovu postoje´eg skupa ˇinjenica c c (aksioma) izvode novi zakljuˇci ili med c ¯uzakljuˇci. • Zdravorazumsko zakljuˇivanje .korisnih preˇica u pretrazi). kao i sa upotrebama heuristika . .klasiˇan oblik razmiˇljanja i zakljuˇivanja c c s c (npr. c s c c • Nemonotono zakljuˇivanje . . ES: s c Definicija 4.Ljudi ˇesto zakljuˇuju uopˇtavanjem pojedinih sluˇajeva (generalizacijom) u sve sluˇajeve odred c c ¯enog tipa.12 Seminarski rad 4 Tehnike zakljuˇivanja c Postavlja se najpre granica izmed procesa ljudskog razmiˇljanja i modela ¯u s ljudskog razmiˇljanja kojeg sre´emo u VI tj.ˇesto se razmiˇlja o problemu tako da c c s mnoge ˇinjenice u bazi i njihove posledice imaju konstantnu istinitosnu c vrednost nakon dodavanja nove ˇinjenice u bazu (ili se istinitost doc brog dela baze znanja ne menja) i ako to vaˇi za sve ˇinjenice u bazi z c . Suˇtina s takvog induktivnog razmiˇljanja je taj prelazak od pojedinog ka svemu s (Firebaugh. ˇinjenicama s c i strategijama reˇavanja problema (pravilima) radi dolaˇenja do zakljuˇaka o s z c istim. c c c c s • Induktivno zakljuˇivanje . z c c • Abduktivno zakljuˇivanje .. c c • Analogiˇno zakljuˇivanje .

dokle god se ne zakljuˇi cilj ili ne iscrpu primenjiva pravila.Ekspertni sistemi 13 znanja onda je to monotono zakljuˇivanje. c Mehanizam zakljuˇivanja uzima prema nekom izboru iz baze znanja neke c ˇinjenice u vidu okvira i pravila.Primena VI . obiˇno se ˇinjenice ili dodaju ili oduzimaju iz baze znanja c c c pored med ¯uzakljuˇaka (RETRACT . c s Definicija 4.povlaˇenje ˇinjenice. gde premise postaju podciljevi) . koristi se modus ponens ili rezolucija kao naˇin zac kljuˇivanja . c c i onda prema zadatom naˇinu zakljuˇivanja dobija nove instance ˇinjenica i c c c smeˇta ih u radnu memoriju ili dobija ciljeve. nerec zolucija. karakteristiˇno za sisteme bazirane c c na pravilima). kao i instance ˇinjenica iz radne memorije. Zakljuˇivanjem se naziva model ljudskog razmiˇljanja u ES.2 Zakljuˇivanje (inference) je proces ekspertnog sistema kojim c se dobijaju nove informacije na osnovu postoje´ih. CYCLE c c c pokretanje pretrage ponovo sa novim stanjem). inaˇe je nemonotono i posc c toje ˇinjenice koje se menjaju nakon dodavanja nove ˇinjenice u bazu. Agenda je spisak ciljeva koje treba .od baze znanja stiˇe se z ka cilju (podaci utiˇu na rezultat. c c • Nizanje unazad (Backward Chaining) . Pred mehanizam zakljuˇivanja s c se postavljaju slede´a pitanja pored samog naˇina tj. a podcilj jeste primitiva (traˇi se vrednost od korisz nika) ako nema primenjivog pravila. c c Praktiˇno.polaze´i od cilja stiˇe se c z do ˇinjenica u bazi znanja tako da se utvrdi istinitost cilja (npr.primenjivo pravilo (cilj je sa desne strane pravila) ˇije premise nisu u bazi znanja ili radnoj memoriji c postaju podciljevi. pravila zakljuˇivanja c c c za date premise i pravila: • Kada i koja pitanja postavljati korisniku ? • Kako pretraˇivati bazu podataka ? z • Kako izabrati pravilo koje treba primeniti ako ih postoji viˇe u datom s trenutku ? • Kako zakljuˇena informacija utiˇe na dalju pretragu ? c c Dve osnovne vrste zakljuˇivanja bile bi: c • Nizanje unapred (Forward Chaining) . nakon ˇega se promene c mogu reflektovati na ostatak ili deo baze znanja.

pravila iz druge linije zakljuˇivanja. debugging) prati´e liniju zakljuˇivanja iako c c ne treba (postoje poboljˇanja. c c Moˇe biti korisno imati mreˇu zakljuˇivanja (u toku razvoja ili eksploatz z c acije sistema) . pravilo najve´e c specifiˇnosti. savet. po zadatom prioritetu (salience). i primene (nakon s ˇega se zakljuˇak dodaje u radnu memoriju).strukturu zakljuˇivanja prikazanu grafom na osnovu ˇinjenica c c (ˇvorovi) i pravila (lukovi) koja uˇestvuju (npr. interpretacija) nema predstavu o vaˇnosti z pitanja (postavlja i nepotrebna pitanja. pravilo koje se odnosi na poslednji dodat element radne memoc rije. monitoring.14 Seminarski rad reˇiti kao problem (neki put je bitno ne drˇati se strogo redosleda). polaze´i od cilja kod nizanja c c c unazad). Nemonotono zakljuˇivanje moˇe podrazumevati i uklanjanje ˇinjenice c c z c (kao promenu u bazi znanja) kao i svih ˇinjenica koje zavise od nje prema c nekom pravilu. ne okidaj ve´ upotrebljeno pravilo. Pojam razreˇavanja sukoba (conflict resolution) je strategija odabira pravila s koje se okida kada ima viˇe primenjivih pravila. To se moˇe posti´i komunikacijom izmed razliˇitih podsistema z c ¯u c ili posebnim demon pravilima (koja nizanjem unapred reˇavaju specifiˇne s c sluˇajeve). posmatranjem c eksperta). . c c Dobre strane Loˇe strane s Nizanje unapred dobar za probleme vod ¯ene podacima (planiranje. Tipiˇne strategije su: prvo c c c pravilo po redu u memoriji. s meta-pravila i faktori uverenja) Kombinovanje jednog i drugog se ˇesto koristi pored samog izbora izmed c ¯u ova dva naˇina (smera) nizanja tokom projektovanja ES (npr. razreˇenja (biranje pravila prema nekoj strategiji). Kos z risno je imati pravila kojima se bira cilj (nizanjem unapred) i to se moˇe z posti´i posebnim pravilima (meta-pravilima) koja utiˇu na biranje cilja. sva zadata) Nizanje unazad dobro za potvrdu hipoteze usredsred je na problem ¯en (dijagnoza. Sastoji se iz 3 faze: prepozs navanja (svih premisa pravila u radnoj memoriji i skupa primenjivih pravila).

komponenta za objanjenja (obiˇno proima sve ostale) i spoljni proc grami (koji dodatno podravaju ES).onda • Razdvojeno znanje od kontrole . MYCIN i PROSPECTOR (70s tih). tj. ista ˇkoljka (shell) . razvojni inc terfejs (koji moˇe biti isti kao i prethodni.kao i kod svih ES.relacije izmed stanja i akcija (leva strana produkcije je stanje odred ¯u ¯eno radnom memorijom (pattern). c Prvi uspeˇni primeri su DENDRAL (60-tih).ljudima je blisko iskazivanje pravila u obliku z ako .1 Prednosti ES baziranih na pravilima • Prirodno izraˇavanje . baza znanja (pravila) zakljuˇci c radna memorija (ˇinjenice) c 6 mehanizam (maˇina) s - zakljuˇivanja c  ˇinjenice c 5.) su razdvojeni c . nova ˇinjenica). desna akcija nad radnom memorijom. ali z s z predstavlja drugaˇiji pogled na sistem i moˇda dozvoljava promenu izvornog c z koda). Pored c c ovih osnovnih komponenti strukture tu su i korisniˇki interfejs.Ekspertni sistemi 15 5 ES bazirani na pravilima (rule-based) ES bazirani na pravilima su zasnovani na strukturi u kojoj bazu znanja ˇine pravila (kao dugotrajna memorija). Osnovna vrsta ovakvih sistema su produkcioni sistemi gde se pod pravilima podrazumevaju produkcije .okruˇenje. Baza znanja i mehanizam zakljuˇivaja (sa meta-pravilima npr.Primena VI . kao i mehanizam zakljuˇivanja. radnu memoriju unete i zakljuˇene c c ˇinjenice (kao kratkotrajna memorija).

sama ˇkoljka moˇe nuditi mogu´nost pros z c vere unetog znanja s obzirom na formalnu prirodu pravila i sintakse • Heuristiˇko znanje .dodavanje pravila i ˇinjenica je lako omogu´eno s c c razdvojenoˇ´u kontrole od znanja sc • Proporcionalni rast inteligencije .moˇe se implementirati zakljuˇivanje (pravc z c ila i ˇinjenice) s verovatno´om c c • Upotreba promenljivih .da bi se pravilo okinulo neophodno c je da postoji ˇinjenica koja formalno potpuno i taˇno odgovara uslovu c c ¯u ¯u c • Nejasni odnosi med pravilima .pravila su nezavisni delovi znanja i tako mogu biti organizovani • Lako proˇirivanje .sistem sa velikom bazom znanja moˇe biti spor ili bar nedovoljno brz za neke primene .sistem izdvaja bitna pravila za zadati problem (i u tom smislu je dodatno fokusiran) • Izdvajanje objaˇnjenja iz formalne sintakse .med pravilima postoji ˇesto med ¯uzavisnost koju nije lako uoˇiti u toku razvijanja sistema a to moˇe c z biti vaˇno z z • Performanse .) c • Znanje s verovatno´om .2 Mane ES baziranih na pravilima • Potreba za taˇnim uparivanjem .dodavanjem znanja i ˇinjenica c raste i sposobnost ES da reˇava problem bolje s • Upotreba relevantnog znanja .16 Seminarski rad • Modularnost znanja ..mogu se koristiti ˇeme pravila upotrebom s promenljivih 5.mogu´e je koristiti .pravila nude mogi´nost s c davanja objaˇnjenja i pra´enja celog traga objaˇnjenja datog zakljuˇka s c s c • Provera konzistentnosi .zdravorazumsko” iskustvo c c eksperta i zakljuˇivanje (meta-pravilima npr.

sigurnosna mreˇa.. pogotovu o bitnim fazama i stvarima) z • Sigurnosna mreˇa (Safety Net) .Ekspertni sistemi 17 • Odgovaraju samo odred ¯enim problemima .ugad z ¯ati” dodatnim objaˇnjenjima i med s ¯urezultatima.znanje se teˇko .. semantiˇke mreˇe. ili kontrola i novo reˇenje s ako prethodno ne pomogne • Inteligentan korisnik . itd.Primena VI . Projektovanje korisniˇkog interfejsa 7. Evaluacija sistema Preporuke u razvoju ovakvog sistema bi bile: • Razdvojiti problem u potprobleme i njima dodeljene podsisteme . odluke. c ˇto se i oˇekuje.treba uvek imati .posebno se vrˇi dijagnoza. Definisanje problema 2.hvata” s odnosno reprezentovanje znanja pravilima nije uvek odgovaraju´a za.3 ES bazirani na pravilima s nizanjem unazad Tipiˇni koraci u razvoju: c 1.npr.. optic sc s z mizacija.) ili c c reˇenja s 5. Sirenje sistema 5.pretpostavlja se da korisnik zna korisne informacije koje mogu da reˇe problem i treba omogu´iti njihov unos (koriss c niku se moˇe . preduslovi i (neposredni) zakljuˇci tj.tabele u kojima su c z kolone ˇinioci tj. itd. pravilo u zakljuˇivanju sa nekim pretpostavljenim zakljuˇcima c c da bi sistem uvek mogao dod do nekakvog zakljuˇka (makar pret¯e c postavljenog) . Definisanje ciljnih pravila (koja zakljuˇuju cilj) c ˇ 4. Preˇiˇ´avanje sistema (uopˇtavanje pravila. tabele odluka . (MYCIN) .) c 6. zatim . i onda se mogu koristiti drugi oblici reprezentovanja s c znanja (okviri. Definisanje ciljeva 3..ispravka s problema” odnosno prepisivanje recepta.ELSE” granu ili odg.

poˇeljno je grupisati pravila.4 ES bazirani na pravilima s nizanjem unapred Za razliku od prethodnih ES gde su mogu´i ciljevi poznati i dobro utvrd c ¯eni. c izolaciju. dokumentacija. kao i kasnije z s c c lakˇe proˇirivanje sistema s s • Testiranje . c s . Definisanje strukture vod ¯ene podacima (pravila) 4. Sirenje sistema 8. ako se sistem ˇiri poˇeljno je to raditi iterativno sluˇaj po sluˇaj r z c c 5.npr. sistem za dijagnozu ima obiˇno 4 faze: detekciju.takod su primenz ¯e jivi kao i kod prethodne vrste ES z • Grupisanje pravila . Projektovanje korisniˇkog interfejsa c ˇ 7. ovde se reˇenje traˇi i nemora biti poznato unapred. ve´ niz koji daje ˇablon po kome sva ostala mogu da se napiˇu) c s s 5. Pisanje inicijalnog koda (ne samo pravila koja daju ispravan rezultat.treba uredno dokumentovati sva pravila i njihovo znaˇenje i efekat c • Promenljivi cilj . dijagnozu i preporuˇen postupak reˇavanja problema.18 Seminarski rad • Dokumentacija . prepisani recept je promenljiva tako da je podrˇano viˇe mogu´nosti prepisivanja i zakljuˇivanja. testiranje . Tipiˇni koraci u razvoju: s z c 1.npr. pogotovu prema fazama rada .nakon svake izmene baze znanja treba testirati rad sistema. Definisanje ulaznih podataka (pravila kojima se zadaje korisniˇki unos) 3. Testiranje sistema 6. Evaluacija sistema Preporuke u razvoju ovakvog sistema bi bile: • Sigurnosna mreˇa. Definisanje problema c 2.

koristiti ˇeme pravila upotrebom promenljivih.Ekspertni sistemi 19 • Promenljive . kao i mogu´nost c c c zaustavljanja rada (STOP) iako postoje joˇ neka primenjiva pravila s .obiˇno ako podaci nisu ve´ u radnoj memoriji (ASc c SERTion) unose se okidanje inicijalnog pravila kojim se traˇe od korisz nika • Izuzeci i zaustavljanje rada .koriste se posebna pravila za specijalne sluˇajeve koji se obiˇno okidaju pre svih ostalih. mada s se ovo odnosi i na prethodnu vrstu ES • Unos podataka .Primena VI .

. itd. osnova ovakvog zakljuˇivanja je Bajesova teorema o c uslovnoj verovatno´i: c p(H|E) = p(H)p(E|H) p(E) gde je H neki dogad . a vaˇi i λ = 1 akko λ = 1. sluˇajna promenljiva i c c njena raspodela. O tome treba voditi raˇuna priz c likom grad ¯enja baze znanja ili nekako prevazi´i subjektivno zadate vrednosti c (koje obiˇno zadaje ekspert koji nije dovoljno svestan teorije verovatno´e i c c ove povezanosti). povezane (npr. je H|E ¯aj uslovni dogad .odnosno uslov td. PROSPECTOR c c Bez posebnog definisanja osnovnih pojmova teorije verovatno´e (polje c dogad ¯aja i njihovi svetovi kao skupovi. λ = (1 − λ p(H|¬E))/(1 − p(H|¬E)). O(H|¬E) = λO(H) i umesto obiˇnog pravila c sa premisama i posledicama imamo i dva faktora koja vezujemo za dato pravilo: E → H(λ.20 Seminarski rad 6 6. p(H|E) .. Vrednosti ova dva faktora su.H je taˇno kad god je E (taˇno)” i tada vaˇi pomenuto ¯aj c c z Bajesovo pravilo koje se moˇe zapisati i kao: z p(E) = p(E|H)p(H) + p(E|¬H)p(¬H) Ako se definiˇe odnos O(E) =def s p(E) p(¬E) = p(E) 1−p(E) kao . naravno.izgledi za E” (odds). p(E|¬H) Ako je: p(¬E|H) p(¬E|¬H) (faktor potrebnosti) λ =def onda je O(H|E) = λO(H). a E dokaz .hipoteza.1 Bajesov pristup neegzaktnom zakljuˇivanju c Teorija verovatno´e i zakljuˇivanje.). Vrednosti faktora ˇetaju od 0 do ∞ pri ˇemu se λ tumaˇi s c c ovako: . λ). te ako je λ < 1 onda je λ > 1 i obratno. 1−p(H|E) tada su uslovni izgledi za H dati sa O(H|E) = (faktor dovoljnosti) λ =def p(E|H) . verovatno´a.

a ako je E netaˇno onda je p(¬E|E ) = 1. ili ¬E je neophodno da bude H E je nepoˇeljno da bi bilo H z E ne utiˇe na H c E je poˇeljno da bi bilo H z E je dovoljno da bi bilo H 21 malo 1 veliko ∞ dok se λ tumaˇi na slede´i naˇin: c c c 0 H je ⊥ kada E je ⊥. kada E potpuno podrˇava E. Pored ispravljanja i provere u toku samog unosa. c p(H|E ) = p(H|¬E). simptom ili uverenje z ¯aj da je E. tada se moˇe zapisati z p(H|E ) = p(H|E)p(E|E ) + p(H|¬E)p(¬E|E ) i definiˇe linearnu zavisnost p(H|E ) i p(E|E ) td. ili E je neophodno da bude H ¬E je nepoˇeljno da bi bilo H z ¬E ne utiˇe na H c ¬E je poˇeljno da bi bilo H z ¬E je dovoljno da bi bilo H malo 1 veliko ∞ Ako sa E obeleˇimo dogad koji predstavlja dokaz.Primena VI . ako je E taˇno onda je z c p(E|E ) = 1. postoji i metod korekcije (Duda.Ekspertni sistemi 0 H je ⊥ kada E je . 1976) koji nije sasvim u skladu sa teorijom verovatno´e ali se dobro pokazao u PROSPECTOR c . p(H|E ) = p(H|E). je p(H|E ) = p(H) ako s je p(E|E ) = p(E) tj. Ovaj odnos moˇe biti naruˇen ako se unose nekonzisz s tentne vrednosti pomenutih faktora λ i λ.

→ H uz dokaze E1 ∧ E2 ∧ .. 1−p(E) 1−p(E) Seminarski rad 0 ≤ p(E|E ) ≤ p(E).) premisa u pitanju. p(¬Ei |¬H) . Ovakvu fuzzy aproksimaciju koristi PROSPECTOR. Za sve sloˇene premise.. p(E) p(H)−p(H|E)p(E) + p(E|E ) p(H|E)−p(H) . (linearna aproksimacija). . . prema prethodnom raˇunu.22 sistemu: p(H|E ) = p(H|¬E) + p(E|E ) (p(H) − p(H|¬E)).. c Nakon svake nove unete premise preraˇunati koeficijente izgleda hipoteze c (posledice). To npr. O(H) p(H|E ) . Ako imamo konjunkcija viˇe premisa u pravilu s ¯usobno E1 ... i pretpostavku da su med (uslovno) nezavisni kao i premise... a korisnik unosi verovatno´e uverenja. Takod vaˇi: ¯e z 1−p(H|E ) ako postoji samo jedno pravilo znaˇi c n p(H|¬E1 . odnosno p(E|E ) = maxi Ei |E ako je disjunkcija (E1 ∨E2 ∨. pravila sa z c tom hipotezom (uz pomenutu pretpostavku o nezavisnosti premisa) vaˇi za z datu hipotezu: n p(H|E1 .... p(E) ≤ p(E|E ) ≤ 1. s tim da se verovatno´a uverenja u neku od premisa unosi c kao vrednost izmed -5 i 5. onda se moˇe uzeti da je p(E|E ) = z mini Ei |E u prethodnoj formuli. .. En ) = O(H) i=1 λi gde je λi = O(H|E ) = O(H|Ei ) p(Ei )H = p(Ei |¬H) . Domenski ekspert zadaje poˇetne verovatno´e ¯u c c svih premisa. E2 . ¬En ) = O(H) i=1 λi gde je λi = O(H|¬Ei ) O(H) = p(¬Ei )H ..

je preduslov.verovatno´a svih premisa c c mora biti zadata pre pokretanja mehanizma zakljuˇivanja. Pomenuta c aproksimacija konjunkcije minimumom (i disjunkcije maksimumom) ima tu manu da male promene ostalih uslova koji nisu minimum ne utiˇu na hipotezu.mora biti p(H|E) + p(¬H|E) = 1 na osnovu c teorije verovatno´e.Ekspertni sistemi 23 6.nakon svake promene i unosa z c verovatno´a uverenja moraju biti aˇurirane i sve zavisne vrednosti izc z gleda. i mora se prilikom razvoja o tome voditi raˇuna. ˇto moˇe biti veoma zahtevno s z • Ukupna verovatno´a .2 Osobine ovakvog pristupa • Verovatno´e uslova moraju biti poznate . ali u praksi ekspert moˇe biti nezadovoljan takvim c z odnosom hipoteze i njene negacije (zato je moˇda interesantnija teorija z uverenja) • Nezavisnost premisa . a to nije c uvek lako ni mogu´e. c c z . ˇto ako nije izraˇeno nemora biti s z problem. a subjektivne i time neprecizno zadate vrednosti c (greˇke) uzrokuju greˇke u rezultatu s obzirom na strogu zasnovanost s s raˇuna c • Aˇuriranje verovatno´a i faktora .Primena VI . Sloˇenijom formulom se to moˇe reˇiti ali se tako c z z s raˇun ˇini dodatno sloˇenijim.

E je nezavisan od H tj. intuitivno ljudsko znanje i drugaˇiji formalni aparat. Dalje. min [p(H|E).. E) = µB (H. s tim da je naglasak bio na c mehanizmu i formuli koja bi imala osobine: komutativna (da bi se izbegla zavisnost rezultata od redosleda primene pravila) i asimptotna (svako pravilo koje dodatno podupre uverenje ga pove´ava asimptotski ka 1).p(H)−p(H)] . Pravilo E1 ∧ E2 ..24 Seminarski rad 7 7. i odavde se vidi da je 0 ≤ µB (H. E) ≤ 1. .. Nakon prikupljanja svih podataka (za i protiv) i raˇunanja ovih mera za datu hipotezu H se odred c ¯uje ukupno uverenje (net belief): β = µB −µD . −p(H) ako je p(H) = 0 inaˇe. c . ve´ se znaˇenje uverenja naspram verovatno´e vezuje c c c c za praktiˇno iskustvo.. c c Uverenje predstavlja meru da je neˇto mogu´e odnosno verovanja da je tako s c (mogu´e naspram verovatno). pove´ava se neverovanje u potonjem sluˇaju): c c µB (H.p(H)−p(H) . β(H. → Hβ tako ima faktor uvc erenja β (certainity factor) koji ima vrednost od −1 (potpuno netaˇno) do 1 c (potpuno taˇno). 1−p(H)] ako je p(H) = 1 inaˇe. c µD (H. Na osnovu dokaza E uverenje u hipotezu se moˇe uve´ati ako je p(H|E) > p(H) ili smanjiti ako je p(H|E) < p(H) z c (odnosno. E) ≤ 1 i 0 ≤ µD (H. E) − µD (H. MYCIN koristi takav pristup. c 7. E) = 1. 0 ako E nije dokaz (nedostatak dokaza . E) = 1.1 Teorija uverenja Zakljuˇivanje s uverenjem c Ovde se se dogad ne posmatra formalno kao u teoriji verovatno´e iako ¯aj c ima sliˇnosti i dodira. max [p(H|E).2 Mere verovanja i neverovanja i ukupno uverenje Uvode se mere verovanja µB (belief) i neverovanja µD (disbelief) takod ¯e tako da budu komutativne i asimptotne. E) ima vrednost -1 ako E potpuno opovrgava H.

E) + β(¬H. Buchanan. µD (H.Ekspertni sistemi 25 p(H|E) = p(H) pa su obe mere i uverenje onda jednake 0). Ako je u pitanju c konjunkcija E1 ∧ E2 .|β2 |]     β1 + β2 (1 + β1 ) inaˇe. β2 > 0     β1 +β2 ..) = min β(Ei )β(P RAV ILO) i a ako je disjunkcija E1 ∨ E2 .) = max β(Ei )β(P RAV ILO) i Ako dva pravila zakljuˇuju o istoj hipotezi.. inaˇe.. E1 ) + µD (H. E1 &E2 ) = 1 µB (H. E2 )(1 − µB (H. c µD (H. odnosno. E1 )). E1 ∧ E2 . β2 ) =  1−min [|β1 |. s 7. → H β(P RAV ILO) u pitanju onda je: β(H. E) = β(E)β(P RAV ILO). onda se . E) uopˇte ne mora biti 1. → H β(P RAV ILO) onda je: β(H. ako je β1 . E2 )(1 − µD (H. 1975): µB (H. inaˇe... E1 )). E1 &E2 ) = .. E1 ) + µB (H. µB (H.akumulira” uverenje c prema (Shortliffe. β2 < 0 β(β1 .3 Propagiranje uverenja E → H β(P RAV ILO) Za dato pravilo raˇuna se uverenje kao β(H.. ako se odmah raˇuna uverenje (β1 i β2 su izraˇunata uverenja c c dvaju pravila):   β1 + β2 (1 − β1 ).. E1 ∨ E2 . c 0.. jedan od β1 . c ... ili 1 ako E potpuno potvrd ¯uje H. E1 &E2 ) = 1 µD (H. Zbir β(H. E1 &E2 ) = 0.Primena VI .

0.mogu se kombinovati egzaktno i neegzaktno c zakljuˇivanje s uverenjem c • Sortiranje rezultata po uverenju .moˇe biti problem ako se z pokaˇe da daje precenjeno jako uverenje z • Problem s disjunkcijom .4 Preporuke i zakljuˇci c • Heuristika .onda z je bolje sloˇeno pravilo razbiti u viˇe manjih ali konzistentnih pravila z s .gubi uverenje”. pove´ava greˇka) c c s • Mnogo pravila s istom hipotezom . vrednost koeficijenta uverenja po trenutnoj grani padne ispod nekog praga odbaciti trenutni i postaviti drugi cilj ˇ sc • Ciˇ´enje pretrage . ima smisla izabrati ono sa najve´im koeficijentom uverenja (best-first) c • Meta-pravila s uverenjem .26 Seminarski rad 7.ako npr.neka vrsta primitive moˇe biti koeficijent uverenja z s • Atributi sa viˇe vrednosti .2] onda se odbacuje trenutni cilj • Unos vrednosti . koeficijent uverenja upadne u interval [−0.ako npr.2.prednost ovakvog zakljuˇivanja c • Problem s dubokim lancem pretrage ..sloˇene premise mogu biti problem .ako treba odabrati koje pravilo okinuti.treba ih izbegavati (zbog prirode raˇuna se .pravila s uverenjima mogu imati i premise i zakljuˇke sa viˇe vrednosti (u smislu O-A-V) c s • Biranje zakljuˇivanja .

nejasan). odnosno ako je µA (x) = 0 onda je x ∈ A u klasiˇnom smislu.. xn )) gde je ai = µA (xi )./” i unije kao . fuzzy skup A od X domena je karakterisan funkcijom pripadnosti µA (x) : X → [0.... ograniˇenja ili c odredbe (hedges) pripadnosti skupu (proˇiruju je ili skupljaju .1 Osnovni pojmovi Fuzzy logika se zasniva na skupovima i elementima ˇija se pripadnost c meri pre nego da egzaktno pripradaju ili ne pripadaju skupu (naspram Aristotelovske logike.u narednim s primerima se pretpostavlja da je A skup visokih osoba): . c s prefiksnoj notaciji..Primena VI . . visok.. (Lukasiewicz. Lingvistiˇke promenljive su iskazi c prirodnog jezika koji imaju tako nejasno znaˇenje kao npr. daje samo naˇelnu ideju koju ne sprovodi dosledno) a c Zadeh (1965) to formalizuje do kraja i nastaje formalna teorija fuzzy logike. Onda svaka od vrednosti daje fuzzy podskup vrednosti iz domena skupa visina. srednje.crisp”) vrednostima se moˇe jednostavno prikazati z kao vektor karakteristiˇnih vrednosti A = (a1 . x1 ).. Skra´eni zapis koji se najˇeˇ´e koristi je samo µA (x) uz podrazumevane c c sc vrednosti domena X.Ekspertni sistemi 27 8 Fuzzy logika Fuzzy sistemi potiˇu joˇ od 1930..2 Reprezentovanje Fuzzy skup s diskretnim (. Definicija 8.poljskoj” tj. . poznat i po .. (an . Uz konvenciju zapisa ured ¯enih parova sa . odnosno A = i µA (xi )/xi ako i=1 nije..fuzzy” . an ) ili odred c ¯enije kao niz ured ¯enih parova A = ((a1 . Tako se moˇe zapisati µA (x) = Degree(x ∈ A) gde je 0 ≤ µA (x) ≤ 1. / c 8.+” to se moˇe zapisati i z kao A = n µA (xi )/xi ako je X diskretan.ako je µA (x) = 1 onda je s c x ∈ A. 1] koja dodeljuje elementu x stepen pripadnosti skupu A. Fuzzy z teorija je tako proˇirenje klasiˇne teorije skupova . . 8.. visina sa vredc nostima nizak. U praksi se ˇesto koriste dodante operacije nad karakteristiˇnom funkcijom c c kojom se odred ¯uju (odnosno modifikuju) dodatno granice tj.1 Ako je X domen sa elementima x.

. osim ˇto je ovim definisana unija fuzzy skupova.n) (x) = (µA (x))n pojaˇanje z c µP OW za n=3 ili ve´e .. tretira se i kao logiˇka c negacija Operatorima i ograniˇenjima se prave derivati fuzzy skupova...28 Seminarski rad • Koncentracja (VEOMA) . koncetracija daje skup VEOMA visokih osoba • Dilatacija (DONEKLE) .. c Operacije nad fuzzy skupovima: • Presek µA∧B (x) =def min[µA (x). a fuzzy z pravilo kao X je A → Y je B Ovakvo pravilo uspostavlja relaciju med fuzzy iskazima i obiˇno se takvo ¯u c pravilo zapisuje u obliku matrice.ili” ¯e c • Komplement . intenziviranje daje skup zaista visokih osoba (intenzivira pripadnost izraˇeno visokih. fuzzy iskaz se s moˇe predstaviti kao .X je A” (gde je X domen. ako je 0 ≤ µA (x) ≤ 1/2 µIN T (A) (x) = 2 1 − 2(1 − µA (x)) . Ovakva se fuzzy asocijativna matrica M .i” ¯e c • Unija µA∨B (x) =def max[µA (x). ako je 1/2 < µA (x) ≤ 1 npr..µCON (A) (x) = (µA (x))2 npr.µ¬A (x) =def 1 − µA (x) .... c 8..3 Fuzzy zakljuˇivanje c Fuzzy logika tretira fuzzy skup kao fuzzy iskaz.. µB (x)] = µA (x) ∧ µB (x) = µA (x) ∩ µB (x) za sve x ∈ X .µDIL(A) (x) = (µA (x))1/2 npr. dilatacija ˇ daje skup DONEKLE (MANJE ILI VISE) visokih osoba • Intenziviranje (ZAISTA) 2(µA (x))2 . a smanjuje pripadnost ostalih) z • Snaˇno (VEOMA VEOMA) . A fuzzy skup).µP OW (A. ovo s takod tretira i kao logiˇka operacija . osim ˇto je ovim definisan presek fuzzy skupova. Uopˇte. ovo s takod tretira i kao logiˇka operacija . µB (x)] = µA (x) ∨ µB (x) = µA (x) ∪ µB (x) za sve x ∈ X .

n obiˇno se koristi operator ◦ max-min kompozicije b = M ◦ a zadat sa c bj = maxi=1. s 8. vaˇi B = B|A A . n. z s ako je µA (xk ) pomenuti vrh ili jedna diskretna izmerena vrednost. ˇto se s najˇeˇ´e koristi kao ulaz (kao da su ostale vrednosti ulaznog vektora 0). ˇto proizilazi iz definicije i osobina ovakvog preslikavanja. Zavisno od definisanja operatora implikacije definiˇe se i matrica M ..trougani” fuzzy skupovi (granica linearna). . .. onda se slikanje nekog skupa A svodi na odseˇak B na visini vrha preseka A i A c na niˇe. mij ]. umesto karakteristiˇne funkcije) dobija pomenuta c matrica B|A sa klasiˇnim mnoˇenjem matrica. y ∈ X . Zadeh daje jedan opˇtiji pristup u kome s se raˇunanjem uslovnih verovatno´a (koristi termin distribucija mogu´nosti. td.Ekspertni sistemi 29 koja mapira fuzzy skup A u fuzzy skup B zove joˇ i Fuzzy Associative Mems ory (FAM . c z z Ovakav pristup naziva kompozicionim pravilom zakljuˇivanja.n min[ai . Daje uopˇteni c s postupak dobijanja matrice B|A :   a1 → b1 a1 → b2 · · · . c c c possibility distribution. 1992).Primena VI .Kosko. bj ) onda se za data dva fuzzy skupa na osnovu ove formule definiˇe s matrica M .    = (mij ) = M B|A =  a2 → b1 . j = 1. Npr. Umesto obiˇnog linearnog mapiranja c n b = M a zadatog matriˇnim mnoˇenjem bj = c z i=1 ai mij .. vaˇi c sc z za diskretne vrednosti y ∈ X: b(y) = µA (xk ) ∧ µB (y). Ako su u pitanju .4 Max-Min zakljuˇivanje c Ako se minimumom definiˇe operator implikacije mij = V al(ai → bj ) = s min(ai . j = 1.

ali se ovde dobija .sniˇeni” ali c z ceo trougao umesto odseˇka.30 Pravilo A B Seminarski rad A’ B A B’ 8.. y ∈ X . Pravilo A B A’ B A B’ Preslikavanje trouglova ima osobine b(y) = µA (xk ) · µB (y). Za jednu ulaznu diskretnu vrednost onda vaˇi: c z b(y) = µA (xk )µB (y).5 Max-Proizvod zakljuˇivanje c Ovaj naˇin zakljuˇivanja se dobija se proizvodom definiˇe operator impc c s likacije mij = ai bj . y ∈ X ako je µA (xk ) pomenuti vrh) sliˇne prethodnom.

Primena VI . .. U ranije pomenutom specijalnom sluˇaju trouglastih skupova. vaˇi: z A ◦ MAC = CA B ◦ MBC = CB Tada se definiˇe C = CA ∧ CB ako je u pitanju konjunkcija A ∧ B → C. njegovo tumaˇenje je defazifikacija i obiˇno se c c c nekim postupkom izdvoji jedna diskretna vrednost fuzzy skupa kao reprezent. An → An z c s onda se uzima da je ukupni fuzzy zakljuˇak B = n Bi tj. Najˇeˇ´e koristi fuzzy centroid odnosno nekakva sredina u odnosu na pric sc padnost kao teˇinu (najbliˇa vrednosti u X): z z y = n i=1 yi µB (yi ) n i=1 yi Ako se traˇi zakljuˇak na osnovu viˇe fuzzy pravila A1 → B1 . s odnosno C = CA ∨ CB ako je u pitanju disjunkcija A ∨ B → C.6 Pravila sa viˇe premisa s Ako imamo dve premise A i B (moˇe ih biti i viˇe. 1992) poˇavˇi od toga kao da imamo dva pravila A → C z c s s i B → C sa svojim matricama MAC i MBC td. bj )µC (z) Spajanje I ILI I ILI Zakljuˇivanje c Max-Min Max-Min Max-Proizvod Max-Proizvod 8..n [µBi (x)] i njegov centroid se tumaˇi kao diskretna vrednost zakljuˇka c c na osnovu svih polaznih premisa A .. µB (x) = c i=1 maxi=1. minimum odnosno makc simum respektivno konjunkcija odnosno disjunkcija vrhova trouglova odred ¯uje prag odsecanja odnosno sabijanja (zavisno od toga da li se koristi max-min ili max-proizvod zakljuˇivanje) skupa B. analogno) razreˇenje z s s moˇemo na´i (Kosko. Za date diskretne ulazne vrednosti c ai = µA (xi ) i bj = µB (yj ) i diskretne vrednosti z ∈ X domena vaˇi onda: z C min(ai . . bj )µC (z) max(ai . bj ) ∧ µC (z) max(ai .Ekspertni sistemi 31 8.7 Defazifikacija (Defuzzification) Ako imamo fuzzy zakljuˇak. bj ) ∧ µC (z) min(ai .

pravila se mogu definisati na nivou prethodne tabele kojom je dobar deo posla urad (u CubiCalc ˇkoljki zapis prav¯en s ila podse´a sintaksno na LEVEL5 jer se zadaju simboliˇki) c c 5. Definisanje fuzzy skupova . Testiranje . korisno je i za naredni s korak 7. Definisanje fuzzy pravila . dodaju se odredbe. Izgradnja sistema .osim ispravljanja grubih greˇaka.pravila se mogu preispitati. preporuke Uobiˇajeni koraci u razvoju fuzzy sistema su: c 1. 4.sliˇno kao i kod ostalih ES c 2. Definisanje lingvistiˇkih promenljivih c 3.obiˇno se formira tabela ˇije su kolone c c raspoloˇive lingvistiˇke promenljive a redovi pridevi koje koristi ekspert z c (diskretne vrednosti na domenu). Definisanje problema . .8 Razvoj fuzzy sistema. tamo s gde je potrebna ve´a osetljivost pove´ava se broj podskupova i suˇavaju c c z trouglovi.moˇe se razvijati posebno ili koristiti gotovo z okruˇenje. sliˇno ostalim ES z c 6. Dodatno podeˇavanje (tuning) . ako se koriste trouglovi da se dodiruju parni odnosno neparni redom na domenu). itd.32 Seminarski rad 8. Poˇeljno je da se susednu skupovi z preklapaju (npr.

Ekspertni sistemi 33 9 Sistemi zasnovani na okvirima Okvir i instanca se u mnogo ˇemu mogu uporediti (i poistovetiti bez ve´e c c greˇke) sa pojmom klase i objekta u objektnom programiranju od kojeg je s vremenom dosta toga . Specifiˇnost okvira su c c faceti . slotovi) i proceduralnog znanja (metodi).odnos oblika . .. a negde se koristi mehanizam slanja poruka (poziv metoda po nazivu i opciono zadatim argumentima).odnos oblika .semantiˇki odnos c Mogu´e je viˇtruko nasled c s ¯ivanje (od viˇe razliˇitih klasa) i upravljanje izuzecs c ima (nasled ¯ena osobina se menja. 1988): • Generalizacija . Prisutni su npr.pozajmljeno” iako pojam okvira potiˇe joˇ od Minc s skog (1975).Deo-od” • Asocijacija .Primena VI . maksimalna kardinalnost vrednosti (u smislu A-O-V) • if-needed (za ˇitanje) metod c • if-changed (za upis) metod Metodi tipa if-needed i if-changed se mogu se koristiti za komunikaciju med ¯u instancama... dok se u ES terminologiji kaˇe da se okvir sastoji iz deklarativnog z z (osobine. specijalan sluˇaj).vrsta-od” • Agregacija . tipiˇni c odnosi med klasama bazirani na osnovnoj osobiini nasled ¯u ¯ivanja (Rumbaugh.pruˇaju dodatnu kontrolu nad slotovima: z • Tip • Default (pretpostavljena vrednost) • Dokumentacija • Constraint (dozvoljene vrednosti) • Minimalna. Tako se klasa sastoji iz (opisa) osobina i metoda (ˇta objekat s moˇe).

CLIPS.na osnovu prethodnog uz npr. facete i druge dorade • Definisanje instanci • Definisanje pravila • Definisanje komunikacije med objektima ¯u • Razvoj interfejsa • Evaluacija sistema ˇ • Sirenje sistema Primeri ˇkoljki: Kappa. dogad ¯ajima i arhitekturom • Definisanje klasa .34 Seminarski rad Pored ranijih preporuka o razvoju ES i metodologija objektno-orijentisanog programiranja mogu se izdvojiti slede´i koraci u razvoju sistema baziranog c na okvirima: • Definisanje problema • Analiziranje domena . s .definisanje objekata sa osobinama.

. generiˇi NE ˇvor i stani. pripada klasi) i negativnu (NE. uvrsti ih u W i pokreni ponovo korak 2. CLS je u stanju da klasifikuje zadate primere u dve grupe ... ID3 algoritam dalje sledi: 1. Izaberi proizvoljan podskup W primera iz C zadate velˇine (prozor. Ako su svi primeri u C pozitivni.. Cn prema vrednostima A s 3. 1966) koji se koristi kao podalgoritam. c window) 2. pravilo) moˇe pravilno da klasifikuje sve c z zadate probne primere: 1. pravilo) c 3. . . C2 .Primena VI . Particioniˇi C u C1 ..Ekspertni sistemi 35 10 10. Vn i kreiraj ˇvor odluˇivanja c c 2. A) gde je B(C. c c . A) = p(A = Vi )M (Ci ). Primeni CLS na W (rezultat je drvo odluˇivanja tj. ne pripada klasi). s c Inaˇe. Proveri sve primere u C koji su izuzeci trenutno dobijenom pravilu 4.ID3 je potomak CLS algoritma (Hunt et al. Primeni algoritam rekurzivno na svaki od podskupova Ci Heuristika koju ID3 koristi da bi odabrao atribut vezuje se za oˇekivanu c koliˇinu informacija M (C) = −p+ log2 p+ − p− log2 p− td.1 Indukcioni sistemi ID3 algoritam Kroz primer ID3 algoritma . Ako postoje izuzeci. (koriste´i neku heuristiku) izdvoj neki atribut A s vrednostima c c V1 . Poˇinje s praznim drvetom odluˇivanja koje gradi i zaustavlja c c se kad drvo odluˇivanja (koncept..pozitivnu (DA. s c Ako su svi primeri u C negativni. generiˇi DA ˇvor i stani. se bira atribut koji c maksimizuje M (C) − B(C. V2 . i prikaˇi z dobijeno pravilo ID3 je u stanju da klasifikuje mnogo ve´i broj primera nego CLS koji je c ograniˇen poˇetnom pretragom svih primera.

upotreba neke ˇkoljke kao ˇto je ID3 s s • Testiranje • Revizija sistema .bira se atribut koji je najviˇe diskriminatoran (najviˇe s s utiˇe na klasifikaciju) i zato je posebno efikasan c Mane su: • Pravila nisu verovatnosna • Viˇe identiˇnih primera .36 Seminarski rad 10. • Heuristika .koje vrednosti mogu krajnji ˇvorovi drveta odluˇivanja s c c da uzmu • Formiranje skupa primera • Formiranje drveta pretrage .3 Razvoj indukcionih sistema • Ustanoviti cilj • Utvrditi ˇinioce odluˇivanja .ne snalazi se sa kontradiktornim primerima • Velika osetljivost na male promene primera 10.ID3 se zasniva na filterisanju vod ¯enom izuzecima ˇto se smatra prednoˇ´u jer algoritam moˇe da se usresredi s sc z na izuzetke ako se tako postavi prozor.atribute c c • Utvrditi vrednosti ˇinioca odluˇivanja c c • Utvrditi reˇenja .ne utiˇe viˇe nego jedan s c c s • Kontradiktorni primeri . CLS i ID3 su veoma dobri za probleme s jednim konceptom.2 Prednosti i mane ID3 Prednosti su: • Biranje skupa primera .

retrospektivno prouˇavanje i posmatraˇko . Otkrivanje s c s znanja: • Skupljanje • Interpretacija • Analiza • Razvoj slede´e sesije c . i na s c z kraju.Primena VI . moˇe da elimc c c z s z iniˇe kontraditorne primere (joˇ prilikom unosa kod nekih ˇkoljki). teˇko je razumeti drvo odluˇivanja sloˇenijih problema. moˇe da eliminiˇe nebitne. 11 Prikupljanje znanja Kako je pomenuto. Protokol (pojam kognitivne psihologije) s kao beleˇka postupaka koje lice ili sistem ˇini da bi reˇio problem. WILLARD. otkriva kritiˇne ˇinioce odluˇivanja. indukcioni sistemi se primenjuju samo na probleme klasifikovanja. Med s s s ¯utim. ovo je usko grlo razvoja ES jer je ˇesto veoma teˇko c s izvesti ovu fazu. i sl. ˇesto je teˇko odabrati i izdvojiti ˇinioce odluˇivanja (moˇe loˇe da utiˇe na c s c c z s c rad sistema). s c Nakon prikupljanja informacija od eksperta sledi analiza sakupljenog znanja na osnovu ˇega se izdvajaju vaˇne ˇinjenice i strukture koje pomaˇu i utiˇu c z c z c na dalji tok razvoja sistema. AQ11. Primeri su: Meta-DENDRAL. ali osnova je razgovor (struktuirani i nestruktuirani c intervju) sa ekspertom za ˇta opet postoje standardni praktiˇni postupci. a iz tih primera donosi otkriva i novo znanje. Postoje razliˇite tehnike otkrivanja znanja prilagod c ¯ene razliˇitim tipovima sistema.uˇivo) kao ˇablon kroz koji se moˇe c c z s z vrˇiti procena.Ekspertni sistemi 37 Indukcija nudi mogu´nost da se izbegne otkrivanje znanja kao jer se znanje c dobija iz ranije unetih primera. Prikaz gotovih primera (case studies. demonstracija.

implementacija) z c – Analiza cene i dobijenog – Odabir projekata – Pisanje predloga projekta (cilj. ljudi. reˇenje. problem. pregled. cena) • Prikupljanje znanja item Razvoj sistema – Biranje reprezentovanja – Mehanizam kontrole – Biranje sistema za razvoj – Prototip – Korisniˇki interfejs c – Razvoj proizvoda (greˇka u ranijim fazama manje koˇta nego u s s kasnijim) • Testiranje i evaluacija – Validacija sistema (rezultata i zakljuˇivanja) c c s – Validacija rezultata (kriterijum. lista. demonstracija) – Studija izvodljivosti (Zahtevi. rizici i problemi. Razlike pre svega potiˇu od strukture i osobina ES . Osnovni tok upravljanja projektom razvoja ES: • Utvrd ¯ivanje problema s – Motiv organizacije (upravljen problemom ili reˇenjem pre nego problemom) – Kandidati problema (Identifikacija.38 Seminarski rad 12 Inˇenjerstvo znanja z Neki aspekti inˇenjerstva znanja. sluˇajevi i ljudi koji vrˇ evaluaciju) . plan i s raspored. ljudi (pored ranije pomenutih i menadˇment je od presudnog znaˇaja).ˇto se moˇe c s z uporediti sa deklarativno-proceduralnom kontroverzom. sliˇnosti i razlike u odnosnu na uobˇajene z c c postupke projektovanja informacionih sistema (software engineering) su ve´ c pomenuti. dobijeno.

portabilnost 39 – Vaˇno je ko odrˇava sistem i pod kojim uslovima.Primena VI . dnevnik promz z ena .Ekspertni sistemi • Dokumentovanje z • Odrˇavanje – Dokumentacija – O odrˇavanju treba razmiˇljati joˇ tokom razvoja z s s – Modularnost. meta-pravila – Razdvojeno znanje (kao kontrola) od informacija ˇ – Skoljka.

40 Seminarski rad 13 13. 13. slota (postoji. Kada sistem dostigne neki stadijum zrelosti sve ove komponente mogu se objediniti u GUI-u napisanom na Java platformi.sistem koji po sintaksi s z veoma podse´a na LISP. doduˇe. algoritam koji podse´a na algoritam unifikacije samo mnogo c jednostavniji ali opet dovoljno mo´an). mogu´nost indirektnog referens c ciranja instance na drugu instancu). nastao po ugledu na komercijalnu varijatnu CLIPS/R3 koja podrˇava z i nizanje unazad (mada postoji i . CLIPS (autor Joseph C. omogu´ava i upotrebu klasa i facc c eta.1 Primer . Kao razvojno okruˇenje dovoljan je tekst editor.2 CLIPS Ukratko.. Primer sesiju u CLIPS-u: CLIPS> (defclass DUCK (is-a USER) (multislot sound (default quack quack)) (message-handler silence)) CLIPS> (defmessage-handler DUCK silence () (send ?self put-sound nil) (printout t (instance-name ?self) " can say now " ?self:sound crlf)) CLIPS> (make-instance [Dorky1] of DUCK) [Dorky1] of DUCK CLIPS> (make-instance [Dorky2] of DUCK (sound quack)) [Dorky2] of DUCK . niti podrˇava direktno enkapsulaciju druge z z klase kao osobine tj. podrˇava upotrebu pravila nizanjem unapred i c z okvire. Postoje i c z mnoge druge implementacije i dijalekti kao ˇto je to JESS realizovan na Java s platformi. Korisniˇki interfejs se u e e z c prvom sloju oslanja na tekstuelni ulaz i izlaz koji se svodi na abc format namenjen tekstuelnom obliku notnog zapisa koji se lako dalje transformiˇe s u ili iz MIDI formata ili nekog drugog. Giarratano) je sistem baziran na pravilima (koristi RETE algoritam koji veoma efikasno uparuje pravila .nezvaniˇna” koja to moˇe).sistem za generisanje i klasifikaciju muziˇkog zapisa c Opis i arhitektura sistema Kao ˇkoljku i okruˇenje sam koristio CLIPS .pattern matching. Sintaksno je veoma blizak LISP-u sa svim prednostima uz to osim ˇto s ne podrˇava listu kao strukturu. mada sam probno z koristio i Prot´g´ kao GUI koji podrˇava i CLIPS.

mogu´nost uticanja na rad sistema (options) i pre c svega bogatstvo opisa levih strana pravila koje ˇini ovaj sistem veoma upotrec bljivim. c z Postoji ugrad ¯ena osnovna hijerarhija objekata COOL (CLIPS Object-Oriented Language framework).(says \$?X) => (retract ?fact) (printout t "Removed " ?X "!" crlf)) CLIPS> (run) Duck [Dorky] says (cough cough) Removed (cough cough)! CLIPS> (send [Dorky1] silence) [Dorky1] can say now (nil) CLIPS> (defrule delcd (a b) ?fact<-(c d) => (retract ?fact)) CLIPS> (agenda) 0 delcd: f-1. .f-2 For a total of 1 activation CLIPS> (facts) f-0 (initial-fact) f-1 (a b) f-2 (c d) For a total of 3 facts.(object (is-a DUCK)(sound \$?find)(name [Dorky])) => (printout t "Duck " (instance-name ?duck) " says " ?find crlf) (assert (says ?find))) CLIPS> (defrule remove-sound ?fact <. zatim ECLIPSE.Ekspertni sistemi 41 CLIPS> (make-instance [Dorky3] of DUCK (sound cough)) [Dorky3] of DUCK CLIPS> (make-instance [Dorky] of DUCK (sound cough cough)) [Dorky4] of DUCK CLIPS> (deffacts dummy (a b) (c d)) CLIPS> (defrule find-sound ?duck <. itd. CLIPS> (run) CLIPS> (facts) f-0 (initial-fact) f-1 (a b) For a total of 2 facts. Osnovna verzija CLIPS-a je besplatna i Open Source.Primena VI . c mada postoje nezvaniˇne modifikacije Open Source verzije koje to podrˇavaju). dok verzije sa naprednijim mogu´nostima kao ˇto su backward chaining i neegzaktno zac s kljuˇivanje nisu takve (NASA-in projekat CLIPS/R3.

Nema klasa i objekata kao u standardnoj CLIPS implementaciji (ve´ se oslanja na svoju sintaksu i Java mreˇu klasa). 13. ˇinjenica dela leve strane ciljnog s c pravila) i moˇe npr.3 Prot´g´ e e Grafiˇko okruˇenje i sistem koji je nastao kao otvoreni projekat na Stanc z ford univerzitetu. u kome se mogu organizovati i razvijati pre svega ontologije (recimo neke vrste uopˇtenja okvira uz forme kao dodatnu specifikaciju klase s vezanu npr.42 Seminarski rad 13. ciljno pravilo stvara podciljeve oblika need-podcilj gde je podcilj deo ˇablona s leve stranje pravila tj.4 Jess Jess (autor Ernest J. Veoma je korisno ako se razvija e e c sloˇen sistem sa dovoljno velikim brojem okvira i instanci. da koristi regularne izraze. dobar deo Jess koda je kompatibilan sa CLIPS-om i obratno. z Primer sesije u Jess-u: Jess> (clear) TRUE Jess> (assert (a b)) <Fact-0> Jess> (defrule x (a ?X) => (assert (c))) TRUE Jess> (defrule y (c) => (printout t "Hej !")) TRUE Jess> (rules) MAIN::x MAIN::y For a total of 2 rules in module MAIN. Jess> (reset) TRUE Jess> (deffacts s (a c) (d c) (a d) (a f)) TRUE .. Friedman-Hill) nastao po uzoru na CLIPS je realizovan na Java platformi. moˇe dodati neki od postoje´ih ili sopstveni z c . Postoji CLIPSTab koji je predstavlja pots punu implementaciju standardnog CLIPS-a i u kojem se moˇe importovati z Prot´g´ ontologija (uz neka ograniˇenja). Viˇe o tome na z s stranici [PROTEGE]. ali ima ugrad backc z ¯en ward chaining (npr.TAB” (plug-in) kao proˇirenje. za korisniˇki interfejs) pa time i okviri i objekti. Okruˇenje c z je modularno tako da se npr.

Zvaniˇni sajt je [JESS]. time=2 . c . time=5 . Jess> (reset) TRUE Jess> (facts) f-0 (MAIN::initial-fact) f-1 (MAIN::a c) f-2 (MAIN::d c) f-3 (MAIN::a d) f-4 (MAIN::a f) For a total of 5 facts in module MAIN. salience=0] [Activation: MAIN::x f-1 . salience=0] For a total of 3 activations in module MAIN. 43 Jess se posebno licencira (vlasniˇtvo Sandia National Laboratories za ins ternu i akademsku upotrebu jeste besplatan) i nije ni u kom obliku open source. Jess> (run) Hej !f!Hej !d!Hej !c!6 Jess> (run) 0 Jess> (facts) f-0 (MAIN::initial-fact) f-1 (MAIN::a c) f-2 (MAIN::d c) f-3 (MAIN::a d) f-4 (MAIN::a f) f-5 (MAIN::c f) f-6 (MAIN::c d) f-7 (MAIN::c c) For a total of 8 facts in module MAIN.Primena VI . time=4 . salience=0] [Activation: MAIN::x f-3 .Ekspertni sistemi Jess> (run) 0 Jess> (facts) f-0 (MAIN::initial-fact) For a total of 1 facts in module MAIN. Jess> (agenda) [Activation: MAIN::x f-4 .

A a u telu zapisa P:A... P:B. Viˇe se moˇe na´i na stranicama [CW]. P:A.7 abc standarda koji implementira abc2midi a koji se odnosi na implicitne %%MIDI komande u abc kodu.. FAQ na [ABC]. i V:.pauza.6 standarda po RFC-u za abc.%% MIDI gchord niz”koja je se ve´ koristi po default-u (generiˇe akorde c s u zapisu prema nizu i metrici.. Ukratko o abc kodu koji se ovde koristi .akord.5 abc Ovaj naˇin zapisivanja muzike je nastao poˇetkom 90-tih (autor Chris c c Walshaw) motivisan ˇeljom da formalan notni zapis bude u ascii formatu i z koristio se u poˇetku za prikupljanje zapisa folklora i etno muzike (Steve Allen c ga kasnije prijavljuje kao standardni MIME format). Sistem koji opisujem koristi abc2midi iz abcMIDI paketa James Allwright-a (ili implementacija koju je napravio Guido Gonzato) napravljenog pod otvorenom GNU GPL licencom koji se moˇe na´i na z c [Seymour] odnosno na [abcPlus] ili [sourceforge] (Win32 binaries). dok V: daje mogu´nost polifonije unutar jednog dela)..ton akorda... MIDI je preko 20 godina standardni format notnog muziˇkog c zapisa koji se koristi pre svega za reprodukciju dok su TEXi PostScript namenjeni ˇtampi).. niz se sastoji od f . Nakon zaglavlja mogu slediti slede´a polja bilo gde u pesmi .44 Seminarski rad 13.%%MIDI komanda”(sa % poˇinje linija sa komens c tarom u pesmi) gde komanda moˇe biti channel n ili program n (postavljanje z midi kanala i programa) ili neki MIDI kontroler. za c predefinisanu duˇinu note. Q:.osnovni (fundamentalni) stupanj.. c . kasnije abc2ps i abcMIDI za konverziju u PostScript i MIDI (moˇe i obratno.struktura abc zapisa: zaglavlje se sastoji iz polja X:n (koje se koristi ako je u zapisu viˇe pesama od jedne).. Veoma je korisna opcija . L:. s polja T:. BNF sintaksa na s s z c [NB]. c z moˇe se iskljuˇiti sa gchordoff). Najpre je napravljen alat abc2mtex koji takav zapis pretvara u TEX kod (uz mtex biblioteku). za tempo. 35 i 38 su programi (GM s c . za naziv pesme i kompozitora. z .. iz z MIDI-ja u abc.. %%MIDI drum d2zdd 35 38 38 100 50 50 . b .. kao i c abc2midi proˇirenja oblika . Pomenutu komandu koristim da bih generisani abc kod pretvorio u MIDI i pustio tako nastalu pesmu. Pored ovih polja mogao bih iskoz ristiti i P:. za oznaku metrike.. .d2zdd je niz kojim se definiˇe ritmiˇka sekvenca..B(AB)6C. dok se drum komanda mora ukljuˇiti (druz c c mon) i definisati sekvcenca (npr.M:. sve sa mogu´im duˇinama. i u budu´nosti planiram da c koristim deo 1... Koristim samo deo abc 1. polja kojima se veoma jednostavno mogu definisati delovi pesme i njihovo nizanje (u zaglavlju npr. ili C:..

Ovo je samo z kratak opis koda koji koristim ili planiram da koristim. raspoloˇenje. i akord se obiˇno gradi po c nekim pravilima vezanim za stupanj skale i opet ima funkciju i vezu ka raspoloˇenjima i stilovima.Primena VI . c 13. s tim da je -101 . n-shema .6 Primer . . z rezolucija. itd. z je pauza.C”).MUST.objekat koji sadrˇi trenutno stanje . z . transponovanje je uve´anje / smanjenje za zadati c broj polutonova svih nota u pesmi ili delu pesme. ali to se lako z c moˇe ispraviti) z 3. tako da svaki ton ˇini njec gova nota i oktava. Same note su odred ¯ene visinom i visinom koja se zadaje razlomkom iza visine u trenutnoj jedinici duˇine. akordi i drugi muziˇki pojmovi . tonalitet bi se mogao definisati kao zadato transponovanje u visini neke note ako se uzme u obzir da su sve ˇinjenice u bazi vezane za osnovni tonalitet 0 (iz c .Ekspertni sistemi 45 standard) tj.. Osnovni c s z elementi i pojmovi su: 1. abc nudi daleko ve´e c mogu´nosti. tonalitet. Svaka n-shema se vezuje za 3 raspoloˇenja i 3 stila. (tempo i razmak kao opseg tonova se z pomalo nedosledno drˇe kao posebna ˇinjenica u bazi. z 2. tonalitet.specijalni” ton c .trenutna skala.predstavlja zapis muziˇke fraze u zadatoj rezoluciji s ocec nama raspoloˇenja i stila. STANJE .skala je niz tonova .CLP Sistem koji nizanjem unapred uz neke zadate parametre i na osnovu postoje´e baze znanja generiˇe muziku zadatog raspoloˇenja ili stila...stupnjeva skale (od mogu´ih 12 u jednoj c oktavi) i povezuje se sa 3 stila i 3 raspoloˇenja z 4. skala .pauza.note”bubnjeva a 100 50 50 je niz koji se odnosi na jaˇinu (vec locity) udaraca d). stil. oktavu ˇini 12 polutonova i moglo bi se re´i da je nota klasa c c tonova koji su kongruentni po modulu 12. Tonalitet u muziˇkoj teoriji podrazumeva i skalu c i pomenutu visinu (odraz u odnosu na C). a jaˇina z c veze se izraˇava koeficijentom u istom multislotu. Sam zapis fraze je izraˇen nizom parova (ton z z poloˇaj) gde je ton broj polustepena u odnosu na C-1 a poloˇaj je broj z z osnovnih jedinica od poˇetka fraze.pod akordom se podrac zumeva viˇe tonova (u uglastim zagradama u abc notaciji) koji se repros duku u isto vreme.

tempo.nultoj”fazi se najpre prikupljaju parametri ako nedostaju (raspoloˇenje ili stil. c odnosno koliko-duzxih i koliko-kracyih . itd. c gde je rezolucija broj najmanjih (atomskih) vremenskih jedinica zapisa trajanja cele note a kvant je broj tih jedinica sa kojim se trenutno radi (kao L: polje u abc zapisu) i prema kome se obiˇno vremenski poravc navaju elementi (trenutno je sistem vezan za jednu rezoluciju ali se lako moˇe uopˇtiti npr. a onda se na osnovu ˇinjenica u bazi formiraju osobine objekta poˇetnog stanja i ˇinjenice c c c koje ˇine strukturu pesme. uz primenu funkcije transliraj) z s 6.u . tempo. ako je tuˇno z z c z onda neku molsku. struktura . Sistem trenutno raspolaˇe ˇinjenicama: ako c z c je traˇeno raspoloˇenje sre´no onda koristi dursku skalu. metriku. Pravila su grupisana prema fazi izvod ¯enja u tri faze: faza 0 . To je samo najgrublji opis. kvant. trajanje nije u jedinicama rezolucije ve´ je z c pre pribliˇan broj nota pesme koji grubo odred z ¯uje kasnije strukturu pesme) uz osnovnu proveru njihove validnosti. ranije pomenute komande).ovo su pojmovi koji nisu deo standardne muziˇke teorije (mada su bitni deo MIDI formata i MIDI sveta).time se omogu´ava nsumiˇno c c biranje jedne od tih ˇinjenica (ili prelazak na pravilo bez n-sheme. rezolucija i drugi pojmovi .tu i vidim nekakav zaˇetak c neegzaktnog zakljuˇivanja..46 Seminarski rad 5. ako je besno onda smanji kvant. z uvod i zavrˇnica ili neki drugi oblik klasifikacije (0 u n-shemi znaˇi s c proizvoljan tip). isto nasumc ice) za razliku od pravila u poˇetnoj fazi kojima se sve ˇinjenice obrad c c ¯uju (ali se bira jedna od njih na osnovu nekog pravila) .trenutno je struktura odred ¯ena nizom trojki (stupanj tonalitet tip) koji predstavljaju delove zadate duˇine gde stupanj (aktuelne skale) z ukazuje na akord u tom delu a tonalitet na promenu transpozicije. Struktura na poˇetku iza identifikatora ima jedan c string koji ako nije prazan oznaˇava abc kod koji se ubacuje ne poˇetku c c tog dela (npr. c Prvo polje id slota n-sheme i prvo polje strukture (ˇinjenice duzxa i c kracya) su jedinstveni brojevi od 1 do broja zadatog ˇinjenicama koliko-n-shema. . delovi mogu imati i drugaˇiji tonalitet (skalu). Tip se moˇe iskoristiti kao veza ka n-shemama (zadnje polje id slota) npr. c Navedene definicije muziˇkih pojmova odgovaraju onima u klasiˇnoj c c muziˇkoj teoriji ali su formulisani na naˇin koji omogu´ava lakˇu (matematiˇku) c c c s c formalizaciju. itd c (trenutno se to postavlja odgovaraju´om komandom u n-shemi).

Takod z ¯e. ali se moˇe uopˇtiti i na ve´i broj. Praktiˇno se c c c koristi samo nasumiˇno (po nekim pravilima) variranje fraze u zadatom c broju iteracija. dok implementacija polifonije zaz c hteva sloˇeniju formalizaciju ali ne teˇu od postoje´ih.Primena VI .. C i varijanta). pravilima i s sloˇenijim akordima (septakordima pored kvintakorda). G. Veoma bi bilo korisno z z c uvesti dinamiku (glasno´u. Trenutno sistem raspolaˇe samo dvema c z ˇinjenicama (ˇto je zaista malo) i to o . D. implementacijom c delova i ritma se moˇe posti´i veliki efekat.. Cilj je vremenom pre svega obogatiti c bazu znanja novim pravilima o ˇemu sam vodio raˇuna .sre´nim frazama” (C. kao ni upotreba zapisa razliˇitih rezolucija. Takod ¯e. Trudio sam se da pratim c metodologiju o projektovanju forward-chaining rule-based sistema odnosno njene delove iz Durkinove knjige [JD] shodno trenutnim potrebama razvoja ovakvog jednog sistema.jaˇine” bira se neka z s c nasumice. jaˇinu udarca). Veze izmed ˇinjenica su donekle ve´ ¯u c c . fraze. faza 2 . pravilima su c c opisane samo delom osobine harmonija i akorda ali nisu ni do kraja implementirane. E. E.. kvintni i kvartni krug.Ekspertni sistemi 47 faza 1 . skup pravila koji je zaduˇen za poˇetni i konaˇan ispis pozivom z c c funkcije daj-abc formira konaˇan rezultat zapisan u abc kodu i ispisuje ga c na konzolu i u output. c s c F.labave” (od svih ˇinjenica o skalama se bira ona koja najviˇe po koeficijentu c s odgovara raspoloˇenju ili stilu. itd. mislim da bi bilo korisno uvesti inkrementalno generisanje u kojem bi koris- . U ovoj fazi se implicitno koristi i jedna transformacija uzeti note do sada generisane fraze kao nekakve tonove skale i njima prepraviti naredni deo koji se dodaje (bilo da je iz n-sheme ili sluˇajno c generisan). Nakon potpune implementacije i testiranja bih onda prema ranije opisanoj metodologiji proˇirio bazu znanja npr. ˇto bi bila samo jedna nova koc c s manda i pravila o njoj. Odnos akoz s c rda i drugih elemenata se zato svakako mora uopˇtiti (nema opravdanja ni u s nekom iskustvu ograniˇenje na tri). F. a ako ih ima viˇe iste . D. Uz veoma malo truda.npr. ograniˇenje da se prati do 3 stila i raspoloˇenja po skali ili n-shemi je po c z nekom iskustvu opravdano. sve ostale nasumiˇno generiˇe formiraj c s funkcijom. Jednostavno se moˇe dodati stakato kao stil.u drugoj fazi se transformacijama koje zavise od zadatih parametara i ˇinjenica u bazi formira konaˇan oblike pesme tj. Na kraju. struktura i n-sheme se biraju nasumiˇno) ali nije sasvim implec mentirano neegzaktno zakljuˇivanje.u prvoj fazi se na osnovu ˇinjenica (n-shema) u bazi ako i ima ili c nasumice ako ih nema generiˇe detaljnija struktura (note) koje ˇine s c pesmu u vidu novih ˇinjenica.abc datoteku. dodatao bih pravila z kojima se opisuju paralelni tonaliteti.

Korisniˇki interfejs trenutno predstavljaju funkcije konc verzije izmed abc i internog zapisa (n-shema). dodati modalne skale) c . Priz c . vremenska translacija. transformacije kombinatornog ¯u karaktera nad frazama kao nizovima). teˇi nego OCR ali postoje neki ohrabruju´i rezultati i primeri). Da bi se ovakav CLIPS kod portovao u JESS morala bi se sva pravila prepraviti da ne koriste objekat koji sam koristio da beleˇi trenutno stanje. Neki z c primeri transformacija koje sam implementirao: transponovanje. kao i nekim drugim (statistiˇkim metodama.pre svega konverzija abc u interni zapis s znanja.hvatanje” nekog muziˇkog korpusa c kao opˇteg znanja o nekoj vrsti muzike (nizanjem unapred i unazad se moˇe s z potvrditi uspeˇnost ovakve baze znanja) ili primena u edukaciji (moˇda bi to s z ˇ bila osnova za jedan takav sistem. c s Kasnije bih pokuˇao sa klasifikacijom zadate melodije nizanjem unazad s u odnosu na zadate atributa. a mogu da zamislim i ulaz u vidu MIDI sekvenci. Koje su mogu´e primene ovakvog sistema . c (ˇto je nagoveˇteno u samom kodu) kojim bi se finije opisivale veze osobina s s i transformacija. skalama i primerima u vidu n-shema moˇe se dobiti baza c z koja bolje opisuje znanje. Dokumentacija o bazi znanja se c c trenutno nalazi u samom kodu ovakvog sistema ali je treba izdvojiti i voditi posebno uz detaljnij obrazloˇenja (npr. sistem bi na kraju trebalo c poboljˇavati samo dodavanjem primera. ali i transformacijama koje bi bolje objasnile vezu izmed primera i znanja (korisne bi bile npr. ˇto moˇe doprineti s s z jednostavnosti i kvalitetu rezultata. Takod abc nudi i mogu´nost zapisa ponavljanja i ¯e. Sto ve´im brojem s c ˇinjenica o strukturi.).. ali i . viˇe polifonih redova (tj. MIDI kanala) itd.) metodama. skala i transformacija i tu oˇekujem s c najve´e bogatstvo u opisivanju ovakvog znanja (npr. kao i poziv eksternog alata.48 Seminarski rad nik mogao da utiˇe nekim parametrima i usmerava svaki naredni rezultat do c nekog konaˇno zadovoljavaju´eg rezultata. varijacije i z improvizacije u realnom vremenu.trenutno sistem raspolaˇe jako malim brojem ˇinjenica (tek nekoliko). itd. kratko sam opisao nekoliko pravila i z ˇinjenica u bazi u vezi faza izvrˇenja). Sistem koji sam uˇi i prepoznaje takvo znanje bi bio c neki krajnji izazov. c GA. Praktiˇno. nasumiˇno menjanje ili dodavanje neke sluˇajno izabrane note c c ili nasumiˇno oduzimanje note iz pesme (uz poˇtovanje pravila o redosledu. i sl. c s tonalitetu i sl. ulaz iz skeniranog i automatski prepoznatog notnog zapisa ili joˇ bolje automatski prepoznat zvuˇni zapis (ˇto je dovoljan problem s c s za sebe. ˇto bih voleo da vidim). z Takod bilo bi veoma korisno implementirati vid neegzaktnog zakljuˇivanja ¯e. pretraga razliˇitih c zapisa na internetu. ¯u kasnije bi moglo da se to poboljˇa . c strukture.kao pomo´ c c u aranˇiranju u nekom paketu za MIDI obradu i sekvenciranje.

Nakon generisanja se pokre´e pesma. npr. ali da bi to radilo u direktorijumu odakle se pokre´e CLIPS c c primer mora da stoji abc2midi. Ovakav sistem je lako portovati na neki drugi OS. kao Microsoft GS Wavetable SW Synth ili ˇta ve´ nudi zvuˇna kartica) i MID eks c c stenzija mora da bude asocirana npr. Primer jedne sesije (prototipa must. zatim na Audio tabu se podesi MIDI music playback Default device npr.clp) CLIPS> (reset) CLIPS> (run) Muzicki sistem za generisanje fraza Kakvo se raspolozenje trazi (srecno tuzno besno napeto blues) ? srecno Koliko dugacka fraza (u celim) ? 24 Predlozena fraza: X:1 T:Title . u Control Panel-u se pokrene aplet Sounds and Audio Devices. z Primer se moˇe uˇitati (load must.jedino se reprodukcija drugaˇije realizuje c (npr.exe. Trenutno se koristi samo najosnovniji oblik abc sintakse dovoljan za reprodukciju / konverziju u MIDI bez dodatnih elemenata i proˇirenja.clp ovakvog jednog sistema): CLIPS> (load must.Primena VI . z c zatim se resetuje sistem sa (reset) i pokrene se sa (run).clp) komandom ili iz GUI menija. Unix/Linux . Stanje se uvek moˇe snimiti save komandom. mora da bude podeˇen ispravno MIDI s izlaz (npr. sa Windows Media Player-om (ili bilo kojim sposobnim da reprodukuje MIDI).Ekspertni sistemi 49 mena takvog sisema bi onda mogla biti i neka pretraga audio materijala na internetu.na kraju svake sesije se nudi mogu´nost da se generisana fraza zac c pamti kao nova ˇinjenica u bazi sa nekim zadatim raspoloˇenjem i njegovim c z stepenom. upotrebom playabc ili bilo kog *i*x MIDI playera). s Nije teˇko zamisliti ovakav sistem onda kao ˇkoljku u kojoj bi se mogla dalje s s razvijati ovakva vrsta znanja kada bi se sistem usavrˇio na opisan naˇin. s c Ovaj sistem ima i jednu osobinu koja mu omogu´ava jedan osnovni oblik c uˇenja .

. CLIPS> (facts) f-0 (initial-fact) f-1 (razmak -12 24) f-2 (skala (note 0 2 4 5 7 9 11) (a1 dur 0 0) (a2 dur7 7 7) (a3 dur 5 5) (r1 srecno 1) (r2) (r3) (s1 dur 1) (s2) (s3)) f-3 (skala (note 0 2 3 5 7 8 10) (a1 mol 0 0) (a2 mol 7 7) (a3 mol 5 5) (r1 tuzno 1) (r2) (r3) (s1 mol 1) (s2) (s3)) f-4 (skala (note 0 2 3 5 7 9 11) (a1 mol 0 0) (a2 dur7 7 7) (a3 dur 5 5) (r1 tuzno 1) (r2) (r3) (s1 mol-prirodni 1) (s2) (s3)) f-5 (skala (note 0 2 3 5 7 8 11) (a1 mol 0 0) (a2 dur7 7 7) (a3 mol 5 5) (r1 tuzno 1) (r2) (r3) (s1 mol-harmonski 1) (s2) (s3)) .izra\v{z}eno brojem izme\d{d}u 0 i 1 ? 1 Slede’{c}a sesija se pokre’{c}e sa (run) .50 Seminarski rad M:none C:Composer K:C Q:1/4=100 L:1/4 M:4/4 =E1/2 =G1/2 =B1/2 =c =E1/2 =D1/2 Q:1/4=100 L:1/4 M:4/4 =C1/2-| =C1/2 =C3/2 =B1/2 =c =E1/2-| =E1/2 =C Q:1/4=100 L:1/4 M:4/4 z2 "G/F"=C =G =A1/2-| =A1/2 =E1/2 =D1/2 Q:1/4=100 L:1/4 M:4/4 =C =C1/2 =E1/2 =f’’1/2-| =f’’1/2 [=c =A ]=E1/2 =D1/2 =C12 =F..4 | z % (n-shema (id 3 0) (shema -105 100 -104 4 -103 4 -102 4 4 7 7 9 11 11 12 13 4 17 2 19 0 21 -105 100 -104 4 -103 4 -102 4 0 25 11 31 12 33 4 37 0 41 -101 37 -105 100 -104 4 -103 4 -102 4 -106 89 0 45 7 49 9 53 4 57 2 59 0 61 -105 100 -104 4 -103 4 -102 4 0 65 4 67 41 69 12 73 9 73 4 77 2 79 0 81 -7 33) (rezolucija 16)) Da li da ubacim dobijeno u bazu (Da/Ne) ?d U koje raspolozenje ova fraza najviv{s}e spada (srecno tuzno besno napeto blues) ? srecno Koliko je to tako .

6) (r3) (s1 blues 1) (s2) (s3)) f-9 (skala (note 0 2 4 6 8 10) (a1 aug 0 0) (a2 aug 5 4) (a3 aug 7 8) (r1 napeto 0.5) (r3) (s1 blues 1) (s2) (s3)) f-8 (skala (note 0 3 4 5 7 10) (a1 dur7 0 0) (a2 dur7 7 7) (a3 dur7 5 5) (r1 tuzno 0.9) (r2 besno 0.6) (r3 blues 0.5) (s1 hromatska 1) (s2) (s3)) f-11 (skala (note 0 1 2 3 4 5 6 7 8 9 10 11) (a1 aug 0 1) (a2 aug 5 4) (a3 aug 7 2) (r1 napeto 0. CLIPS> (dribble-off) .9) (r2 napeto 0.Ekspertni sistemi 51 f-6 (skala (note 0 3 5 6 7 10) (a1 dur7 0 0) (a2 dur7 7 7) (a3 dur7 5 5) (r1 tuzno 0.5) (s1 hromatska 1) (s2) (s3)) f-12 (n-shema (id 1 0) (rezolucija 16) (shema 0 1 2 3 4 5 5 7 7 9 5 11 4 13 2 15 -1 17) (komanda "") (a1) (a2) (a3) (r1 srecno 1) (r2) (r3) (s1) (s2) (s3)) f-13 (n-shema (id 2 0) (rezolucija 16) (shema 0 1 4 3 7 5 11 7 12 9 9 9 4 13 2 15 0 17) (komanda "") (a1) (a2) (a3) (r1 srecno 1) (r2) (r3) (s1) (s2) (s3)) f-15 (tempo 100) f-16 (duzxa 1 "" 4 4 1 0 0 4 0 0 1 0 0 5 0 0) f-17 (duzxa 2 "" 4 4 1 0 0 1 0 0 5 0 0 4 0 0) f-18 (kracya 1 "" 4 4 1 0 0) f-19 (kracya 2 "" 3 4 1 0 0) f-20 (koliko-duzxih 2) f-21 (koliko-kracyih 2) f-22 (osobine (lista srecno tuzno besno napeto blues) (faktori)) f-42 (n-shema (id 3 0) (rezolucija 16) (shema -105 100 -104 4 -103 4 -102 4 4 7 7 9 11 11 12 13 4 17 2 19 0 21 -105 100 -104 4 -103 4 -102 4 0 25 11 31 12 33 4 37 0 41 -101 37 -105 100 -104 4 -103 4 -102 4 -106 89 0 45 7 49 9 53 4 57 2 59 0 61 -105 100 -104 4 -103 4 -102 4 0 65 4 67 41 69 12 73 9 73 4 77 2 79 0 81 -7 33) (komanda) (a1) (a2) (a3) (r1 srecno 1) (r2) (r3) (s1) (s2) (s3)) f-43 (r1 srecno tuzno besno napeto blues) f-44 (rezolucija 16) f-45 (koliko-n-shema 3) For a total of 26 facts.5) (r3) (s1 blues 1) (s2) (s3)) f-7 (skala (note 0 3 5 6 7 10) (a1 mol7 0 0) (a2 mol7 7 7) (a3 mol7 5 5) (r1 tuzno 0.5) (r2 srecno 0.5) (r3 srecno 0.6) (r3 blues 0.4) (r2 srecno 0.Primena VI .5) (r2 srecno 0.8) (r2 besno 0.5) (s1) (s2) (s3)) f-10 (skala (note 0 1 2 3 4 5 6 7 8 9 10 11) (a1 dim 0 1) (a2 maj9 5 6) (a3 aug 7 2) (r1 besno 0.

ca. kao i sajtovi sa dokumentacisc jom - Literatura [JD] John Durkin: Expert Systems . Goran Nenadi´: OSNOVI L TEX-A [CLIPS] http://www.htm http://abc.pugmarks.geocities.html [JESS] http://herzberg. Genesereth and Nils J.stanford.sourceforge.cms.sourceforge.ac.uk/~c.net/ [Seymour] http://ifdo.ghg.mit.html [abcPlus] http://abcplus.net/abcMIDI http://abcplus.gov/jess/ [PROTEGE] http://protege.nu/abc/abcbnf.net/clips/CLIPS.Design and Development [JL] Jean-Louis Lauriere: Problem-Solving and Artificial Intelligence [GN] Michael R.com/Nashville/8773/abcplay. Nilsson: Logical Foundations of Artificial Intelligence [TB] Donald E.html [PLAY] http://www.com/~seymour/runabc/top.sandia.walshaw/abc/ [NB] http://www.net/abcMIDI .52 Seminarski rad Knjige koriˇ´ene tokom pisanja ovog rada.edu [CW] http://staffweb.gre.net [sourceforge] http://abc.edu/~jc/music/abc/ABC-FAQ.sourceforge.norbeck.sourceforge. Knuth: The TeXbook A cc c [PG] Predrag Janiˇi´.htm [ABC] http://ecf-guest.