Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

A.Niederliński ftp://lemon.ia.polsl.gliwice.pl/pub/RMSE REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1.

Podobne prezentacje


Prezentacja na temat: "A.Niederliński ftp://lemon.ia.polsl.gliwice.pl/pub/RMSE REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1."— Zapis prezentacji:

1 A.Niederliński ftp://lemon.ia.polsl.gliwice.pl/pub/RMSE REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1

2 EKSPERT Człowiek posiadający specjalistyczną wiedzę z pewnej dziedzinie (wiedzę dziedzinową) i umiejętność stosowania jej dla podejmowania decyzji związanych z tą dziedziną (umiejętność wnioskowania w oparciu o posiadaną wiedzę), nabyte w wyniku studiów i praktyki.

3 SYSTEMY EKSPERTOWE Programy komputerowe wspomagające podejmowanie decyzji, których elementami są: baza wiedzy, zawierająca wiedzę dziedzinową, istotną dla podejmowanych decyzji, system wnioskujący, korzystający z bazy wiedzy dla wypracowania tych decyzji.

4 SYSTEMY EKSPERTOWE Pozostałe elementy systemu ekspertowego: edytor bazy wiedzy, do tworzenia, modyfikowanie i kasowanie bazy wiedzy interfejs użytkownika, do korzystania z systemu ekspertowego dynamiczna baza danych - relacyjna baza danych do przechowywania odpowiedzi użytkownika i wyników wnioskowania

5 STRUKTURA FUNKCJONALNA SYSTEMU EKSPERTOWEGO DYNAMICZNA BAZA DANYCH

6 STRUKTURA INFORMATYCZNA SYSTEMU EKSPERTOWEGO INTERFEJS UŻYTKOWNIKA EDYTOR BAZY WIEDZY DYNAMICZNA BAZA DANYCH SYSTEM WNIOSKUJĄCY BAZA WIEDZY Plik wykonywalny (Skorupowy system ekspertowy) Plik tekstowy

7 Istotna cecha systemu ekspertowego Baza wiedzy jest plikiem tekstowym, który może być tworzony, czytany i modyfikowany za pomocą edytora bazy wiedzy bez naruszania integralności systemu wnioskującego. Umożliwia to szybkie odczytanie, zrozumienie i modyfikowanie wiedzy dziedzinowej, z której korzysta system ekspertowy

8 STRUKTURA BAZY WIEDZY Baza wiedzy Baza reguł Baza rad Baza ograniczeń Pliki rad Baza modeli

9 Spotykane synonimy system ekspertowy program regułowy program z regułową bazą wiedzy

10 Baza rad Pliki rad STRUKTURA BAZY WIEDZY Baza reguł - wiedza dziedzinowa logiczna Baza ograniczeń - wiedza dziedzinowa logiczna Baza modeli - wiedza dziedzinowa matematyczna wiedza dziedzinowa uzupełniająca i wyjaśniająca

11 STRUKTURA BAZY WIEDZY Baza reguł Baza ograniczeń Baza modeli Baza rad mają postać klauzul zawierających zmienne

12 Zmienne stosowane w systemach ekspertowych RMSE Zmienne łańcuchowe : Dowolny ciąg znaków rozpoczynający i kończący się cudzysłowem górnym ". W systemach ekspertowych RMSE są stosowane wyłącznie zmienne łańcuchowe

13 Zmienne łańcuchowe Zmienna łańcuchowa = "Inklud zmiennej łańcuchowej"

14 Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych zmienne łańcuchowe typu: logicznego rzeczywistego całkowitego

15 Logiczne zmienne łańcuchowe : "Nazwa" jest logiczną zmienną łańcuchową, jeżeli Nazwa jest zmienną logiczną (przyjmuje tylko wartości ze zbioru stałych logicznych {Prawda, Nieprawda}) Np.: "Wiek >= 32 lat", "Niepełnoletni" Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych

16 Rzeczywiste zmienne łańcuchowe : "Wartość" jest rzeczywistą zmienną łańcuchową, jeżeli Wartość jest zmienną rzeczywistą lub liczbą rzeczywistą: Np. "Maksymalna temperatura", "165.72" Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych

17 Całkowite zmienne łańcuchowe : "Wartość" jest całkowitą zmienną łańcuchową, jeżeli Wartość jest zmienną całkowitą lub liczbą całkowitą Np.: "Liczba samochodów w bazie", "48" Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych

18 BAZA REGUŁ Reguły = wiedza dziedzinowa o charakterze ogólnym FAKTY REGUŁY Fakty = wiedza dziedzinowa o charakterze szczegółowym

19 BAZA REGUŁ Przykład reguły: Jeżeli student_x_otrzymał_wszystkie_zaliczenia_w_terminie i student_ x_zdał_wszystkie_egzaminy_ w_terminie, to student_x_uzyska_wpis_na_kolejny_semestr Przykład faktu: student_J.Kowalski_ zdał_wszystkie_egzaminy_ w_terminie

20 BAZA REGUŁ Reguły: zdania warunkowe, np. –w języku polskim: A jest prawdą, jeśli B i C i D są prawdą –w logice: B i C i D A lub – w Prologu: A :- B, C, D B, C, D – warunki reguły A – wniosek reguły - symbol implikacji w logice :- - symbol implikacji regułowej w Prologu

21 BAZA REGUŁ reguła(Numer_reguły, " Wniosek ", Lista_warunków, Semafor_wyświetlania) fakt( " Warunek_dopytywalny " ) Klauzule dokładnej bazy reguł:

22 "Wniosek" : Logiczna zmienna łańcuchowa, której inkludem jest nazwa wniosku. Np. "dobre zabezpieczenie"

23 Lista_warunków: ["Warunek_1",..., "Warunek _i",..., "Warunek _n"] logiczna zmienna łańcuchowa "Warunek_i" :

24 Semafor_wyświetlania = 0 informacja o stosowaniu reguły nie jest wyświetlana w trakcie wnioskowania = 1 informacja o stosowaniu reguły jest wyświetlana w trakcie wnioskowania

25 BAZA REGUŁ reguła(Numer_reguły, "Wniosek", Lista_warunków, Semafor_wyświetlania) Sens reguły: Wniosek jest prawdą wtedy, jeżeli wszystkie warunki są prawdą jest następujący:

26 BAZA REGUŁ reguła(Numer_reguły, "Wniosek", Lista_warunków, Semafor_wyświetlania) Uwaga: Prawdziwość wszystkich warunków jest warunkiem wystarczającym prawdziwości wniosku, nie jest zaś warunkiem koniecznym.

27 BAZA REGUŁ Związek przyczynowo-skutkowy pomiędzy warunkami a wnioskiem: Warunek_1 Warunek_n Wniosek Reguła Warunek_i

28 BAZA REGUŁ reguła(Numer_reguły, "Skutek", Lista_przyczyn, Semafor_wyświetlania) Inny sens reguły: Skutek jest wynikiem zaistnienia wszystkich przyczyn z listy przyczyn jest następujący:

29 BAZA REGUŁ Związek przyczynowo-skutkowy pomiędzy przyczynami a skutkiem: Przyczyna_1 Przyczyna _n Skutek Reguła Przyczyna _i

30 Poglądowe przedstawianie reguł: Wniosek Nr Warunek_1,..., Warunek_n Symbol implikacji regułowej reguła(Nr, "Wniosek", ["Warunek_1",..., "Warunek_n"], Semafor_wyświetlania)

31 Reguły mogą się zagnieżdżać: Zagnieżdżanie reguł: wniosek jednej reguły może być warunkiem innej reguły: reguła(N, "Wniosek", [..., "ABCD",....]) reguła(M, "ABCD", Lista_warunków)

32 Zagnieżdżanie reguł Baza reguł: 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Wnioski niektórych reguł są warunkami innych reguł. Np. : wniosek F reguły 5 jest warunkiem reguły 2 wniosek J reguły 6 jest warunkiem reguły 4 wniosek D reguły 1 jest warunkiem reguły 4

33 Zagnieżdżające się reguły mogą mieć warunki dwojakiego rodzaju: Warunki dopytywalne: nie są wnioskami reguł. Wartość logiczna tych warunków jest określana przez użytkownika systemu ekspertowego Zagnieżdżanie reguł Warunki niedopytywalne: są wnioskami reguł. Wartość logiczna tych warunków jest określana przez system ekspertowy

34 Warunki dopytywalne i niedopytywalne Baza Reguł: 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Podział warunków: Warunki dopytywalne: A, B, C, E i H. System ekspertowy pyta użytkownika o wartość logiczną tych warunków Warunki niedopytywalne: F, D i J. System ekspertowy nie pyta o te warunki, bo ich wartości logiczne wynikają z bazy reguł i warunków dopytywalnych

35 Płaskie bazy reguł Bazy reguł mające wyłącznie warunki dopytywalne Dowolną bazę reguł można spłaszczyć na drodze kolejnego zastępowania warunków niedopytywalnych listami warunków reguł których są wnioskami

36 Reguły muszą się zagnieżdżać: Płaskie bazy reguł mogą mieć ogromne rozmiary w porównaniu z ich zagnieżdżającymi się równoważnikami. Płaskie bazy reguł mogą być trudne do zrozumienia w porównaniu z ich zagnieżdżającymi się równoważnikami Płaskie bazy reguł mogą być trudne do modyfikowania w porównaniu z ich zagnieżdżającymi się równoważnikami

37 BAZA REGUŁ Fakty: logiczne zmienne łańcuchowe o inkludach uznawane za prawdziwe, np. : -4 °C <= Temperatura_powietrza <= 4 °C student_J.Kowalski_ zdał_egzaminy_ w_terminie Baza reguł rzadko ma własne fakty. Jeżeli ma, są zapisywane w postaci klauzul: fakt(Warunek_dopytywalny) Fakty są najczęściej deklarowane przez użytkownika w trakcie wnioskowania lub są generowane z reguł w wyniku wnioskowania

38 Spotykane synonimy wniosek = konkluzja, rezultat warunek = przesłanka, założenie

39 Klasyfikacja baz reguł (1) Ze względu na sposób występowania warunków niedopytywalnych rozróżniam: bazy reguł elementarne : warunki niedopytywalne nie występują w postaci zanegowanej bazy reguł rozwinięte : warunki niedopytywalne mogą występować w postaci zanegowanej

40 Przykład elementarnej bazy reguł 1. A, B, C W 2. W, D, E V 3. V, H, I, J U Warunki niedopytywalne W i V reguł 2 i 3 występują w tej bazie w postaci niezanegowanej, tzn. w takiej samej jak wnioski reguł 1 i 2.

41 Założenie otwartego świata (dla baz elementarnych) Wszystko, co nie wynika z elementarnej bazy reguł, bazy ograniczeń i bazy modeli oraz z deklaracji użytkownika, uważa się za nieznane.

42 Założenie otwartego świata (dla baz elementarnych) Dla wszystkich systemów ekspertowych elementarnych dokładnych zakłada się, że: uważa się za nieznane to, co nie wynika: –z reguł bazy reguł, –z ograniczeń bazy ograniczeń, –z modeli bazy modeli, –z faktów i wartości argumentów zadeklarowanych przez użytkownika

43 Niedogodność baz elementarnych: W bazach reguł elementarnych dokładnych często trzeba formułować zarówno reguły dla wniosków ( " W " ) i dla negacji wniosków ( " nieprawda_W " )

44 Przykład bazy elementarnej: pojadę_na_wycieczkę_zagraniczną jeżeli dostanę_urlop i będę_miał_pieniądze nie_pojadę_na_wycieczkę_zagraniczną jeżeli nie_dostanę_urlopu nie_pojadę_na_wycieczkę_zagraniczną jeżeli nie_będę_miał_pieniędzy kłopot_z_psem jeżeli pojadę_na_wycieczkę_zagraniczną narastające_zmęczenie jeżeli nie_pojadę_na_wycieczkę_zagraniczną

45 Stąd różnica pomiędzy implikacją logiki a implikacją regułową elementarnego dokładnego systemu ekspertowego: Implikacja logiki: q p q p q p Prawda Prawda Prawda Nieprawda Prawda Prawda Nieprawda Nieprawda Prawda Implikacja regułowa: q p q p q p Prawda Prawda Prawda Nieprawda Nieznane Prawda To ulega zmianie w wyniku założenia otwartego świata

46 Przykład rozwiniętej bazy reguł 1. A, B, C W 2. nW, D, E V 3. nV, H, I, J U nX = nieprawda_X Warunki niedopytywalne nW i nV reguł 2 i 3 są zanegowanymi wnioskami reguł 1i 2.

47 Zalety baz rozwiniętych: Brak potrzeby formułowania reguł dla wniosków ("W") i ich negacji ("nW").

48 Założenie zamkniętego świata (dla baz rozwiniętych) Wszystko, co nie wynika z rozwiniętej bazy reguł, bazy ograniczeń i bazy modeli oraz z deklaracji użytkownika, uważa się za nieprawdziwe.

49 Przykład bazy rozwiniętej: pojadę_na_wycieczkę_zagraniczną jeżeli dostanę_urlop i będę_miał_pieniądze kłopot_z_psem jeżeli pojadę_na_wycieczkę_zagraniczną narastające_zmęczenie jeżeli npojadę_na_wycieczkę_zagraniczną Małe n oznacza negację

50 Stąd różnica pomiędzy implikacją logiki a implikacją regułową rozwiniętego dokładnego systemu ekspertowego: Implikacja logiki: q p q p q p Prawda Prawda Prawda Nieprawda Prawda Prawda Nieprawda Nieprawda Prawda Implikacja regułowa: q p q p q p Prawda Prawda Prawda Nieprawda Nieprawda Prawda To ulega zmianie w wyniku założenia zamknietego świata

51 Założenie zamkniętego świata a prawo rzymskie in dubio pro reo wątpliwości przemawiaja na rzecz oskarżonego Jeżeli brak dowodów winy, oskarżonego uznaje się za niewinnego

52 Klasyfikacja baz reguł (2) Ze względu na pewność reguł, warunków i wniosków rozróżnia się: bazy reguł dokładne, których reguły są prawdą, których warunki i wnioski mogą być albo prawdą, albo nieprawdą bazy reguł niepewne, których reguły, warunki i wnioski mogą mieć różne stopnie pewności

53 Klasyfikacja baz reguł (3) Bazy reguł dokładne Bazy reguł niepewne Bazy reguł elementarne Bazy reguł rozwinięte Bazy reguł rozwinięte niepewne (BRN) Bazy reguł rozwinięte dokładne (BRD) Bazy reguł elementarne niepewne (BEN) Bazy reguł elementarne dokładne (BED)

54 Klasyfikacja systemów wnioskujących (1) Bazy reguł rozwinięte dokładne (BRD) Wnioskowanie elementarne dokładne Bazy reguł elementarne dokładne (BED) Wnioskowanie rozwinięte dokładne Wnioskowanie dokładne

55 Klasyfikacja systemów wnioskujących (2) Bazy reguł rozwinięte niepewne (BRN) Wnioskowanie elementarne niepewne Bazy reguł elementarne niepewne (BEN) Wnioskowanie rozwinięte niepewne Wnioskowanie niepewne

56 BAZA OGRANICZEŃ Baza ograniczeń zawiera zbiory warunków dopytywalnych wykluczających się. np.: ("temperatura jest wyższa od 40ºC", "temperatura jest niższa od 10 ºC", "temperatura jest pomiędzy 10ºC i 40ºC"). ("dostanę urlop", "nie dostanę urlopu") lub:

57 BAZA OGRANICZEŃ Klauzule bazy ograniczeń: ograniczenie(Nr_ograniczenia, Lista_warunków_dopytywalnych_ _wykluczających_się)

58 Baza modeli arytmetyczne relacyjne elementarne rozwinięte liniowe wielomianowe X X X X X X

59 Rodzaje zmiennych łańcuchowych w modelach: logiczne zmienne łańcuchowe, np.: " Relacja spełniona ", " Wartość zmiennej w zakresie dopuszczalnym ", rzeczywiste i całkowite zmienne łańcuchowe, np.: "Wartość ciśnienia", " ", " 56 "

60 model(Numer_modelu, "Warunek_startowy", "Wynik"/"Wniosek", "Pierwszy_Argument", "Operacja"/"Relacja", "Drugi_Argument", Semafor_wyświetlania) Modele elementarne

61 Model elementarny: "Warunek_startowy" "Warunek_startowy" jest logiczną zmienną łańcuchową Wynik modelu jest wyznaczany tylko gdy Warunek_startowy jest prawdą Warunek_startowy = bez warunku jest zawsze prawdą

62 Model elementarny: "Wynik"/"Wniosek" "Wynik" – rzeczywista zmienna łańcuchowa dla modelu arytmetycznego "Wniosek" - logiczna zmienna łańcuchowa dla modelu relacyjnego

63 Model elementarny: "Pierwszy_Argument", "Drugi_Argument rzeczywiste lub całkowite zmienne łańcuchowe, zarówno dla modelu arytmetycznego jak i dla modelu relacyjnego

64 Model elementarny: "Operacja" modele arytmetyczne z dwoma argumentami wykonują operacje: "+", " ", " ", "/", "div", "mod", "min", "max", "%", "A^N", "zaokrąglenie_do_N" N – liczba naturalna

65 Model elementarny: "Operacja" modele arytmetyczne z jednym argumentem wykonują operacje "sqrt", "sin", "cos", "tan", "arctan", "log", "ln", "exp", "round", "trunc", "abs", "=" przy czym "Drugi_Argument" = "0"

66 Model elementarny: "Relacja" modele relacyjne testują relacje : ">", "==", " =", " "

67 Model elementarny: Semafor_wyświetlania = 0 informacja o stosowaniu modelu nie jest wyświetlana w trakcie wnioskowania = 1 informacja o stosowaniu modelu jest wyświetlana w trakcie wnioskowania

68 Sens modelu elementarnego arytmetycznego: model(Nr_Modelu, "Start", "Wynik", "X1", "+", "X2", Semafor_wyświetlania) to Wynik = X1 + X2 Jeżeli Start jest prawdą

69 Sens modelu elementarnego relacyjnego: model(Nr_Modelu, "Start", "Wniosek", "X1", "<= ", "X2 ", Semafor_wyświetlania) to Wniosek jest prawdą Jeżeli Start jest prawdą i X1 <= X2

70 Modele rozwinięte model_r(Numer_Modelu, "Warunek_startowy", "Wynik" /"Wniosek", "Operacja"/"Relacja", Lista_Argumentów, Semafor_wyświetlania)

71 Model rozwinięty: "Wynik"/"Wniosek" "Wynik" – rzeczywista zmienna łańcuchowa dla modelu arytmetycznego "Wniosek" - logiczna zmienna łańcuchowa dla modelu relacyjnego

72 Model rozwinięty : "Operacja" modele arytmetyczne wykonują operacje "+", " ", "max_list", "min_list"

73 Model rozwinięty: "Relacja" modele relacyjne testują relacje : "<,<", "<,<=", "<=,<", "<=,<="

74 Model rozwinięty arytmetyczny: Lista_Argumentów ["Argument_1","Argument_2",...., "Argument_n"] "Argument_i" = rzeczywista lub całkowita zmienna łańcuchowa n – dowolnie duże

75 Sens modelu rozwiniętego arytmetycznego: model_r(Nr_Modelu, "Start", "Wynik", "+", ["X1", "X2,..., "Xn"], Semafor_wyświetlania) to Wynik = X1 + X Xn Jeżeli Start jest prawdą

76 Model rozwinięty relacyjny: Lista_Argumentów ["Ograniczenie_dolne", "Wielkość_testowana", "Ograniczenie_górne"] Rzeczywiste zmienne łańcuchowe "Ograniczenie_dolne" "Wielkość_testowana" "Ograniczenie_górne"

77 Sens modelu rozwiniętego relacyjnego: model_r(Nr_Modelu, "Start", " Wniosek ", " <,<= ", ["Ogr_d", "X", "Ogr_g"], Semafor_wyświetlania) Jeżeli Start jest prawdą i Ogr_d < X <= Ogr_g to Wniosek jest prawdą

78 Model liniowy: model_liniowy(Numer_Modelu, "Warunek_startowy", "Wynik", Lista_współczynników, Lista_Zmiennych, Semafor_wyświetlania)

79 Model liniowy: "Wynik" rzeczywista zmienna łańcuchowa

80 Model liniowy: "Lista_współczynników" ["A_1", "A_2",..., "A_n"] gdzie "A_i" - rzeczywiste zmienne łańcuchowe

81 Model liniowy: Lista_zmiennych ["X_1", "X_2",..., "X_n"] gdzie "X_i" - rzeczywiste zmienne łańcuchowe

82 Sens modelu liniowego: to Wynik = A_1 * X_1 + A_2 * X_2 + A_3 * X_3 model_liniowy(Numer_Modelu, "Start", "Wynik", ["A_1", "A_2", "A_3"], ["X_1", "X_2", "X_3"], Semafor_wyświetlania) jeżeli Start jest prawdą

83 Model wielomianowy: model_wielomianowy(Numer_Modelu, "Warunek_startowy", "Wynik", "Wartość_zmiennej", Lista_współczynników, Lista_Potęg, Semafor_wyświetlania)

84 Model wielomianowy: "Wynik" rzeczywista zmienna łańcuchowa

85 Model wielomianowy: "Wartość_Zmiennej" rzeczywista zmienna łańcuchowa, dla której jest wyznaczana wartość wielomianu

86 Model wielomianowy: Lista_współczynników ["A_1", "A_2",..., "A_n"] gdzie: "A_i" - rzeczywista zmienna łańcuchowa

87 Model wielomianowy: Lista_potęg [0,1,2,...,n-1] n – dowolnie duże Lista liczb całkowitych (niekoniecznie kolejnych)

88 to Wynik = A_0 * 3^0 + A_2 * 3^2 + A_5 * 3^5 Sens modelu wielomianowego: model_wielomianowy(Numer_Modelu, " Start ", " Wynik ", " 3 ", ["A_0", "A_2", A_5], [0,2,5], Semafor_wyświetlania) Jeżeli Start jest prawdą

89 Modele mogą się zagnieżdżać: Zagnieżdżanie modeli arytmetycznych: wynik jednego modelu może być argumentem innego modelu: model(N, St_N, "Wynik_N", A, O_N, B, 1) model (M, St_M, Wynik_M, "Wynik_N", O_M, G, 1)

90 Modele mogą się zagnieżdżać: Zagnieżdżanie modeli relacyjnych i innych: wniosek jednego modelu relacyjnego może być warunkiem stosowania innego modelu: model(N, _, "Wniosek_N", A, R_N, B, 1) model (M, "Wniosek_N", Wynik_M, C, O_M, D, 1)

91 Modele relacyjne i reguły mogą się zagnieżdżać: Zagnieżdżanie modeli relacyjnych i reguł: wniosek modelu relacyjnego może być warunkiem reguły model(N, _, "Wniosek_N", A, R_N, B, 1]) reguła(M, Wniosek_M, [..., "Wniosek_N",..])

92 Reguły i modele mogą się zagnieżdżać: Zagnieżdżanie reguł i modeli: wniosek reguły może być warunkiem startowym modelu reguła(N, "Wniosek_N", Lista_warunków,1) model (M, "Wniosek_N", Wynik_M, A,op_M, B, 1)

93 Zagnieżdżające się modele mogą mieć argumenty dwojakiego rodzaju: Argumenty dopytywalne: nie są wynikami modeli. Wartość tych argumentów jest określana przez użytkownika systemu ekspertowego Zagnieżdżanie modeli Argumenty niedopytywalne: są wynikami modeli. Wartość liczbowa tych argumentów jest określana przez system ekspertowy

94 Zagnieżdżające się modele mogą mieć warunki startowe dwojakiego rodzaju: Warunki startowe dopytywalne: nie są wnioskami modeli relacyjnych ani wnioskami reguł. Wartość tych warunków startowych jest określana przez użytkownika systemu ekspertowego Zagnieżdżanie modeli Warunki startowe niedopytywalne: są wnioskami modeli relacyjnych lub wnioskami reguł. Wartość logiczna tych warunków startowych jest określana przez system ekspertowy

95 BAZA RAD rada(numer_reguły/modelu, "nazwa_pliku_rady_dla_reguły/modelu.hlp") Klauzule bazy rad:

96 BAZA RAD Każdej regule i każdemu modelowi może być przyporządkowana co najwyżej jedna rada

97 DYNAMICZNA BAZA DANYCH Dynamiczna baza danych jest bazą relacyjną. Podstawowe relacje dla BED: –prawda("Warunek") = Warunek jest prawdą – nieprawda("Warunek") = Warunek jest nieprawdą Zawiera deklaracje użytkownika odnośnie do warunków dopytywalnych albo warunki niedopytywalne, uznane za prawdziwe w wyniku dotychczasowych wnioskowań.

98 System ekspertowy jako paradygmat programowania (1) Powszechnie stosowane programowanie proceduralne można uważać za odbywające się zgodnie z paradygmatem: PROCEDURA = ALGORYTM + DANE

99 System ekspertowy jako paradygmat programowania (2) Programowanie stosujące bazy wiedzy (systemy ekspertowe) można uważać za odbywające się zgodnie z paradygmatem: SYSTEM EKSPERTOWY = SYSTEM WNIOSKUJĄCY + BAZA WIEDZY

100 Porównanie Stosując programowanie proceduralne trzeba: - nie tylko powiedzieć programowi, co ma zrobić, - lecz również powiedzieć, jak to ma zrobić. Stosując system ekspertowy wystarcza: - poinformować system wnioskujący o całej wiedzy, potrzebnej do wykonania zadania; - wskazać mu cel, który ma osiągnąć. Systemy ekspertowe wspierają programowanie deklaratywne.

101 Systemy ekspertowe a Prolog (1) Zgodnie z tym paradygmatem działa jedyny deklaratywny język programowania - Prolog. W Prologu nie tworzy się algorytmów rozwiązania zadań, lecz opisuje interesujący fragment rzeczywistości za pomocą faktów i reguł. Kompilator Prologu jest wyposażony w system wnioskujący, rozstrzygający prawdziwość podanego celu dla przedstawionych faktów i reguł.

102 Systemy ekspertowe a Prolog (2) Dlatego Prolog umożliwia wyjątkowo prostą realizację systemów ekspertowych. Oczywiście, systemy ekspertowe można pisać w dowolnym uniwersalnym proceduralnym języku programowania jak np. Pascal, C lub C++. Jedyną niedogodnością takiego wyboru języka jest większa czasochłonność, bardziej obszerny i mniej przejrzysty kod źródłowy, aniżeli w przypadku stosowania Prologu.

103 Zalety reguł 1.Reguły umożliwiają bardzo zwięzły opis funkcjonowania systemu. Pod "funkcjonowaniem" rozumie się zbiór czynności i warunków, od których zależy wykonanie tych czynności. 2. Z punktu widzenia wizualnego, jest rzeczą łatwiejszą zrozumienie funkcjonowania systemu opisanego za pomocą reguł aniżeli za pomocą równoważnego kodu if/then/else.

104 Ironia programowania proceduralnego Programując proceduralnie bardzo często zaczyna się od reguł, zgodnie z którymi aplikacja ma działać. Następnie, po stwierdzeniu, że rozumiemy pożądane działanie systemu, przystępujemy do kodowania reguł za pomocą proceduralnego języka programowania.

105 Zalety rozdzielenia bazy wiedzy i systemu wnioskującego (1) Łatwość dostępu do wiedzy dziedzinowej, danej w jawnej postaci pliku tekstowego. Prostota modyfikacji bazy wiedzy bez potrzeby naruszania integralności właściwego programu -systemu wnioskującego. Możliwość tworzenia systemów ekspertowych skorupowych, tzn. uniwersalnych systemów ekspertowych, które użytkownicy mogą ładować własną, użytkowaną przez nich wiedzą dziedzinową.

106 Zalety rozdzielenia bazy wiedzy i systemu wnioskującego (2) Przykład zastosowania systemu ekspertowego do diagnostyki: system ekspertowy KRE oceniający wiarygodność kredytową klienta banku (jest nim mały przedsiębiorca) i podejmujący decyzję o przyznaniu lub odmowie kredytu.

107 Przykład (a) Decyzja o przyznaniu lub odmowie kredytu jest wynikiem stosowania kilkunastu reguł określonych przez kierownictwo banku. Reguły te są zapisane w postaci pliku tekstowego, którego odczytanie, zrozumienie i zmodyfikowanie nie nastręcza trudności.

108 Przykład (b) W miarę zbierania przez bank doświadczeń i w miarę zmiany sytuacji na rynku pieniężnym, reguły przyznawania kredytów muszą ulec zmianie. Gdyby reguły te były zanurzone w programie nie będącym systemem ekspertowym i napisanym w języku proceduralnym, odczytanie, zrozumienie i zmodyfikowanie tych reguł byłoby bardzo trudne, a dla osób nie będących twórcami tego programu – wręcz niemożliwe.

109 Metody wnioskowania Wnioskowanie w przód (forward chaining, od warunków do wniosku) Wnioskowanie wstecz (backward chaining, od hipotezy do warunków)

110 Przeznaczenie wnioskowania elementarnego dokładnego w przód Wyznaczenie - dla danej bazy wiedzy - wszystkich faktów i wszystkich wartości zmiennych wynikających: z warunków dopytywalnych, które zostały uznane przez użytkownika za fakty, oraz z argumentów dopytywalnych, których wartości zostały zadeklarowane przez użytkownika.

111 Przeznaczenie wnioskowania elementarnego dokładnego w przód Nie jesteśmy informowani: o wnioskach nie wynikających z warunków dopytywalnych uznanych przez użytkownika za fakty, oraz o wynikach, których wartości nie można wyznaczyć z wartości argumentów dopytywalnych zadeklarowanych przez użytkownika.

112 Wnioskowanie elementarne dokładne w przód Przeznaczone dla baz wiedzy BED, tzn. dla baz nie zawierających zanegowanych warunków niedopytywalnych. Można stosować dla baz z zanegowanymi warunkami dopytywalnymi.

113 A C H D B E L Wnioskowanie elementarne dokładne w przód: przykład (a) A C H D B E Nowy fakt: D Nowy fakt: L 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J A C H B E Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Baza Reguł

114 Wnioskowanie elementarne dokładne w przód: przykład (b) A C H D B E L F 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Nowy fakt: F Nowy fakt: G Dynamiczna baza danych: Fakty A C H D B E L F G Baza Reguł

115 Wnioskowanie elementarne dokładne w przód: przykład (c) B E L F A C H D G J M Nowy fakt:J 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J A C H D B E L F G J Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Baza Reguł Nowy fakt:M

116 Wnioskowanie elementarne dokładne w przód z bazą ograniczeń : Baza Reguł 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Nowy fakt: D A H D Dynamiczna baza danych: Fakty 1. (A, C, E) 2. (B, H) Baza Ograniczeń Z faktów A i H wynika tym razem tylko fakt D.

117 Słabość wnioskowania elementarnego dokładnego w przód Wyznacza wszystkie wnioski będące prawdą, nawet te, które nie są dla użytkownika interesujące Wyznacza wszystkie wyniki dające się wyznaczyć, nawet te, które nie są dla użytkownika interesujące

118 Przeznaczenie wnioskowania elementarnego dokładnego wstecz Weryfikowanie hipotez Hipoteza: wniosek reguły, którego prawdziwość próbuje się potwierdzić na podstawie: warunków dopytywalnych uznanych za fakty, oraz argumentów dopytywalnych o znanych wartościach

119 Wnioskowanie elementarne dokładne wstecz Na mocy założenia otwartego świata: jeżeli hipotezy nie można uznać za prawdę, to uznaje się, że nie wiemy, czy jest prawdą, czy nie jest prawdą i uważamy ją za nieznaną

120 Wnioskowanie elementarne dokładne wstecz Przeznaczone dla baz wiedzy BED, tzn. dla baz nie zawierających zanegowanych warunków niedopytywalnych. Można stosować dla baz z zanegowanymi warunkami dopytywalnymi.

121 Wnioskowanie elementarne dokładne wstecz: przykład (a) Weryfikacja hipotezy F B E A C H 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Brak F Czy jest C i D? Jest C, brak D. A C H B E Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Baza Reguł

122 Wnioskowanie elementarne dokładne wstecz: przykład (b) Weryfikacja hipotezy F Czy jest A? Jest A, więc jest D, więc jest F B E F A C H Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Baza Reguł

123 Wnioskowanie elementarne dokładne wstecz z bazą ograniczeń: (a) Weryfikacja hipotezy F A H Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. H, D F Baza Reguł 1. A D 2. F H G 3. B L 4. D J M 5. C D F 6. A E J 7. H D F Brak F 1. (A, C, E) 2. (B, H) Baza Ograniczeń Czy jest C i D? A H Brak C

124 Wnioskowanie elementarne dokładne wstecz z bazą ograniczeń: (b) Weryfikacja hipotezy F Baza Reguł 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. H, D F A H Dynamiczna baza danych: Fakty Czy jest H i D? 1. (A, C, E) 2. (B, H) Baza Ograniczeń A H F 1. A D 2. F H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. H, D F Jest H, brak D Czy jest A? Jest A, więc jest D, więc jest F

125 Sprzeczności w elementarnych dokładnych bazach reguł (1) 1. Sprzeczności typu SED1: wniosek reguły jest tożsamy z jednym z jej warunków. Możliwe są następujące typy tej sprzeczności: Reguła jest zewnętrznie SED1-samosprzeczna, jeżeli jednym z jej warunków jest jej wniosek. Np.: 1. M, N, X X

126 Sprzeczności w elementarnych dokładnych bazach reguł (2) Reguła n jest zewnętrznie bezpośrednio SED1- sprzeczna z regułą m, jeżeli: –wniosek reguły m jest warunkiem reguły n, i –wniosek reguły n jest warunkiem reguły m. Np.: 1. M, N, Y X 2. P, Q, X Y Zastąpienie warunku X reguły 2 warunkami reguły 1 czyni z reguły 2 regułę 3 będącą zewnętrznie SED1- samosprzeczną: 3. P, Q, M, N, Y Y

127 Sprzeczności w elementarnych dokładnych bazach reguł (3) Reguła n jest zewnętrznie pośrednio SED1-sprzeczna z regułą m, jeżeli podstawienie reguły m do innej reguły, tej zaś do jeszcze innej itd., doprowadza do reguły bezpośrednio SED1-sprzecznej z regułą n. Np. reguła 1 jest zewnętrznie pośrednio SED1-sprzeczna z regułą 3: 1. K, B H 2. C, D, X K 3. H, A X Pośrednikiem jest tutaj reguła 2. Podstawienie warunków reguły 3 w miejsce warunku X reguły 2 daje bowiem regułę 4: 4. C, D, H, A K która jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą 1.

128 Sprzeczności w elementarnych dokładnych bazach reguł (4) Zewnętrzna pośrednia SED1-sprzeczność nie jest relacją refleksyjną: w rozpatrywanym przykładzie 1. K, B H 2. C, D, X K 3. H, A X reguła 3 nie jest zewnętrznie pośrednio SED1-sprzeczna z regułą 1. Natomiast reguła 3 jest zewnętrznie pośrednio SED1-sprzeczna z regułą 2, gdyż podstawienie warunków reguły 2 w miejsce warunku K reguły 1 daje regułę 5: 5. C, D, X, B H która jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą 3.

129 Sprzeczności w elementarnych dokładnych bazach reguł i bazach ograniczeń (5) 2. Sprzeczności typu SED2: warunki reguły są sprzeczne w wyniku interakcji bazy reguł i bazy ograniczeń. Np.: 1. A, B, C W Baza reguł 1. (A, C) Baza ograniczeń

130 Sprzeczności w elementarnych dokładnych bazach modeli (1) Baza modeli jest bezpośrednio sprzeczna, jeżeli wynik modelu arytmetycznego jest tożsamy z jednym z jego argumentów. Np.: model(N, St_N, Wynik, A, O_N, Wynik, 1])

131 Sprzeczności w elementarnych dokładnych bazach modeli (2) Baza modeli jest głęboko sprzeczna, jeżeli wynik modelu arytmetycznego jest tożsamy z jednym z argumentów modeli z nim się zagnieżdżajacych. Np.: model(N, St_N, Wynik, A, O_N, B, 1]) model(M, St_N, B, C, O_N, Wynik, 1])

132 Sprzeczności łączne elementarnych dokładnych bazach modeli i baz reguł Baza modeli jest bezpośrednio łącznie sprzeczna z bazą reguł, jeżeli warunek stosowania modelu relacyjnego jest wnioskiem reguły, której warunkiem jest wniosek tego modelu relacyjnego. Np.: model(N, War_stos, Wniosek, A, Relacja, B, 1]) reguła(M,War_stos,[Wniosek,....],_)

133 Sprzeczności łączne elementarnych dokładnych bazach modeli i baz reguł Baza modeli jest pośrednio łącznie sprzeczna z bazą reguł, jeżeli warunek stosowania modelu relacyjnego jest wnioskiem reguły, zagnieżdżonej z regułą której warunkiem jest wniosek tego modelu relacyjnego. Np.: model(N, War_stos, Wniosek, A, Relacja, B, 1]) reguła(M,War_stos,[B,....],_) reguła(P, B,[Wniosek,....],_)

134 Nadmiarowości w elementarnych dokładnych bazach reguł (1) 1. Nadmiarowości typu NED1_1: występowanie reguł o jednakowych wnioskach i jednakowych warunkach. Np.w przypadku reguł: 1. A, B, G Y 2. C, D A 3. E, F B 4. C, D, E, F, G Y reguła 4 ma takie same warunki i taki sam wniosek jak reguła 1 wraz z regułami 2 i 3.

135 Nadmiarowości w elementarnych dokładnych bazach reguł (2) 2. Nadmiarowości typu NED1_2: występowanie reguł subsumowanych. Np.w przypadku reguł 1. A, B, C, D W 2. A, B W reguła 1 jest subsumowana (zawarta) w regule 2, gdyż obydwie mają taki sam wniosek, a warunki reguły 2 są podzbiorem warunków reguły 1. Regułę 1 można więc usunąć z bazy reguł.

136 Nadmiarowości w elementarnych dokładnych bazach reguł (3) 2. Nadmiarowości typu NED2: Źródłem nadmiarowości typu NED2 jest interakcja elementarnej dokładnej bazy reguł i bazy ograniczeń. Np 1. A, B, C W 2. A, B, D W 3. A, B, E W Baza Reguł Baza Ograniczeń 1. (C, D, E) 1. A, B W Baza Reguł redukują się do:

137 Wnioskowanie elementarne w przód ze sprzeczną bazą reguł: przykład (a) C H B E L Nowy fakt: L C H B E Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. D, P A Baza Reguł Z faktów C, H, B i E wynika tylko fakt L : reguła 1 jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą 7, a więc nie ma możliwości ich testowania.

138 Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: przykład (a) Weryfikacja hipotezy F C H B E 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. D, P A Brak F Czy jest C i D? Jest C, brak D. C H B E Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. D, P A Baza Reguł

139 Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: przykład (b) Weryfikacja hipotezy F C H B E P 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. D, P A Czy jest A? Brak A Czy jest D i P?. C H B E P Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. D, P A Baza Reguł

140 Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: przykład (c) Weryfikacja hipotezy F C H B E P 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. D, P A Jest P, brak D Brak A Czy jest D i P?. C H B E P Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. D, P A Baza Reguł Czy jest A?.

141 Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: przykład (d) Weryfikacja hipotezy F C H B E P Dynamiczna baza danych: Fakty 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 7. D, P A Baza Reguł Reguła 1 jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą 7, co doprowadza do niekończących się pętel i wynikajacego stąd "zawieszenia się" systemu wnioskującego.

142 Wnioskowanie rozwinięte dokładne w przód Wnioskowanie rozwinięte dokładne w przód jest wnioskowaniem w przód dla baz reguł rozwiniętych dokładnych, tzn. baz dokładnych mogących zawierać zanegowane warunki niedopytywalnych. Wnioskowanie to można stosować również dla baz reguł elementarnych dokładnych Konwencja: W - warunek niezanegowany nW - warunek zanegowany

143 Wnioskowanie rozwinięte dokładne w przód Istotna różnica: w trakcie wnioskowania zapamiętuje się w dynamicznej bazie danych nie tylko wnioski prawdziwe (jak w przypadku wnioskowania elementarnego dokładnego), lecz również wnioski nieprawdziwe. Wnioski nieprawdziwe mogą bowiem okazać się warunkami reguł.

144 Wnioskowanie rozwinięte dokładne w przód Istotna różnica: Wnioskowanie elementarne dokładne było wnioskowaniem monotonicznym: wniosek uznany za prawdę nie mógł w trakcie dalszego wnioskowania, przy niezmienionych warunkach dopytywalnych będących faktami, stać się nieprawdą.

145 Wnioskowanie rozwinięte dokładne w przód Istotna różnica: Wnioskowanie rozwinięte dokładne jest wnioskowaniem niemonotonicznym: wniosek uznany za prawdę może w trakcie dalszego wnioskowania, przy niezmienionych warunkach dopytywalnych będących faktami, stać się nieprawdą.

146 Wnioskowanie rozwinięte dokładne w przód Cel wnioskowania: Wyznaczenie wszystkich wniosków prawdziwych i wszystkich wniosków nieprawdziwych dla: danego początkowego zbioru prawdziwych i nieprawdziwych warunków dopytywalnych danej bazy reguł rozwiniętej dokładnej i odpowiadającej jej bazy ograniczeń danego początkowego zbioru wartości argumentów danej bazy modeli dokładnej

147 Założenie zamkniętego świata Dla wszystkich systemów ekspertowych rozwiniętych dokładnych zakłada się, że: prawdą jest tylko to, co wynika: –z reguł bazy reguł, –z ograniczeń bazy ograniczeń, –z modeli bazy modeli, –z faktów i wartości argumentów zadeklarowanych przez użytkownika

148 Założenie zamkniętego świata Wszystko, co nie wynika z bazy reguł, bazy ograniczeń i bazy modeli oraz z deklaracji użytkownika, uważa się za nieprawdziwe.

149 Założenie zamkniętego świata = Jeżeli oskarżonemu nie udowodniono winy, uważa się go za niewinnego in dubio pro reo

150 Stąd różnica pomiędzy implikacją logiki a implikacją regułową systemu ekspertowego: Implikacja logiki: q p q p q p Prawda Prawda Prawda Nieprawda Prawda Prawda Nieprawda Nieprawda Prawda Implikacja regułowa: q p q p q p Prawda Prawda Prawda Nieprawda Nieprawda Prawda

151 Wnioskowanie rozwinięte dokładne w przód: przykład (a) Przykład: dla danej bazy reguł wyznaczyć wszystkie fakty wynikające z faktów A, nB, C, nD i nE: AnB C nDnE Fakty: 1. A B W Reguły 2. nW nE X 3. A D Z 4. nX Z 5. C nD W AnB CnD nW(1) nE Nowy fakt: nW(1)

152 Wnioskowanie rozwinięte dokładne w przód: przykład (a) A nB C nD nE nW(1) X(2) nZ(3) 1. A B W 2. nW nE X 3. A D Z 4. nX Z 5. C nD W Reguły 1. A B W 2. nW nE X 3. A D Z 4. nX Z 5. C nD W Fakty: A nB C nD nE nW(1) X(2) Nowy fakt X(2) Nowy fakt nZ(3)

153 Wnioskowanie rozwinięte dokładne w przód: przykład (a) A nB C nD nE W(5) nX(2) nZ(3) 1. A B W 2. nW nE X 3. A D Z 4. nX Z 5. C nD W Reguły 1. A B W 2. nW nE X 3. A D Z 4. nX Z 5. C nD W Fakty: A nB C nD nE W(5) X(2) nZ(3) Nowy fakt W(5) Nowy fakt nX(2)

154 Wnioskowanie rozwinięte dokładne w przód: przykład (a) Z faktów A, nB, C, nD i nE wynikają więc fakty W(5), nX(2), Z(4) i tylko te fakty. Reguły 1. A B W 2. nW nE X 3. A D Z 4. nX Z 5. C nD W Fakty: A nB C nD nE W(5) nX(2) Z(4) Nowy fakt Z

155 Wnioskowanie rozwinięte dokładne w przód (a) zaistnienie faktu X w sytuacji, gdy w dynamicznej bazie danych nie ma faktu X ani faktu zanegowanego nX, powoduje wpisanie faktu X do dynamicznej bazy danych wraz z numerem generującej go reguły. Jeżeli fakt ten odpowiada warunkowi dopytywalnemu, numerem tym jest 0;

156 Wnioskowanie rozwinięte dokładne w przód (b) zaistnienie faktu X w sytuacji, gdy w dynamicznej bazie danych jest odpowiadający mu fakt zanegowany nX, powoduje dodanie faktu X do dynamicznej bazy danych wraz z numerem generującej go reguły i usunięcie z niej faktu zanegowanego nX wraz z numerem odpowiedniej reguły.

157 Wnioskowanie rozwinięte dokładne w przód (c) zaistnienie faktu X w sytuacji, gdy w dynamicznej bazie danych jest fakt X wygenerowany przez inną regułę, powoduje dodanie nowego faktu X do dynamicznej bazy danych wraz z numerem generującej go reguły

158 Wnioskowanie rozwinięte dokładne w przód (d) zaistnienie faktu nX w sytuacji, gdy w dynamicznej bazie danych jest odpowiadający mu fakt X generowany przez inną regułę niż fakt nX, nie powoduje zmian w dynamicznej bazie danych

159 Wnioskowanie rozwinięte dokładne w przód (e) zaistnienie faktu nX w sytuacji, gdy w dynamicznej bazie danych jest odpowiadający mu fakt X generowany przez tę samą regułę co fakt nX i nie ma faktów X generowanych przez inne reguły, powoduje dodanie faktu nX do dynamicznej bazy danych wraz z numerem odpowiedniej reguły i usunięcie z dynamicznej bazy danych faktu X.

160 Wnioskowanie rozwinięte dokładne wstecz Wnioskowanie rozwinięte wstecz jest wnioskowaniem wstecz dla baz reguł rozwiniętych dokładnych, tzn. mogących zawierać zanegowane warunki niedopytywalnych. Wnioskowanie to można stosować również dla baz reguł elementarnych dokładnych.

161 Wnioskowanie rozwinięte dokładne wstecz Cel wnioskowania: Potwierdzenie (weryfikowanie) lub zaprzeczenie (falsyfikowanie) iż dana hipoteza wynika z: danego początkowego zbioru prawdziwych i nieprawdziwych warunków dopytywalnych danej bazy reguł rozwiniętej dokładnej i odpowiadającej jej bazy ograniczeń

162 Wnioskowanie rozwinięte dokładne wstecz: weryfikacja hipotezy nX A nB C nD nE Fakty: 1. A B W 2. nW nE X 3. A D Z 4. nX Z 5. C nD W Reguły: A nB C nD nE Brak nX Czy jest nW i nE ?

163 Wnioskowanie rozwinięte dokładne wstecz: weryfikacja hipotezy nX A nB C nD nE Fakty: 1. A B W 2. nW nE X 3. A D Z 4. nX Z 5. C nD W Reguły: A nB C nD nE 1. A B W 2. nW nE X 3. A D Z 4. nX Z 5. C nD W Jest nE, brak nW Czy jest A i B ? Jest A i nB,

164 Wnioskowanie rozwinięte dokładne wstecz: weryfikacja hipotezy nX Fakty: A nB C nD nE Reguły: 1. A B W 2. nW nE X 3. A D Z 4. nX Z 5. C nD W Czy jest C i nD? Jest C i nD, a więc jest W, a więc jest nX

165 Wnioskowanie rozwinięte dokładne w przód Ponieważ bazy reguł rozwinięte dokładne mogą być sprzeczne, przed przystąpieniem do wnioskowania rozwiniętego należy się upewnić, czy nie zawierają sprzeczności.

166 Sprzeczności w rozwiniętych dokładnych bazach reguł (1) 1. Sprzeczności typu SRD1: zewnętrzne: wniosek reguły jest sprzeczny z jej warunkami wewnętrzne: warunki reguły są sprzeczne

167 Sprzeczności w rozwiniętych dokładnych bazach reguł (2) 1. Reguła jest zewnętrznie SRD1-samosprzeczna, jeżeli jednym z jej warunków jest jej wniosek lub negacja wniosku. Np.: Sprzeczności zewnętrzne: 1. M, N, X X 2. M, N, nX X

168 Sprzeczności w rozwiniętych dokładnych bazach reguł (3) Reguła n jest zewnętrznie bezpośrednio SRD1-sprzeczna z regułą m, jeżeli: –wniosek lub zanegowany wniosek reguły m jest warunkiem reguły n, i –wniosek lub zanegowany wniosek reguły n jest warunkiem reguły m. Np.: Zastąpienie warunku X reguły 2 warunkami reguły 1 czyni z reguły 2 regułę 3 będącą zewnętrznie SRD1-samosprzeczną: 3. P, Q, M, N, nY Y 1. M, N, nY X 2. P, Q, X Y

169 Sprzeczności w rozwiniętych dokładnych bazach reguł (4) Reguła n jest zewnętrznie pośrednio SRD1-sprzeczna z regułą m, jeżeli podstawienie reguły m do innej reguły, tej zaś do jeszcze innej itd., doprowadza do reguły bezpośrednio SRD1-sprzecznej z regułą n. Np. reguła 1 jest zewnętrznie pośrednio SRD1-sprzeczna z regułą 3: 1. K, B H 2. C, D, nX K 3. H, A X. Pośrednikiem jest tutaj reguła 2. Podstawienie warunków reguły 3 w miejsce warunku X reguły 2 daje bowiem (w najbardziej niekorzystnym przypadku) regułę 4: 4. C, D, nH, nA K która jest zewnętrznie bezpośrednio SRD1-sprzeczna z regułą 1

170 Sprzeczności w rozwiniętych dokładnych bazach reguł (5) 1. Reguła jest wewnętrznie SRD1-samosprzeczna, jeżeli ma warunki wykluczające się. Np.: 1. nA, N, A X Sprzeczności wewnętrzne:

171 Sprzeczności w rozwiniętych dokładnych bazach reguł (6) 1. Reguła jest pośrednio wewnętrznie SRD1-sprzeczna, jeżeli jej spłaszczenie daje regułę SRD1-samosprzeczną Np.: 1. C, B, Y X 2. A, nB Y daje: 3. C, B, nB, A X

172 Sprzeczności w rozwiniętych dokładnych bazach reguł i bazach ograniczeń (7) 2. Sprzeczności typu SRD2: warunki reguły są sprzeczne w wyniku interakcji bazy reguł i bazy ograniczeń. Np.: 1. A, B, C W Baza reguł 1. (A, C) Baza ograniczeń

173 Nadmiarowości w rozwiniętych dokładnych bazach reguł (1) 1. Nadmiarowości typu NRD1: występowanie reguł o jednakowych wnioskach i jednakowych warunkach. Np. w przypadku reguł: reguła 4 ma takie same warunki i taki sam wniosek jak reguła 1 wraz z regułami 2 i nA, B W 2. C, D A 3. E, F B 4. nC, nD, E, F W

174 Nadmiarowości w rozwiniętych dokładnych bazach reguł (2) 2. Nadmiarowości typu NRD1_2: występowanie reguł subsumowanych. Np.w przypadku reguł reguła 1 jest subsumowana (zawarta) w regule 2, gdyż obydwie mają taki sam wniosek, a warunki reguły 2 są podzbiorem warunków reguły 1. Regułę 1 można więc usunąć z bazy reguł. 1. A, B, C, nX W 2. A, B W

175 Nadmiarowości w rozwiniętych dokładnych bazach reguł (3) 2. Nadmiarowości typu NRD1_3: występowanie reguł o niepotrzebnych warunkach. Np.w przypadku reguł Reguły te można zastąpić jedną regułą. 3. A, B W 1. A, B, C W 2. A, B, nC W

176 Nadmiarowości w rozwiniętych dokładnych bazach reguł (4) 2. Nadmiarowości typu NRD2: Źródłem nadmiarowości typu NRD2 jest interakcja bazy reguł i bazy ograniczeń. Np 1. A, nF W 2. G, B W 3. A, nH W 4. nB, nC F 5. A, D G 6. nB, nE H Baza Reguł Baza Ograniczeń 1. (B, C, E) 1.A W 4. nB, nC F 5. A, D G 6. nB, nE H Baza Reguł redukują się do:

177 Wnioskowanie rozwinięte dokładne w przód: przykład (b) sprzeczna baza reguł A B nC Fakty: 2. nW B Z 1. A B Z W 3. A C Z Reguły: A B nC nZ Nowy fakt: nZ

178 Wnioskowanie rozwinięte dokładne w przód: przykład (b) sprzeczna baza reguł A B nC Z nW 2. nW B Z 1. A B Z W 3. A C Z Reguły: A B nC nZ nW Fakty: 2. nW B Z 1. A B Z W 3. A C Z Nowy fakt: nW Nowy fakt: Z

179 Wnioskowanie rozwinięte dokładne w przód: przykład (b) sprzeczna baza reguł A B nC nZ nW 2. nW B Z 1. A B Z W 3. A C Z Reguły: A B nC Z W Fakty: 2. nW B Z 1. A B Z W 3. A C Z itd. itd. Zmiany W nZ nW Z W są niekończącymi się oscylacjami, świadczącymi o sprzeczności bazy reguł. Nowy fakt: W Nowy fakt: nZ

180 Wnioskowanie rozwinięte dokładne w przód: przykład (c) sprzeczna baza reguł A B C Z 2. nW B Z 1. A B Z W 3. A C Z Reguły: A B C Fakty: A B C Z W 2. nW B Z 1. A B Z W 3. A C Z Z bazy reguł i z faktów A, B i C wynikają więc tym razem nowe fakty Z i W i na tym koniec. Nowy fakt: Z Nowy fakt: W

181 Przestrzeń decyzyjna dla weryfikacji kredytobiorcy: 36 trójek atrybutowych z,ly dostateczny dobry b.dobry wskaźnik finansowy Zabezpieczenie złe dobre b. dobre reputacja b. dobra dobra zła

182 Klasyfikacja zysków dla bazy DYR. 0 zysk straty Górna granica strat= Dolna granica małego zysku Mały zysk Duży zysk Bardzo duży zysk Górna granica małego zysku = Dolna granica dużego zysku Górna granica dużego zysku= Dolna granica bardzo dużego zysku


Pobierz ppt "A.Niederliński ftp://lemon.ia.polsl.gliwice.pl/pub/RMSE REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1."

Podobne prezentacje


Reklamy Google