You are on page 1of 156

Ekspertni sistemi

Osnove ekspertnih sistema


Ekspertni sistem (ES) je sistem VI koji se bazira na znanju Ovakvi sistemi se koriste u uskim oblastima za reavanje problema koje je teko formalizovati Pod formalizovanjem se podrazumeva formulisanje reenja problema nezavisno od konkretnih uslova u datom sluaju, tj. opteg reenja koje de sa sigurnodu vaiti u svakom konkretnom sluaju Takvo reenje moe se koncizno izraziti preko odgovarajudeg algoritma Za algoritamski izraeno reenje moe se relativno jednostavno napisati program u nekom od klasinih proceduralnih programskih jezika.

Osnove ekspertnih sistema


U sluajevima kada algoritam za reavanje nije poznat, ne postoji, ili nije pogodan za direktnu primenu na raunaru (problem NP tipa koji premauje raunarske resurse koji su na raspolaganju), potreban je drugaiji prilaz koji daju ES Dodatne oteavajude okolnosti mogu jo da budu nepotpuni podaci o problemu koji se reava, koji uz to mogu biti i nedovoljno pouzdani ili subjektivni Klasian nain koji se primenjuje za reavanje takve vrste problema je naravno konsultacija ili angaovanje jednog ili tima strunjaka iz te oblasti, eksperta, koji svojim znanjem, iskustvom, domiljatodu, pa ak i intuicijom reava problem

Osnove ekspertnih sistema


Termini domiljatost i intuicija, pre svega oznaavaju da se izmeu ostalog koriste i nestandardne metode i postupci svojstveni datom subjektu, tj. ekspertu. Ekspertni sistem je raunarski program koji treba da simulira aktivnost eksperta i da u fizikom odsustvu osobe eksperta, rei problem na nain slian nainu na koji ekspert postupa

Osnovne karakteristike ekspertnih sistema


ES predstavljaju alternativan nain za automatizaciju postupka reavanja problema primenom raunara, u odnosu na klasian pristup programiranja koridenjem proceduralnih programskih jezika Neke od osnovnih karakteristika ES istovremeno predstavljaju i sutinske razlike u odnosu na klasina reenja. Neke od ovih odlika ES navedene su u prethodnom poglavlju u delu o ES Ovde de te karakteristike biti neto detaljnije razmotrene

Baziranost na znanju (knowledge based)


Najvanija karakteristika ES je da se baziraju na znanju Ekspertsko znanje se moe odnositi na konkretan problemski domen kao i na upravljako znanje koje se odnosi na samo funkcionisanje ES - tzv. Meta znanje (Meta Knowledge) ili znanje o znanju Ove dve vrste znanja su odvojene, ali se mogu predstaviti u istoj formi, tako da se razmatraju na isti nain Postoji vie razliitih metoda za predstavljanje znanja u bazi znanja ES - produkciona pravila, okviri, semantike mree, o emu de vie rei biti kasnije

Osnovne strukturne komponente ES su Baza Znanja (BZ) (Knowledge Base), Mehanizam Zakljuivanja, (MZ), Radna Memorija (RM) i Korisniki Interface (KI) (User Interface) Mehanizam zakljuivanja u toku rada ES pretrauje bazu znanja i na osnovu sadraja baze znanja i stanja podataka i injenica u radnoj memoriji vri zakljuivanje Rezultat zakljuivanja mogu biti nove injenice u radnoj memoriji koje MZ nadalje moe ravnopravno da koristi za donoenje novih zakljuaka Rad MZ traje do postizanja odgovarajudeg cilja ili do stanja u RM kada vie nije mogude izvesti nijedan zakljuak

Poseduju mehanizam za zakljuivanje (inference engine)

Preovlauje obrada simbolikih podataka (symbolic processing)


Podaci sa kojima ES rade mogu u principu biti proizvoljnog tipa Meutim specifinosti u samom pristupu problemu koje ES donose se izmeu ostaloga ogledaju i u tome da postoje znaajne potrebe pa odatle i mogudnosti za koridenje i obradu podataka koji nisu numerike prirode, tzv. simbolikih podataka To se pre svega odnosi na samu BZ i RM u kojima su skoro nezavisno od oblasti primene i konkretnog problema u velikoj meri zastupljeni podaci nenumerike prirode

Imitiranje misaonog procesa eksperta


BZ sadri znanje eksperta Znanje se organizuje na takav nain da ES pri reavanju problema postupa slino ili isto kao i ekspert u toj situaciji Ovde treba napomenuti da se radi o funkcionalnoj slinosti ili istovetnosti, to ne mora da ima nikakve veze sa samim mehanizmom misaonih procesa u ljudskom mozgu, koji je u velikoj meri nepoznat, i nije tema kojom demo se baviti Adekvatno organizovanje znanja u BZ iziskuje aktivnu saradnju samog eksperta kao i izbor najpogodnijeg metoda predstavljanja znanja

Mogudnost rada sa nepouzdanim podacima (low confidence data)


Jedan od zahteva koji se postavljaju pred ES je mogudnost rada sa nepouzdanim podacima (low confidence data), kao i u sluaju kada svi potrebni podaci nisu poznati ili dostupni (unknown data) U takvim sluajevima veoma je vano da ES ne prekine rad, ved da oponaajudi eksperta nastavi rad i izvri mogudu deliminu analizu koja zavisi od raspoloivih podataka Gradacija reenja koje daje ES treba da zavisi od raspoloivih podataka i njihove pouzdanosti

Osim znanja o problemu koji se reava, ekspertni sistemi poseduju i znanje o sopstvenoj strukturi i operacijama, pomenuto meta znanje To omogudava da korisnik moe u toku rada da od ES trai da obrazloi logiki redosled svojih zakljuaka, tj. da rekonstruie put zakljuivanja kojim je doao do odgovarajudeg zakljuka Obrazloenje bi trebalo da bude to potpunije i po mogudstvu u formi to blioj prirodnom jeziku Znaaj obrazloenja je u tome da olakava pradenje rada ES i traenje i ispravku eventualnih greki

Mogudnost obrazlaganja dobijenih zakljuaka i rezultata

Ekspertni sistemi se od drugih oblasti VI razlikuju po tome to:


Reavaju teke zadatke na nivou eksperta Naglaavaju strategije reavanja problema karakteristine za tu oblast Imaju sposobnost samosaznanja, tj, mogu da opravdaju i obrazloe svoje zakljuke kao i da daju objanjenja Reavaju zadatke koji zahtevaju interpretaciju, dijagnozu, predvianje, oblikovanje, planiranje

Ne mogu da prepoznaju i reavaju probleme za koje je njihovo znanje nedovoljno ili neprimenljivo. Osnovna pretpostavka je naravno da se ES adekvatno koristi za reavanje problema Nemaju nezavisna sredstva za proveravanje svojih zakljuaka Nemaju dovoljno znanja o svojim ogranienjima i mogudnostima Obrazloenja o zakljucima su dosta uprodena Jezik za izraavanje injenica i odnosa je dosta uproden

Neka ogranienja i nedostaci ekspertnih sistema su:

Klasifikacija ekspertnih sistema


ES danas nalaze primenu praktino u svim delatnostima i ima ih raznih vrsta Jedna od mogudih podela ES je u odnosu na osnovni problem ili zadatak koji preovlauje u datom konkretnom sluaju Poto je ES maksimalno prilagoen tipu problema koji se reava, zahtevi koje dati problem postavlja u velikoj meri odreuju karakteristike ES

Tipovi ekspertnih zadataka


Neki tipini primeri zadataka koji se u praksi susredu su: interpretacija, dijagnostika, monitoring, prognoza, planiranje, projektovanje Svaki od ovih navedenih zadataka ima svoje specifinosti, po kojima se razlikuje od ostalih Mogude je takoe neke sloenije probleme svesti na jedan ili vie ovih zadataka, tako da ih moemo smatrati i osnovnim tipovima zadataka koje ES reavaju

Interpretacija
Zadatak interpretacije je izvoenje odgovarajudih zakljuaka, tumaenja ili objanjenja na osnovu nekog skupa podataka Pri tome je osnovni zahtev da tumaenje bude korektno i saglasno sa podacima Ako je mogude vie razliitih interpretacija podataka, onda je poeljno da razmatranje pojedinih mogudih interpretacija bude sistematsko Odbacivanje pojedinih mogudnosti se pri tome vri samo kada se sa sigurnodu utvrdi da dati sluaj interpretacije ne zadovoljava za dati skup podataka

Interpretacija
Jedan od osnovnih problema pri interpretaciji podataka je neizbeno prisustvo uma i greki um nastaje usled raznih smetnji i neeljenih uticaja na podatke koji se interpretiraju Usled toga se meu korisnim podacima nalaze i lani podaci koji u odsustvu uma ne bi ni bili prisutni, i koje na neki nain treba detektovati i razdvojiti od pravih podataka Uticaj greki je drugaiji, jer nema novih lanih podataka, ved su vrednosti pravih podataka izmenjene u izvesnoj meri

Interpretacija
Mogudi su i kombinovani efekti, i to naroito u sluaju kada su lane vrednosti usled uma i vrednosti pravih podataka istog reda veliine Konkretni postupci za umanjivanje ili otklanjanje uticaja uma i greki znaajno zavise od vrste konkretnog problema i fizike prirode podataka koji se interpretiraju

Dijagnostika
Pod dijagnostikom se podrazumeva proces iji je cilj da se ustanovi mesto (lokalizacija), vrsta i uzrok neispravnosti u nekom sistemu Kao to je dobro poznato sistem moe biti ivo bide, kada dijagnozom treba da se ustanovi mesto i vrsta oboljenja ili povrede tkiva ili organa Dijagnostika u medicini konkretno predstavlja veoma vanu oblast primene ES koji su se tu pokazali kao veoma uspeni, o emu svedoe uspene realizacije ES MYCIN, ONCOCYN Zadatak dijagnostike se delimino zasniva i na ved pomenutom zadatku interpretacije podataka koji mogu predstavljati na pr. simptome oboljenja ili nekog kvara

Dijagnostika
Od velikog znaaja za dijagnostiku je i poznavanje datog problemskog domena i veza koje postoje izmeu podsistema i ispitivanog sistema Najvaniji problemi koji se javljaju u dijagnostici su: Ako istovremeno u sistemu postoje dva ili vie defekata (kvarova, neispravnosti, oboljenja, povreda) moe dodi do pojave da simptomi jednog defekta maskiraju simptome drugog defekta Mogude je da ureaji za ispitivanje i merenje na sistemu daju netane podatke, tako da treba unapred raunati sa takvim mogudnostima i izvriti redundantna merenja koja de dati nesaglasne rezultate u sluaju neispravnosti

Dijagnostika
Simptomi nekada mogu biti privremeni, to zahteva pradenje ponaanja ispitivanog sistema u duem vremenskom periodu monitoring Neophodno potrebni podaci za dijagnozu mogu biti teko dostupni ili skopani sa raznim opasnostima

Monitoring
Kod zadatka monitoringa potrebno je kontinualno pratiti jednu ili vie veliina koje su od znaaja indikatori za ispravno funkcionisanje ispitivanog sistema esto je za uspeno pradenje procesa neophodno i adekvatno tumaenje izmerenih vrednosti, tako da je u tom sluaju kao podzadatak ukljuena i interpretacija Za zadatak monitoringa karakteristino je to da je vremenski kritian, tj. vri se u realnom vremenu i ON LINE

Monitoring
Ovi pojmovi su detaljno objanjeni u predmetu akvizicija podataka i to u odeljku o digitalnim merenjima Monitoring podrazumeva prepoznavanje i signaliziranje u sluaju kritinih situacija kada mereni podaci mogu da poprimaju nedozvoljene vrednosti, da se menjaju nedozvoljenom brzinom, da budu u nekoj nedozvoljenoj kombinaciji itd Da li de se neka konkretna situacija prepoznati kao kritina, moe da zavisi i od stanja sistema u celini

Prognoza je predvianje toka dogaaja u bududnosti na osnovu poznavanja modela sistema i ponaanja u prolosti i sadanjosti Prognoza kao zadatak VI uvek podrazumeva nemogudnost egzaktnog predvianja ponaanja nekog sistema bilo zato to ne postoji odgovarajudi model, ili podaci kojima se raspolae nisu potpuni Sluaj kada je mogude egzaktno odrediti ponaanje nekog sistema ne predstavlja problem i nije od interesa za VI Rezultat prognoze su razne mogude varijante i teorije bududih dogaaja, kao i procena njihove osetljivosti u odnosu na zavisnost od promene ulaznih podataka Po mogudstvu, dobro je koristiti podatke iz razliitih izvora.

Prognoza

Planiranje je sastavljanje redosleda akcija koje treba izvriti u odreenom redosledu, da bi se ostvario neki cilj Tei se optimalnom planu, kojim de se uz to manji utroak sredstava (vremena, energije, finansija) istovremeno zadovoljiti svi postavljeni zahtevi Ako doe do konflikta izmeu postavljenih ciljeva, treba odrediti prioritet ciljeva Problem planiranja moe da bude vrlo sloen, tako da je teko odrediti sve posledice koje mogu da nastupe u raznim sluajevima U sluaju velikog mnotva detalja, treba razmatrati prvo one najvanije Ako je podruje planiranja nedovoljno poznato, javlja se i neodreenost kao problem koji treba reiti

Planiranje

Projektovanje
Zadatak projektovanja je izrada detaljne dokumentacije o izgradnji nekog sistema koja zadovoljava razne zahteve Postoji znaajna slinost izmeu projektovanja i planiranja Raznorazna ogranienja koja postoje u vezi projekta po pravilu ne omogudavaju primenu jedinstvene teorije koja de omoguditi usklaivanje ogranienja i usvojenih reenja Obimni i sloeni projekti zahtevaju podelu na vedi broj manjih potprojekata, to opet stvara dodatne probleme njihovog usklaivanja, poto su vrlo retko sasvim nezavisni U toku izrade obimnih projekata, potrebno je voditi evidenciju o usvojenim reenjima i odgovarajudim razlozima To moe mnogo da pomogne pri modifikaciji projekta, kada je potrebno ponovo razmotriti razne varijante

U prethodnom odeljku navedeni tipski zadaci ES predstavljaju i osnov za klasifikaciju ES. Neki tipovi ES namenjeni su upravo reavanju pojedinih odgovarajudih problema, i to su na pr. ES za interpretaciju, monitoring, dijagnostiku, prognozu, planiranje i projektovanje Neki drugi sloeniji ES mogu da obuhvataju i vie osnovnih zadataka kao na primer obuavanje i upravljanje ES za interpretaciju namenjeni su nalaenju opisa situacije ili stanja, davanju objanjenja na osnovu podataka sa kojima raspolau. Tipine konkretne primene su za prepoznavanje oblika, razumevanje govora, analizu slike, odreivanje hemijske strukture jedinjenja, analizu signala itd.

Tipovi ekspertnih sistema

ES za interpretaciju namenjeni su nalaenju opisa situacije ili stanja, davanju objanjenja na osnovu podataka sa kojima raspolau. Tipine konkretne primene su za prepoznavanje oblika, razumevanje govora, analizu slike, odreivanje hemijske strukture jedinjenja, analizu signala itd. ES za prognozu izvode mogude logine posledice na osnovu date situacije u sistemu koji se ispituje. Tu spadaju vremenska prognoza, demografska prognoza, prognoza stanja na putevima, prognoza letine, prognoza vojnopolitike situacije, kretanja u ekonomiji itd.

Tipovi ekspertnih sistema

Tipovi ekspertnih sistema


ES za dijagnostiku zakljuuju o poremedaju u radu ispitivanog sistema na osnovu rezultata posmatranja. ES se primenjuju za dijagnostiku u medicini, elektronskim i mehanikim ureajima i postrojenjima, za raunarske sisteme, itd. ES obino reavaju zadatke ovog tipa tako to povezuju simptome neispravnog funkcionisanja sistema sa odgovarajudim mogudim uzrocima. Jedan od naina za uspostavljanje ovih veza je koridenjem odgovarajudih tabela, ili koridenjem znanja o strukturi sistema, o slabim mestima u sistemu.

ES sistemi za projektovanje izgrauju konfiguraciju sistema koja treba da zadovoljava ogranienja data projektnim zadatkom. U te zadatke spadaju sinteza i sastavljanje elektronskih ureaja, projektovanje graevinskih objekata, predvianje budeta itd. Jedan od dodatnih zahteva koji se postavljaju pred zadatak projektovanja moe biti minimizacija u odnosu na trokove na primer. ES za planiranje projektuje plan rada. Ovde spadaju automatsko programiranje, planiranje kretanja robota, planiranje u projektovanju, sastavljanje marruta, planiranje komunikacija, planiranje eksperimenata, planiranje vojnih operacija itd.

Tipovi ekspertnih sistema

Tipovi ekspertnih sistema


ES za monitoring vre neprekidno pradenje veliina od znaaja za funkcionisanje sistema, i proveravaju prikupljene rezultate u cilju eventualnog blagovremenog otkrivanja alarmantnih stanja i procesa u sistemu. Postoji mnotvo ES za monitoring koji se koriste u atomskim elektranama, za pradenje kretanja vazdunih masa, pradenje stanja bolesnika, finansija, itd. Ovi sistemi uvek rade u realnom vremenu. ES za obuavanje planira komunikaciju sa studentom u toku koje student ui, otkriva i koriguje slabosti i nedostatke u znanju. Rad takvih sistema se zasniva na opisu znanja studenta, to omogudava interpretiranje njegovog ponaanja i nalaenje naina za korekciju.

Tipovi ekspertnih sistema


ES za upravljanje omogudavaju adaptivno upravljanje nekim sistemom koji se regulie. ES sistemi se koriste za upravljanje u sluajevima kada tradicionalni sistemi automatskog upravljanja i regulisanja (kontinualni i digitalni), usled sloenosti i velikog broja veliina ne zadovoljavaju. Upravljanje ES obuhvata stalni monitoring, interpretaciju dobijenih podataka, prognoziranje bududeg ponaanja sistema, dijagnostiku eventualnih problema i poremedaja u sistemu, planiranje postupaka za otklanjanje poremedaja i problema, kontrolu sprovoenja postupaka. ES za upravljanje nalaze primenu za regulisanje vazdunog saobradaja, upravljanje poslovanjem, upravljanje ratnim operacijama, upravljanje raunarskim mreama itd.

Istorijski pregled ES
Prvi ES se javljaju sredinom 60 - tih godina. Oblast primene i problematika ovih ES je vezana za medicinu, hemiju, matematiku, rudarstvo, izgradnju raunarskih sistema, dijagnostiku kvarova na ureajima i postrojenjima, analizu i razumevanje glasa, itd. Ovde de kao ilustracija i primer ukratko biti pomenuta dva izuzetno znaajna ES, DENDRAL i MYCIN. Veliki znaaj ovih ES je osim injenice da su bili izuzetno uspeni u svom domenu, i taj da su predstavljali svojevrsne uzore i time odreivali dalji smer razvoja ES.

DENDRAL
DENDRAL je jedan od prvih ES razvijen na Univerzitetu Stanford, koji se koristi u oblasti hemije za odreivanje strukturne formule organskih jedinjenja. Zadatak DENDRAL-a i nain koridenja sastoji se u tome da asistira istraivau i sistematski razmatra sve mogudnosti u saglasnosti sa nametnutim ogranienjima koja suavaju i usmeravaju pretragu za kandidatima Problem je dosta sloen, s obzirom da za datu poznatu kvantitativnu hemijsku formulu moe da postoji veliki broj organskih jedinjenja sa razliitim strukturnim formulama.

DENDRAL
Ulazni podaci na osnovu kojih se vri analiza su izmeu ostalog rezultati merenja masenim spektrometrom, kao i sve poznate injenice (postojanje karakteristinih atomskih grupa, hemijskih veza, itd. ) u vezi jedinjenja koje se ispituje. Na osnovu ulaznih podataka postavljaju se ograniavajudi uslovi (constraints), koji omogudavaju suavanje broja kandidata (mogudih strukturnih formula) za reenje. Primenjena strategija reavanja problema podseda na pretraivanje prostora stanja pri emu se pretraivanje usmerava i suava pomenutim ogranienjima.

Cilj se postie nalaenjem jednog ili vie kandidata koji ispunjavaju sve postavljene uslove i ogranienja. Osnovnu strukturu DENDRAL-a sainjavaju Planner, CONGEN, MSPRUNE, MSRANK. Planner je deo ES koji asistira korisniku pri postavljanju ogranienja koja mogu biti neophodna i tipa zabrane. Neophodna ogranienja se baziraju na ved poznatim injenicama u vezi jedinjenja koje se ispituje i zahtevu da kandidati imaju odreene osobine.

DENDRAL

Zabrane potiu od neslaganja mogudih struktura sa eksperimentalnim podacima, kao i zbog hemijske nestabilnosti takvih struktura. CONGEN (CONstrained GENerator) na osnovu poznatog algoritma sistematski generie mogude kandidate u skladu sa postavljenim ogranienjima i uslovima. Mogudi kandidati se prezentiraju korisniku - hemiaru istraivau koji vri dalje suavanje - selekciju kandidata na osnovu nekih novih podataka ili na osnovu hipoteza. Do reenja, tj. do traene strukturne formule jedinjenja dolazi se iterativno posle vie ponovljanja ciklusa generisanja i odabiranja kandidata.

DENDRAL

DENDRAL
MSPRUNE je zaduen za automatsko generisanje ogranienja u saglasnosti sa rezultatima ispitivanja metodom masene spektrometrije Na osnovu izmerene mase dobijenih fragmenata ispitivanog sloenog molekula, moe se iskljuiti izvestan broj kandidata koji ne mogu da daju takve fragmente. Preostali kandidati, dakle strukture koje se na osnovu datih ogranienja ne mogu iskljuiti iz razmatranja, rangiraju se programom MSRANK na osnovu eksperimentalno opaenih fragmenata.

DENDRAL
DENDRAL je ES koji je namenjen da se koristi interaktivno, kao alatka od strane strunjaka, a ne za samostalno reavanje problema. Po strategiji reavanja zadatka predstavlja modifikaciju ranijih sistema za pretraivanje prostora stanja problema.

MYCIN
MYCIN je ES razvijen na Univerzitetu Stanford poetkom sedamdesetih godina, i namenjen je odreivanju terapije antibioticima za leenje bakterijskih infekcija. Predlaganje terapije zasniva se na dijagnozi, u ovom sluaju utvrivanju bakterije uzronika infekcije. Uzronik infekcije se utvruje na osnovu rezultata laboratorijskih ispitivanja uzoraka krvi obolelog pacijenta Opte je poznato da dijagnozu postavljaju i terapiju odreuju lekari - strunjaci iz oblasti medicine, uz neizbenu mogudnost greke u jednom ili drugom, to najbolje ilustruje sloenost zadatka koji ES reava u ovom sluaju.

Osnovnu strukturu ES MYCIN ine sledede komponente: baza znanja, dinamika baza podataka pacijenta, program za konsultaciju, program za objanjenja, program za prikupljanje novih znanja. Blok dijagram sistema MYCIN prikazan je na slededoj slici
Lekar Korisnik ES Program za konsultaciju Dinamika baza podataka pacijenta

MYCIN

Program za objanjenja Program za akviziciju znanja

Baza Znanja

Lekar Ekspert

U bazi znanja ES MYCIN znanje se predstavlja na vie naina, od kojih je najvaniji koridenjem pravila. injenice u okviru pravila mogu imati ogranienu tanost to se postie koridenjem faktora izvesnosti - CF (Certainty Factor). Podaci o svakom pojedinanom sluaju - pacijentu organizuju se u vidu kontekstnog drveta (Context Tree) i prikazani su na slededoj slici

MYCIN

MYCIN
Pacijent Kultura 1 Kultura 2 Kultura 3 Operacija

Organizam 1

Organizam 2

Organizam 3

Lek 1

Lek 2

Ovi podaci mogu biti na pr. u vezi sa uzetim uzorcima krvi koji se analiziraju, bakterije identifikovane iz uzoraka, antibioticima koji deluju na te bakterije, podaci u vezi prethodnih infekcija, operacija itd.

Razmatranje svakog pojedinanog sluaja u cilju odreivanja antibiotske terapije vri program za konsultaciju. Putem dijaloga sa korisnikom formira se kontekstno stablo sa podacima za konkretni sluaj koji se razmatra. Mehanizam zakljuivanja koristi metod ulanavanja unazad (Backward Chaining) - od cilja prema podacima, pri pretraivanju baze znanja da bi se odredila konkretna terapija. Pri pretraivanju baze znanja ili zakljuivanju formira se tzv. I/ILI drvo (AND/OR tree).

MYCIN

MYCIN
Koren tog drveta odgovara cilju - preporuenoj terapiji, ravanje predstavlja svoenje na podciljeve, dok su listovi injenice koje se moraju zadati. Eventualno potrebna opravdanja za dobijene zakljuke mogu se dobiti iz programa za objanjenja na osnovu memorisanog redosleda izvravanja programa i odgovarajudih delova baze znanja. Modifikacije baze znanja u cilju dodavanja novih pravila i izmene postojedih vre se programom za prikupljanje novih znanja.

Diskusija o ES DENDRAL i MYCIN


U kratkim crtama predstavljeni ES DENDRAL i MYCIN predstavljaju dva izuzetno uspena i znaajna primera u razvoju ES. DENDRAL podseda na ranije sisteme za pretraivanje prostora stanja, od kojih se najvie razlikuje po efikasnom nainu za suavanje i usmeravanje pretrage koridenjem znanja izraenog kroz ogranienja, kao i aktivne uloge korisnika u toku rada ES. MYCIN je sa druge strane u potpunosti baziran na znanju, i moe da rei problem samostalno, bez pomodi strunjaka.

Diskusija o ES DENDRAL i MYCIN


Ogoljeni ES bez baze znanja predstavlja ljusku (shell) koja omogudava da se ista preostala struktura primeni na neki drugi problem, unoenjem odgovarajude specifine baze znanja za taj drugi problem. EMYCIN (Empty, Essential MYCIN) je takav primer ljuske dobijene od MYCIN-a prvenstveno izostavljanjem konkretne baze znanja i jo nekim drugim poboljanjima. Koridenjem EMYCIN-a razvijeno je vie ES u raznim oblastima medicine.

Diskusija o ES DENDRAL i MYCIN


Koridenje softverskih alata kao to su ljuske ili ESBT (Expert System Building Tools) predstavlja najbri nain da se razvije ES u nekoj oblasti, jer je potrebno skoncentrisati se samo na razvoj baze znanja, dok su ostale komponente ES univerzalne i koriste se kao gotove.

Ocenjivanje ES
ES DENDRAL i MYCIN se dosta razlikuju po svojoj strukturi, strategiji reavanja problema, nainu rada, tako da se razlikuju i naini za ocenjivanje njihove uspenosti. Poto DENDRAL ne reava problem samostalno, ved u saradnji sa korisnikom, jedan od pokazatelja moe biti to u kolikoj meri je DENDRAL koristan alat u praksi. Podaci da je DENDRAL bio dostupan preko kompjuterske mree za stotine korisnika u svetu dnevno, da se koristio za analizu jedinjenja kao to su antibiotici, da su nalaena alternativna reenja u odnosu na ona koja su bila objavljena najbolje o tome govore.

ES MYCIN je interesantno ocenjivati u odnosu na rezultate, tj. terapiju koju predlau lekari. U eksperimentu sa 10 razliitih sluajeva (oboljenja), za svaki sluaj dato je 10 raznih predloga terapija, od toga 9 od strane eksperata, a jedan od ES. Tim lekara od 8 eksperata je ocenjivao predloge terapija, ne znajudi od koga potiu terapije. Svaka prihvatljiva terapija se boduje kao 1, a neprihvatljiva kao 0. Od max. 80 bodova, MYCIN je osvojio najvedi broj bodova 52, dok se rezultati lekara kredu od 24 do 50.

Ocenjivanje ES

Struktura ekspertnog sistema


Razliiti ekspertni sistemi koji obavljaju razliite zadatke u raznim oblastima primene osim neizbenih specifinosti uglavnom imaju istu ili slinu strukturu. Osnovna karakteristika strukture ekspertnih sistema je razdvojenost dva osnovna elementa, baze znanja od mehanizma zakljuivanja. Mehanizam zakljuivanja analizira bazu znanja pri procesu reavanja problema u kome se preko niza zakljuaka dolazi do reenja. Ovakva struktura je pre svega uslovljena uvianjem injenice da se u postupku izvoenja zakljuaka primenjuju uglavnom isti mehanizmi zakljuivanja na bazama znanja koje mogu biti bitno razliite sadrine.

Izdvojena logika, tj mehanizam zakljuivanja, ne mora da bude uslovljena konkretnim sadrajem baze znanja, ved se moe na isti nain primenjivati na razliite sadraje. To omogudava da se ekspertni sistem izgrauje i prilagoava konkretnoj problematici pre svega formiranjem potrebne baze znanja za taj problem. U sluaju kada treba izvriti izmene ekspertnog sistema u cilju prilagoavanja dovoljno je napraviti izmene samo u bazi znanja. Kod klasinih programa pravila zakljuivanja su ugraena u algoritam, a samim tim i u proceduralni deo programa.

Struktura ekspertnog sistema

Struktura ekspertnog sistema


Kod ekspertnih sistema u bazu znanja se ugrauju pravila zakljuivanja. U sluaju izmena kod klasinih programa neophodno je promeniti proceduralni deo kojim se realizuje algoritam obrade podataka. Kod ekspertnih sistema kao to je ved reeno menja se samo baza znanja, dok mehanizam zakljuivanja ostaje isti, to ih ini fleksibilnim. injenice, podaci i zakljuci neposredno vezani za tekudi problem koji ES razmatra su dinamike prirode i uvaju se u radnoj memoriji.

Struktura ekspertnog sistema


injenice moe da zadaje korisnik u toku rada, a takoe i na osnovu tih njenica izvedeni zakljuci predstavljaju injenice koje se dalje mogu koristiti u procesu zakljuivanja. Mehanizam zakljuivanja reava problem tako to koristi podatke iz radne memorije i pravila iz baze znanja. Konkretan nain rada mehanizma za zakljuivanje zavisi od izabranog naina predstavljanja znanja, kao i od usvojene strategije pretraivanja baze znanja, o emu de biti rei kada se budu razmatrali konkretni naini predstavljanja znanja.

Struktura ekspertnog sistema


Da bi se to vie olakala komunikacija ekspertnog sistema sa korisnikom koristi se poseban programski modul koji se naziva korisniki interface. Preko ovog interface-a razmenjuju se informacije izmeu korisnika i ekspertnog sistema u toku procesa reavanja problema. Korisnik moe da odgovara na pitanja sistema, najede kada je potrebno uneti potrebne injenice za problem koji se reava, kao i da postavlja pitanja koja mogu biti u vezi sa zahtevom da se obrazloe dobijeni zakljuci do kojih je ES doao.

Podsistem za obrazlaganje zakljuaka najede funkcionie tako to omogudava identifikovanje koraka u procesu zakljuivanja, i izlistavanje aktiviranih elemenata baze znanja u toku izvravanja programa. Izmene u bazi znanja se kao to je ved pomenuto mogu vriti manuelno, dakle od strane inenjera znanja ili eksperta u datom domenu, ili automatski bez ovekove intervencije. Automatske izmene u bazi znanja podrazumevaju mainsko uenje ime se generalie iskustvo u formi novog znanja.

Struktura ekspertnog sistema

Struktura ekspertnog sistema


Na osnovu do sada pomenutih komponenata ekspertnog sistema, moe se globalna struktura prikazati slededom slikom.
BA ZA ZNA NJA RADNA M EM ORIJA

M EHANIZAM ZAKL JU^ IVANJA

PODSISTEM ZA UZIM ANJE I A@ URIRANJE ZNANJA

PODSISTEM OBRAZL AGANJA PONA[ ANJA I ZAKL JU^ AKA

KORISNI^ KI INTERFACE

EKSPERT IL I IN@ ENJER ZNANJA KORISNIK

Baza znanja
Neophodna pretpostavka za funkcionisanje ekspertnog sistema je da raspolae znanjem u vezi problema koji reava. Postoje razliita miljenja o tome ta je znanje i kako ga blie odrediti i definisati. Jedno od prihvatljivih odreenja znanja je da je to relativno istinito uverenje prihvadeno na osnovu stroge i nepristrasne procene vrednosti. Tokom razvoja AI postepeno se prelazilo od sistema zasnovanih na pretraivanju, ka sistemima zasnovanim na znanju.

Baza znanja
Znanje koje je odreenom tehnikom reprezentovano u memoriji raunara tako da mu se moe po potrebi na adekvatan i efikasan nain pristupiti, naziva se baza znanja. Postoje razliiti naini za reprezentovanje znanja u ES od kojih su najpoznatiji produkciona pravila, semantike mree, trojke OAV, frame-ovi, objekti itd. Kod klasinih proceduralnih programa (jezici kao Basic, Pascal, Fortran, C) znanje je algoritamskog tipa proceduralno i izraeno je samom programskom procedurom, to znai da je pogodno za simboliko predstavljanje putem dijagrama toka (flow chart).

Baza znanja
Suprotno tome je deklarativno znanje koje je opisnog karaktera, i u programima se nalazi u bazi podataka. Praksa pokazuje da je za ES najvanije znanje koje ne pripada iskljuivo ni jednoj ni drugoj kategoriji. Znanje od najvedeg znaaja za ES je tzv. conditional knowledge ili u prevodu uslovno znanje. Znanje kod ES moe imati veoma sloenu strukturu. U literaturi se dosta esto sredu razni predlozi za podelu znanja po tipu, sastavu, funkciji, odnosu, nivou.

Baza znanja
Jedna od mogudih podela po tipu, je na know what i know how Know what bi u tom sluaju odgovaralo deklarativnom znanju, dok bi know how odgovaralo proceduralnom znanju. Podela znanja analogna sa razdvajanjem baze znanja i mehanizma zakljuivanja kod ES, je na upravljako i domensko znanje. Domensko znanje odreuje ta je poznato o domenu - oblasti primene, dok upravljako znanje odreuje nain primene domenskog znanja.

Baza znanja
esto se smatra da je domensko znanje deklarativno, dok je upravljako znanje proceduralno. Van Harmelen meutim pokazuje da to nije ispravno stanovite, jer da li de znanje biti deklarativnog ili proceduralnog karaktera zavisi od usvojenog naina reprezentacije znanja. Na taj nain, i domensko i upravljako znanje moe biti deklarativno, ako se predstavi na pr. logiki, ili proceduralno ako se predstavi produkcionim pravilima.

Baza znanja
Jo neke podele znanja su: Prema odnosu (relationship) - Deklarativno i proceduralno znanje Prema funkciji (function) - Sutinsko, bitno (essential) i heuristiko znanje Prema nivou (level) - Plitko (shallow) i duboko (deep) znanje

Produkciona pravila su dosta est nain predstavljanja znanja kod ES, i omogudavaju da se u bazi znanja predstavi i memorie ono znanje koje je po svom karakteru zakljuivanje, a koje se moe izraziti u obliku AKO - TADA (IF - THEN). Ovako predstavljeno znanje se moe opisati i operacijom matematike logike - => implikacijom. U AKO (IF) delu, koji se jo naziva i levi deo pravila (left hand side rule) nalazi se uslov - supporting condition (jo se koriste i termini IF klauzula - IF clause, antecedent - antecedent, premisa premise).

Produkciona pravila

Produkciona pravila
Ovaj uslov moe biti zadovoljen ili ne. Uslov moe biti i neki sloeniji logiki izraz dobijen kombinovanjem pojedinih uslova logikim operatorima konjukcije I (AND), disjunkcije ILI (OR) ili negacije (NOT). Ako se moe utvrditi da je uslov istinit, zakljuak u ONDA (THEN) delu (koriste se i termini THEN klauzula - THEN clause, konsekvens - consequence) prihvata se kao istinit. Ovakav nain zakljuivanja kod produkcionih pravila odgovara nainu zakljuivanja koji se u matematikoj logici naziva modus ponens.

Ako su p i q iskazi, onda je matematiki zapis pravila zakljuivanja modus ponens slededi : p, p q = q Ako je istinita vrednost iskaza p i implikacije p => q tana, onda je i iskaz q takoe taan. Za iskaz q se u tom sluaju kae da je semantika posledica formula p i p => q. p u tom sluaju odgovara uslovu kod produkcionih pravila, dok q odgovara zakljuku. Znaajan uticaj na primenu produkcionih pravila ima teza M. Rychener-a u kojoj je ukazano na osnovne pogodnosti ovog metoda.

Produkciona pravila

Pravila predstavljaju nezavisne elemente znanja (chunks). Programer, ili inenjer znanja (knowledge engineer) ne mora da vodi rauna o redosledu primene pravila u bazi znanja, niti je vaan fiziki redosled kojim su pravila uneta ili zapisana u bazi znanja. To omogudava postupno (incremental) razvijanje baze znanja bez potrebe da se menjaju postojeda pravila (naravno, samo ako su tana i adekvatna problemu koji se reava). Sintaksa koja se koristi kod razliitih programskih sistema (OPS5, I2+, CLIPS, Eclipse) koji se baziraju na produkcionim pravilima moe biti dosta razliita, tako da se u ovom razmatranju nede ulaziti u sintaksne detalje.

Produkciona pravila

Produkciona pravila
Sa druge strane, sintaksa de biti data u delu gde se razmatraju karakteristike sistema I2+, i kod novijeg i savremenijeg sistema CLIPS 6.22. Sve informacije o CLIPS-u kao i besplatni download programa i dokumentacije na web adresi: www.ghg.net/clips/CLIPS.html - stara adresa! Nova adresa: http://clipsrules.sourceforge.net/

Nalaenje uzoraka pravila


Ako je levi deo pravila (Left Hand Side - LHS) koji se moe sastojati od jednog ili vie uslova (conditional element) zadovoljen, dolazi do tzv. aktiviranja pravila (rule activation). Uslov pravila najede predstavlja neto to se naziva mustra ili ablon (pattern). Zadati uslov pravila se poredi sa injenicama i podacima u radnoj memoriji (pattern matching), u cilju nalaenja podataka i injenica koji se uklapaju ili zadovoljavaju uslove pravila. Zavisno od oblika konkretnog uslova, podaci iz radne memorije mogu se na razne naine uklapati, tako da uslov na levoj strani pravila bude zadovoljen.

Nalaenje uzoraka pravila


Ako u uslovu figuriu konkretne vrednosti podataka, potrebno je da i u radnoj memoriji postoji takav identian podatak, dok ako se radi o promenljivoj ili dokeru (wild card), vedi broj podataka iz radne memorije moe zadovoljavati isti uslov. U sluaju kada u uslovu pravila figuriu promenljive mogu da postoje jo i neka dodatna ogranienja (constraints). Vrednost iz radne memorije koja zadovoljava uslov i odgovara datoj promenljivoj, dodeljuje se toj promenljivoj (variable binding).

Ako se u istom ili u nekom drugom uslovu istog pravila pojavljuje ista promenljiva na vie razliitih mesta, podaci iz radne memorije koji odgovaraju toj promenljivoj moraju imati istu vrednost kao podatak koji odgovara prvom pojavljivanju te promenljive. Isto oznaene lokalne promenljive u uslovima razliitih pravila su nezavisne. Pravilo iji su uslovi zadovoljeni elementima radne memorije, i koje je samim tim i aktivirano, naziva se konkretan uzorak pravila (rule instantiation).

Nalaenje uzoraka pravila

Neka injenica moe biti prisutna u radnoj memoriji iz dva osnovna razloga: unoenje od strane korisnika, uitavanje iz datoteke, rezultat neke spoljanje procedure, itd. kao posledica izvravanja desne strane nekog drugog prethodno aktiviranog i izvrenog pravila. U zavisnosti od stanja radne memorije, istovremeno moe biti aktivirano nijedno, jedno ili vie pravila. Jedno isto pravilo istovremeno moe biti aktivirano razliitim elementima radne memorije, tj. mogu postojati razliiti konkretni uzorci jednog istog pravila.

Nalaenje uzoraka pravila

Na desnoj strani pravila (Right Hand Side - RHS) moe biti jedan ili vie zakljuaka ili akcija. Akcije su procedure koje izvravaju neki algoritamski zadatak. Prema tome, rezultat izvravanja aktiviranog pravila (rule firing) moe biti izvoenje jednog ili vie zakljuaka sa desne strane pravila, kao i izvravanje odgovarajudih akcija. Izvoenje zakljuka znai da se odgovarajuda injenica upisuje u radnu memoriju ravnopravno sa ostalima. Ove injenice menjaju stanje radne memorije, tako da je mogude da rezultat izvravanja pravila bude aktiviranje novih pravila iz baze znanja.

Nalaenje uzoraka pravila

Efekat izvravanja pravila moe takoe da bude i brisanje ved po+stojedih injenica iz radne memorije, to moe dovede do deaktiviranja ved aktiviranih pravila. U sluaju da baza znanja sadri veliki broj pravila, proces poreenja levih strana pravila sa injenicama u radnoj memoriji moe vremenski dugo da traje, ak i na brzim raunarima. Zato se koriste razni postupci u cilju povedanja efikasnosti poreenja. Do sada najefikasniji postupak za to je izraen tzv. RETE, algoritmom.

Nalaenje uzoraka pravila

Ovaj algoritam je jedinstven zato jer je najmanje nekoliko puta bri od bilo kog drugog algoritma, a sa porastom broja pravila u bazi znanja, relativna brzina u odnosu na ostale algoritme raste. Tek primenom ovog algoritma produkcioni sistemi postaju dovoljno modni i za tako ozbiljne primene kao to je na pr. izuzetno uspeni R1, ES za konfiguraciju raunara VAX firme DEC (Digital Equipment Corporation), kasnije preimenovan u XCON.

Nalaenje uzoraka pravila

Ranije pomenuta mogudnost istovremenog aktiviranja dva ili vie pravila iz baze znanja, donosi problem izbora samo jednog pravila koje de se izvriti. Reavanje tog problema naziva se rezolucija konflikta (conflict resolution). Postoje razni naini i kriterijumi koji se mogu koristiti, tako da se kod pojedinih sistema moe birati izmeu vie raznih strategija, na pr. 7 kod sistema CLIPS 6.0 Kod nekih produkcionih sistema broj konfliktnih pravila se smanjuje brojanim izraavanjem prioriteta pravila (salience kod CLIPS-a), tako da su konfliktna samo ona aktivirana pravila koja imaju isti najvedi prioritet.

Rezolucija konflikta

Neki od principa na kojima se moe bazirati rezolucija konflikta su: refrakcija, starost injenica u radnoj memoriji, specificitet. Refrakcija je pojava u biologiji da jednom nadraeni neuron koji zato proizvede impuls, ne moe odmah ponovo da proizvede novi impuls iako je nadraaj prisutan, ved je potrebno da protekne neko vreme posle koga neuron ponovo moe da reaguje na nadraaj. Analogno tome, uklanja se aktivacija neposredno izvrenog pravila, iako uslovi za aktiviranje tog pravila mogu i dalje biti zadovoljeni podacima u radnoj memoriji.

Rezolucija konflikta

Rezolucija konflikta
Na osnovu starosti, mogu se birati pravila koja su zadovoljena sa najstarijim ili najsveijim injenicama iz radne memorije. Takoe, pravila se mogu ureivati prema specificitetu, tj. prema broju uslova pravila, itd.

Ulanavanje unapred je jedna od dve osnovne strategije pretraivanja baze znanja koju moe da koristi mehanizam za zakljuivanje kod produkcionih sistema pri zakljuivanju. Aktiviranje nekog pravila iz baze znanja odreeno je trenutnim sadrajem injenica u radnoj memoriji (context). Datim injenicama u radnoj memoriji odgovara odreeni skup aktiviranih pravila ili konkretnih uzoraka pravila, pri emu uslovima na levoj strani svakog aktiviranog pravila odgovara neki podskup injenica u radnoj memoriji.

Ulanavanje unapred

Pravila koja su aktivirana nazivaju se i konfliktna pravila, poto se samo jedno od aktiviranih pravila moe izvriti. Postupkom rezolucije konflikta, bira se samo jedno iz skupa konfliktnih pravila. Izabrano pravilo se izvrava, to znai da se zakljuci na desnoj strani smatraju istinitim i upisuju se u radnu memoriju kao nove poznate injenice. Eventualno postojede procedure na desnoj strani se izvravaju, to takoe moe da dovede do promena u radnoj memoriji.

Ulanavanje unapred

Kao rezultat izvravanja pravila radna memorija moe da se promeni, i novo stanje moe da dovede do aktiviranja nekih novih pravila koja ranije nisu bila aktivirana. Takoe, moe se desiti da neka prethodno aktivirana pravila vie nisu zadovoljena, pa se zato ukljanjaju sa liste aktiviranih pravila (agenda). Upravo izvrena pravila se uvek uklanjaju sa liste aktiviranih pravila, da ne bi dolo do eventualnog ponovnog aktiviranja, ukoliko su uslovi na levoj strani pravila i dalje zadovoljeni. Uklanjanje se vri u saglasnosti sa principom refrakcije koji je pomenut kod rezolucije konflikta.

Ulanavanje unapred

Ulanavanje unapred
Proces zakljuivanja traje sve dok postoji bar jedno aktivirano pravilo na listi. Ako se prethodno ne doe do reenja, stanje u radnoj memoriji koje ne daje ni jedno aktivirano pravilo znai da se do reenja ne moe dodi sa datim skupom pravila u bazi znanja, zatim koridenih ulaznih podataka, kao i izabrane strategije rezolucije konflikta. Neto od toga onda treba promeniti da bi se dolo do reenja. Odavde se vidi da je postupak ulanavanja pravila unapred voen ili upravljan podacima.

Ulanavanje unapred
Uvek se ide od datog skupa podataka - injenica u radnoj memoriji, prema novim zakljucima koji dakle zavise od podataka, ali i od izabrane strategije rezolucije konflikta. Promenom strategije rezolucije konflikta mogude je promeniti i nain rada mehanizma za zakljuivanje. Kod sistema koji koriste strategiju ulanavanja unapred, vremenski najdue traje faza poreenja uslova na levoj strani pravila sa injenicama u radnoj memoriji (pattern matching). Jedan od najefikasnijih algoritama za poreenje je ved pomenuti RETE algoritam, kome je posveden jedan od slededih odeljaka tekudeg poglavlja.

Druga osnovna strategija koju moe da koristi mehanizam zakljuivanja kod produkcionih sistema je ulanavanje pravila unazad (backward chaining). Za razliku od prethodne strategije ulanavanja unapred, polazi se ne od podataka, ved od cilja (goal) koji treba dokazati. Jedan ili vie ciljeva se unapred postavljaju, a zadatak mehanizma za zakljuivanje je da na osnovu baze znanja i konteksta odredi koji se od postavljenih ciljeva mogu ostvariti. U sluaju kada ima vie ciljeva, mogu se hijerarhijski organizovati od strane programera, analogno naslovima i podnaslovima u sadraju knjige.

Ulanavanje unazad

Kod nekih sistema, na pr. kod koridenog Insight 2+ (I2+)., postoji mogudnost da korisnik uestvuje u izboru cilja koji de se dokazivati. Jednom od specijalnih naredbi kojima se moe u izvesnoj meri kontrolisati proces zakljuivanja, GOALSELECT, zadaje se da li de korisnik modi da uestvuje u izboru cilja koji de se dokazivati, ime se vri veoma vano usmeravanje koje moe znaajno da skrati vreme pretraivanja baze znanja pri zakljuivanju. U tom sluaju korisnik ima mogudnost da bira jedan od ciljeva istog hijerhijskog nivoa.

Ulanavanje unazad

Proces zakljuivanja poinje od liste ciljeva najvieg hijerarhijskog nivoa. Ukoliko korisnik izabere neki od ciljeva datog nivoa, prikazuju se dalje eventualno postojedi ciljevi nieg nivoa za izabrani cilj. Na taj nain ako je korisnik u stanju da odredi cilj, to mu se i omogudava, sve do cilja najnieg nivoa. Ako korisnik ne moe da se opredeli za neki od prikazanih ciljeva datog nivoa, postoji mogudnost da odgovori sa nepoznato (unknown), kada mehanizam za zakljuivanje automatski preuzima dalju pretragu hijerarhije ciljeva.

Ulanavanje unazad

Najede se radi o sistematskom pretraivanju ciljeva. Da bi se mogao dokazati cilj nekog nivoa, baza znanja treba da ima neko znanje o tom cilju. To znai da treba da postoji bar jedno ili vie pravila sa zakljukom na desnoj strani pravila koji je doslovce (literally) jednak cilju koji se dokazuje. Mehanizam za zakljuivanje pronalazi takva pravila u bazi znanja. Sva takva pravila ako ih ima vie, sainjavaju tzv. ILI klasu (OR class) pravila koja odgovaraju cilju.

Ulanavanje unazad

Ulanavanje unazad
Izbor jednog pravila iz ILI klase pravila moe da podseda na rezoluciju konflikta kod ulanavanja unapred. Meutim sutinska razlika je u tome to sva ta pravila imaju isti zakljuak - jednak cilju, dok kod ulanavanja unapred situacija moe biti znatno sloenija, jer konfliktna pravila mogu imati sasvim razliite zakljuke, tako da se izmenom pravila koje de se izvriti (promenom strategije rezolucije konflikta), menja i kontekst, odnosno samo zakljuivanje. Izbor jednog pravila iz ILI klase vri se najede na osnovu faktora pouzdanosti (certainty factor - CF) koji se moe dodeliti pravilima u toku razvoja baze znanja.

Ako za jedan ili vie uslova na levoj strani pravila ne postoje elementi u radnoj memoriji koji odgovaraju ovim uslovima, onda se trai da li u bazi znanja postoje pravila sa zakljukom koji je jednak uslovu na levoj strani pravila. Ako takva pravila / pravilo postoji, onda se razmatraju uslovi na levoj strani tog pravila. Na taj nain se vri povezivanje - ulanavanje (chaining) pravila. Kada se stigne do uslova na levoj strani pravila koji se ne moe odrediti na osnovu drugih pravila jer takva pravila ne postoje u bazi znanja, a u radnoj memoriji takoe nema elemenata koji odgovaraju tom uslovu, onda se od korisnika oekuje da unese odgovarajudu vrednost podatka.

Ulanavanje unazad

Rezultat ovakvog ulanavanja pravila u bazi znanja je da se formira svojevrsno I / ILI (AND / OR) stablo. Koren ovakvog stabla je cilj koji se dokazuje, vorovi koji se granaju su podciljevi - zakljuci pravila, a grane odgovaraju uslovima na levoj strani pravila, koji mogu biti povezani sa I i ILI operacijama. Listovi drveta odgovaraju uslovima na levoj strani pravila za koje ne postoje pravila u bazi znanja sa istim zakljukom. Kada se u procesu pretraivanja baze znanja stigne do listova, od korisnika se zahteva da unese potrebne podatke.

Ulanavanje unazad

Ulanavanje unazad
U sluaju da korisnik ne zna odgovarajude podatke, ili su podaci takvi da ne potvruju cilj koji se dokazuje, dalji rad mehanizma za zakljuivanje pretraivanje baze znanja se obustavlja. Iako cilj u tom sluaju nije dokazan, dobijeni meuzakljuci mogu da predstavljaju pokazatelj dokle se dolo u reavanju problema. Ovde treba napomenuti da mehanizam zakljuivanja uvek prvo proverava da li odgovarajudi podaci koji odgovaraju uslovima pravila moda ved postoje u radnoj memoriji.

Ulanavanje unazad
Ako su odgovarajudi podaci prisutni u radnoj memoriji, ulanavanje se ne vri, ak iako postoji jedno ili vie pravila sa zakljukom jednakim ispitivanom uslovu. Razlog za to je da prisustvo potrebnih podataka u radnoj memoriji znai da je uslov ved zadovoljen i da samim tim nikakvo daljnje pretraivanje baze znanja nije potrebno. Jo jedna dodatna mogudnost za kontrolisanje procesa zakljuivanja, tj. pretraivanje baze znanja je redosled uslova sa leve strane pravila.

Redosled provere uslova sa leve strane pravila jednak je redosledu kojim su ti uslovi navedeni u listingu baze znanja sa leve strane pravila koje se ispituje. Redosled uslova moe da utie na brzinu pretraivanja baze znanja. Na poetku treba da se nalaze elementi koji se bre mogu proveriti, a elementi koji zahtevaju duu proveru, tj. iza kojih se nalazi dui lanac treba da budu na kraju. Kada su elementi uslova povezani sa logikim operatorom AND,. provera se prekida kada se doe do prvog uslova pravila koji nije zadovoljen.

Ulanavanje unazad

Ulanavanje unazad
Redosled uslova moe biti i logiki nametnut, ako postoji meuzavisnost izmeu pojedinih elemenata uslova. Na primer, proces ispitivanja (lanac pravila) nekog od uslova pravila moe da postavi odreene podatke - na pr. vrednosti promenljivih u kontekstu, koje se koriste pri ispitivanju drugih uslova koji su na taj nain zavisni od pravila u lancu koja postavljaju te podatke. U tom sluaju uslovi koji zavise od drugih uslova u okviru istog pravila treba da budu navedeni posle ovih uslova na levoj strani pravila u listingu baze znanja.

Kod sistema za ulanavanje unazad, moe da se koristi jo i mogudnost izvravanja alternativne grane na desnoj strani pravila iza ELSE, kada jedan ili vie uslova na levoj strani pravila nisu zadovoljeni. Do izvravanja desne strane pravila iza ELSE, dolazi samo u sluaju kada se do tog pravila doe pri ulanavanju unazad. Kada bi takva mogudnost postojala kod sistema sa ulanavanjem unapred, izvravanje takve alternativne grane ne bi ni izbliza bilo u toj meri determinisano, ved bi se teoretski moglo izvriti bilo kada, kada dati uslovi na levoj strani pravila nisu zadovoljeni.

Ulanavanje unazad

U sluaju kada postoji vie uslova na levoj strani koji su povezani sa AND, desna strana iza ELSE se u optem sluaju izvrava kada bilo koji od uslova na levoj strani nije zadovoljen. Meutim, ako je potrebno da se deo iza ELSE izvri samo kada odreeni uslovi na levoj strani nisu ispunjeni, onda je potrebno obezbediti da ostali uslovi na levoj strani budu ispunjeni. To se moe postidi na taj nain, to se u lancima koji odgovaraju uslovima koji treba da budu zadovoljeni ugrade mehanizmi koji obezbeuju da je uslov ili zadovoljen ili ako to nije mogude, onda ES dolazi do nekog drugog cilja, i korisniku se signalizira da se dati cilj ne moe postidi.

Ulanavanje unazad

Jedan od naina da se postigne ispunjenje uslova je da se kada je to mogude, stalno ispituju novi podaci sve dok se ne nau oni sa kojima je uslov zadovoljen (primenom petlje sa FORGET i LOOP). U tom sluaju podaci koji se ispituju ne nalaze se u radnoj memoriji, ved u nekoj bazi podataka. Dakle u oba sluaja i kada je uslov zadovoljen i kada nije zadovoljen, ne izvrava se alternativni deo pravila iza ELSE to je i bio cilj. To znai da moemo biti sigurni da de se deo iza ELSE izvriti samo u sluaju neispunjavanja tano odreenih uslova na levoj strani pravila, a ne bilo kojih.

Ulanavanje unazad

Ulanavanje unazad
Naravno da se konstrukcija IF THEN ELSE moe realizovati i bez koridenja ELSE, ali uz koridenje dva ili vie pravila umesto jednog. Jedno pravilo bi odgovaralo ispunjenju svih uslova na levoj strani, kada se izvrava deo iza THEN a druga bi imala negaciju (NOT) samo onih uslova kada se hode izvravanje dela iza ELSE (sada bi to bilo iza THEN, ali ovog drugog pravila). Na taj nain se eksplicitno navodi koji uslovi treba da budu zadovoljeni a koji ne, i ne moraju se uzimati u obzir nikakva dodatna razmatranja.

Ulanavanje unazad
Osnovna razlika izmeu metoda ulanavanja unapred i unazad, je u tome da kada su uslovi na levoj strani pravila zadovoljeni, kod sistema unapred dato pravilo se istog trenutka aktivira i stavlja na mesto u listi (agenda) odreeno prethodno usvojenom strategijom reavanja konflikta. Kod sistema unazad, injenica da je leva strana pravila zadovoljena sa trenutnim kontekstom stanja, uope ne mora da znai da de se to pravilo ikada i razmatrati, ukoliko se do njega ne doe pri ulanavanju unazad.

Ulanavanje unazad
Obrnuto, moe se redi da de se dato pravilo razmatrati nezavisno da li je uslov na levoj strani ved zadovoljen ili ne, ako se do tog pravila doe pri ulanavanju unazad, tj. ako je zakljuak tog pravila jednak uslovu na levoj strani nekog drugog pravila koje se razmatra.

Poreenje metoda za ulanavanje unapred i unazad


Interesantno je napraviti poreenje ulanavanja unapred i unazad, u pogledu mogudnosti zamene jednog sa drugim. Iako se ovi metodi dosta razlikuju, pre svega u smeru ulanavanja, tj. smeru povezivanja pravila pri pretraivanju baze znanja i zakljuivanju, mogude je na primer sistemom za ulanavanje unapred simulirati ulanavanje unazad. Pri tome treba praviti razliku izmeu razliitih nivoa znanja i to. takozvanog vieg nivoa, Nivoa Znanja (Knowledge Level) i nieg nivoa, simbolikog nivoa znanja na niem nivou, na kome se posmatraju sam mehanizam zakljuivanja, pravila i smer ulanavanja, naravno nije mogude nita promeniti.

Poreenje metoda za ulanavanje unapred i unazad


Meutim, pogodnom organizacijom baze znanja mogude je postidi da na viem nivou znanja, po smislu stvarni smer zakljuivanja bude sasvim drugaiji. Kod sistema I2+ koji se zasniva na ulanavanju unazad, mogude je koridenjem naredbe CYCLE za vrudi start baze znanja i naredbe FORGET za selektivno zaboravljanje podataka, postidi da na viem nivou znanja stvarni smer zakljuivanja bude suprotan, tj. od podataka prema cilju.

Postavlja se pitanje kada i u kom sluaju koristiti metodu predstavljanja znanja pomodu produkcionih pravila. Osim ved pomenutih razloga koji su u vezi predstavljanja znanja koje se teko ili ne moe formalizovati (izraziti algoritamski), i uvek onda kada se znanje moe na pogodan nain izraziti preko velikog broja uslova (tipa IFTHEN kod proceduralnih programa). U tom sluaju, produkciona pravila su prirodniji nain izraavanja takvog znanja od odgovarajudeg proceduralnog programa.

Poreenje metoda za ulanavanje unapred i unazad

Semantike mree
Semantike mree predstavljaju sutinski drugaiji nain predstavljanja znanja kod ES u odnosu na produkcione sisteme. Dok je kod produkcionih sistema osnovna karakteristika predstavljanje iskustvenog, specifinog, heuristikog znanja, semantike mree se koriste za predstavljanje znanja o pojmovima, odnosa izmeu pojmova, za odreivanje hijerarhijske pripadnosti pojmova, i tome slino. Za simboliko predstavljanje semantikih mrea koriste se grafovi.

Semantike mree
Primena mrea za predstavljanje znanja poinje sa idejom da se ljudsko znanje predstavi pomodu mrene strukture koja se sastoji od vorova i usmerenih grana. vorovi su oznaeni imenima i predstavljaju pojmove. Usmerene grane koje povezuju vorove, takoe su oznaene imenima i odreuju vrste veza izmeu vorova, tj. pojmova koje predstavljaju. Jedna od veoma znaajnih osobina semantikih mrea, koja se koristi i kod drugih metoda predstavljanja, je mogudnost nasleivanja (inheritance) osobina vorova.

vorovi na niim hijerarhijskim nivoima mogu da nasleuju osobine vorova na viim hijerarhijskim nivoima ako postoje odgovarajude grane, tj. veze. Nasleivanje donosi utede u memorijskom prostoru, ali na raun smanjenja brzine rada programa.

Semantike mree

Pojam na najviem hijerarhijskom nivou na slici 13 je Elementarna estica. vorovi Naelektrisanje, Masa i Spin predstavljaju karakteristike vora Elementarna estica.
Elementarna estica je ima Foton Naelektrisanje Lepton je je Masa je je je ima Hadron ima je Spin

Semantike mree

e , e , e , e
ima Elektronski Leptonski Broj

, , ,
ima Mionski Leptonski Broj

Mezon

Barion

ima

Barionski Broj

Pojmovi na slededem niem hijerarhijskom nivou su Foton, Lepton i Hadron. Pojmovi na niim hijerarhijskim nivoima nasleuju osobine pojmova sa viih nivoa. Tako Fotoni, Leptoni, Hadroni (Mezoni i Barioni) takoe imaju svojstva Masa, Naelektrisanje i Spin nasleena od vora Elementarna estica. vorovi sa elektronskim i mionskim leptonskim esticama imaju i odgovarajude leptonske brojeve, dok barioni imaju barionski broj. Ali leptoni nemaju barionski broj, niti barioni leptonski to i sledi iz putanja nasleivanja na slici

Semantike mree

Trojke OAV
Specijalan sluaj semantikih mrea kada postoje samo tri vrste vorova, su trojke OAV. U tom sluaju vorovi mogu da predstavljaju Objekte, Atribute objekata i Vrednosti atributa OAV. vorovi mogu biti povezani sa samo dve vrste veza iji su nazivi jeste (IS A) i ima (HAS A). Usmerene grane Objekat -> Atribut su tipa ima, dok su grane Vrednost -> Atribut tipa jeste. U sluaju ako je u sistemu predstavljen samo jedan objekat, trojke OAV se redukuju na parove AV, kada nema ni nasleivanja.

Trojke OAV
Grafik Ima Max je 1063 Min je 213 Ima Ima X Opseg je 0 - 1023 Ima Y Opseg je 0 - 1100

Okviri (Frames) su nain predstavljanja znanja koji je slino semantikim mreama prilagoen predstavljanju strukture pojmova, ali koji za razliku od mrea jo objedinjava i procedure. Okvir odgovara nekom pojmu koji se predstavlja, i sastoji se od niza slotova (slots). Slotovi predstavljaju atribute kojima se pojam opisuje, i sadre odgovarajude vrednosti koje atributi mogu da imaju. Osim odgovarajudih vrednosti, slotovima mogu da budu pridruene i procedure koje se pozivaju ili aktiviraju kada se na neki nain pristupa slotovima, na pr. kada se unose vrednosti, ili kada se ved unesene vrednosti menjaju.

Okviri

Ovakve procedure se nazivaju i demoni (demons) i mogu da na odreeni nain izraunavaju vrednost slota ili da rade neto drugo. Slino vorovima kod semantikih mrea, i okviri su meusobno povezani vezama. Ove veze mogu da odgovaraju odnosu klasa superklasa ili klasa - primerak klase (objekat) Kod okvira takoe postoji nasleivanje atributa i vrednosti atributa od hijerarhijski viih okvira. Pri tome specifine vrednosti atributa hijerarhijski niih okvira imaju prednost nad nasleenim vrednostima od hijerarhijski viih okvira.

Okviri

Okviri
U sluaju ako nije poznata konkretna vrednost atributa nekog okvira, onda se uzima nasleena vrednost od odgovarajudeg atributa hijerarhijski vieg okvira. Jedan okvir moe da nasledi atribute i vrednosti atributa ne samo od jednog okvira, nego i od dva ili vie okvira. U tom sluaju za okvir se kae da ima vie od jednog pretka (ancestor). Odgovarajudi graf koji predstavlja hijerarhijsku strukturu okvira onda nije drvo, jer u sluaju drveta, svaki vor moe da ima samo jednog pretka, dok predak moe da ima vie potomaka (descendent).

Objektno Orijentisano Programiranje OOP (Object Oriented Programming) je danas jedan od veoma vanih i iroko zastupljenih naina programiranja pored klasinog proceduralnog, zatim programiranja baziranog na pravilima, konekcionistikog naina programiranja koje se bazira na neuralnim mreama i dr. Objektno programiranje ima slinosti sa pedstavljanjem znanja pomodu frame-ova, jer je i tu zastupljeno objedinjavanje predstavljanja osobina objekata i procedura koje se koriste, kao i hijerarhijsko nasleivanje

Objekti

Osnovne razlike zbog kojih je OOP napredniji nain programiranja je mogudnost nasleivanja ne samo osobina (slots) ved i samih procedura od hijerarhijski viih klasa. Neke od osnovnih osobina OOP su apstrakcija, nasleivanje, enkapsulacija, polimorfizam. Bitne karakteristike nekog realnog sistema predstavljaju se slotovima klase objekata koja reprezentuje model sistema. Objekti su konkretni primeri klase objekata (instances), i imaju konkretne vrednosti slotova. Slotovi objekata su dobijeni od klase kojoj objekti pripadaju.

Objekti

Klasa moe da nasledi slotove kako od direktnih nadklasa (direct superclass), tako i od svih klasa du staze nasleivanja (inheritance path). Komunikacija izmeu objekata vri se preko poruka (messages). Da bi objekat mogao da odgovori na poruku odreenog imena (message name) koja mu je upudena, mora postojati odgovarajudi proceduralni programski kod (message handler). Ovaj kod se pridruuje odreenoj klasi, i izvrava se kada objekat te klase primi poruku odgovarajudeg imena.

Objekti

Isto kao i slotovi, i kod za odgovarajudu poruku moe se naslediti od viih klasa du putanje nasleivanja. Enkapsulacija predstavlja svojstvo da se objektu moe pristupati samo na strogo odreeni nain, tj. iskljuivo preko poruka. Na primer, slotovima nekog objekta moe se pristupiti bilo u cilju dobijanja njihovih vrednosti ili promene vrednosti samo preko sistema poruka, tj. slanjem odgovarajudih poruka. Jedna od interesantnih mogudnosti je da iste poruke upudene objektima koji potiu od razliitih klasa, mogu da daju sasvim razliite efekte.

Objekti

Efekat odgovarajude poruke zavisi ne samo od same poruke, ved i od klase objekta kome se upuduje. Razliite klase mogu imati sasvim razliite programske kodove koji se aktiviraju porukom istog imena. Ova osobina naziva se polimorfizam (polymorphism). Ovaj koncept se moe proiriti i na funkcije, tako da se definicija neke funkcije proiri analognim mogudnostima i za neke sasvim druge vrste podataka. Jednostavan primer je sabiranje brojeva, koji mogu biti tipa INTEGER ili FLOAT. U sluaju stringova, analogna operacija sabiranja predstavlja operaciju konkatenacije stringova, tj. nadovezivanje stringova. Izbor operacije koja de se izvriti pozivom date funkcije, zavisi od tipa argumenata te funkcije, pri emu programer ne mora da vodi rauna o tome, ved se izbor vri automatski.

Objekti

Radna memorija kao komponenta ES fiziki predstavlja deo RAM memorije raunara u kome se u toku rada ES belee i uvaju sve poznate injenice i podaci sa kojima ES u tom trenutku raspolae. Sadraj radne memorije ES u nekom trenutku naziva se kontekst (context) situacije ili problema. Sadraj radne memorije je promenljiv, jer se radom ES, tj. zakljuivanjem dolazi do novih injenica, od korisnika se moe zahtevati unos potrebnih podataka itd. Kod ES koji koriste mehanizam zakljuivanja unapred, radna memorija sadri i listu trenutno aktiviranih pravila (agenda).

Radna memorija

Aktivacija pravila kao to je reeno, zavisi od konteksta. Redosled aktiviranih pravila zavisi od izabrane strategije reavanja konflikta. Izvravanjem pravila na vrhu liste, moe da doe do promene i konteksta i samim tim i liste aktiviranih pravila. Pravilo koje se izvrava u THEN delu (desna strana) moe da potvrdi (assert) neke nove injenice, kao i da povue (retract) neke od postojedih injenica. Time se menja kontekst, a samim tim i lista pravila koja odgovara novom kontekstu.

Radna memorija

U radnoj memoriji se uvaju i vrednosti lokalnih i globalnih promenljivih. Kod sistema koji koriste okvire i objekte, vrednosti slotova uvaju se u radnoj memoriji. Mogudnosti ES da daju objanjenja dobijenih zakljuaka u toku rada, najede se bazira na memorisanju redosleda izvravanja pravila, to se takoe uva u radnoj memoriji. Kod sistema sa ulanavanjem unazad, za svaki uslov ispitivanog pravila kome ne odgovara nijedan od podataka u radnoj memoriji trai se da li postoji pravilo u bazi znanja koje ima isti zakljuak kao i uslov pravila koje se ispituje.

Radna memorija

Radna memorija
Ako takvo pravilo postoji, onda se vri ulanavanje, dok se u suprotnom trai od korisnika da unese traeni podatak koji se upisuje u radnu memoriju.

Podatak jednom upisan u radnu memoriju, ES moe da koristi do kraja procesa zakljuivanja, ukoliko se pre toga nekom naredbom ova vrednost ne obrie ili promeni.

Mehanizam za zakljuivanje
Mehanizam za zakljuivanje (MZ) (Inference Engine) je komponenta ES koja se za razliku od baze znanja i radne memorije u daleko manjoj meri prilagoava konkretnom problemu koji se reava. Kod softverskih alata za razvoj ES, kao to su ES Building Tools (ESBT) ili ES Shells, MZ je zamiljen da slui univerzalno za bilo koji konkretan sluaj problematike koja se reava primenom ES. Naime, uoeno je u praksi da se ista ili slina pravila za zakljuivanje mogu koristiti u velikom mnotvu konkretnih sluajeva.

Kod ES sa pravilima, razmotreni su neki osnovni opti principi rada mehanizma za zakljuivanje pri ulanavanju unapred i unazad. Zavisno od konkretnog ESBT, mogu postojati razne mogudnosti prilagoavanja mehanizma za zakljuivanje konkretnom problemu koji se razmatra. Pre svega, neki ESBT omogudavaju izbor metoda zakljuivanja unapred/unazad. Kontrola rada mehanizma za zakljuivanje kod sistema sa ulanavanjem unapred je pre svega u tome da se moe birati jedna od vie mogudih strategija razreavanja konflikta

Mehanizam za zakljuivanje

Mogude je zatim bazu znanja podeliti u vie nezavisnih segmenata ili modula, od kojih svaki ima svoju nezavisnu listu konfliktnih pravila. Na taj nain, mehanizam za zakljuivanje nezavisno radi u svakom modulu ime se postie strukturiranost baze znanja, posebno kod velikih sistema koji mogu imati vie stotina ili hiljada pravila. Kod sistema sa ulanavanjem unazad, u sluaju kada postoji hijerarhijska struktura ciljeva moe se kontrolisati izbor ciljeva tako da se izbor prepusti korisniku, ili da mehanizam za zakljuivanje sam sistematski pokuava da dokae jedan ili vie ciljeva.

Mehanizam za zakljuivanje

Moguda su i neka druga podeavanja, kao na primer izbor kada de i kakve poruke MZ da ispisuje, proizvoljno postavljanje praga za vrednost faktora pouzdanosti, sistematsko ispitivanje ILI (OR) klase pravila koridenjem naredbi MULTI i EXHAUSTIVE, itd. Kod sistema zasnovanih na okvirima i objektima, proces zakljuivanja je drugaiji nego kod sistema zasnovanih na pravilima. Zakljuivanje kod ovih sistema je manje oigledno, i odvija se kroz proces nasleivanja, izvravanja procedura pridruenih slotovima i klasama objekata koje se iniciraju nekim dogaajima - demoni, ili sistemom predaje poruka objektima.

Mehanizam za zakljuivanje

Kod sistema sa ulanavanjem unapred gde je proces zakljuivanja voen podacima, potrebno je vriti proveru tj. poreenje leve strane pravila u bazi znanja sa podacima, kada god doe do bilo kakve promene injenica u radnoj memoriji. Pod promenom se podrazumeva dodavanje nove, izmena ili brisanje ved postojede injenice u radnoj memoriji. U sluaju velikog broja injenica u radnoj memoriji, kao i baze znanja sa velikim brojem pravila, ovaj proces moe da bude dugotrajan i da znantno usporava ukupni rad ES.

RETE algoritam

RETE algoritam
Naivan prilaz problemu provere radne memorije i utvrivanju pravila ija je leva strana zadovoljena injenicama iz radne memorije, je da se svako pravilo poredi sa svim podacima iz radne memorije, to je naravno sasvim neprihvatljivo. Pomenuti RETE algoritam se pri pretraivanju radne memorije ograniava samo na promenjene podatke, i na ona pravila iz baze znanja iji uslovi mogu biti zadovoljeni izmenjenim podacima. Najpribliniji po performansama RETE algoritmu za prepoznavanje uzoraka je TREAT

RETE algoritam
Prema tvrenjima firme Haley Enterprise, RETE je nekoliko puta bri od TREAT algoritma za manji broj pravila, a sa povedanjem broja pravila taj odnos se uvedava u korist RETE algoritma. U odnosu na ostale postojede algoritme, RETE je bri za redove veliina.

Sistem za vezu sa korisnikom (User Interface) omogudava komunikaciju sa ES u raznim fazama razvoja, kao i za razne potrebe programera inenjera baze znanja ili krajnjeg korisnika. Mogudnosti koje prua korisniki interface mogu biti raznovrsne i u velikoj meri zavise od konkretno izabranog alata za razvoj (ESBT). Da bi ES mogao uspeno da komunicira sa korisnikom, jedan od osnovnih zahteva je da ES osim domenskog znanja o problemu koji se reava takoe poseduje i neophodno znanje o komunikaciji sa korisnikom.

Veza sa korisnikom

Veza sa korisnikom
Ovaj zahtev je poznat i pod nazivom Tredi zakon ekspertnih sistema Mogudnosti koridenog alata za razvoj ES I2+, su mnogobrojne, i uslovno se mogu grupisati na slededi nain: Rad sa bazom znanja Rad sa proceduralnim Pascal-skim programima Rad sa bazom podataka Programska komunikacija sa korisnikom Prve tri stavke vezane su za razvojnu fazu komponenata ES (baza znanja, Pascal-ski programi, baza podataka), dok se zadnja etvrta stavka odnosi na komunikaciju u toku rada samog ES.

Rad sa bazom znanja obuhvata editovanje samog teksta - izvornog koda baze znanja u file-u tipa PRL (skradeno od PRoduction Rules), kao i kompilaciju u kod u file-u tipa KNB (skradeno od KNowledge Base) koji neposredno obrauje mehanizam za zakljuivanje. U toku rada ES, tj. pretraivanja baze znanja, ES moe da ispisuje poruke korisniku, kao i da zahteva unos onih podataka do kojih se na drugi nain ne moe dodi. Poruke ES mogu se podeliti na poruke o grekama, i na sve ostale poruke koje se odnose na domen baze znanja kada sistem ispravno funkcionie.

Veza sa korisnikom

Veza sa korisnikom
Kada se proces zakljuivanja ES prekine radi ispisa neke poruke ili se eka na unos podataka, korisnik moe da postavi zahtev za obrazloenje postupka zakljuivanja, kao i za obrazloenje zbog ega se zahteva unos podatka od korisnika. Ovaj vid komunikacije sa korisnikom je obrazloen u slededem odeljku,

Tokom rada ES najede dolazi do niza meuzakljuaka koji prethode konanom reenju problema. Korisnik tokom procesa rada ES daje potrebne podatke koje ES od njega trai i koristi u daljem procesu reavanja problema. Komunikacija ES sa korisnikom je od znaaja kako za rad samog ES, tako i za razumevanje rezultata rada ES od strane korisnika. U toku rada ES korisnik moe da postavi zahtev ili upit (query) ES u cilju dobijanja dodatnog obrazloenja za podatke koje ES trai od korisnika, kao i obrazloenje za zakljuke do kojih je ES doao.

Sistem za obrazlaganje ponaanja i zakljuaka

Sistem za obrazlaganje ponaanja i zakljuaka


U ved pomenutom ES MYCIN korisnik moe da zahteva od ES odgovore na klasina pitanja kako i zato. Pitanja tipa kako odnose se na objanjenje na koji je nain ES doao do odgovarajudeg zakljuka, dok su pitanja tipa zato uzvratna pitanja ES, i odnose se na objanjenje zbog ega ES trai od korisnika neki podatak ili zbog ega je neka druga informacija potrebna. Odgovori na ova pitanja mogu se dobiti na osnovu razmatranja traga procesa zakljuivanja (resoning trace) i konteksta - trenutnog stanja radne memorije.

Kao odgovor na pitanje tipa kako, ES na pr. u sluaju koridenog sistema I2+ sa ulanavanjem unazad, moe da da hronoloki prikaz niza dobijenih zakljuaka sve do tekudeg pravila koje se razmatra, ili hronoloki niz podataka koje je uneo korisnik i na osnovu toga dobijenih zakljuaka. Takoe, u toku rada je mogud prikaz kompletne baze znanja sa ulananim pravilima (AND / OR tree). Na pitanje zato odgovor se moe dobiti prikazom tekudeg pravila koje ES razmatra.

Sistem za obrazlaganje ponaanja i zakljuaka

Mogud je i kompletan pregled tekudeg konteksta baze znanja, gde se moe videti pouzdanost (certainty factor, confidence) i vrednost svake injenice (fact) i promenljive. U tom pregledu, podaci su grupisani po tipovima proste injenice (simple facts), numeriki (numeric), string i sloene objekat - atribut. Osim toga, za svaki podatak je dato i poreklo oznaeno odgovarajudim slovom

Sistem za obrazlaganje ponaanja i zakljuaka

Sistem za obrazlaganje ponaanja i zakljuaka


A (Answered by User) - uneseno od strane korisnika D (Denied by User) - negirano od strane korisnika E (External Program) - Podaci iz spoljanjeg programa I (Initialized) - inicijalizovani podaci C (Calculated) - podaci izraunati na osnovu drugih podataka U (Unknown to User) - nepoznato korisniku R (Rule concluded) - zakljuak pravila

Sistem za obrazlaganje ponaanja i zakljuaka


Istraivanja u ovoj oblasti usmerena su kako na unapreivanje ovih osnovnih mogudnosti, tako i na razvijanje sloenih sistema koji de modi da daju objanjenja usaglaena sa kontekstom Prema dosadanjim istraivanjima, kontekst je odreen sa najmanje pet slededih komponenata: Problemska situacija Subjekti uesnici Nain komunikacije sa sistemom Tekudi dijalog korisnika i sistema Spoljanje okruenje

Prikupljanje znanja (Knowledge Acquisition - KA) je sutinski vana i nezaobilazna faza u razvoju svakog ES. Usled raznih tekoda i problema koji mogu da prate ovu fazu, esto se smatra da ova faza predstavlja usko grlo u razvoju ES. Pri tome se podrazumeva da u razvoju ES uestvuju najmanje dve osobe ili grupe ljudi, i to ekspert strunjak za datu oblast iz koje je i problem koji se reava, i programer - inenjer baze znanja koji iskustvo i znanje eksperta ugrauje u bazu znanja ES, koristedi pritom jednu ili vie metoda za predstavljanje znanja.

Prikupljanje znanja

Prikupljanje znanja
Osnovni uzroci tekoda kod prikupljanja znanja su slededi: Ljudsko znanje je vrlo sloeno i moe biti nedovoljno sistematizovano ili loe formulisano Ljudi esto imaju problema da na jasan nain izraze znanje koje imaju, kao i na koji nain ga koriste za reavanje problema Ako neko sve vie postaje strunjak u datoj oblasti, sve manje je svestan sloenih misaonih procesa koji vode do reenja, pa samim tim ima i tekoda u egzaktnom izraavanju naina na koji je doao do reenja, a to je neophodno radi ugraivanja u bazu znanja

Prikupljanje znanja
Znanje koje se od eksperta dobija najede ne samo da nije formulisano u formi pogodnoj za bazu znanja, ved ga je potrebno i eksplicitno izraziti Naravno, mogude je da ekspert i programer budu jedna ista osoba, u kom sluaju se moe redi da su navedeni problemi manje izraeni, ali u sutini pomenuti problemi ostaju i dalje. Ovde treba dodati i to da zahtevi razvoja vedih ekspertnih sistema najede prevazilaze mogudnosti samo jednog oveka.

Prikupljanje znanja
Za sam proces dobijanja, izvlaenja, crpljenja znanja od strunjaka (Knowledge Elicitation), moe se redi da predstavlja akviziciju znanja u uem smislu. Akvizicija znanja u irem smislu pored toga obuhvata i tano definisanje uloge, zadataka i strukture ES, kao i neizbeno testiranje, otklanjanje greaka i usavravanje postojedeg znanja. Pokuaji za reavanje problema akvizicije znanja kao uskog grla usmereni su na usavravanje klasinih tehnika i razvijanje sistema za mainsko automatsko uenje.

Prikupljanje znanja
Klasine tehnike akvizicije znanja obuhvataju razgovor sa strunjakom, posmatranje strunjaka na delu kada reava nove sluajeve kao i ved reene, audio - vizuelno snimanje u cilju kasnije detaljne analize i sl. Sistemi za mainsko uenje se uglavnom zasnivaju na analizi vedeg broja ulaznih podataka za ved reene probleme. Zadatak sistema je da pronae pravila kojima se eksplicitno izraava znanje koje kao implicitno postoji u podacima test primera.

Prikupljanje znanja
Ovakvi sistemi vre induktivno zakljuivanje pri nalaenju novih pravila. Razvijeno je vie ovakvih sistema u raznim oblastima primene. Jedan od vrlo interesantnih primera za automatsko uenje je sistem RULES koji primenom jednostavnog algoritma za induktivno uenje analizira dati skup test primera,.i nalazi odgovarajudi skup pravila. Svako naeno pravilo se ispituje da li sadri irelevantne uslove, tj. uslove koji su redundantni za dati skup test primera.

Sistem nije zavisan od problemske oblasti, i testiran je na primerima iz razliitih oblasti. Naena pravila omogudavaju reavanje problema tipa klasifikacije. RULEARN je sistem za automatsko uenje koji je razvijen za potrebe procene brzine korozije kod metala Ovaj sistem nalazi pravila koja izraavaju zavisnost brzine korozije od uslova u kojima se metali nalaze temperatura, koncentracija kiseline, procentualni sadraj silicijuma u metalu. Pravila naena sistemom za induktivno uenje se koriste u ES za reavanje novih problema.

Prikupljanje znanja

Pored svog neprikosnovenog informativnog sadraja, karakteristika ljudskog znanja je i nepouzdanost ili nesigurnost. Izvori nepouzdanosti u znanju, samim tim i kod ES mogu se podeliti na nepouzdanosti kod podataka, nepouzdanosti u samom pojednostavljenom problemskom modelu predstavljenom u bazi znanja, kao i na nepouzdanosti kod uverenja. Osnovni izvori nepouzdanosti kod podataka ili injenica su greke merenja, um, nepotpunost, ili poznavanje sa odreenom verovatnodom.

Predstavljanje nepouzdanosti

Domensko znanje sadrano u problemskom modelu moe biti nepotpuno, aproksimativno, neadekvatno i ogranieno samim modelom. Uverenja ugraena u bazu znanja mogu biti nedovoljno konzistentna ili nedovoljno opravdana. Poto se nabrojane nepouzdanosti ne mogu izbedi, potrebno je da se pre svega uoe tamo gde postoje i da se adekvatno predstave u okviru ES. S obzirom na raznovrsnost mogudih nepouzdanosti, postoje i razni pristupi ovom problemu. Sve pristupe bi mogli podeliti na one kod kojih se sama nepouzdanost eksplicitno ne predstavlja, kao i na one sa eksplicitnim predstavljanjem.

Predstavljanje nepouzdanosti

U prvu grupu izmeu ostalih spada i takav pristup kod koga se sama strategija reavanja problema prilagoava tako da se to je u mogudoj vedoj meri smanji uticaj nepouzdanosti. U prvu grupu izmeu ostalih spada i takav pristup kod koga se sama strategija reavanja problema prilagoava tako da se to je u mogudoj vedoj meri smanji uticaj nepouzdanosti. Neke od metoda za eksplicitno predstavljanje nepouzdanosti kod ES su raun verovatnode, faktori izvesnosti (certainty factors, confidence), fuzzy logika, koji de u slededim odeljcima biti ukratko razmotreni.

Predstavljanje nepouzdanosti

Klasian nain za predstavljanje nepouzdanosti je raun verovatnode. U sluaju na pr. produkcionih pravila koja povezuju zakljuak pravila sa n uslova, za izraunavanje verovatnode zakljuka z, kada su poznate pojedinane verovatnode uslova ui, moe da se primeni izraz za uslovnu verovatnodu:
P ( z , u1 , u 2 , u 3 ,...u n ) P z | u1 , u 2 , u 3 ,...u n Pu1 , u 2 , u 3 ,...u n

Verovatnoda

Neposredna primena gornjeg izraza zahteva poznavanje zdruenih verovatnoa u razlomku, to najee nije sluaj, pogotovo ako su uslovi ui zavisni.

Moe se napisati i obrnuto:


Pu1 , u 2 , u 3 ,...u n | z

Verovatnoda
P( z , u1 , u 2 , u 3 ,...u n ) Pz

Smenom u prethodni izraz, dobija se Bayes-ova formula koja je pogodnija za primenu.


P z | u1 , u 2 , u 3 ,...u n P (u1 , u 2 , u 3 ,...u n | z ) P ( z ) P u1 , u 2 , u 3 ,...u n

Uslovna verovatnoa za premise u prisustvu zakljuka u brojiocu zadnjeg izraza, laka je za procenu, i moe se najee proceniti na osnovu prakse. Dalje uproavanje je mogue, ukoliko se moe

Faktori pouzdanosti predstavljaju neto drugaiji i jednostavniji nain za tretman nepouzdanosti, nego to je to sluaj sa koridenjem rauna verovatnode. Osnovni problem kod koridenja verovatnode je izraunavanje zdruene verovatnode meusobno povezanih uslova, zbog ega se i koristi ponekad neadekvatna aproksimacija da su uslovi nezavisni. Takoe se postavlja pitanje i koliko su procene verovatnoda subjektivne, pa samim tim i opravdanost primene rauna verovatnode. Faktorima pouzdanosti se kvantitativno izraava mera sigurnosti uslova - premisa ili zakljuka i to u okviru nekog intervala brojeva, najede od 0 do 100, mada moe biti i neki drugi interval.

Faktori pouzdanosti

Minimalna vrednost intervala, na pr. 0 znai da je uslov ili zakljuak pravila sigurno neistinit, dok maksimalna vrednost (100) znai potpunu istinitost. Ostale vrednosti izmeu ekstremnih oznaavaju proporcionalnu meru pouzdanosti, to je vrednost veda, veda je i pouzdanost. Dodeljeni faktor pouzdanosti uslova ima zadovoljavajudu vrednost ukoliko je vedi od vrednosti praga pouzdanosti (Threshold). U sluaju da je vrednost dodeljenog faktora pouzdanosti manja od praga, uslov se smatra neistinitim.

Faktori pouzdanosti

Faktori pouzdanosti
Ako pravilo ima vie uslova ui sa razliitim faktorima pouzdanosti CFi, rezultujuda pouzdanost se odreuje u zavisnosti od logikih operacija koje povezuju uslove. Rezultujuda pouzdanost vie uslova povezanih operacijom AND jednaka je faktoru pouzdanosti sa minimalnom vrednodu, dok je u sluaju kada su uslovi povezani operacijama OR, rezultujuda pouzdanost jednaka faktoru pouzdanosti sa maksimalnom vrednodu.

Negacija uslova ui sa NOT menja pripadajudu dodeljenu pouzdanost CFi u CFi kao
CFi ' 100 CFi

Faktori pouzdanosti

Pouzdanost zakljuka pravila CFp izraunava se kao proizvod rezultujueg faktora pouzdanosti uslova CFrez i dodeljenog faktora pouzdanosti zakljuka CFz.
CF p CFrez CFz / 100

vredost se deli sa sto, da bi se rezultat doveo u interval 0 - 100. U sluaju da vrednost nekog podatka korisniku nije poznata, podatak se evidentira kao nepoznat (Unknown).

Uslov ija se istinitost ne moe odrediti zbog nepoznatog podatka takoe se tretira kao nepoznat. Ukoliko pored nepoznatog uslova postoji jo neki uslov pravila sa faktorom pouzdanosti vedim od praga, zakljuak pravila se moe izvesti. Faktori pouzdanosti dolaze do izraaja i kada u bazi znanja postoji vie pravila sa istim zaljukom. Mehanizam zakljuivanja u tom sluaju daje prioritet pravilu iji zakljuak ima najvedi faktor pouzdanosti.

Faktori pouzdanosti

You might also like