es_p8_ri4es_p5
DESCRIPTION
sdTRANSCRIPT
-
Ekspertski sistemi
Lekcija 5: PREDSTAVLJANJE NEFORMALNOG ZNANJA
-
Semantike mree
Semantike mree opisuju element i veze izmeu njih.
Objekti se oznaavaju sa i veze se oznaenim strelicama. Elementi su vorovi, a strelice su veze.
-
Semantike mree
Mora se ukljuiti i semantika
G008 G008
ISA ISA
G136 G142 G017
G056 G088
CIGLA IGR CRV
CIGLA12 BOJA
-
Semantike mree
Veza ISA se koristi da oznai pripadnost nekog elementa klasi elemenata.
PARTOF se koristi da oznai da je neki element deo nekog elementa.
BOJA
ISA
ISA
ISA
PARTOF
CRNI
KONJ SISARCRN
REP
IV.
-
Semantike mree
vor koji predstavlja specifian primer klase naziva se primerak (instanca).
Pregradak vora ine veze razliitih imena. Za primer sa ciglom dva pregradka: jedan
pregradak sa dve vrednosti (CIGLA, IGRAKA), i drugi pregradak sa jednom vrednou (CRVENA).
KONJ SISAR
-
Semantike mree
Koncept klase i ISA veza se moe iskoristiti da se predstavi situacija, akcija i dogaaj
jaha
ISA
ISA
ACT
JAHANJE AKCIJAACA
-
Semantike mree
Nasleivanje omoguava pomeranje opisa sa klase na instance (uzorke).
ISA
AKO
AKO
ISA
OBLIK
OBLIK
KLIN
BLOK CIGLAKLIN18
TROUGAO
CIGLA12
PRAVOU.
-
Semantike mree Procedura nasleivanja vrednosti glasi:Neka je F dati vor, a S dati pregradak: sainiti red ekanja koji se sastoji od vora F i svih
ostalih vorova klase koji se nalaze u ISA pregradku vora F; F treba da bude na elu;
dok red ekanja ne postane prazan ili dok se ne nae vrednost, odrediti da li prvi element reda ekanja ima vrednost u svom S pregradku:
ako prvi element ima vrednost u svom S pregradku, tada je vrednost pronaena,
inae ukloniti prvi element iz reda ekanja i dodati vorove vezane za prvi element u ovom trenutku sa AKO na kraj reda ekanja
ako je vrednost pronaena obavestiti da je pronaena vrednost vrednost pregradka S vora F, inae obavestiti o neuspehu.
-
Semantike mree Procedura nasleivanja - primer sa elementom KLIN18:1. Red ekanje: KLIN18 (F, polazni vor), KLIN (ISA
pregradak vora F)S pregradak: OBLIK
2. KLIN18 - nema S pregradaka3. KLIN BLOK2. KLIN - ima S pregradak
ISA
AKO
AKO
ISA
OBLIK
OBLIK
KLIN
BLOK CIGLA KLIN18
TROUGAO
CIGLA12
PRAVOU.
-
Semantike mree Nekada ne postoje vrednosti u
pregradkama, ve se mogu izraunati koristei postojee informacije.
Na primer, moe se izraunati teina bloka iz podataka o zapremini i materijalu.
Koriste se procedure koje se nazivaju if-needed procedure, jer se koriste kada je potrebno, a ne kada se posebno zatrai njihova usluga pozivanjem po imenu.
-
Semantike mree Nasleivanje if-needed procedura:Neka je dat vor F i njegov pregradak S. Ukoliko S ne sadri nikakvu
vrednost (prazan je), uraditi sledee: formirati red ekanja koji se sastoji od vora F i svih vorovaklase
povezanih sa vorom F preko ISA pregradka; vor F treba da bude na elu;
Dok red ekanja ne postane prazan ili je uspena if-needed procedura pronaena, odrediti da li prvi element reda ekanja ima proceduru u if-needed delu svog pregradka: ako postoji procedura, i ako procedura daje vrednost, tada je vrednost
pronaena, inae, ukloniti prvi element iz reda ekanja i dodati vorovevezane sa
prvim elementom sa AKO na kraju reda ekanja ako procedura nae vrednost, rei da je naena vrednost vrednost S
pregradka vora F, inae obavestiti i neuspehu.
-
Semantike mree
ISA
te ineif-needed
AKO
gustina
te ina
zapremina
CIGLA
BLOK procedura te ine
CIGLA18
te ina ?
gustina 12
zapremina 400
-
Semantike mreeIzvravanje procedure je:1. Red ekanja: CIGLA18 (F - poetni vor), CIGLA
Pregradak S: teina ?2. Ne postoji procedura if-needed u okviru elementa
CIGLA18Red ekanja: CIGLA, BLOK3. Ne postoji procedura if-needed u okviru elementa CIGLARed ekanja: BLOK4. Izraunavanje teine5. Pregradak S: teina = 4800
-
Rezonovanje i semantike mree Rezonovanje se sastoji u praenju veza u mrei. Zakljuuje se na bazi veza i generiu se nove veze. Moe se desiti da se prostim sledom doe do zakljuka
koji nisu potpuno tano zbog neprepoznavanja izuzetaka- postoje konji koji nemaju repove.
Konstruie se upit u vidu mree, pa se vri traganje u postojeoj semantikoj mrei koja e potpuno da se upari sa upitom. Zatim se nepoznata vrednost vora vezuje za verdnost vora u semantikoj mrei. Znai X KONJ
BOJA
ISA
ISA
ISA
PARTOF
CRNI
X SISARCRN
REP
IV.
-
Rezonovanje i semantike mree Primer kako se vri uparivanje sa stvarima koje imaju
delove, na osnovu izvoenja novih veza iz postojeih. Na primer, koja ivotinja je crni konj sa repom.
BOJA
ISA
ISA
ISA
PARTOF
IZVEDENA VEZA
CRNI
KONJ SISARCRN
REP
IV.
-
OKVIRI Okviri su jedan od naina predstavljanja znanja
kojim se ogranizuje predstavljanje istinitih stvari za neku optu klasu elemenata.
Okviri su u stvari skup semantikih vorova i pregradaka koji opisuju zajedno stereotipske objekte, dogaaje, akcije.
Nekada se razvijaju mree u kojima su vorovi okviri.
Kod okvira je naglasak na implicitnom znanju.
-
OKVIRI Okviri se sastoje od pregradaka od kojih svaki
predstavlja standardno svojstvo ili atribut elementa koji je predstavljen okvirom.
Pregradak omoguava nain da se sistematski smesti jedna komponenta steenog iskustva u odnosu na predstavljenu klasu elemenata.
I sam pregradak moe da predstavlja etalon po kome se pamte instance, t.j. jednu relacijuatributa.
-
OKVIRIFrame: ZEMLJOTRES
specialization: DISASTER-EVENTporemeaji: n.a.jaina: n.a.Frame: DISASTER-EVENT
specialization: EVENTpoginuli: n.a.povreeni: n.a.broj unitenih kua: n.a.materijalna teta: n.a.
-
OKVIRIFrame: EVENT
mesto: n.a.datum: n.a.vreme: n.a.
Frame: URAGANSKI_VETROVIspecialaization: DISASTER-EVENTime: n.a.mesto_pojavljivanja: n.a.brzina_vetra: n.a.
-
OKVIRIDesio se zemljotres na primer - novi okvir kao instanca ove
klase. Na primer:Frame: ZEMLJOTRES18
mesto: SKOPLJEdatum: 26.7.1963.vreme: 5:10poginuli: 1200povreeni: 4500
broj unitenih kua: 10000materijalna teta: 300 M$poremeaji: srednjijaina: 6.5 R
-
OKVIRI Okviri koji predstavljaju klasu objekta na datom
nivou apstrakcije mogu nasleivati pregrade i vrednosti koje se nalaze na viem nivou apstrakcije.
Proceduralne informacije koje se ugrauju su: if-needed procedura, ostvaruje se kada treba da
izrauna vrednost pregradka if-addes procedura, aktivira se kada je vrednost
pregradka ve dodeljena.
-
OKVIRIFrame kola
specijalizacija: drumsko_vozilotelo: elikprozori: staklopreostalo_gorivo:
opseg: (prazana, etvrtina, pola, pun)implicit: nemaif-needed: proveriti_pokaziva_goriva
vrsta_oteenja:implicit: nemaif-added: pozvati_osiguravajui_zavod
end_frame
-
Sistemi zasnovani na okvirima Raunarski program koji obrauje
specifine informacije problema, koje se nalaze u radnoj memoriji skupom okvira iz baze znanja, koristei mainu za zakljuivanje da bi se izvele nove informacije naziva se sistem zasnovan na okvirima.
-
ljudska bi a
svojstva
ime
vrednost
aspekti
mukarci ene
Predrag Nenad
Milena Marija
klasa:
podklasa:
primerci:
-
Ciljna agenda: obezbeuje listu zadataka koje treba obaviti, slino kao u sistemima zasnovanim na pravilima.
Skup pravila: ukljuuje mona pravila uparivanja uzoraka koji omoguavaju izvlaenje zakljuaka iz celokupnog sveta okvira pregledanjem svih okvira u potrazi za informacijama koje podravaju zakljuke.
Okvir klasa: sadri generike informacije o konceptu, a to su: deskriptivno ime koncepta, skup osobina koje su karakteristine za sve pridruene objekte, kao i vrednost osobina za koje se smatra da su zajednike objektima.
OKVIRI
-
OKVIRI klasa ljudska bia ime klase: ljudska bi a
podklase: mukarci, ene
svojstva starost ? broj nogu 2 boravite ? o ekivana 72 du ina ivota
-
Podklase se (mukaraca i ena) moguautomatski formirati.
Svaka podklasa nasleuje osobine i vrednosti osobina roditelja.
Postoje tri vrste veza izmeu klasa u sluaju da se koriste podklase:
generalizacija a-kind-of, agregacija a-part-of, asocijacija semantic
OKVIRI
-
Generalizacija
vozila
kola avioni brodovi
-
Agregacija
kola
vrata motor akumulator
-
Asocijacija
posedujem
kola kuu nametaj
-
Generalizacija - primer
ime klase: podklase: svojstva: starost ? broj nogu 2 boravite ? oekivana duina ivota 69 brkovi ?
mukarci
Mukarci i ene kao podklase imaju vezu generalizacija prema vioj klasi.
Klasa mukarci ima sada okvir u sledeem obliku:
-
Nasleivanje Podklase nasleuju ponaanje svojih
roditelja ili nadklasa. Ako je bilo koja procedura prikljuena aspektu nadklase, ona e biti nasleena od podklase.
Vrednosti osobina su podaci koji se dodeljuju podklasi - numerike, simbolike ili Bulove. Mogu se inicijalizovati pri formiranju okvira ili biti dodeljene u logiku rada ekspertskog sistema.
Mogu se koristiti i menjati preko pravila ili okvira koji radi sa podacima iz sesije.
-
Facets Facets - obezbeuje korisniku dodatnu
snagu nad tim kako se vrednosti osobina (atributa) uspostavljaju i kontroliu.
Instanca ili primerak je specifian objekat iz klase objekata koji sadri sve karakteristike okvira klase, ali obino sadri i informacije koje su specifine za taj objekat.
-
Instanca - primer ime objekta: klasa: svojstva: starost 18 broj nogu 2 boravite Beograd oekivana duina ivota 110 brkovi ne
Jovan
mukarci
-
Instanca - primer im kl sv
e objekta:
asa:
ojstva:
starost 10 klasifikacija servisni broj 125-1995 baza podataka zapremina 300 procedura
stanje dobro ekspertski sistem mesto kuhinja korisnik
napajanje elektrino nasleeno ciklus odmrzavanja ukljuen od drugog objekta
hladnjak
domai aparati
-
Nasleivanje Nasleivanje je proces po kome se karakteristike
roditeljskog okvira preuzimaju od strane okvira potomka Moe se formirati okvir klase koji sadri sve generike
karakteristike neke klase objekata, a zatim formirati proizvoljan broj primeraka bez eksplicitnog kodiranja karakteristika nivoa klasa (broj nogu,)
Pri projektovanju sistema oznaavajui okvir kao primerak neke klase, sve informacije o klasi se automatski nasleuju od primeraka, uklanjajui potrebuda se te informacije eksplicitno kodiraju.
Primerku se mogu dodeliti svojstva, vrednosti i facets koje samo on poseduje
-
Obrada izuzetaka Problem: okvir potomak e nasledeiti sve
vrednosti roditelja ako se ove vrednosti namerno ne izmene.
Na primer Jovan moe da ima samo jednu nogu.
Kada se projektuje sistem zasnovan na okvirima, svaki okvir koji je izuzetak od standardnog mora se eksplicitno obraditi.
-
Viestruko nasleivanje Na vrhu hijerarhijske strukture je jedna globalna
klasa okvira koja opisuje opti svet svih okvira, i obezbeuje putem nasleivanja informacije svim okvirima.
U mnogim problemima je prirodno da se diskutuju objekti u pogledu veze sa raznim svetovima.
Na primer, okvir Jovan moe da se diskutovati kao deo sveta ljudskih bia i kao deo sveta zaposlenih u nekoj kompaniji.
Objekat Jovan nasleuje sada informacije od dva prethodnika ljudi i zaposlenih
-
Viestruko nasleivanje
ljudi starost teina Jovan starost teina broj telefona plata zaposlen broj telefona plata
-
Facets
Facet je proireno znanje o svojstvu okvira.
Na primer facets se mogu koristiti dauspostave poetnu vrednost svojstva, daodrede njegov tip, ili ogranie moguevrednosti.
Mogu se koristiti da odrede naine na kojise dobija vrednost svojstva ili ta da se radi ako se ta vrednost promeni.
-
Facets tag definie tip vrednosti koje se pridruuju svojstvu, implicitno odreuje implicitnu vrednost svojstva, dokumentacija obezbeuje dokumentaciju o svojstvu, ogranienje odreuje dozvoljene vrednosti, minimalna kardinalnost odreuje minimalna broj vrednosti koje
neko svojstvo moe da ima, maksimalna kardinalnost odreuje maksimalan broj vrednosti koje
neko svojstvo moe da ima, if-needed specificira akciju koju treba preduzeti ako je potrebna
vrednost svojstva, if-changed izvrava neku metodu pri promenu vrednosti svojstva.
Na primer, ako se vrednost svojstva itanje promeni, izvrava se
metoda kojom se aurira objekat displej koji predstavlja senzor1
-
Facets - primerime objekta: klasa: svojstva: aspekti: minimalna kardinalnost
1
tip numeriki if-needed sakupljanje
podataka if-changed Promena
prikazivanja objekta
senzor1
temperaturni
itanje 2
-
Facets - primersvojstvo: aspekti: minimalna kardinalnost
1
maksimalna kardinalnost
1
ogranienja pumpa1, pumpa2, pumpa3
if-needed slike lokacije
lokacija pumpa1
-
n O
Status if-changed metod iifd
asovnik za odmrzavanje
if odmrzavanje.asovnik.Status = On status On then hladnjak.Status = odmrzavanje
Status if-changed metod if
hladnjak
if hladnjak.Status = odmrzavanje status odmrzavanje then kalem za zagrevanje.napajanje = On
Napajanje if-changed metod
kalem za
if kalem za zagrevanje.napajanje = On napajanje On then kalem za zagrevanje.Status = On status On
-
Metoda je procedura koja je prododataobjektu i bie izvrena kad god se zahteva.
U opetm sluaju if-needed metode se mogu formulisati tako da objekat dobija vrednost upitom korisnika, iz baze podataka, iz nekog algoritma, od drugog objekat, od drugog ekspertskog sistema.
Metode se mogu napisati na nivou klase i naslediti od svih okvira na niem nivou.
Metode
-
Ako je nekom objektu potrebna informacija on je moe dobiti od drugog objekta. Ili, ako se promeni vrednost atributa nekog objekta, to moe da prouzrokuj promenu vrednosti atributa u nekom drugom objektu.
Prethodnom emom se pokazuje kako promena samo jedne vrednosti atributa dovodi do niza promena u brojnim objektima. Objekti mogu da utiu na vrednosti atributa u drugim objektima, pa i sopstvenih atributa
Komunikacija izmeu objekata
-
Prosleivanje poruka Prosleivanje poruka se sastoji u tome da
se uputi signal objektu na koji objekat odgovara izvravanjem metode, odnosno procedura.
Poslati poruka Crtaj objektu KRUG - primi poruku, trai metodu Crtaj koja je za njega prikljuena, i eventualno odgovori crtanjem kruga.send ime_poruke ime_objekta argumenti
Prosledjivanje poruka
-
Prosledjivanje poruka
35 Starost 2005
Metod: Starost
Jovanova_kola
godina 1970 args(Godina) Godina-Jovanova kola.Godina
poruka
send Starost Jovanova_kola 200535
-
Nasleivanje ponaanja Mogu se naslediti i metode. Ako se te metode stave na nivo klase,
onda se preko nasleivanja dobija efikasan razvoj koda sistema.
Nedostatak - metode se esto piu tako da rade sa podacima koji se nalaze u svojstvima okvira, pa se metod mora da se eksplicitno obrati imenu objekta i njegovom svojstvu - naruena optost.
-
Pisanje optih metoda Na primer, okruenje e koristiti re Self ili
neku drugu da bi se vezalo ime primerka (instance) za metod:
Self svojstvoargs(godina): godina - Self.godina
odnosno:args(godina): godina - Jovanova_kola.godina
-
Primer nasleivanja ponaanja Sistem koji je u stanju da nadgleda
temperaturu procesa u raznim takama, uz alarmiranje, ako se neto desi loe. Raspoloivi su temperaturni senzori kojima moe pristupiti sistem za sakupljanje podataka. Ne zna se broj senzora
Klasa temperaturnih senzora, pa instance Klasa senzora (svojstva):
ime - ime mesta koje se nadzire,vrednost - itanje temperature senzora,kritina vrednost - maksimalno dozvoljena temperatura,status - trenutno stanje (normalno, alarmno).
-
Primer nasleivanja ponaanja
ime ? vrednost ? kritina vrednost ? status ?
vrednost if-needed metod Status if-changed metod vrednost if-changed metod
temperaturni senzori
uzmi-vrednost(Self.ime)
if Self.vrednost > Self.kritina.vrednost then Self.Status = Uzbuna
if Self.Status = Uzbuna then zvoni-Uzbuna
-
Svojstva okvira kao podaci
Klasa: if ljudi.noge = 2 then ljudi mogu da hodaju
Primerak: if Jovan.noge = 2then Jovan moe da hoda
Izmena vrednosti svojstava if Jovan voli da pliva
then Jovan.sport = plivanje
-
Svojstva okvira kao podaci
Formiranje novog primerka if Ana je ljuta na Jovana zato to ne voli
jedrenjethen MAKE okvir Dragan
instance-of ljudiWITH sport = jedrenje
Uklanjanje okviraif Ana je stvarno ljuta na Jovanathen RETRACT okvir Jovan
-
Korienje pravila sa promenljivama
noge 1 starost 35 pol muki adresa Beograd sport plivanje voli ? 2 30 enski Beograd jedrenje ? 3 33 muki Valjevo jedrenje ?
Jovan Ana Dragan
-
Korienje pravila sa promenljivama
Okvir? Xinstance-of ljudiWITH adresa = BeogradWITH starost = ?Starost
Odgovor je:okvir: Jovan Anainstance-of ljudi instance-of ljudiboravite = Beograd BeogradStarost = 35 30
-
Korienje uparivanja u zakljucima
if Okvir? Xinstance-of ljudiWITH boravite = BeogradWITH Starost = ?Starost
then Okvir? XWITH Starost = ?Starost + 5
-
Sloeno uparivanje promenljivih Ako bilo koji ovek voli isti sport kao bilo koja ena,
tada ovek voli enu.if Okvir? Osoba1
WITH pol = mukiWITH sport = ?sport1
ANDOkvir? Osoba2WITH pol = enskiWITH sport = ?sport1
then Okvir? Osoba1WITH voli = ?Osoba2
-
Sloeno uparivanje promenljivih
Uparivanje ) Okvir: Dra
1 Uparivanje 2 (Prva premisa
gan(?Osoba1) Okvir: Jovan (?Osoba1) pol = muki pol = muki sport = Uparivanje ) Okvir: Ana (?
jedrenje (?sport1) sport = plivanje (?sport1)
1 (Druga premisa
Osoba2) pol = sport = jedrenje Isp Okvir: Dravoli = Ana (?
enski (?Osoba2)
aljivanje pravila prouzrokuje promene u okviru Dragan:
gan (?Osoba1) Osoba2)
-
Formiranje novih primerakaOkvir: rezervacijemesto = ?ime = ?if Okvir? Osoba1
WITH sport = jedrenjethen
MAKE okvir rezervacijeWITH mesto = Herceg NoviWITH ime = Osoba1
-
Formiranje novih primeraka
Okvir: rezervacije 1 Okvir: rezervacije 2
mesto = Herceg Novi mesto = Herceg Novi
ime = Ana ime = Dragan
-
Interakcija pravila sa objektima Mnogi sistemi sa okvirima koriste niz
pravila radi interakcije sa informacijama koje su sadrane u okvirima.
Ovakav sistem se naziva hibridni, jer kombinuje okvire i pravila za predstavljanje znanja u domenu.
Klauzule u pravilima mogu da sadre promenljive koje se mogu iskoristiti za nalaenje uparujuih vrednosti meu svim okvirima
Ekspertski sistemiSemantike mreeSemantike mreeSemantike mreeSemantike mreeSemantike mreeSemantike mreeSemantike mreeSemantike mreeSemantike mreeSemantike mreeSemantike mreeSemantike mreeRezonovanje i semantike mreeRezonovanje i semantike mreeOKVIRIOKVIRIOKVIRIOKVIRIOKVIRIOKVIRIOKVIRISistemi zasnovani na okvirimaOKVIRIOKVIRI klasa ljudska biaOKVIRIGeneralizacija Agregacija Asocijacija Generalizacija - primer Nasleivanje Facets Instanca - primer Instanca - primer NasleivanjeObrada izuzetakaViestruko nasleivanje Viestruko nasleivanje Facets Facets Facets - primerFacets - primerMetodeKomunikacija izmeu objekata Prosledjivanje poruka Prosledjivanje poruka Nasleivanje ponaanjaPisanje optih metoda Primer nasleivanja ponaanjaPrimer nasleivanja ponaanjaSvojstva okvira kao podaciSvojstva okvira kao podaciKorienje pravila sa promenljivama Korienje pravila sa promenljivama Korienje uparivanja u zakljucima Sloeno uparivanje promenljivihSloeno uparivanje promenljivihFormiranje novih primeraka Formiranje novih primeraka Interakcija pravila sa objektima