• Nie Znaleziono Wyników

Systemy ekspertowe Systemy ekspertowe

N/A
N/A
Protected

Academic year: 2021

Share "Systemy ekspertowe Systemy ekspertowe"

Copied!
56
0
0

Pełen tekst

(1)

Systemy ekspertowe Systemy ekspertowe

Wnioskowanie w systemach regułowych

Część piąta

Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi uważnego w nim uczestnictwa.

Opracowanie to jest chronione prawem autorskim. Wykorzystywanie jakiegokolwiek fragmentu w celach innych niż nauka własna jest nielegalne.

Dystrybuowanie tego opracowania lub jakiejkolwiek jego części oraz wykorzystywanie zarobkowe bez zgody autora jest zabronione.

Roman Simiński

siminski@us.edu.pl

www.us.edu.pl/~siminski Autor

Kontakt

(2)

System z bazą wiedzy System z bazą wiedzy

System z bazą wiedzy Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :2

Koncepcja systemu z bazą wiedzy – idea

Następuje zmiana filozofii tworzenia systemu. Zamiast klasycznego podejścia algorytmiczego (tzw. programowanie imperatywne):

Algorytmy + struktury danych = programy

Stosujemy podejście deklaratywne:

Wiedza + fakty + wnioskowanie = rozumowanie

(3)

System z bazą wiedzy System z bazą wiedzy

System z bazą wiedzy Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :3

Koncepcja systemu z bazą wiedzy – organizacja

Wiedza dziedzinowa

Wiedza ekspercka, wiedza książkowa, doświadczenie, eksperymenty, eksploracja danych ... .

Akwizycja wiedzy Zapis w postaci reguł

B a z a w i e d z y F a k t y

Aktualne informacje o przedmiocie wnio- skowania, np.:

osobie, urządzeniu, organizacji, ... .

W n i o s k o w a n i e

Nowe informacje

(4)

System z bazą wiedzy System z bazą wiedzy

System z bazą wiedzy Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :4

Koncepcja systemu z bazą wiedzy – czego oczekujemy?

Wiedza dziedzinowa

Wiedza ekspercka, wiedza książkowa, doświadczenie, eksperymenty, eksploracja danych ... .

Akwizycja wiedzy Zapis w postaci reguł

B a z a w i e d z y F a k t y

Aktualne informacje o przedmiocie wnio- skowania, np.:

osobie, urządzeniu, organizacji, ... .

W n i o s k o w a n i e

Nowe informacje,

czyli CO?

(5)

System z bazą wiedzy System z bazą wiedzy

System z bazą wiedzy Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :5

Koncepcja systemu z bazą wiedzy – co możemy otrzymać?

B a z a w i e d z y F a k t y

W n i o s k o w a n i e

W typowych systemach regułowych nowa informacje to:

Nowe, nieznane początkowo fakty Potwierdzone przypuszczenia (hipotezy)

Informacje o przedmiocie

wnioskowania. Dane wejściowe.

Potencjał intelektualny systemu.

Wiedza zapisana w postaci reguł

(6)

System z regułową bazą wiedzy System z regułową bazą wiedzy

Regułowa reprezentacja wiedzy Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :6

Reprezentacja wiedzy w postaci reguł

Istnieje wiele formatów zapisu reguł. Koncepcja jest jednak zwykle ta sama:

Przesłanki Konkluzje

Z wykorzystaniem zmiennych zdaniowych:

p q

p – procesor się przegrzewa, q – sprawdź układ chłodzenia

Z wykorzystaniem predykatów:

P(x) Q(x)

P(x) – procesor komp. x się przegrzewa, Q(x) – sprawdź chłodzenie komp. x

Z wykorzystaniem dwójek atrybut-wartość:

if stan_procesora = przegrzany

then akcja_serwisowa = sprawdź_układ_chłodzenia

(7)

Reprezentacja wiedzy w postaci reguł Reprezentacja wiedzy w postaci reguł

Regułowa reprezentacja wiedzy Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :7

Przykłady różnych reguł wykorzystujących dwójki atrybut-wartość

If cisnienie_oleju = niskie

Then rodzaj_awarii = wyciek_oleju If rodzaj_awarii = wyciek_oleju

Then akcja_serwisowa = zatrzymaj_prace_urzadzenia If kapital_wlasny = wysoki and cena_akcji = wysoka Then ryzyko_inwestycyjne = niskie

If pierwiastek = metal and stan_skupienia = ciecz Then nazwa = rtec

If rodzaj_trunku = whisky and ilosc_trunku = pol_litra_na_leb Then samopoczucie_dnia_nastepnego = kac

Regułowa reprezentacja wiedzy pozwala na opisywanie związków przyczynowo—

skutkowych, relacji, powiązań. Nie jest istotna dziedzina a charakter opisywanych powiązań.

(8)

Modus ponens

Reguły

Reprezentacja wiedzy w postaci reguł Reprezentacja wiedzy w postaci reguł

Regułowa reprezentacja wiedzy Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :8

Co to znaczy, że reguła jest spełniona?

Jeżeli przesłanki reguły są prawdziwe (inaczej mówiąc, są faktami) mówimy, że reguła jest spełniona i może zostać uaktywniona (odpalona). W wyniku uaktywnienia reguły, jej konkluzja staje sie nowym faktem.

r1: if stan_procesora = przegrzany

then akcja_serwisowa = sprawdź_układ_chłodzenia

Fakty

stan_procesora = przegrzany

Fakty

stan_procesora = przegrzany

akcja_serwisowa = sprawdź_układ_chłodzenia

N o w y f a k t

O d p a l e n i e r e g u ł y r 1

p q

p

q

(9)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :9

Wnioskowanie – na czym ono polega?

W systemach z bazą wiedzy proces wnioskowania jest realizowany przez moduł wnioskowania. W literaturze anglojęzycznej moduł ten znany jest jako inference engine.

Wnioskowanie definiuje się na wiele różnych sposobów. Przyjmijmy, że:

Proces wnioskowania polega na wypracowywaniu nowych stwierdzeń uznawanych za prawdziwe, opierając się na wiedzy zgromadzonej w bazie wiedzy oraz na

wcześniej znanych stwierdzeniach.

Proces wnioskowania odbywa się zgodnie z wybraną metodą wnioskowania, wywodzącą się najczęściej z nauk matematycznych – logiki, rachunku

prawdopodobieństwa, statystyki.

(10)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :10

Wnioskowanie – czego potrzebujemy?

Baza faktów

Tutaj przechowujemy stwierdzenia uznawane za prawdziwe

Zmienia swoją zawartość w trakcie wnioskowania

Baza wiedzy

Tutaj przechowujemy wiedzę zapisaną w postaci reguł

Zwykle nie zmienia swojej zawartości w trakcie wnioskowania

Moduł wnioskowania

Najważniejszym elementem jest interpreter reguł. Jego działanie zależy

od wybranego rodzaju wnioskowania i wybranej strategii jego realizacji

Moduł objaśnień

Pozwala na uzyskiwanie objaśnień przebiegu

wnioskowania jak i jego wyników

Moduł komunikacji z otoczeniem Sterowanie

i wymiana danych

(11)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :11

Dwie podstawowe strategie wnioskowania

Powszechnie wykorzystuje się dwie metody wnioskowania:

Wnioskowanie w przód, zwane też wnioskowaniem progresywnym. Polega ono na uaktywnianiu reguł spełnionych, a więc takich, których przesłanki są w zbiorze

faktów. Uaktywnienie reguły powoduje dopisanie nowego faktu, co może spowodować, że spełniona i potem uaktywniona może zostać kolejna reguła.

Wnioskowanie w przód nie może odbyć się bez faktów. Mówi się, że jest ono sterowane faktami ( ang. data driven).

Wnioskowanie wstecz, zwane też regresywnym. Polega ono na potwierdzeniu prawdziwości postawionej hipotezy, zwanej celem wnioskowania. Hipoteza jest potwierdzona wtedy, gdy istnieje reguła, której przesłanki są w bazie faktów a konkluzja zgodna jest z hipotezą. Ustalenie prawdziwości przesłanek może powodować konieczność uaktywnienia wielu reguł.

Wnioskowanie wstecz nie może odbyć się bez ustalonej hipotezy, stanowiącej cel wnioskowania. Mówi się, że jest ono sterowane celem ( ang. goal driven).

(12)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :12

Koncepcja wnioskowania w przód

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

(13)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :13

Koncepcja wnioskowania w przód

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Szukamy reguł, których przesłanki są faktami

(14)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :14

Koncepcja wnioskowania w przód

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

(15)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :15

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Jest jedna taka reguła – r1, uaktywniamy ją,

dopisujemy nowy fakt

(16)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :16

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

(17)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :17

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

Reguła r1 już zadziałała, wyłączamy ją

z dalszych poszukiwań

(18)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :18

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

(19)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :19

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

Ponownie szukamy reguł,

których przesłanki są faktami

(20)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :20

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

(21)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :21

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

Jest jedna taka reguła – r3, uaktywniamy ją,

dopisujemy nowy fakt

(22)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :22

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

co_robić = iść_do_domu

(23)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :23

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

co_robić = iść_do_domu

Reguła r3 już zadziałała, wyłączamy ją

z dalszych poszukiwań

(24)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :24

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

co_robić = iść_do_domu

(25)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :25

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

co_robić = iść_do_domu

Ponownie szukamy reguł,

których przesłanki są faktami

(26)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :26

Koncepcja wnioskowania w przód Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

co_robić = iść_do_domu Nie ma

takich reguł

(27)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :27

Wynikiem wnioskowania w przód są nowe fakty Fakty

Dane wejściowe

przedmiot = nudny zmęczenie = tak

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Nowe fakty

wykład = nudny

co_robić = iść_do_domu

To udało się wywnioskować opierając się na regułach

i faktach inicjujących

(28)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :28

Algorytm wnioskowania w przód Dane wejściowe:

Zbiór reguł: R = {r1, r2, ... r i, ... rm} Zbiór faktów: F= {f1, f2, ... f i, ... fn} Dane robocze:

Zbiór reguł spełnionych S R, tzn. takich, których przesłanki są w zbiorze F.

Zbiór reguł aktywowanych A R, tzn. takich, które zostały odpalone.

Dane wyjściowe:

Zbiór F rozszerzony o nowe fakty: fn+1, fn+1 , ... fk : F= {f1, f2, ... f i, ... fn, fn+1, fn+1 , ... fk}

(29)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :29

Algorytm wnioskowania w przód Algorytm:

Na podstawie F i R wyznacz zbiór S While S ≠ ∅ Do

Wybierz regułę ri S zgodnie z obowiązującą strategią doboru reguł Uaktywnij regułę ri i dopisz jej konkluzję do F

Dopisz regułę ri do zbioru A

Na podstawie F i R - A wyznacz zbiór S Endwhile

(30)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :30

Modyfikacja algorytmu wnioskowania w przód

Wnioskowanie w przód generuje nowe fakty. W przypadku dużej liczby reguł liczba nowych faktów może rosnąć lawinowo. Powoduje to dwa problemy:

Merytoryczny – jak interpretować nowe fakty, których jest potencjalnie dużo? Czy wszystkie nowe fakty są użyteczne?

Techniczny – generowanie wszystkich możliwych faktów może być czasochłonne.

Aby ograniczyć zachłanność algorytmu wnioskowania w przód, można wprowadzić cel wnioskowania. Jeżeli w trakcie wnioskowania wygenerowany zostanie fakt

zgodny z celem, wnioskowanie jest kończone.

Cel wnioskowania reprezentuje zatem informację, jaką chcemy od systemu uzyskać.

(31)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :31

Modyfikacja algorytmu wnioskowania w przód Dane wejściowe:

Zbiór reguł: R = {r1, r2, ... r i, ... rm} Zbiór faktów: F= {f1, f2, ... f i, ... fn}

Cel: g

Dane robocze:

Zbiór reguł spełnionych S R, tzn. takich, których przesłanki są w zbiorze F.

Zbiór reguł aktywowanych A R, tzn. takich, które zostały odpalone.

Dane wyjściowe:

Zbiór F rozszerzony o nowe fakty: fn+1, fn+1 , ... fk : F= {f1, f2, ... f i, ... fn, fn+1, fn+1 , ... fk}

(32)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :32

Modyfikacja algorytmu wnioskowania w przód Algorytm:

Na podstawie F i R wyznacz zbiór S While S ≠ ∅ And g F Do

Wybierz regułę ri S zgodnie z obowiązującą strategią doboru reguł Uaktywnij regułę ri i dopisz jej konkluzję do F

Dopisz regułę ri do zbioru A

Na podstawie F i R - A wyznacz zbiór S Endwhile

(33)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :33

Koncepcja wnioskowania wstecz

Wnioskowanie wstecz ma potwierdzić prawdziwość postawionej hipotezy.

Hipoteza ta staje się głównym celem wnioskowania.

Cel co_robić = iść_do_domu Hipoteza

(34)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :34

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza

Sprawdzamy czy cel wnioskowania nie

jest czasem faktem

(35)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :35

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza

Cel nie jest faktem, szukamy reguły której

konkluzja pasuje do celu

(36)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :36

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza

(37)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :37

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza

Reguła r3 potwierdzi hipotezę jeżeli jej

przesłanki są prawdziwe, czyli są faktami

(38)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :38

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza

(39)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :39

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza

Warunek

wykład = nudny niestety nie jest faktem, a może uda się taki fakt wywnioskować?

(40)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :40

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

(41)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :41

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Zawieszamy dowodzenie hipotezy głównej,

stawiamy hipotezę pośrednią i staramy się ją dowieść

(42)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :42

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Szukamy reguły której konkluzja pasuje

do celu pośredniego

(43)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :43

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Znaleźliśmy dwie takie reguły. Trzeba na razie

wybrać jedną, wybieramy pierwszą w kolejności

(44)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :44

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Reguła r1 potwierdzi hipotezę pośrednią jeżeli

jej przesłanki są prawdziwe, czyli są faktami

(45)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :45

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

(46)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :46

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

(47)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :47

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Przesłanka jest w zbiorze faktów, hipoteza pośrednia jest potwierdzona

i staje się faktem

(48)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :48

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak wykład = nudny

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

(49)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :49

Koncepcja wnioskowania wstecz

Reguły

r1: if przedmiot = nudny then wykład = nudny

Fakty

przedmiot = nudny zmęczenie = tak wykład = nudny

r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Wracamy do zawieszonego chwilowo

dowodzenia głównego celu wnioskowania

(50)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :50

Koncepcja wnioskowania wstecz

Fakty

przedmiot = nudny zmęczenie = tak wykład = nudny

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Warunek

wykład = nudny jest faktem, sprawdzamy drugi warunek

(51)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :51

Koncepcja wnioskowania wstecz

Fakty

przedmiot = nudny zmęczenie = tak wykład = nudny

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

(52)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :52

Koncepcja wnioskowania wstecz

Fakty

przedmiot = nudny zmęczenie = tak wykład = nudny

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Oba warunki przesłanki są w zbiorze faktów, hipoteza główna jest potwierdzona

i staje się faktem

(53)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :53

Koncepcja wnioskowania wstecz

Fakty

przedmiot = nudny zmęczenie = tak

wykład = nudny co_robić = iść_do_domu

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

(54)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :54

Wynikiem wnioskowania wstecz jest potwierdzenie (lub nie) postawionej hipotezy

Fakty

przedmiot = nudny zmęczenie = tak

wykład = nudny co_robić = iść_do_domu

Cel co_robić = iść_do_domu Hipoteza Hipoteza pośrednia

wykład = nudny

Reguły

r1: if przedmiot = nudny then wykład = nudny r2: if wykładowca = nudny then wykład = nudny r3: if wykład = nudny and zmęczenie = tak

then co_robić = iść_do_domu

r4: if wykład = nudny and zmęczenie = nie then co_robić = iść_na_piwo

Udało się potwierdzić hipotezę opierając się na regułach

i faktach.

Przy okazji dowiedzieliśmy się

że wykład = nudny.

(55)

Metody wnioskowania w systemach regułowych Metody wnioskowania w systemach regułowych

Metody wnioskowania Wnioskowanie w systemach regułowych

Wnioskowanie w systemach regułowych Systemy ekspertoweSystemy ekspertowe

Copyright © Roman Simiński Strona :55

Algorytm wnioskowania wstecz Dane wejściowe:

Zbiór reguł: R = {r1, r2, ... r i, ... rm} Zbiór faktów: F= {f1, f2, ... f i, ... fn}

Cel: g

Dane robocze:

Zbiór reguł konkurencyjnych S R, tzn. takich, których konkluzje są zgodne z g.

Zbiór reguł aktywowanych A R, tzn. takich, które zostały odpalone.

Dane wyjściowe:

Czy g F?

Cytaty

Powiązane dokumenty

(2) Autor postanowił ograniczyć się do korzystania z rachunku prawdopo- dobieństwa na poziomie nieznacznie tylko wykraczającym poza program szkoły średniej.. Pojęcia

[r]

Załóżmy, że nasz użytkownik nie jest studentem, lubi odżywiad się zdrowo, pasuje mu aktualna waga, preferuje słodkie śniadania oraz toleruje laktozę.. Proces wnioskowania

Postaraj siê znaleŸæ schemat wnioskowania zastosowany w poni¿szym zadaniu nastêpnie udowodnij schemat stosuj¹c metodê za³o¿eniow¹. Opisz zmienne logiczne w nim

Bazy wiedzy systemu zapisywane są przy użyciu języka opisu bazy wiedzy Sphinx, integrującego w sobie deklaratywny język reprezentacji wiedzy oraz imperatywny język

• Wiedza eksperta może mieć różny zakresy różną szczegółowość jednak sensownym jest tworzenie bazy wiedzy o wysokim poziomie szczegółowości i niskim

 Reguła instrumentalnego zakazu – reguła ta stanowi, iż jeśli uznaje się za obowiązującą normę N1, która nakazuje spowodować stan rzeczy S (osiągnąć cel C), to

• Ma zastosowanie w sytuacji, gdy chcemy dowieść, że obowiązuje norma prawna nakazująca albo dozwalająca coś czynić, choć nie jest ona wyrażona explicite w