Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

PRZYGOTOWALI Bartosz Pawlik Daniel Sawa Marcin Turbiński.

Podobne prezentacje


Prezentacja na temat: "PRZYGOTOWALI Bartosz Pawlik Daniel Sawa Marcin Turbiński."— Zapis prezentacji:

1 PRZYGOTOWALI Bartosz Pawlik Daniel Sawa Marcin Turbiński

2 REGUŁOWO- MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE

3 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.

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

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

6 STRUKTURA FUNKCJONALNA SYSTEMU EKSPERTOWEGO DYNAMICZNA BAZA DANYCH

7 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

8 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

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

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

11 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

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

13 Zmienne stosowane w systemach ekspertowych RMSE 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

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

15 Logiczne zmienne łańcuchowe : “Nazwa” jest logiczną zmienną łańcuchową, jeżeli Nazwa przyjmuje tylko wartości ze zbioru stałych logicznych {Prawda, Nieprawda} Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych

16 Rzeczywiste zmienne łańcuchowe : “Wartość” jest rzeczywistą zmienną łańcuchową, jeżeli Wartość przyjmuje wartości rzeczywiste 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ść przyjmuje wartości całkowite Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych

18 BAZA REGUŁ Reguły = wiedza dziedzinowa o charakterze ogólnym Reguły = wiedza dziedzinowa o charakterze ogólnym FAKTY REGUŁY Fakty = wiedza dziedzinowa Fakty = wiedza dziedzinowa o charakterze szczegółowym 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. 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Ł regula(Numer_reguły, Wniosek, Lista_warunków, Semafor_wyświetlania) fakt(Warunek_dopytywalny) Klauzule dokładnej bazy reguł:

22 Wniosek: Zmienna łańcuchowa typu logicznego, przedstawiająca nazwę wniosku. Np. ”wysoka temperatura”

23 Lista_warunków: [Warunek_1,..., Warunek _i,..., Warunek _n] Dowolna zmienna łańcuchowa logiczna 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Ł regula(Numer_reguły, Wniosek, Lista_warunków, Semafor_wyświetlania) Sens reguły: Wniosek jest prawdą wtedy i tylko wtedy, jeżeli wszystkie warunki są prawdą jest następujący:

26 BAZA REGUŁ regula(Numer_reguły, Skutek, Lista_przyczyn, Semafor_wyświetlania) Sens reguły: Skutek jest wynikiem zaistnienia wszystkich przyczyn z listy przyczyn jest następujący:

27 Poglądowe przedstawianie reguł: Wniosek Warunek_1,..., Warunek_n   Symbol implikacji regułowej

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

29 Zagnieżdżanie reguł Baza Reguł: 1. A  D 1. A  D 2. F, H  G 2. F, H  G 3. B  L 3. B  L 4. D, J  M 4. D, J  M 5. C, D  F 5. C, D  F 6. A, E  J 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

30 Zagnieżdżające się reguły mogą mieć warunki dwojakiego rodzaju: 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

31 Warunki dopytywalne i niedopytywalne Baza Reguł: 1. A  D 1. A  D 2. F, H  G 2. F, H  G 3. B  L 3. B  L 4. D, J  M 4. D, J  M 5. C, D  F 5. C, D  F 6. A, E  J 6. A, E  J Podział warunków: Podział warunków: Warunki dopytywalne: A, B, C, E i H. Warunki dopytywalne: A, B, C, E i H. System ekspertowy pyta użytkownika o wartość logiczną tych warunków 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 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

32 BAZA REGUŁ Fakty: zdania bezwarunkowe, uznawane za prawdziwe, np.: Fakty: zdania bezwarunkowe, uznawane za prawdziwe, np.: -4 °C <= Temperatura_powietrza <= 4 °C -4 °C <= Temperatura_powietrza <= 4 °C student_J.Kowalski_ zdał_wszystkie_egzaminy_ w_terminie student_J.Kowalski_ zdał_wszystkie_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

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

34 Klasyfikacja baz reguł (1) Ze względu na sposób występowania warunków niedopytywalnych rozróżniam: 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ł elementarne : warunki niedopytywalne nie występują w postaci zanegowanej bazy reguł rozwinięte : warunki niedopytywalne mogą występować w postaci zanegowanej bazy reguł rozwinięte : warunki niedopytywalne mogą występować w postaci zanegowanej

35 Przykład elementarnej bazy reguł 1. A, B, C  W 1. A, B, C  W 2. W, D, E  V 2. W, D, E  V 3. V, H, I, J  U 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. 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.

36 Niedogodność: 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) 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)

37 Przykład bazy elementarnej: pojadę_na_wycieczkę_zagraniczną jeżeli 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_dostanę_urlopu nie_pojadę_na_wycieczkę_zagraniczną jeżeli nie_będę_miał_pieniędzy 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ą

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

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

40 Przykład bazy rozwiniętej: pojadę_na_wycieczkę_zagraniczną jeżeli 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ą

41 Klasyfikacja baz reguł (2) Ze względu na pewność reguł, warunków i wniosków rozróżnia się: 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ł dokładne, których reguły są prawdą, których warunki i wnioski mogą być albo prawdą, albo nieprawdą bazy reguł przybliżone, których reguły, warunki i wnioski mogą mieć różne stopnie pewności bazy reguł przybliżone, których reguły, warunki i wnioski mogą mieć różne stopnie pewności

42 Klasyfikacja baz reguł (3) Bazy reguł dokładne Bazy reguł przybliżone Bazy reguł elementarne Bazy reguł rozwinięte Bazy reguł rozwinięte przybliżone (BRP) Bazy reguł rozwinięte dokładne (BRD) Bazy reguł elementarne przybliżone (BEP) Bazy reguł elementarne dokładne (BED)

43 Klasyfikacja systemów wnioskujących (1) 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

44 Klasyfikacja systemów wnioskujących (2) Klasyfikacja systemów wnioskujących (2) Bazy reguł rozwinięte przybliżone (BRP) Wnioskowanie elementarne przybliżone Bazy reguł elementarne przybliżone (BEP) Wnioskowanie rozwinięte przybliżone Wnioskowanie przybliżone

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

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

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

48 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. Wszystko, co nie wynika z bazy reguł, bazy ograniczeń i bazy modeli oraz z deklaracji użytkownika, uważa się za nieprawdziwe.

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

50 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

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

52 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.79”, “56”

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

54 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ą

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

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

57 Model elementarny: Operacja/Relacja modele arytmetyczne z dwoma argumentami wykonują operacje: “+”, “  -”, “  ”, “/”, “div”, “mod”, “min”, “max”, “%”, “A^N”, “zaokrąglenie_do_N” N – liczba naturalna

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

59 Model elementarny: Operacja/Relacja modele relacyjne testują relacje : “>”, “==”, “ =”, “ ”

60 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

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

62 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

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

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

65 Model rozwinięty: Operacja/Relacja modele arytmetyczne wykonują operacje “+”, ”  ”

66 Model rozwinięty: Operacja/Relacja modele relacyjne testują relacje : ”<,<”, ”<,<=”, ”<=,<”, ”<=,<=”

67 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

68 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ą

69 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

70 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ą

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

72 Model liniowy: Wynik rzeczywista zmienna łańcuchowa

73 Model liniowy: Lista_współczynników [“A_1”, “A_2”,...,”A_n”] gdzie “A_i” rzeczywiste zmienne łańcuchowe

74 Model liniowy: Lista_zmiennych [“X_1”, “X_2”,...,”X_n”] gdzie “X_i” rzeczywiste zmienne łańcuchowe

75 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ą

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

77 Model wielomianowy: Wynik rzeczywista zmienna łańcuchowa

78 Model wielomianowy: Wartość_Zmiennej rzeczywista zmienna łańcuchowa przedstawiająca nazwę lub wartość zmiennej rzeczywistej, dla której jest wyznaczana wartość wielomianu

79 Model wielomianowy: Lista_współczynników [“A_1”, “A_2”,...,”A_n”] gdzie: “A_i” rzeczywista zmienna łańcuchowa

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

81 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ą

82 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)

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

84 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, War_stos_M, Wniosek_N, A, “ R_N”, B, 1]) regula(M, Wniosek_M, [...,Wniosek_N,..])

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

86 Zagnieżdżające się modele mogą mieć argumenty dwojakiego rodzaju: 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

87 Zagnieżdżające się modele mogą mieć warunki startowe dwojakiego rodzaju: Zagnieżdżające się modele mogą mieć warunki startowe dwojakiego rodzaju: Warunki startowe dopytywalne: nie są wynikami modeli 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

88 BAZA RAD rada( numer_reguły/modelu, nazwa_pliku_rady_dla_reguły/modelu) Klauzule bazy rad:

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

90 DYNAMICZNA BAZA DANYCH Dynamiczna baza danych jest bazą relacyjną. Dynamiczna baza danych jest bazą relacyjną. Podstawowe relacje dla BED: Podstawowe relacje dla BED: prawda(Warunek) = „Warunek jest prawdą” prawda(Warunek) = „Warunek jest prawdą” nieprawda(Warunek) = „Warunek jest nieprawdą” 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ń. Zawiera deklaracje użytkownika odnośnie do warunków dopytywalnych albo warunki niedopytywalne, uznane za prawdziwe w wyniku dotychczasowych wnioskowań.

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

92 System ekspertowy jako nowy paradygmat programowania (2) Programowanie stosujące bazy wiedzy (systemy ekspertowe) można uważać za odbywające się zgodnie z paradygmatem: 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

93 Systemy ekspertowe a Prolog (1) Zgodnie z tym paradygmatem działa jedyny deklaratywny język programowania - Prolog. 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ł. 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ł. Kompilator Prologu jest wyposażony w system wnioskujący, rozstrzygający prawdziwość podanego celu dla przedstawionych faktów i reguł.

94 Systemy ekspertowe a Prolog (2) Dlatego Prolog umożliwia wyjątkowo prostą realizację systemów ekspertowych. 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++. 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. 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.

95 Zalety rozdzielenia bazy wiedzy i systemu wnioskującego (1) Łatwość dostępu do wiedzy dziedzinowej, danej w jawnej postaci pliku tekstowego. Ł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. 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ą. 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ą.

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

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

98 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. 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. 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.

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

100 Przeznaczenie wnioskowania elementarnego dokładnego w przód Wyznaczenie - dla danej bazy wiedzy - wszystkich faktów i wszystkich wartości zmiennych wynikających: 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 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. z argumentów dopytywalnych, których wartości zostały zadeklarowane przez użytkownika.

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

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

103 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ł

104 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ł

105 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

106 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.

107 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 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 Wyznacza wszystkie wyniki dające się wyznaczyć, nawet te, które nie są dla użytkownika interesujące

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

109 Przeznaczenie wnioskowania elementarnego dokładnego wstecz Na mocy założenia zamkniętego świata: jeżeli hipotezy nie można uznać za prawdę, to uznaje się ją za nieprawdę

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

111 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ł

112 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ł

113 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

114 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

115 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 1. M, N, X  X

116 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 m jest warunkiem reguły n, i wniosek reguły n jest warunkiem reguły m. Np.: wniosek reguły n jest warunkiem reguły m. Np.: 1. M, N, Y  X 1. M, N, Y  X 2. P, Q, X  Y 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

117 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.

118 Sprzeczności w elementarnych dokładnych bazach reguł (4) Zewnętrzna pośrednia SED1-sprzeczność nie jest relacją refleksyjną: w rozpatrywanym przykładzie 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. 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.

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

120 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.: 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])

121 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.: 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])

122 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.: 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]) regula(M,War_stos,[Wniosek,....],_)

123 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.: 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]) regula(M,War_stos,[B,....],_) regula(P, B,[Wniosek,....],_) regula(P, B,[Wniosek,....],_)

124 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 1. A, B, G  Y 2. C, D  A 2. C, D  A 3. E, F  B 3. E, F  B 4. C, D, E, F, G  Y 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. reguła 4 ma takie same warunki i taki sam wniosek jak reguła 1 wraz z regułami 2 i 3.

125 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ł. 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ł.

126 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:

127 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.

128 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ł

129 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ł

130 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?.

131 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.

132 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 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

133 Wnioskowanie rozwinięte dokładne w przód Istotna różnica: 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. 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ł.

134 Wnioskowanie rozwinięte dokładne w przód Istotna różnica: 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ą. 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ą.

135 Wnioskowanie rozwinięte dokładne w przód Istotna różnica: 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ą. 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ą.

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

137 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)

138 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)

139 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)

140 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

141 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;

142 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.

143 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

144 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

145 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.

146 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 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. Wnioskowanie to można stosować również dla baz reguł elementarnych dokładnych.

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

148 Wnioskowanie rozwinięte dokładne wstecz: weryfikacja hipotezy nX 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 ?

149 Wnioskowanie rozwinięte dokładne wstecz: weryfikacja hipotezy nX 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,

150 Wnioskowanie rozwinięte dokładne wstecz: weryfikacja hipotezy nX 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

151 Wnioskowanie rozwinięte dokładne w przód 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.

152 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 zewnętrzne: wniosek reguły jest sprzeczny z jej warunkami wewnętrzne: warunki reguły są sprzeczne wewnętrzne: warunki reguły są sprzeczne

153 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

154 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 m jest warunkiem reguły n, i wniosek lub zanegowany wniosek reguły n jest warunkiem reguły m. Np.: 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

155 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

156 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.: Np.: 1. nA, N, A  X 1. nA, N, A  X Sprzeczności wewnętrzne:

157 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

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

159 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

160 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

161 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

162 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:

163 Wnioskowanie rozwinięte dokładne w przód: przykład (b) sprzeczna baza reguł 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

164 Wnioskowanie rozwinięte dokładne w przód: przykład (b) sprzeczna baza reguł 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

165 Wnioskowanie rozwinięte dokładne w przód: przykład (b) sprzeczna baza reguł 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

166 Wnioskowanie rozwinięte dokładne w przód: przykład (c) sprzeczna baza reguł 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

167 Koniec pewnego rozdziału... Wszystkie systemy ekspertowe dotychczas omawiane korzystały z logiki klasycznej dwuwartosciowej, arystotelowskiej: Wszystkie systemy ekspertowe dotychczas omawiane korzystały z logiki klasycznej dwuwartosciowej, arystotelowskiej: wnioskowanie operowało tylko dwoma stałymi logicznymi: prawda i nieprawda Dla szeregu zastosowań wnioskowanie takie okazuje się mało przydatne.

168 Potrzeba wnioskowania przybliżonego (a) dla szeregu zastosowań systemów ekspertowych podejmowanie poprawnych decyzji wymaga rezygnacji z logiki arystotelowskiej i zastąpienia jej logiką przybliżoną Paradoks: aby nasze decyzje były bardziej poprawne, należy wnioskować w sposób przybliżony

169 Potrzeba wnioskowania przybliżonego (b) Przybliżony charakter reguł, modeli i faktów może być właściwym i użytecznym odbiciem skomplikowanej rzeczywistości

170 Potrzeba wnioskowania przybliżonego (c) dla szeregu ważnych dziedzin zastosowań systemów ekspertowych jak medycyna i finanse, zdania ekspertów są częstokroć różne; jeżeli reguły stosowane przez ekspertów nie są całkowicie pewne i jeżeli eksperci różnią się w ocenie tego, czy coś jest czy nie jest faktem, wyprowadzane przez nich wnioski oczywiście nie mogą być całkowicie pewne;

171 Potrzeba wnioskowania przybliżonego (d) ponieważ jednak w oparciu o te wnioski trzeba częstokroć podejmować trudne i odpowiedzialne decyzje, dobrze jest umieć oszacować stopień pewności owych wniosków; dlatego zasadnym jest postulat, by niepewność ekspertów znalazła odzwierciedlenie w systemach ekspertowych korzystających z wiedzy owych ekspertów.

172 Pochwała wnioskowania przybliżonego (1) Co się tyczy opracowania naszego przedmiotu, to wystarczy może, jeżeli ono osiągnie stopień jasności, na który ów przedmiot pozwala. Arystoteles, „Etyka nikomachejska” Nie we wszystkich bowiem wywodach należy szukać tego samego stopnia ścisłości.

173 Pochwała wnioskowania przybliżonego (2) Lepiej jest mieć rację w sposób nieprecyzyjny niż być precyzyjnym w błędzie Thomas Mayer, „Prawda kontra precyzja w ekonomii”, PWN, Warszawa, 1996

174 Pochwała wnioskowania przybliżonego (3) Nie bądź niczego w stu procentach pewien. Bertrand Russell, „Dekalog liberała” w „Szkicach niepopularnych”, Książka i Wiedza, Warszawa, 1995

175 Istota wnioskowania przybliżonego Wnioski i warunki nie przyjmują wartości ze zbioru stałych logicznych: “prawda” i “nieprawda”, “prawda” i “nieprawda”, lecz wartości ze zbioru współczynników pewności CF (Certainty Factor): -1<=CF <=1

176 Budowa bazy wiedzy przybliżonej Baza reguł (przybliżonych) Baza reguł (przybliżonych) Baza modeli (przybliżonych) Baza modeli (przybliżonych) Baza ograniczeń dokładnych Baza ograniczeń dokładnych Baza ograniczeń przybliżonych Baza ograniczeń przybliżonych Baza rad Baza rad

177 Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych przybliżonych zmienne łańcuchowe typu: zmienne łańcuchowe typu: przybliżonego przybliżonego rzeczywistego rzeczywistego całkowitego całkowitego

178 Przybli ż one zmienne łańcuchowe : “Nazwa” jest przybliżoną zmienną łańcuchową, jeżeli Nazwa przyjmuje tylko wartości współczynników pewności z przedziału [-1, 1]. Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych przybliżonych

179 Klasyfikacja baz wiedzy przybliżonych Baza wiedzy elementarna przybliżona Baza wiedzy elementarna przybliżona Baza wiedzy rozwinięta przybliżona Baza wiedzy rozwinięta przybliżona

180 Baza wiedzy elementarna przybliżona Zanegowane wnioski nie mogą być warunkami. Innymi słowy: baza wiedzy nie ma zanegowanych warunków niedopytywalnych W szczególności:

181 Baza wiedzy elementarna przybliżona Wniosek żadnej reguły nie występuje w postaci zanegowanej w liście warunków innej reguły, oraz Wniosek żadnej reguły nie występuje w postaci zanegowanej w liście warunków innej reguły, oraz Wniosek żadnej reguły nie występuje w postaci zanegowanej jako warunek startowy dowolnego modelu, oraz Wniosek żadnej reguły nie występuje w postaci zanegowanej jako warunek startowy dowolnego modelu, oraz Wniosek żadnego modelu relacyjnego nie występuje w postaci zanegowanej w liście warunków dowolnej reguły Wniosek żadnego modelu relacyjnego nie występuje w postaci zanegowanej w liście warunków dowolnej reguły

182 Wnioskowanie elementarne przybliżone 1 Każdemu warunkowi dopytywalnemu użytkownik przyporządkowuje współczynnik pewności warunku CF (Certainty Factor), będący liczbą z przedziału [-1, 1]: warunek_dopytywalny(CF)

183 Wnioskowanie elementarne przybliżone 1 Wnioskowanie elementarne przybliżone 1 CF=1  warunek dopytywalny jest prawdą CF= –1  warunek dopytywalny jest nieprawdą przy czym: CF= 0  warunek dopytywalny jest nieokreślony CF= 0.5  warunek dopytywalny jest być może prawdą CF= –0.5  warunek dopytywalny jest być może nieprawdą

184 Wnioskowanie elementarne przybliżone 1 Wnioskowanie elementarne przybliżone 1 Stosowanie ujemnych wartości współczynników pewności umożliwia uwzględnienie istnienia zarówno: warunków niesprzyjających wnioskowi (a więc zmniejszających współczynnik pewności wniosku). warunków sprzyjających wnioskowi (a więc powiększających współczynnik pewności wniosku), jak i

185 Wnioskowanie elementarne przybliżone 1 Wnioskowanie elementarne przybliżone 1 CF= – 1 CF=1 CF Wzrost pewności – malenie niepewności Wzrost niepewności – malenie pewności

186 Wnioskowanie elementarne przybliżone 2 Każdej regule jest przyporządkowany współczynnik pewności reguły CF (Certainty Factor), będący liczbą z przedziału [-1, 1]: regula(Nr, Wniosek, Lista_warunków, CF) Współczynniki pewności reguł CF są elementami bazy reguł

187 Wnioskowanie elementarne przybliżone 3 Wnioskowanie elementarne przybliżone 3 Współczynnik pewności listy warunków jest najmniejszym z pośród współczynników pewności warunków tej listy: regula(Nr, Wniosek, [War1, War2, War3], CF_reguła) War1(CF1) War2(CF2) War3(CF3) } CF[War1, War2, War3] = Min (CF1, CF2, CF3) (zasada łańcucha)

188 Wnioskowanie elementarne przybliżone 4 Wnioskowanie elementarne przybliżone 4 Współczynnik pewności wniosku reguły jest iloczynem współczynnika pewności reguły i współczynnika pewności koniunkcji warunków tej reguły. regula(Nr, Wniosek, [War1, War2, War3], CF_Reguła) CF[War1, War2, War3] = Min (CF1, CF2, CF3) = CF_Warunki CF_Wniosek = CF_Reguła * CF_Warunki

189 Wnioskowanie elementarne przybliżone 4 Wnioskowanie elementarne przybliżone 4 Współczynnik pewności reguły jest wzmocnieniem określającym wpływ pewności warunków reguły na pewność wniosku reguły. CF_Reguła CF_WarunkiCF_Wniosek

190 Wnioskowanie elementarne przybliżone 4 CF = –0.5 oznacza regułę, której warunki w połowie osłabiają pewność wniosku swoją pewnością CF = 1 oznacza regułę, której warunki całkowicie wzmacniają (wspierają) pewność wniosku swoją pewnością CF = –1 oznacza regułę, której warunki całkowicie osłabiają pewność wniosku swoją pewnością CF = 0.5 oznacza regułę, której warunki w połowie wzmacniają (wspierają) pewność wniosku swoją pewnością CF = 0 oznacza regułę, której warunki nie mają wpływu na pewność wniosku

191 Wnioskowanie elementarne przybliżone 5 Wnioskowanie elementarne przybliżone 5 Jeżeli warunek dopytywalny A ma współczynnik pewności CF_A, to warunek dopytywalny nie_A ma wspólczynnik pewności CF_nie_A= – CF_A, i na odwrót: A(CF_A)  nie_A(– CF_A) Współczynnik pewności warunku dopytywalnego zanegowanego jest równy dopełnieniu do 0 współczynnika pewności tego warunku.

192 Wnioskowanie elementarne przybliżone 6 Wnioskowanie elementarne przybliżone 6 Baza ograniczeń dokładnych Zawiera listy warunków dopytywalnych dokładnie wzajemnie wykluczających się

193 Wnioskowanie elementarne przybliżone 6 Wnioskowanie elementarne przybliżone 6 Tylko jeden warunek z listy warunków wykluczających się zawartej w bazie ograniczeń dokładnych może mieć CF = 1; dla pozostałych CF = –1. ograniczenie(3, [”Wiek <=30 lat”, ”30 lat

194 Wnioskowanie elementarne przybliżone 6 Wnioskowanie elementarne przybliżone 6 Baza ograniczeń przybliżonych Zawiera listy warunków dopytywalnych wzajemnie wykluczających się w przybliżeniu

195 Wnioskowanie elementarne przybliżone 6 Wnioskowanie elementarne przybliżone 6 Warunki z listy warunków wykluczających się w przybliżeniu, zawartej w bazie ograniczeń przybliżonych mogą mieć CF z przedziału [-1, 1] ograniczenie_p(2,[”niedostateczna znajomość angielskiego”, ”dostateczna znajomość angielskiego”, ”dobra znajomość angielskiego”]) Baza ograniczeń przybliżonych CF(”niedostateczna znajomość angielskiego”) = -0.8 CF(” dostateczna znajomość angielskiego”) = 0.6 CF(”dobra znajomość angielskiego”) = -0.8

196 Wnioskowanie elementarne przybliżone 6 Wnioskowanie elementarne przybliżone 6 Bazy ograniczeń dokładnych i bazy ograniczeń przybliżonych służą do: wskazania reguły, którą w danej sytuacji należy stosować; wskazania reguł, które w danej sytuacji nie należy stosować.

197 ograniczenie(N,[„wiek =30”]) CF(wiek =30) = – 1 regula(P,”Wniosek_P”,[„wiek<30”,_,...,_],CF_P) regula(Q,”Wniosek_Q”,[„wiek>=30”,_,...,_],CF_Q) Wnioskowanie elementarne przybliżone 6 Wnioskowanie elementarne przybliżone 6 6A. Reguła o warunku znajdującym się w bazie ograniczeń dokładnych i przyjmującym wartość CF=1 jest stosowana przy wnioskowaniu. reguła P jest stosowana

198 Wnioskowanie elementarne przybliżone 6 Wnioskowanie elementarne przybliżone 6 6B. Reguła o warunku znajdującym się w bazie ograniczeń dokładnych i przyjmującym wartość CF= –1 nie jest stosowana przy wnioskowaniu. ograniczenie(N,[”wiek =30”]) CF(wiek =30) = – 1 regula(P,”Wniosek_P”,[„wiek<30”,_,...,_],CF_P) regula(Q,”Wniosek_Q”,[„wiek>=30”,_,...,_],CF_Q) reguła Q nie jest stosowana

199 Wnioskowanie elementarne przybliżone 6 Wnioskowanie elementarne przybliżone 6 6C. Reguła o warunku znajdującym się w bazie ograniczeń przybliżonych i przyjmującym największą wartość CF jest stosowana przy wnioskowaniu. reguła P jest stosowana ograniczenie(N, [”niedostateczna znajomość angielskiego”, ”dostateczna znajomość angielskiego”]) CF(niedostateczna znajomość angielskiego) = -0.8, CF(dostateczna znajomość angielskiego) = 0.8 regula(P,”W_P”,[ ” dostateczna znajomość angielskiego”, _,...,_],CF_P) regula(Q,”W_Q”,[”niedostateczna znajomość angielskiego”, _,...,_],CF_Q)

200 Wnioskowanie elementarne przybliżone 6 Wnioskowanie elementarne przybliżone 6 6D. Reguła o warunku znajdującym się w bazie ograniczeń przybliżonych i przyjmującym wartość CF nie będącą wartością maksymalną dla danego ograniczenia, nie jest stosowana przy wnioskowaniu. ograniczenie(N,[”niedostateczna znajomość angielskiego”, ”dostateczna znajomość angielskiego”]) CF(niedostateczna znajomość angielskiego) = -0.8, CF(dostateczna znajomość angielskiego) = 0.8 regula(P,”W_P”,[ ” dostateczna znajomość angielskiego”, _,...,_],CF_P) regula(Q,”W_Q”,[”niedostateczna znajomość angielskiego”, _,...,_],CF_Q) reguła Q nie jest stosowana

201 Wnioskowanie elementarne przybliżone 7 Wnioskowanie elementarne przybliżone 7 Reguły o tym samym wniosku muszą być albo: -regułami kumulatywnymi, tzn. regułami o niezależnych listach warunków -regułami dysjunktywnymi, tzn. regułami o zależnych listach warunków albo

202 Wnioskowanie elementarne przybliżone 7 Wnioskowanie elementarne przybliżone 7 Dla reguł kumulatywnych wypadkowy CF(Wniosek) zależy od CF_i(Wniosek) każdej z reguł kumulatywnych Dla reguł dysjunktywnych wypadkowy CF(Wniosek) jest równy CF_i(Wniosek) dla i-tej z reguł dysjunktywnych, jeżeli CF_i(Lista_Warunków) > 0

203 Regułu kumulatywne Regułu kumulatywne regula(i, ”Pozostanę dyrektorem”, [”Efekty finansowe”], ”0.8”) Listy warunków są niezależne, jeżeli dowolna wartość CF dla dowolnego warunku dowolnej z tych list nie determinuje wartości CF żadnego warunku drugiej listy warunków. Np. : regula(j, ”Pozostanę dyrektorem”, [”Nie podpadłem”], ”0.2”) regula(k, ”Pozostanę dyrektorem”, [”Odpowiedni wiek”], ”0.1”)

204 Reguły dysjunktywne Reguły dysjunktywne regula(k, ”Udziel kredyt”, [”Dobre zabezpieczenie”, ”Dobra reputacja”], ”0.3”) Listy warunków są zależne, jeżeli istnieją takie wartości CF dla wszystkich warunków dowolnej z tych list, które determinują wartości CF wszystkich warunków drugiej listy warunków. Np.: regula(i, ”Udziel kredyt”, [”Bardzo dobre zabezpieczenie”, ”Bardzo dobra reputacja”], ”0.8”) regula(j, ”Udziel kredyt”, [”Bardzo dobre zabezpieczenie”, ”Dobra reputacja”], ”0.5”)

205 Reguły dysjunktywne Reguły dysjunktywne 1. Tylko jedna z reguł dysjunktywnych może mieć współczynnik pewności warunków CF(Lista_warunków) > 0 2. Pozostałe reguły dysjunktywne muszą mieć współczynnik pewności warunków CF(Lista_warunków) = -1 Listy warunków wykluczają się w tym sensie, że:

206 Reguły dysjunktywne Reguły dysjunktywne regula(k, ”Udziel kredyt”, [”Dobre zabezpieczenie”, ”Dobra reputacja”], ”0.4”) regula(i, ”Udziel kredyt”, [”Bardzo dobre zabezpieczenie”, ”Bardzo dobra reputacja”], ”0.8”) regula(j, ”Udziel kredyt”, [”Bardzo dobre zabezpieczenie”, ”Dobra reputacja”], ”0.5”) Np. dla: CF([”Bardzo dobre zabezpieczenie”,”Bardzo dobra reputacja”]) = – 1, CF([”Bardzo dobre zabezpieczenie”,”Dobra reputacja”]) = 0.7, CF([” Dobre zabezpieczenie”,”Dobra reputacja”]) = – 1, może być:

207 Reguły dysjunktywne Reguły dysjunktywne Reguły dysjunktywne wyróżniamy w bazie reguł klauzulą: tylko_jedna_regula(”Udziel kredyt”) regula(k, ”Udziel kredyt”, [”Dobre zabezpieczenie”, ”Dobra reputacja”], ”0.4”) regula(i, ”Udziel kredyt”, [”Bardzo dobre zabezpieczenie”, ”Bardzo dobra reputacja”], ”0.8”) regula(j, ”Udziel kredyt”, [”Bardzo dobre zabezpieczenie”, ”Dobra reputacja”], ”0.5”)

208 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych 7A. Dla dwóch reguł kumulatywnych z których przynajmniej wniosek jednej ma CF>0: regula(Nr_A, Wniosek, [War1_A, War2_A, War3_A], CF_Re_A)  CF_A(Wniosek) regula(Nr_B, Wniosek, [War1_B, War2_B, War3_B], CF_Re_B)  CF_B(Wniosek ) > 0 CF (Wniosek) = CF_A(Wniosek) + CF_B(Wniosek) – CF_A(Wniosek)*CF_B(Wniosek) wypadkowy współczynnik pewności wniosku jest równy:

209 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych Przykład 1: CF_A(Wniosek) = – 1 CF_B(Wniosek ) = 1 CF (Wniosek) = CF_A(Wniosek)+ CF_B(Wniosek) – CF_A(Wniosek)*CF_B(Wniosek) = –1 + 1 – (–1)*1 = 1

210 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych Przykład 2: CF_A(Wniosek) = 0.6 CF_B(Wniosek ) = 1 CF (Wniosek) = CF_A(Wniosek) + CF_B(Wniosek) – CF_A(Wniosek)*CF_B(Wniosek) = – 0.6 * 1 = 1

211 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych Przykład 3: CF_A(Wniosek) = 0.5 CF_B(Wniosek ) = 0.7 CF (Wniosek) = CF_A(Wniosek)+ CF_B(Wniosek) – CF_A(Wniosek)*CF_B(Wniosek) = – 0.5*0.7 = 1.2 – 0.35 = 0.85

212 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych Przykład 4: CF_A(Wniosek) = – 1 CF_B(Wniosek ) = 0.6 CF (Wniosek) = CF_A(Wniosek) + CF_B(Wniosek) – CF_A(Wniosek)*CF_B(Wniosek) = 0.6 – 1 – 0.6*(– 1 ) = – = 0.2

213 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych Uzasadnienie: 2. Pewność ta nie może jednak być nigdy większa od 1, co zapewnia obecność różnicy iloczynów współczynników pewności 1. Dzięki niezależności list warunków, każdy dodatkowy wniosek z dodatnią wartością CF jest dodatkowym czynnikiem, zwiększającym pewność zaistnienia tego wniosku.

214 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych 7B. Dla dwóch reguł kumulatywnych, których obydwa wnioski mają CF <= 0: regula(Nr_A, Wniosek, [War1_A, War2_A, War3_A], CF_re_A)  CF_A(Wniosek) <= 0 regula(Nr_B, Wniosek, [War1_B, War2_B, War3_B], CF_re_B)  CF_B(Wniosek ) <= 0 CF (Wniosek) = CF_A(Wniosek)+ CF_B(Wniosek) + CF_A(Wniosek)*CF_B(Wniosek) wypadkowy współczynnik pewności wniosku jest równy:

215 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych Przykład 1: CF (Wniosek) = CF_A(Wniosek)+ CF_B(Wniosek) + CF_A(Wniosek)*CF_B(Wniosek) = – 0.6 – 1 + (– 0.6) (– 1) = – 1 CF_A(Wniosek) = – 0.6 CF_B(Wniosek) = – 1

216 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych Przykład 2: CF (Wniosek) = CF_A(Wniosek)+ CF_B(Wniosek) + CF_A(Wniosek)*CF_B(Wniosek) = 0 – (– 0.6) = – 0.6 CF_A(Wniosek) = 0 CF_B(Wniosek) = – 0.6

217 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych Uzasadnienie: 2. Pewność ta nie może jednak być nigdy mniejsza od –1, co zapewnia obecność sumy iloczynów współczynników pewności 1. Dzięki niezależności list warunków, każdy dodatkowy wniosek z ujemną wartością CF jest dodatkowym czynnikiem, zmniejszającym pewność zaistnienia tego wniosku.

218 Wypadkowy wniosek reguł kumulatywnych Wypadkowy wniosek reguł kumulatywnych Przedstawiony sposób liczenia zawsze zwiększa wypadkowy współczynnik pewności w miarę zwiększania się liczby jednakowych wniosków o dodatnich współczynnikach pewności, natomiast nigdy nie doprowadzi do tego, że współczynnik ten stanie się równy lub większy od 1. Przedstawiony sposób liczenia zawsze zmniejsza wypadkowy współczynnik pewności w miarę zwiększania się liczby jednakowych wniosków o ujemnych współczynnikach pewności, natomiast nigdy nie doprowadzi do tego, że współczynnik ten stanie się równy lub mniejszy od –1.

219 Wypadkowy wniosek reguł dysjunktywnych Wypadkowy wniosek reguł dysjunktywnych 7C. Dla dwóch reguł dysjunktywnych, wypadkowy współczynnik pewności wniosku jest określony przez tę regułę, której lista wniosków ma CF>0: regula(Nr_A, Wniosek, [War1_A, War2_A, War3_A], CF_Re_A) regula(Nr_B, Wniosek, [War1_B, War2_B, War3_B], CF_Re_B)  CF [War1_A, War2_A, War3_A]) = – 1 CF (Wniosek) = CF_B(Wniosek)  CF [War1_A, War2_A, War3_A]) = 0.8

220 Wypadkowy wniosek reguł dysjunktywnych Wypadkowy wniosek reguł dysjunktywnych W przypadku większej liczby reguł dysjunktywnych postępujemy podobnie: CF wspólnego wniosku jest determinowane przez jedną jedyna regułę, której lista warunków ma CF > 0.

221 Wypadkowy wniosek reguł dysjunktywnych Wypadkowy wniosek reguł dysjunktywnych Uzasadnienie: Dla dowolnej liczby reguł dysjunktywnych, tylko jedna może mieć dla listy warunków współczynnik CF > 0 i ta reguła determinuje współczynnik pewności wniosku. Dla pozostałych reguł współczynniki pewności list warunków muszą być równe –1 i reguły te są pomijane.

222 Wnioskowanie elementarne przybliżone 8 Wnioskowanie elementarne przybliżone 8 W szczególnym przypadku wnioskowania elementarnego dokładnego (korzystającego z logiki arystotelowskiej): i przedstawione powyżej zasady wnioskowania elementarnego przybliżonego z współczynnikami pewności sprowadzają się do zasad stosowanych dla systemów ekspertowych elementarnych dokładnych. dla wszystkich reguł CF=1 dla wszystkich warunków CF=1 lub CF=-1

223 Wnioskowanie elementarne przybliżone Wnioskowanie elementarne przybliżone Skąd biorą się współczynniki pewności? 1. Z analizy problemu 3. Z analizy wyników decyzji 2. Z uśredniania opinii ekspertów

224 KONIEC


Pobierz ppt "PRZYGOTOWALI Bartosz Pawlik Daniel Sawa Marcin Turbiński."

Podobne prezentacje


Reklamy Google