18
1 Ekspertni sistemi Kaj so ekspertni sistemi? Zgradba ekspertnih sistemov Predstavitev znanja s pravili in mreža sklepanja Sklepanje in pojasnjevanje v ekspertnih sistemih Obravnavanje negotovosti v ekspertnih sistemih Kaj so ekspertni sistemi? Računalniški programi, ki rešujejo probleme z določenega področja z uporabo znanja in se pri tem obnašajo kot ljudje – eksperti Razlika od običajnih računalniških programov: pojasnjujejo svoje odgovore (“Kako?” “Zakaj?”) – delajo z nepopolnimi in nezanesljivimi podatki (mehko znanje) Uporabni so na področjih, ki so slabo formalizirana in kjer je potrebna intuicija

30 Ekspertni sistemi - dis.ijs.si · 1 Ekspertni sistemi • Kaj so ekspertni sistemi? • Zgradba ekspertnih sistemov • Predstavitev znanja s pravili in mreža sklepanja • Sklepanje

  • Upload
    others

  • View
    32

  • Download
    0

Embed Size (px)

Citation preview

1

Ekspertni sistemi

• Kaj so ekspertni sistemi?

• Zgradba ekspertnih sistemov

• Predstavitev znanja s pravili in mreža sklepanja

• Sklepanje in pojasnjevanje v ekspertnih sistemih

• Obravnavanje negotovosti v ekspertnih sistemih

Kaj so ekspertni sistemi?

• Računalniški programi, ki rešujejo probleme z določenega področja z uporabo znanja in se pri tem obnašajo kot ljudje – eksperti

• Razlika od običajnih računalniških programov:– pojasnjujejo svoje odgovore (“Kako?” “Zakaj?”)– delajo z nepopolnimi in nezanesljivimi podatki

(mehko znanje)

• Uporabni so na področjih, ki so slabo formalizirana in kjer je potrebna intuicija

2

Primeri ekspertnih sistemov

• MYCIN: diagnosticiranje infekcijskih obolenj

• AL/X: odkrivanje okvar v zahtevnih proizvodnih procesih

• Prospector: pomoč pri geoloških raziskavah

• SU/X: razpoznavanje objektov in njihovega položaja na osnovi signalov iz merilnih instrumentov

• XCON: konfiguriranje računalnikov družine VAX (sprva R1)

• Drilling Advisor: pomoč pri reševanju problemskih situacij na naftnih ploščadih

Primerjava s konvencionalnimi programi

Konvencionalni programi Ekspertni sistemi

obdelujejo podatke (npr. izračuni) uporabljajo znanje (npr. svetovanje)

primerni so za formalizirana, eksaktno opisana področja

primerni so za neformaliziranapodročja, kjer so potrebne izkušnje in intuicija

zahtevajo popolne podatke znajo obravnavati pomanjkljive in nezanesljive podatke (mehko znanje)

“črne škatle”: ne pojasnjujejo rezultatov

“prozorne škatle”: pojasnjujejo rezultate (transparentnost)

3

Zgradba ekspertnih sistemov

baza znanjamehanizemsklepanja

uporabniškivmesnik

uporabnik

Lupina ekspertnega sistema

• Angl. expert system shell

• Problemsko neodvisni del ekspertnega sistema:lupina ES = mehanizem sklepanja + uporabniški vmesnik

• Ideja: nov ekspertni sistem zgradimo z vgradnjo problemsko specifičnega dela (baze znanja) v lupino

• Primer: E-MYCIN (empty MYCIN)

4

Predstavitev znanja s pravili

• Pravila ČE-POTEM (IF-THEN) ali produkcijska pravila

• Primeri:

ČE pogoj P POTEM zaključek Z

ČE situacija S POTEM akcija A

ČE S POTEM A z verjetnostjo P

Primer pravila iz ekspertnega sistema MYCIN (Shortliffe, 1976)

5

Primera pravil iz ekspertnega sistema AL/X (Reiter, 1980)

Prednosti predstavitve znanja s pravili

• Modularnost:vsako pravilo predstavlja dobro definiran del znanja

• Inkrementalnost:možnost postopnega dodajanja, širjenja baze znanja

• Enostavnost spreminjanja

• Podpora transparentnosti ekspertnih sistemov:omogočajo odgovarjanje na vprašanja Kako?, Zakaj?

6

Mreža sklepanja

• Angl. inference network

• Predstavitev baze znanja, podane s pravili, v obliki grafa

• Vozlišča: dogodki (opažanja, akcije itd.)

• Povezave: pravila, ki opisujejo relacije med dogodki

• Dogodkom in pravilom pripisana veljavnost (da/ne) ali verjetnost (mera zaupanja)

• Izpeljevanje veljavnosti oz. širjenje (angl. propagation) verjetnosti po mreži: sklepanje (angl. reasoning, inference)

Primer: AL/X (Reiter, 1980)

7

Primer: puščanje vode v stanovanju

Sklepanje v ekspertnih sistemih

• Proženje pravil in izpeljevanje dejstev

• Dve osnovni strategiji:– veriženje pravil naprej– veriženje pravil nazaj

• Pogosto: kombiniranje obeh strategij

8

Veriženje pravil naprej

• Forward chaining (data driven)

• Začnemo z znanimi podatki, dejstvi, ugotovitvami, izpeljujemo nova dejstva, hipoteze, zaključke

• Proženje pravil v smeri naprej, glede na pogoj (IF)

• Uporaba: nadzor in diagnostika sistemov

Primer veriženja pravil naprej

• hall_wet• bathroom_dry• window_closed?

• problem_in_kitchen• no_water_from_outside• leak_in_kitchen

9

Veriženje pravil nazaj

• Backward chaining (goal driven)

• Preverjanje izbrane hipoteze:začnemo s hipotezo, tvorimo in rešujemo podcilje

• Proženje pravil v smeri nazaj, glede na zaključek (THEN)

• Uporaba: preverjanje diagnoz, načrtovanje (dizajn)

Primer veriženja pravil nazaj

• hall_wet• bathroom_dry• window_closed• ? leak_in_kitchen

• ? problem_in_kitchen• yes• ? no_water_from_outside• yes• leak_in_kitchen

?

10

Kombiniranje veriženja pravil naprej in nazaj

(Bratko, 1990)

Pojasnjevanje v ekspertnih sistemih

• Pojasnjevanje naredi ekspertne sisteme transparentne, uporabniku omogoča razumevanje in preverjanje rezultatov

• Pojasila na zahtevo uporabnika tvori mehanizem sklepanja

• Pojasnjevanje obsega: – odgovarjanje na vprašanja “Kako?”– odgovarjanje na vprašanja “Zakaj?”

11

Odgovarjanje na vprašanja “Kako?”

• “Kako si prišel do tega zaključka?”

• Mehanizem sklepanja tvori pojasnilo v obliki verige sklepanj, ki vsebuje pravila in podcilje, iz katerih je bil sklep izpeljan

Primer

leak_in_kitchenProved by the rule:IF problem_in_kitchen AND no_water_from_outside THEN leak_in_kitchen

problem_in_kitchenProved by the rule: IF hall_wet AND bathroom_dry THEN problem_in_kitchen

hall_wet Given by user

bathroom_dry Given by user

no_water_from_outsideProved by the rule: IF window_closed OR no_rain THEN no_water_from_outside

window_closedGiven by user

12

Odgovarjanje na vprašanja “Zakaj?”

• “Zakaj potrebuješ ta podatek?”

• Mehanizem sklepanja tvori pojasnilo v obliki verige pravil in ciljev, ki povezuje zahtevani podatek in začetno vprašanje

• Z njo pokaže, kako namerava uporabiti zahtevani podatek

Primer

??

13

Obravnavanje negotovosti v ekspertnih sistemih

• Kategorične domene: odgovor da/ne(tradicionalna dvovrednostna logika)

• V praksi: nezanesljivost dejtev in pravil (mehko znanje, večvrednostna logika)

• Izražanje negotovosti:

Opisno: res, zelo verjetno, verjetno, možno, nemogoče ipd.

Z realnimi števili z določenega intervala, npr. [0,1], [–5,5]:verjetnost, zaupanje, faktorji gotovosti itd.

Enostavna shema obravnavanja negotovosti

• Merilo (ne)gotovosti (angl. certainty, c): [0,1]

• Negotovost je pripisana dogodkom (trditvam) in pravilom

• Obravnavanje negotovosti v logičnih relacijah in pravilih:če je c(P1) = c1, c(P2) = c2, potem

c(P1 AND P2) = min(c1, c2)c(P1 OR P2) = max(c1, c2)c(NOT P1) = 1 – c1

IF P1 THEN P2 with certainty Cc(P2) = C·c1

14

Primer sklepanja z enostavno shemo

0,9

Primer sklepanja z enostavno shemo (2)

• c(kitchen_dry) = 0 • c(hall_wet) =1• c(bathroom_dry) = 1• c(window_closed) = 0• c(no_rain) = 0,8• c(leak_in_kitchen) = ?

• c(leak_in_bathroom) = 0• c(problem_in_kitchen) = 0,9• c(no_water_from_outside) = 0,8• c(leak_in_kitchen) = 0,8

0,9

0

1

1

0

0,8

0

0,9

0,8

0,8

15

Obravnavanje negotovosti v ekspertnih sistemih AL/X in Prospector

• Verjetnost (i. tudi subjektivna gotovost): [0,1]

• Relacije med dogodki: “mehke” implikacijeif E then H with strength (N,S)

E … evidenca, predpostavka H … hipoteza

Moč (angl. strength) določena z dvema parametroma:N … faktor potrebnosti (angl. necessity)S … faktor zadostnosti (angl. sufficiency)

Pomen pravil

• E velja: čim večji je S, tem bolj verjetno tudi H velja

• E ne velja: čim večji je N, tem bolj verjetno tudi H ne velja

• Gotovost E med 0 in 1:gotovost H dobimo z interpolacijo

16

Verjetnostno sklepanje

• Dogodkom so pripisane verjetnosti

• Iz spremembe verjetnosti predpostavke sklepamo na spremembo verjetnosti hipoteze

• Upanje (anl. odds):

Interpolacijsko pravilo za faktor M

M

p

17

Interpolacijsko pravilo za faktor M (2)

M

p

Verjetnostno obravnavanje osnovnih logičnih relacij

18

Literatura

• Bratko, I. (1990). Prolog Prolog Programming forArtificial Intelligence. Wokingham: Addison-Wesley.

• Jackson, P. (1990). Introduction to Expert Systems, Third edition. Harlow: Addison-Wesley.