Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałMarcelina Cieślikowski Został zmieniony 10 lat temu
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 + X2 +... +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 3. 1. 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 <Wiek<40 lat”, ”40 lat<Wiek”] ) CF(”Wiek <=30 lat”) = -1 CF(”40 lat <Wiek”) = -1 CF(”30 lat <Wiek < 40 lat”) = 1 Baza ograniczeń dokładnych
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 – 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 – 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.4 + 0.6 = 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 (– 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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.