ekspertni_sistemi

47
EKSPERTNI SISTEMI Bojan Tomić E-mail: [email protected]

Upload: rendula1

Post on 20-Dec-2015

7 views

Category:

Documents


1 download

DESCRIPTION

Ekspertni_sistemi

TRANSCRIPT

Page 1: Ekspertni_sistemi

EKSPERTNI SISTEMI

Bojan Tomić

E-mail: [email protected]

Page 2: Ekspertni_sistemi

Definicija ekspertnog sistema

Računarski program kojim se emulira rešavanje problema na način na koji to čini ekspert (čovek).

Da bi neki program mogao da se nazove ES on mora da:− Sadrži ekspertsko znanje iz neke oblasti− Omogućava automatizovano rezonovanje

Page 3: Ekspertni_sistemi

Model rezonovanja čoveka

Page 4: Ekspertni_sistemi

Model rezonovanja čoveka

Dugoročna memorija sadrži domensko znanje (domen = oblast):“Ako je napolju oblačno, verovatno će da pada

kiša”Kratkoročna memorija sadrži činjenice“Napolju je oblačno”

Rasuđivanje - spajanje sadržaja iz obe vrste memorije i izvođenje zaključaka“Padaće kiša”

Page 5: Ekspertni_sistemi

Arhitektura ekspertnog sistema

Page 6: Ekspertni_sistemi

Baza znanja

Sadrži domensko znanjeOvo znanje mora da bude formalizovano (da bi računar mogao da ga koristi)‏Najčešće se koristi tehnika pravila za predstavljanje znanja u okviru ES

IFNapolju je oblačno

THENPadaće kiša

Page 7: Ekspertni_sistemi

Baza znanja

Pravila se sastoje iz IF i THEN dela i povezuju uslov (premisu) sa zaključkom:

IFAuto neće da “upali” (premisa) ‏

THENKvar može da bude uelektričnom sistemu (zaključak)‏

Premisa može da bude i složena (više jednostavnih premisa povezanih logičkim operatorima AND, OR i NOT).

Page 8: Ekspertni_sistemi

Baza znanja

Osnovna i najvažnija karakteristika pravila je da mogu da se “ulančavaju” (zaključak jednog pravila predstavlja premisu drugog):IF Auto neće da “upali” AND Napon na akum.<12VTHEN Akumulator je prazanIF Akumulator je prazanTHEN Napuni akumulatorIF Auto neće da “upali” AND Napon na akum.=12VTHEN Anlaser je neispravanIF Anlaser je neispravanTHEN Zameni anlaser

Page 9: Ekspertni_sistemi

Radna memorija

Sadrži činjenice i zaključkeZaključci nisu ništa drugo nego činjenice koje su nastale kao posledica rezonovanjaI činjenice moraju da budu formalizovaneNajčešće se koriste objekti (klase) za predstavljanje činjenica u okviru ES:Covek.visina = 185Vreme.temperatura = 17Automobil.problem = “Neće da upali”Automobil.NaponNaAkumulatoru = 12.3

Page 10: Ekspertni_sistemi

Radna memorija

Kada se pravila i objekti koriste zajedno za predstavljanje znanja, to izgleda ovako:

IF Auto.problem = “neće da upali” ANDAuto.napon_na_akumulatoru < 12

THENAuto.uzrok_problema = “Prazan akumulator”

IF Auto.uzrok_problema = “Prazan akumulator”

THENAuto.resenje = “Napuni akumulator”

Page 11: Ekspertni_sistemi

Mehanizam za zaključivanje

Omogućava automatizovano rezonovanje

Kombinuje znanje iz baze znanja i činjenice iz radne memorije i stvara nove zaključke

Izbor odgovarajuće tehnike zaključivanja zavisi od korišćene tehnike za predstavljanje znanja

Page 12: Ekspertni_sistemi

Mehanizam za zaključivanje

Najpopularnije tehnike za zaključivanje:

− Ulančavanje unapred (Forward chaining) ‏

− Ulančavanje unazad (Backward chaining) ‏

Ove dve tehnike mogu da se koriste isključivo u kombinaciji sa pravilima

Page 13: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred− Zaključivanje “vođeno podacima” (data-driven) ‏

− Na osnovu ulaznih podataka se pokušava zaključiti što više o problemu

− Poznat i kao “prepoznaj-razreši-izvrši” ciklus (recognize-resolve-act) ‏

Page 14: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred - algoritam

Page 15: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – algoritamKorak 1 – Pronaći sva pravila čije premise su

zadovoljene (ova pravila čine konfliktni skup).

Korak 2 – Iz konfliktnog skupa izabrati samo jedno pravilo (korišćenjem strategije za rešavanje konflikta).Ako je konfliktni skup prazan, to je kraj.

Korak 3 – Izvršiti izabrano pravilo (uneti zaključke tog pravila kao činjenice u radnu memoriju) i ići na korak 1.

Page 16: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – strategije za rešavanje konflikta− Izbor prvog pravila

− Izbor pravila sa najvišim prioritetom

− Izbor najspecifičnijeg pravila (sa najsloženijom premisom) ‏

− Izbor pravila koje se odnosi na najskorije dodate činjenice

− Svako pravilo može samo jednom da se izvršiNajčešće se koristi više strategija odjednom

Page 17: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer− Neka baza znanja sadrži sledeća pravila:IF Auto neće da “upali” AND Napon na akum.<12VTHEN Akumulator je prazanIF Akumulator je prazanTHEN Napuni akumulatorIF Auto neće da “upali” AND Napon na akum.=12VTHEN Anlaser je neispravanIF Anlaser je neispravanTHEN Zameni anlaser

Page 18: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer− Neka radna memorija sadrži sledeće početne činjenice:

Auto neće da “upali”Napon na akumulatoru = 11V

Page 19: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred - primer (početak)‏

Page 20: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer (ciklus 1 korak 1) ‏

Page 21: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer (ciklus 1 korak 2) ‏

Page 22: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer (ciklus 1 korak 3) ‏

Page 23: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer (ciklus 2 korak 1) ‏

Page 24: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer (ciklus 2 korak 2) ‏

Page 25: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer (ciklus 2 korak 3) ‏

Page 26: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer (ciklus 3 korak 1) ‏

Page 27: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unapred – primer (kraj) ‏

Page 28: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad− Zaključivanje “vođeno ciljem” (goal-driven) ‏

− Pokušava se dokazati samo jedan konkretan zaključak (cilj) ‏

− Zaključak koji se dokazuje je činjenica iz THEN dela nekog pravila

− Agenda ciljeva – hijerarhijska struktura ciljeva koje je potrebno dokazati da bi se dokazao osnovni cilj

− Ne posmatraju se svi podaci već samo oni koji mogu da pomognu dokazivanju cilja

Page 29: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad - algoritam

Page 30: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad - primer− Isti skup pravila i ulaznih činjenica kao u

prethodnom primeru− Osnovni cilj koji je potrebno dokazati:

“Napuni akumulator”

Page 31: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad – primer (početak)‏

Page 32: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad – primer (ciklus 1 korak 1) ‏

Page 33: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad – primer (ciklus 1 korak 2) ‏

Page 34: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad – primer (ciklus 2 korak 1) ‏

Page 35: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad – primer (ciklus 2 korak 2) ‏

Page 36: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad – primer (ciklus 3 korak 1) ‏

Page 37: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad – primer (ciklus 3 korak 1A) ‏

Page 38: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad – primer (ciklus 3 korak 1B) ‏

Page 39: Ekspertni_sistemi

Mehanizam za zaključivanje

Ulančavanje unazad – primer (kraj) ‏

Page 40: Ekspertni_sistemi

Mehanizam za objašnjavanje

Formira dve vrste objašnjenja o zaključivanju ES

ZAŠTO – objašnjenje o tome zašto ES postavlja određeno pitanje

KAKO – objašnjenje o tome kako je ES stigao do rešenja

Objašnjenja se često definišu u formi “učaurenog” teksta:

“Unapred utvrđene rečenice koje mogu da imaju i dinamičke delove npr vrednosti promenljivih”

Page 41: Ekspertni_sistemi

Mehanizam za objašnjavanje

Objašnjenje “Zašto” - primerES: Da li auto hoće da upali?

Korisnik: NE

ES: Koliki je napon na akumulatoru?

Korisnik: ZAŠTO?

ES: Ako auto neće da upali, a napon na akumulatoru je manji od 12V onda je akumulator prazan i to je problem.

Page 42: Ekspertni_sistemi

Mehanizam za objašnjavanje

Objašnjenje “Kako” - primer (početak)‏

Page 43: Ekspertni_sistemi

Mehanizam za objašnjavanje

Objašnjenje “Kako” - primer (korak 1) ‏

Page 44: Ekspertni_sistemi

Mehanizam za objašnjavanje

Objašnjenje “Kako” - primer (korak 1A) ‏

Page 45: Ekspertni_sistemi

Mehanizam za objašnjavanje

Objašnjenje “Kako” - primer (korak 2) ‏

Page 46: Ekspertni_sistemi

Mehanizam za objašnjavanje

Objašnjenje “Kako” - primer (korak 2A) ‏

Page 47: Ekspertni_sistemi

Mehanizam za objašnjavanje

Objašnjenje “Kako” - primer (kraj) ‏