60
4005 Ekspertni sustavi u prometu - Ekspertni sustavi zasnovani na pravilima - Prof. dr. sc. Hrvoje Gold Zagreb, 12.02.-13.02.2010. Sveučilište u Zagrebu Fakultet prometnih znanosti Doktorski studij

Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Embed Size (px)

Citation preview

Page 1: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

4005 Ekspertni sustavi u prometu- Ekspertni sustavi zasnovani na pravilima -

Prof. dr. sc. Hrvoje Gold

Zagreb, 12.02.-13.02.2010.

Sveučilište u ZagrebuFakultet prometnih znanosti

Doktorski studij

Page 2: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Uvod

• Računalni ekspertni (stručni) sustav ima znanje o određenom području

• Znanje je teorijsko i praktično razumijevanje određenog područja, skup trenutno poznatog

• Stručnjak posjeduje iskustvo, vještinu i znanja kojima učinkovito rješava probleme iz određenog uskog područja

Page 3: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Ontologije i baze znanja• Ontologija - proučavanje bitka ili suštine značenja

pojmova• Opis klasa pojmova i njihovih odnosa• Elementi u izgradnji ontologije:

– Klase pojmova– Obilježja pojmova koja opisuju značajke i atribute (uloge)

pojmova – Ograničenja na uporabu obilježja

• Ontologija sa skupom primjera pojmova tvori bazu znanja

• Programski alati za izgradnju ontologije– http://protege.stanford.edu/

Page 4: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Predstavljanje znanja• Znanje:

– Skup sistematiziranih sudova.– Prikuplja se percepcijom.

• Znanje: Spoznaja + Logika

• Spoznaja – uključuje nepropozicijsko razumijevanje (percepcija, pamćenje,refleks) i propozicijsko razumijevanje te razumijevanje sudova o nepropozicijskom razumijevanju

• Logika – znanost koja proučava načela koja vode do ispravnih zaključaka

Page 5: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Logika sudova

• Sud, izreka, izjava, propozicija– P :: “Auto je skup”

• ovom sudu nije pridružena vrijednost istinitosti• istina za novi auto, laž za stari

• Sudu je uvijek pridružena vrijednost istinitosti (istina/laž, true/false) P

TF

Page 6: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Tablica istinitosti

• Negacija, komplement – ¬P :: “Auto nije skup”

• Povezivanje sudova veznicima / logičkim operatorima– I (AND)– ILI (OR)

P ¬PT FF T

Page 7: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Uvjetovani sudovi

• Pravila zaključivanja– P, (P->Q), zaključak Q

• Modus Ponens (potvrđivanjem)– P, (P->Q), ne Q, zaključak ne P

• Modus Tollens (opovrgavanjem)

Modus Ponens Modus Tollens

Page 8: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjer zaključivanja

• ((P->Q) (Q->R)), zaključak (P->R)– P :: “Svi ljudi su smrtni”– Q :: “Sokrat je čovjek”– Zaključak :: “Sokrat je smrtan”

Page 9: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Logika prvog reda

• Logika prvog reda, predikatna logika– izražajnija od logike sudova

• P :: “Kolnik je mokar”– koji kolnik?, od koje tekućine?– logika sudova

» nedovoljno precizan iskaz» samo tvrdnja

– mogućnost poopćavanja iskaza– konstante (objekti znanja), predikati (odnosi

između znanja), funkcije (neizravno upućivanje na drugo znanje)

Page 10: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Jednostavne rečenice

• Konstanta– objekt područja promatranja

• Ivica, Marica, bicikl, motorkotač

• Predikat– izražava odnose između objekata

• ima, poznaje, vozi– utvrđuje svojstva objekata

• osoba, knjiga

• Predikati utvrđuju odnose i svojstva konstanti– izgrađuju jednostavn rečenice

Page 11: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjeri jednostavnih rečenica ...

• osoba(ivica)• osoba(marica)

– osoba se može promatrati kao funkcija s jednim argumentom

– ovdje unarna relacija • Ivica i Marica ulaze u kategoriju osoba

• poznaje(ivica, marica)• poznaje(marica, ivica)

Page 12: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjeri jednostavnih rečenica

• vozi(ivica, bicikl)• vozi(marica, motorkotač)• dva-kotača(bicikl)• knjiga(ekspertni_sustavi)• ima(marica, knjiga(ekspertni_sustavi))• Funkcija

– pretvođenje jedne konstante u drugu konstantu• poznaje(ivica, sestra_od(perica))

Page 13: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Složene rečenice ...

• ostvaruju se veznicima – logički, Boole-ovi operatori^ = Iv = ILI

= logički uvjet (onda)= dvosmjerni uvjet

• Primjeri:poznaje (ivica, marica) ^poznaje(marica, ivica)

poznaje(ivica, marica) ^¬poznaje(marica, ivica)

vozi(ivica, bicikl) vvozi(ivica, motorkotač)

⇒⇔

Page 14: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Složene rečenice

• Primjeri uvjetnih (ako-onda) rečenica:– poznaje(ivica, marica) poznaje(marica, ivica)

• Ako Ivica poznaje Maricu onda Marica poznaje Ivicu

• Dvosmjerni uvjet– b ako a i a ako b ( a b) ^ (b a)– b podrazumijeva a i a podrazumijeva b– poznaje(ivica, marica) poznaje(marica, ivica)

• Ivica poznaje Maricu ako Marica poznaje Ivicu

⇒ ⇒

Page 15: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Varijable

• Izgradnja poopćenih rečenica bez konstanti– poznaje(x, marica) osoba(x)

• Ako x poznaje Maricu, onda je x osoba– ako znamo da

• poznaje(ivica, marica)– zaključuje se da je Ivica osoba

• osoba(ivica)

Page 16: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Kvantifikatori

• Utvrđuje broj vrijednosti/objekata varijable– kvantifikator sveobuhvatnosti ( )

• rečenica je valjana ako se varijabla zamijeni bilo kojim objektom

– kvantifikator postojanja ( )• rečenica je valjana ako se varijabla zamijeni

određenim objektom

Page 17: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjena kvantifikatora

• x.osoba(x)– Postoji x koji je osoba

• x. x.osoba(x) ^ poznaje(x, marica) v poznaje(x, ivica)

– Od svih ljudi postoji osoba koja poznaje Ivicu ili Maricu

∀ ∃

Page 18: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Programiranje u logici

• Svi ljudi su smrtni• Sokrat je čovjek• Sokrat je smrtan

x čovjek(x) smrtan(x)čovjek(sokrat)∀ ⇒

Page 19: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

PROLOG

Programski jezik za programiranje u preuređenoj logici prvog reda (1975) – Hornove rečenice

smrtan(X) :- čovjek(X)čovjek(sokrat) /čovjek(sokrat) :- true/

• baza znanja (pravila i činjenica)

• upiti na bazu?- smrtan(sokrat)yes?- smrtan(x)sokrat

Page 20: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Baza znanja

• Baza znanja – Apstraktni prikaz radne okoline ili svijeta u kojem sustav trebarješavati zadatke.

• Baza znanja:– Znanje iz problemske domene– Znanje o načinu kako se problem rješava

Page 21: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Baza znanja sadrži– Objekte i relacije među njima– Činjenice i nesigurne činjenice– Pravila svijeta i pravila odlučivanja– Opise motivacije,cilja i stanja sustava– Metode rješavanja problema i heuristiku– Opis ponašanja– Hipoteze– Opise tipičnih situacija– Procese– Ograničenja– Metaznanje– Znanje iz problemske domene– Znanje o načinu kako se problem rješava

Page 22: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Prikaz znanja pravilima

• Stručnjak izražava znanje o načinu rješavanje problema pravilima– produkcijska pravila

• Primjer: Pravila za prijelaz preko pješačkog prijelaza

P1: AKO je na ‘semaforu’ zeleno svjetloONDA ‘kretanje’ je prelazi

P2: AKO je na ‘semaforu’ crveno svjetloONDA ‘kretanje’ je čekaj

Page 23: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Struktura pravila

• Struktura pravila:AKO <činjenica/uvjet/premisa>ONDA <djelovanje/akcija/zaključak/posljedica>

– Pravilo se može sastojati od više uvjeta povezanih veznikom “i” (konjunkcija, and) ili veznikom “ili” (disjunkcija, or). Najčešće u jednom pravilu jedna vrsta veznika

– Zaključak se može sastojati od više akcija• Pravilo daje opis kako riješiti problem• Jednostavni oblik za sastavljanje i razumijevanje

Page 24: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Struktura uvjeta/posljedice

• Uvjet/posljedica pravila se sastoji od:– Objekta (lingvistički objekt) – semafor– Vrijednosti objekta – {zeleno | crveno}

• Objekt i vrijednost su povezani operatorom (je, jesu, nije, nisu, ...)

• Operator označava objekt i pridružuje mu vrijednost

Page 25: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Operatori

• Operatori pridružuju lingvističkim objektima:– Simboličke vrijednosti – Numeričke vrijednosti

• Numerički operatori u uvjetnom dijelu pravilaAKO je starost_vozača > 80I dioptrija > 3ONDA vozačku_dozvolu’ ne izdati

• Numerički operatori u posljedičnom dijelu pravila AKO je oporezivi_dio > 1000ONDA pristojba = oporezivi_dio * 1.5 /100

Page 26: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Upotreba pravila ...

• Pravila prikazuju relacije, preporuke, uredbe, planove postupanja i heuristike

• Prikaz relacijeAKO je rezervoar_goriva prazanONDA je vozilo u_mirovanju

• Prikaz preporukeAKO je godišnje_doba jesenI nebo je oblačnoI prognoza je kišaONDA je savjet uzeti_kišobran

Page 27: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Upotreba pravila• Prikaz uredbe

AKO je vozilo u_mirovanjuI rezervoar_za_gorivo je prazan ONDA uradi napuni_gorivo

• Prikaz plana postupanjaAKO je vozilo u_mirovanjuONDA provjeri rezervoar_za_gorivo

korak1 je izvedenAKO je korak1 izvedenI rezervoar_za_gorivo je punONDA djelovanje je provjeri_akumulator

korak2 je izveden

Page 28: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Ekspertni sustav

• Računalo sa unesenim stručnim znanjem– Ponaša se kao pametni suradnik– Rješava probleme na način stručnjaka– U bazu znanja uključuje novo znanje– Prikazuje znanje u čitljivom i razumljivom

obliku– Komunicira jednostavnim prirodnim jezikom– Objašnjava postupak zakjučivanja

Page 29: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Jezgra ekspertnog sustava

• Osnova za razvoj ekspertnih sustava zasnovanih na pravilima zaključivanja

• Ekspertni sustav bez baze znanja• Inženjer znanja dodaje znanje u obliku

pravila i podatke potrebne za rješavanje problema

Page 30: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Model produkcijskog sustavaKratkotrajna memorijaDugotrajna memorija

Produkcijska pravila

Baza podatakaČinjenice

Zaključivanje

Zaključak

Čovjek rješava problem primjenom znanja (izraženog produkcijskim pravilima i pohranjenog u dugotrajnoj memoriji) na zadani problem opisan karakterističnim informacijama, činjenicama (pohranjenim u kratkotrajnoj memoriji).

Page 31: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Osnovna struktura ekspertnog sustava

Page 32: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Struktura ekspertnog sustava

• Primjena na usko specijalizirano područje

• Koristi se heuristički način zaključivanja

• Jednostavno objašnjavanje postupka zaključivanja

• Simboličko zaključivanje –nenumerički podaci

• Približno zaključivanje sa nepotpunim i neizvjesnim podacima

Page 33: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Razvoj ekspertnog sustavaRazvojni tim ekspertnog sustava

Voditelj projekta

Korisnik sustava

Inženjer znanja ProgramerStručnjak domene

Ekspertni sustav

Page 34: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Usporedba stručnjaka, stručnog sustava i računalnog programa

Stručnjak Stručni sustav Računalni programZa rješavanje problema koristi približno, heurističko znanje

Za rješavanje problema uskog područja koristi znanje izraženo pravilima i simboličko zaključivanje

Za rješavanje općenito numeričkih problema koristi algoritme i podatke

Znanje u povezanom obliku Znanje odvojeno od mehanizma obradbe znanja

Znanje nije odvojeno od upravljačke strukture programa

Može detaljno objasniti slijed zaključivanja

Prati slijed aktiviranja pravila i objašnjava kako je dostignut određeni zaključak te zašto se zahtjevaju određeni podaci

Ne može objasniti kako je dostignut određeni rezultat i zašto je tražen pojedini podatak

Koristi približno zaključivanje i može zaključivati na temelju nepotpunih i neizrazitih informacija

Omogućava približno zaključivanje nepotpunim, neizvjesnim i neizrazitim podacima

Rješava probleme za koje su postoje potpuni i točni (egzaktni) podaci

Može pogriješiti kada su informacije nepotpune ili neizrazite

Može pogriješiti kada su informacije nepotpune ili neizrazite

Kada su podaci nepotpuni ili neizraziti ne daje (ispravno) rješenje

Kakvoća rješavanja se povećava učenjem i praksom. Postupak je polagan, neučinkovit i skup

Kakvoća rješavanja se povećava dodavanjem novih pravila ili prilagodbom starih. Novoprikupljena znanja jednostavno zamijenjuju postojeća

Kakvoća rješavanja se povećava promjenom programskog koda što utječe na postojeće znanje u programu i način njegove obrade. Promjene dijelova programa je teško izvoditi

Page 35: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Zaključivanje ekspertnog sustava

• Znanje ekspertnog sustava izraženo:– skupom pravila AKO-ONDA i – skupom činjenica o trenutnom stanju

• Mehanizam zaključivanja uspoređuje pravila iz baze znanja sa trenutnim činjenicama iz baze podataka

• Kada se uvjetni dio pravila preklopi sa činjenicom, pravilo se aktivira i izvede se posljedični dio pravila

• Aktiviranje pravila, dodavanjem nove činjenice, mijenja bazu podataka

Page 36: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Ciklus mehanizma zaključivanja

Page 37: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Objašnjavanje postupka zaključivanja

• Preklapanje podatka sa AKO dijelom pravila proizvodi sljedove (lance) zaključaka koji pokazuju način primjene pravila u postupku zaključivanja ekspertnog sustava –objašnjenje zaključivanja

Page 38: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjer zaključivanja

• Baza podataka početno sadrži činjenice A, B, C, D i E, a baza znanja 3 pravila:P1: AKO je Y istinito, I D je istinito, ONDA je Z istinitoP2: AKO je X istinito, I je B istinito, I je E istinito, ONDA je Y istinitoP3: AKO je A istinito, ONDA je X istinito

A

Y

E

B

X

D

A

Y

E

B

X

D

Page 39: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjena pravila

• Mehanizam zaključivanja donosi odluku o redoslijedu primjene (aktiviranju) pravila:– Zaključivanje prema naprijed

• Induktivno zaključivanje– Od pojedinačnog prema općem

– Zaključivanje prema natrag• Deduktivno zaključivanje

– Od općeg prema pojedinačnom

Page 40: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Zaključivanje prema naprijed

• Zaključivanje od poznatih podataka– Zaključivanje pokretano podacima– U svakom ciklusu se izvodi kao prvo najviše

pravilo u nizu– Aktiviranjem pravilo dodaje podatak u bazu

podataka– Svako pravilo se izvodi samo jednom– Postupak aktiviranja pravila se zaustavlja

kada više nije moguće aktivirati pravila

Page 41: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjer zaključivanja prema naprijed ...

Prijepis pravila u konjunktivni oblik, dopuna s dva pravilaP1: Y & D → ZP2: X & B & E → YP3: A → X P4: C → LP5: L & M → N

Page 42: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjer zaključivanja prema naprijed

1. ciklus 2. ciklus 3. ciklus

Baza podataka Baza podataka Baza podataka Baza podataka

Baza znanja Baza znanja Baza znanja Baza znanja

Preklap. Aktivir. Preklap. Aktivir. Preklap. Aktivir. Preklap. Aktivir.

Page 43: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjena zaključivanja prema naprijed

• Ekspertni sustavi sadrže stotine pravila koja proizvode nove valjane činjenice za nadopunu baze podataka

• Prikupljanje podataka i zaključivanje koje uvijek ne pridonosi opravdanju postavljenog cilja:

• Ako se želi zaključiti određena činjenica, zaključivanje prema naprijed je neučinkovito

• Pravilo P4: C → L ne doprinosi cilju, npr.utvrđivanju Z

Page 44: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Zaključivanje prema natrag• Zaključivanje pokretano ciljem

– Ekspertni sustav ima poznati cilj (hipotetičko rješenje) i mehanizam zaključivanja pokušava pronaći činjenice kojima opravdava, dokazuje cilj

• Pretraživanjem baze znanja se traže pravila koja mogu imati traženo rješenje u svom akcijskom dijelu pravila

• Ako se pronađe takvo pravilo, a uvjetni dio pravila se preklapa sa činjenicama u bazi podataka, pravilo se aktivira i cilj je dokazan (rijedak slučaj)

• Zato se pravilo privremeno pohranjuje u privremenu memoriju (složnik) i postavlja novi cilj, podcilj

• Pretraživanjem baze znanja se traže pravila koja mogu dokazati podcilj

• Postupak pohrane pravila se ponavlja sve dok više nema pravila kojima bi se dokazao trenutni podcilj

Page 45: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjer zaključivanja prema natrag ...

Cilj: Z Podcilj: Y Podcilj: X

Baza podataka Baza podataka Baza podataka

Baza znanja Baza znanja Baza znanja

1. prolaz 3. prolaz 2. prolaz

Page 46: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjer zaključivanja prema natrag

Baza podataka Baza podataka Baza podataka 4. prolaz 6. prolaz 5. prolaz

Podcilj: Y Podcilj: X Cilj: Z

Baza znanja Baza znanja Baza znanja Preklap. Aktivir. Preklap. Aktivir. Preklap. Aktivir.

Page 47: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Programski alati za izgradnju ekspertnih sustava

• Ljuska ekspertnih sustava– Mehanizam zaključivanja– Sučelja prema stručnjaku i korisniku– Bez baze znanja

• Programski jezik Prolog– http://www.swi-prolog.org/

Page 48: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Programski jezik Prolog

• Programiranje u logici– Deklarativno programiranje

• Prolog sustav sadrži mehanizam za obradu činjenica i produkcijskih pravila

• Simbolička (nenumerička) obrada– Rješavanje problema koji se mogu opisati

objektima i relacijama među objektima• Izgradnja baze podataka i baze znanja

Page 49: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Programiranje u Prolog-u /1

roditelj(K,L).roditelj(K,D).roditelj(T,D).roditelj(D,V).roditelj(D,G).roditelj(V,R).roditelj(V,S).

?- roditelj(X,R).X = V

?- roditelj(K,Y).?- roditelj(K,X),roditelj(X,Y).?- roditelj(X,D),roditelj(X,L).

Činjenice baze podataka

Upiti na bazu podataka

Page 50: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Programiranje u Prolog-u /2spol(K, muski).spol(T, zenski).spol(L, zenski).

musko(X):-spol(X, muski).zensko(X):-spol(X, zenski).

majka(X,Y):-zensko(X),roditelj(X,Y).djed(X,Z):-musko(X),roditelj(X,Y),roditelj(Y,Z).

sestra(X,Y):-zensko(X),roditelj(Z,X),roditelj(Z,Y),\=(X,Y).

predak(X,Z):-roditelj(X,Z).predak(X,Z):-roditelj(X,Y),predak(Y,Z)

Baza znanja – produkcijska praila

Page 51: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Prikaz znanja

a b c

d

e

d1 d2

d3

d4

d2

d5

grana(a, b, d1).grana(a, d, d2).grana(b, c, d2).grana(c, d, d3).grana(c, e, d4).grana(d, e, d5).

Kolika je udaljenost između čvora c i e??- grana(c, e, X).

grana(c, e, d4).

Između kojih čvorova udaljenost iznosi d2?

?- grana(X, Y, d2).grana(a, d, d2),grana(b, c, d2),

Page 52: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Heurističko znanje – Pronalaženje puta

• Ako je čvor X = čvoru Y, onda je popis putova prazan, P = [].

• U protivnom slučaju, pronaći put P’ koji počinje u čvoru Z do čvora Y i pronaći put od čvora X do čvora Z, izbjegavajući čvorove koji se već nalaze na putu P’.

put(X, Y, P). clan(X, [X | _]).put(X, Y, P) :- clan(X, [_ | Y]):-

grana(X, Z, U); clan(X, Y).grana(Z, X, U)),not(clan(Z, P)),put(Z, Y, [Y | P]).

Page 53: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Primjena heurističkog znanja

a b c

d

e

d1 d2

d3

d4

d2

d5

Koji putevi povezuju čvorove a i b?

?- put(a, b, X).

[a, b][a, d, c, b][a, d, e, c, b]....................

Page 54: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Klasifikacija objekata

pravilo(1,kat,prometna_sign,cestovna_sign,[1 ,2]). pravilo(2,kat,cestovna_sign,semafor,[3]). praviIo(3,kat,prometna_sign,cestovna_sign,[4])...............svojstvo(1, [nalazi,se,uz,krizanje]). svojstvo(2,[sadrzi,crvenu,boju]). svojstvo(3,[mijenja,boju])...............

Page 55: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

+++++++++++++++++++++++++++++++++++++++++++ FPZ—Prolog V.000623 ++ Prolog sustav za logicko modeliranje u ++ tehnologiji prometa +++++++++++++++++++++++++++++++++++++++++++?— [emklap].

Ekspertni modul za klasifikaciju objekata u prometu-------------------------------------------------------------------Baza znanja ( Upisati naziv datoteke ili “nova” ): klap.

IZBOR AKTIVNOSTI----------------------------Pocetak konzultacija (k) Pregled pravila (p) Upravljanje bazom (u) Kopiranje baze pravila u datoteku (d) Izlaz iz programa (i)

Izbor? k

Naziv najopcenitije poznate kategorije: prometna_signalizacija

Da li je istina nalazi se in krizanje ? dDa li je istina sadrzi crvenu boju ? iISPIS toka zakljucivanja UKLJUCEN Da li je istina sadrzi crvenu boju ? d

Kategorija: “cestovna_signalizacija” je podkategorija od “prometna_signalizacija” koristenjem ( Pravilo 3 )

Da li je istina mijenja boju ? zasto

Pokusava se ustanoviti ( Pravilo 2 ) da kategorija “cestovna_signalizacija” ima podkategoriju “semafor” I:Utvrdjeno je ( Pravilo 1 ) da kategorija “prometna_signalizacija” ima podkategoriju “cestovna_signelizacija” jer: —nalazi se uz krizanje i sadrzi crvenu boju.I: Utvrdjeno je “prometna_signa1izacija” kao pocetna kategorija konzultacije.

Rad ekspertnog sustava za klasifikaciju /1

Page 56: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Da li je istina mijenja boju ? nDa li je istina trokutastog je oblika ? nDa li je istina kruznog je oblika ? n

Podkategorija “cestovna_signalizacija” se ne moze utvrditi.

Da li zelite dodati novo klasifikacijsko pravilo? d

Koju podkategoriju kategorije “cestovna_signalizacija” promatrate? stop

Molim upisati svojstva koja su istinita za “stop” da bi predstavljala podkategoriju od “cestovna_signalizacija” ( zavrsiti s ‘.‘ ) : sesterokutni oblik i ima bijeli rub.

Moze li se kategorija “stop” dalje kategorizirati? nPohranjena tvrdnja: sesterokutni oblik Pohranjena tvrdnja: ima bijeli rub

Dodano pravilo: Pravilo 21: Kategorija “stop” je podkategorija od “cestovna_signalizacija” ako: sesterokutni oblik ima bijeli rub

Zakljucak: Na temelju postojecih cinjenica se zakljucuje da zakljucnu kategoriju od “prometna_signalizacija” predstavlja “stop”. KRAJ IZBORA

Pregled postojecih kategorija (k) Pregled postojecih tvrdnji (t) Pregled toka zakljucivanja (z) Prikaz izbora (i) Prestanak konzultacija (p)

Izbor? - z

Rad ekspertnog sustava za klasifikaciju /2

Page 57: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Utvrdjeno ( Pravilo 21 ) da kategorija “cestovna_signalizacija” ima podkategoriju “stop”

Utvrdjeno ( Pravilo 1 ) da kategorija “prornetna_signalizacija” irna podkategoriju “cestovna_signalizacija” jer: —nalazi se uz krizanje i sadrzi crvenu boju

Utvrdjeno je “prometna_signalizacija” kao pocetna kategorija konzultacije.

Izbor? t

Utvrdjene tvrdnje su: nalazi se uz krizanje nije istina mijenja boju nije istina trokutastog je oblika nije istina kruznog je oblika sesterokutni oblik ima bijeli rub

Izbor? k

Kategorije su: prometna_signalizacija stop cestovna_signalizacija

Izbor? p

IZBOR AKTIVNOSTI----------------Pocetak konzultacija (k) Pregled pravila (p) Upravljanje bazom (u) Kopiranje baze pravila u datoteku (d) Izlaz iz programa (i)

Izbor? k

Naziv najopcenitije poznate kategorije: prometna_signalizacija

Rad ekspertnog sustava za klasifikaciju /3

Page 58: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Da li je istina nalazi se uz krizanje ? npDa li je istina pored prolaze automobili ? npDa li je istina nalazi se uz prugu ? d

Kategorija: “zeljeznicka_signalizacija” je podkategorija od “prometna_signalizacija” koristenjem ( Pravilo 4 )

Da li je istina ima elektricno napajanje ? d

Kategorija: “elektronicki_uredjaj” je podkategorija od “zeljeznicka_signalizacija” koristenjem ( Pravilo 5 )

Da li je istina sluzi za svjetlosnu signalizaciju ? n

Podkategorija “elektronicki_uredjaj” se ne moze utvrditi.

Razlog je: nije poznato nalazi se uz krizanje nije poznato pored prolaze autonobili

Zelite li dodati novo klasifikacijsko pravilo? d

Koju podkategoriju kategorije “elektronicki_uredjaj” promatrate? racunalo

Molim upisati svojstva koja su istinita za “racunalo” da bi predstavljala podkategoriju od “elektronicki_uredjaj” ( zavrsiti s ‘.‘) : nalazi se uz krizanje.Moze li se kategorija “racunalo” daije kategorizirati? n

Svojstvo nalazi se uz krizanje nije konzistentno s prethodno utvrdjenom tvrdnjom nije poznato nalazi se uz krizanje

Pravilo nije prihvaceno. Zelite li pokusati ponovo? dKoju podkategoriju kategorije “elektronicki_uredjaj” promatrate? racunalo

Molim upisati svojstva koja su istinita za “racunalo” da bi predstavljala podkategoriju od “elektronicki_uredjaj” ( zavrsiti s ‘.‘ ): sluzi za prijenos podataka.

Rad ekspertnog sustava za klasifikaciju /4

Page 59: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Moze li se kategorija “racunalo” dalje kategorizirati? n

Pohranjena tvrdnja: sluzi za prijenos podataka

Dodano pravilo: Pravilo 22: Kategorija “racunalo” je podkategorija ad “elektronicki_uredjaj” ako: sluzi za prijenos podataka

Zakljucak: Na temelju postojecih cinjenica se zakljucuje da zakljucnu kategoriju od “prometna_signalizacija” predstavlja “racunalo”.

KRAJ IZBORA -----------Pregled postojecih kategorija (k) Pregled postojecih tvrdnji (t) Pregled toka zakljucivanja (z) Prikaz izbora (i) Prestanak konzultacija (p)

Izbor? p

IZBOR AKTIVNOSTI----------------Pocetak konzultacija (k) Pregled pravila (p) Upravijanje bazon (u) Kopiranje baze pravila u datoteku (d) Izlaz iz programa (i)

Izbor? i?- Rad ekspertnog sustava za klasifikaciju /5

Page 60: Doktorski studij - fpz.unizg.hr · Kvantifikatori • Utvrđuje broj vrijednosti/objekata varijable – kvantifikator sveobuhvatnosti ( ) • rečenica je valjana ako se varijabla

Ekspertni sustavi sa pravilima• Durkin, J. (1994). Expert Systems Design and Development. Prentice Hall,

Englewood Cliffs, NJ. • Feigenbaum, L.A., Buchanan, B.G. and Lederberg, J. (1971). On generality and

problem solving: a case study using the DENDRAL program, Machine Intelligence 6, B. Meltzer and D. Michie, eds, Edinburgh University Press, Edinburgh, Scotland, pp.165—190.

• Giarratano, J. and Riley, G. (1998). Expert Systems: Principles and Programming, 3rd edn. PWS Publishing Company, Boston.

• Negnevitsky, M. (1996). Crisis management in power systems: a knowledge based approach, Applications of Artificial Intelligence in Engineering XI, R.A. Adey, G. Rzevski and AK. Sunol, eds, Computational Mechanics Publications, Southampton, UK, pp.122—141.

• Newell, A. and Simon, HA. (1972). Human Problem Solving. Prentice Hall, Englewood Cliffs, NJ.

• Shirai, Y. and Tsuji, J. (1982). Artificial Intelligence: Concepts, Technologies and Applications. John Wiley, New York.

• Shortliffe, E.H. (1976). MYCIN: Computer-Based Medical Consultations. Elsevier Press, New York.

• Waterman, D.A. (1986). A Guide to Expert Systems. Addison-Wesley, Reading, MA. • Waterman, D.A. and Hayes-Roth, F. (1978). An overview of pattern-directed

inference systems, Pattern-Directed Inference Systems, D.A. Waterman and F. Hayes-Roth, eds, Academic Press, New York.