es_p8_ri4es_p5

62
 Ekspertski sistemi Lekcija 5: PREDSTAVLJANJE NEFORMALNOG ZNANJA

Upload: aleksandar-aca-marinkovic

Post on 05-Nov-2015

1 views

Category:

Documents


0 download

DESCRIPTION

sd

TRANSCRIPT

  • 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