Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałStanisława Sołek Został zmieniony 11 lat temu
1
REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1
Niederliński ftp://lemon.ia.polsl.gliwice.pl/pub/RMSE
2
EKSPERT Człowiek posiadający specjalistyczną wiedzę z pewnej dziedzinie (wiedzę dziedzinową) i umiejętność stosowania jej dla podejmowania decyzji związanych z tą dziedziną (umiejętność wnioskowania w oparciu o posiadaną wiedzę), nabyte w wyniku studiów i praktyki.
3
SYSTEMY EKSPERTOWE Programy komputerowe wspomagające podejmowanie decyzji, których elementami są: baza wiedzy, zawierająca wiedzę dziedzinową, istotną dla podejmowanych decyzji, system wnioskujący, korzystający z bazy wiedzy dla wypracowania tych decyzji.
4
SYSTEMY EKSPERTOWE Pozostałe elementy systemu ekspertowego:
edytor bazy wiedzy, do tworzenia, modyfikowanie i kasowanie bazy wiedzy interfejs użytkownika, do korzystania z systemu ekspertowego dynamiczna baza danych - relacyjna baza danych do przechowywania odpowiedzi użytkownika i wyników wnioskowania
5
STRUKTURA FUNKCJONALNA SYSTEMU EKSPERTOWEGO
DYNAMICZNA BAZA DANYCH
6
STRUKTURA INFORMATYCZNA SYSTEMU EKSPERTOWEGO
INTERFEJS UŻYTKOWNIKA EDYTOR BAZY WIEDZY DYNAMICZNA BAZA DANYCH SYSTEM WNIOSKUJĄCY BAZA WIEDZY Plik wykonywalny (Skorupowy system ekspertowy) Plik tekstowy
7
Istotna cecha systemu ekspertowego
Baza wiedzy jest plikiem tekstowym, który może być tworzony, czytany i modyfikowany za pomocą edytora bazy wiedzy bez naruszania integralności systemu wnioskującego. Umożliwia to szybkie odczytanie, zrozumienie i modyfikowanie wiedzy dziedzinowej, z której korzysta system ekspertowy
8
STRUKTURA BAZY WIEDZY Baza wiedzy Baza reguł Baza rad Baza ograniczeń
Pliki rad Baza modeli
9
Spotykane synonimy system ekspertowy program regułowy program z regułową bazą wiedzy
10
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 Baza rad Pliki rad
11
STRUKTURA BAZY WIEDZY Baza reguł Baza ograniczeń Baza modeli Baza rad
mają postać klauzul zawierających zmienne
12
Zmienne stosowane w systemach ekspertowych RMSE
W systemach ekspertowych RMSE są stosowane wyłącznie zmienne łańcuchowe Zmienne łańcuchowe : Dowolny ciąg znaków rozpoczynający i kończący się cudzysłowem górnym ".
13
Zmienne łańcuchowe Zmienna łańcuchowa = "Inklud zmiennej łańcuchowej"
14
Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych
zmienne łańcuchowe typu: logicznego rzeczywistego całkowitego
15
Logiczne zmienne łańcuchowe :
Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych Logiczne zmienne łańcuchowe : "Nazwa" jest logiczną zmienną łańcuchową, jeżeli Nazwa jest zmienną logiczną (przyjmuje tylko wartości ze zbioru stałych logicznych {Prawda, Nieprawda}) Np.: "Wiek >= 32 lat", "Niepełnoletni"
16
Rzeczywiste zmienne łańcuchowe :
Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych Rzeczywiste zmienne łańcuchowe : "Wartość" jest rzeczywistą zmienną łańcuchową, jeżeli Wartość jest zmienną rzeczywistą lub liczbą rzeczywistą: Np. "Maksymalna temperatura", "165.72"
17
Całkowite zmienne łańcuchowe :
Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych Całkowite zmienne łańcuchowe : "Wartość" jest całkowitą zmienną łańcuchową, jeżeli Wartość jest zmienną całkowitą lub liczbą całkowitą Np.: "Liczba samochodów w bazie", "48"
18
BAZA REGUŁ REGUŁY FAKTY Fakty = wiedza dziedzinowa
Reguły = wiedza dziedzinowa o charakterze ogólnym Fakty = wiedza dziedzinowa o charakterze szczegółowym
19
BAZA REGUŁ i student_ x_zdał_wszystkie_egzaminy_ w_terminie, to
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Ł w języku polskim: A jest prawdą, jeśli B i C i D są prawdą
Reguły: zdania warunkowe, np. w języku polskim: A jest prawdą, jeśli B i C i D są prawdą w logice: B i C i D A lub w Prologu: A :- B, C, D B, C, D – warunki reguły A – wniosek reguły - symbol implikacji w logice :- - symbol implikacji regułowej w Prologu
21
BAZA REGUŁ reguła(Numer_reguły, "Wniosek",
Klauzule dokładnej bazy reguł: reguła(Numer_reguły, "Wniosek", Lista_warunków, Semafor_wyświetlania) fakt("Warunek_dopytywalny")
22
"Wniosek" : Logiczna zmienna łańcuchowa , której inkludem jest nazwa wniosku. Np. "dobre zabezpieczenie"
23
logiczna zmienna łańcuchowa
Lista_warunków: ["Warunek_1",..., "Warunek _i",..., "Warunek _n"] "Warunek_i" : logiczna zmienna łańcuchowa
24
Semafor_wyświetlania
= 0 informacja o stosowaniu reguły nie jest wyświetlana w trakcie wnioskowania = 1 informacja o stosowaniu reguły jest wyświetlana w trakcie wnioskowania
25
BAZA REGUŁ reguła(Numer_reguły, "Wniosek", Lista_warunków ,
Sens reguły: reguła(Numer_reguły, "Wniosek", Lista_warunków , Semafor_wyświetlania) jest następujący: Wniosek jest prawdą wtedy, jeżeli wszystkie warunki są prawdą
26
BAZA REGUŁ reguła(Numer_reguły, "Wniosek", Lista_warunków ,
Uwaga: reguła(Numer_reguły, "Wniosek", Lista_warunków , Semafor_wyświetlania) Prawdziwość wszystkich warunków jest warunkiem wystarczającym prawdziwości wniosku, nie jest zaś warunkiem koniecznym.
27
BAZA REGUŁ Związek przyczynowo-skutkowy pomiędzy warunkami a wnioskiem: Warunek_1 Warunek_n Wniosek Reguła Warunek_i
28
BAZA REGUŁ reguła(Numer_reguły, "Skutek", Lista_przyczyn ,
Inny sens reguły: reguła(Numer_reguły, "Skutek", Lista_przyczyn , Semafor_wyświetlania) jest następujący: Skutek jest wynikiem zaistnienia wszystkich przyczyn z listy przyczyn
29
BAZA REGUŁ Związek przyczynowo-skutkowy pomiędzy przyczynami a skutkiem: Przyczyna_1 Przyczyna_n Skutek Reguła Przyczyna_i
30
Poglądowe przedstawianie reguł:
reguła(Nr, "Wniosek", ["Warunek_1",..., "Warunek_n"], Semafor_wyświetlania) Wniosek Nr Warunek_1,..., Warunek_n Symbol implikacji regułowej
31
reguła(N, "Wniosek", [..., "ABCD",....])
Reguły mogą się zagnieżdżać: Zagnieżdżanie reguł: wniosek jednej reguły może być warunkiem innej reguły: reguła(N, "Wniosek", [..., "ABCD",....]) reguła(M, "ABCD", Lista_warunków)
32
Zagnieżdżanie reguł Baza reguł: 1. A D 2. F , H G 3. B L
Wnioski niektórych reguł są warunkami innych reguł. Baza reguł: 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J Np. : wniosek F reguły 5 jest warunkiem reguły 2 wniosek J reguły 6 jest warunkiem reguły 4 wniosek D reguły 1 jest warunkiem reguły 4
33
Zagnieżdżanie reguł 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 Warunki niedopytywalne: są wnioskami reguł. Wartość logiczna tych warunków jest określana przez system ekspertowy
34
Warunki dopytywalne i niedopytywalne
Baza Reguł: 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J Podział warunków: Warunki dopytywalne: A, B, C, E i H. System ekspertowy pyta użytkownika o wartość logiczną tych warunków Warunki niedopytywalne: F, D i J. System ekspertowy nie pyta o te warunki, bo ich wartości logiczne wynikają z bazy reguł i warunków dopytywalnych
35
Płaskie bazy reguł Bazy reguł mające wyłącznie warunki dopytywalne
Dowolną bazę reguł można „spłaszczyć” na drodze kolejnego zastępowania warunków niedopytywalnych listami warunków reguł których są wnioskami
36
Reguły muszą się zagnieżdżać:
Płaskie bazy reguł mogą mieć ogromne rozmiary w porównaniu z ich zagnieżdżającymi się równoważnikami. Płaskie bazy reguł mogą być trudne do zrozumienia w porównaniu z ich zagnieżdżającymi się równoważnikami Płaskie bazy reguł mogą być trudne do modyfikowania w porównaniu z ich zagnieżdżającymi się równoważnikami
37
BAZA REGUŁ ”-4°C <= Temperatura_powietrza <= 4°C”
Fakty: logiczne zmienne łańcuchowe o inkludach uznawane za prawdziwe, np. : ”-4°C <= Temperatura_powietrza <= 4°C” ”student_J.Kowalski_ zdał_egzaminy_ w_terminie” Baza reguł rzadko ma własne fakty. Jeżeli ma, są zapisywane w postaci klauzul: fakt(”Warunek_dopytywalny”) Fakty są najczęściej deklarowane przez użytkownika w trakcie wnioskowania lub są generowane z reguł w wyniku wnioskowania
38
Spotykane synonimy wniosek = konkluzja, rezultat
warunek = przesłanka, założenie
39
Klasyfikacja baz reguł (1)
Ze względu na sposób występowania warunków niedopytywalnych rozróżniam: bazy reguł elementarne: warunki niedopytywalne nie występują w postaci zanegowanej bazy reguł rozwinięte: warunki niedopytywalne mogą występować w postaci zanegowanej
40
Przykład elementarnej bazy reguł
1. A , B , C W 2. W, D , E V 3. V , H , I , J U Warunki niedopytywalne W i V reguł 2 i 3 występują w tej bazie w postaci niezanegowanej, tzn. w takiej samej jak wnioski reguł 1 i 2.
41
Założenie otwartego świata (dla baz elementarnych)
Wszystko, co nie wynika z elementarnej bazy reguł, bazy ograniczeń i bazy modeli oraz z deklaracji użytkownika, uważa się za nieznane.
42
Założenie otwartego świata (dla baz elementarnych)
Dla wszystkich systemów ekspertowych elementarnych dokładnych zakłada się, że: uważa się za nieznane to, co nie wynika: z reguł bazy reguł, z ograniczeń bazy ograniczeń, z modeli bazy modeli, z faktów i wartości argumentów zadeklarowanych przez użytkownika
43
Niedogodność baz elementarnych:
W bazach reguł elementarnych dokładnych często trzeba formułować zarówno reguły dla wniosków ("W") i dla negacji wniosków ("nieprawda_W")
44
Przykład bazy elementarnej:
pojadę_na_wycieczkę_zagraniczną jeżeli dostanę_urlop i będę_miał_pieniądze nie_pojadę_na_wycieczkę_zagraniczną jeżeli nie_dostanę_urlopu nie_pojadę_na_wycieczkę_zagraniczną jeżeli nie_będę_miał_pieniędzy kłopot_z_psem jeżeli pojadę_na_wycieczkę_zagraniczną narastające_zmęczenie jeżeli nie_pojadę_na_wycieczkę_zagraniczną
45
To ulega zmianie w wyniku założenia otwartego świata
Stąd różnica pomiędzy implikacją logiki a implikacją regułową elementarnego dokładnego systemu ekspertowego: Implikacja logiki: q p q p q p Prawda Prawda Prawda Nieprawda Prawda Prawda Nieprawda Nieprawda Prawda Implikacja regułowa: q p q p q p Prawda Prawda Prawda Nieprawda Nieznane Prawda To ulega zmianie w wyniku założenia otwartego świata
46
Przykład rozwiniętej bazy reguł
1. A , B , C W 2. nW , D , E V 3. nV , H , I , J U nX = nieprawda_X Warunki niedopytywalne nW i nV reguł 2 i 3 są zanegowanymi wnioskami reguł 1i 2.
47
Zalety baz rozwiniętych:
Brak potrzeby formułowania reguł dla wniosków ("W") i ich negacji ("nW").
48
Założenie zamkniętego świata (dla baz rozwiniętych)
Wszystko, co nie wynika z rozwiniętej bazy reguł, bazy ograniczeń i bazy modeli oraz z deklaracji użytkownika, uważa się za nieprawdziwe.
49
Przykład bazy rozwiniętej:
pojadę_na_wycieczkę_zagraniczną jeżeli dostanę_urlop i będę_miał_pieniądze kłopot_z_psem jeżeli pojadę_na_wycieczkę_zagraniczną narastające_zmęczenie jeżeli npojadę_na_wycieczkę_zagraniczną Małe ‘n’ oznacza negację
50
To ulega zmianie w wyniku założenia zamknietego świata
Stąd różnica pomiędzy implikacją logiki a implikacją regułową rozwiniętego dokładnego systemu ekspertowego: Implikacja logiki: q p q p q p Prawda Prawda Prawda Nieprawda Prawda Prawda Nieprawda Nieprawda Prawda Implikacja regułowa: q p q p q p Prawda Prawda Prawda Nieprawda Nieprawda Prawda To ulega zmianie w wyniku założenia zamknietego świata
51
„Założenie zamkniętego świata” a prawo rzymskie
„in dubio pro reo” wątpliwości przemawiaja na rzecz oskarżonego Jeżeli brak dowodów winy, oskarżonego uznaje się za niewinnego
52
Klasyfikacja baz reguł (2)
Ze względu na pewność reguł, warunków i wniosków rozróżnia się: bazy reguł dokładne, których reguły są prawdą, których warunki i wnioski mogą być albo prawdą, albo nieprawdą bazy reguł niepewne, których reguły, warunki i wnioski mogą mieć różne stopnie pewności
53
Klasyfikacja baz reguł (3)
Bazy reguł dokładne niepewne elementarne rozwinięte niepewne (BRN) dokładne (BRD) niepewne (BEN) dokładne (BED)
54
Wnioskowanie dokładne
Klasyfikacja systemów wnioskujących (1) Bazy reguł rozwinięte dokładne (BRD) Wnioskowanie elementarne dokładne dokładne (BED) Wnioskowanie dokładne
55
Wnioskowanie niepewne
Klasyfikacja systemów wnioskujących (2) Bazy reguł rozwinięte niepewne (BRN) Wnioskowanie elementarne niepewne niepewne (BEN) Wnioskowanie niepewne
56
BAZA OGRANICZEŃ Baza ograniczeń zawiera zbiory warunków dopytywalnych wykluczających się. np.: ("temperatura jest wyższa od 40ºC", "temperatura jest niższa od 10 ºC", "temperatura jest pomiędzy 10ºC i 40ºC"). lub: ("dostanę urlop", "nie dostanę urlopu")
57
BAZA OGRANICZEŃ Klauzule bazy ograniczeń:
ograniczenie(Nr_ograniczenia, Lista_warunków_dopytywalnych_ _wykluczających_się)
58
Baza modeli X arytmetyczne relacyjne elementarne rozwinięte liniowe
wielomianowe X
59
"Wartość zmiennej w zakresie dopuszczalnym",
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"
60
Modele elementarne model(Numer_modelu, "Warunek_startowy",
"Wynik"/"Wniosek", "Pierwszy_Argument", "Operacja"/"Relacja", "Drugi_Argument", Semafor_wyświetlania)
61
Model elementarny: "Warunek_startowy" "Warunek_startowy" jest logiczną zmienną łańcuchową Wynik modelu jest wyznaczany tylko gdy Warunek_startowy jest prawdą Warunek_startowy = bez warunku jest zawsze prawdą
62
Model elementarny: "Wynik"/"Wniosek"
"Wynik"– rzeczywista zmienna łańcuchowa dla modelu arytmetycznego "Wniosek" - logiczna zmienna łańcuchowa dla modelu relacyjnego
63
"Pierwszy_Argument", "Drugi_Argument”
Model elementarny: "Pierwszy_Argument", "Drugi_Argument” rzeczywiste lub całkowite zmienne łańcuchowe, zarówno dla modelu arytmetycznego jak i dla modelu relacyjnego
64
Model elementarny: "Operacja" modele arytmetyczne z dwoma argumentami
wykonują operacje: "+", "", "", "/", "div", "mod", "min", "max", "%", "A^N", "zaokrąglenie_do_N" N – liczba naturalna
65
Model elementarny: "Operacja" modele arytmetyczne z jednym argumentem
wykonują operacje "sqrt", "sin", "cos", "tan", "arctan", "log", "ln", "exp", "round", "trunc", "abs", "=" przy czym "Drugi_Argument" = "0"
66
Model elementarny: "Relacja" modele relacyjne testują relacje:
">", "==", "<", ">=", "<=", "><", "<>"
67
Model elementarny: Semafor_wyświetlania = 0 informacja o stosowaniu modelu nie jest wyświetlana w trakcie wnioskowania = 1 informacja o stosowaniu modelu jest wyświetlana w trakcie wnioskowania
68
Sens modelu elementarnego arytmetycznego:
model(Nr_Modelu, "Start", "Wynik", "X1", "+", "X2", Semafor_wyświetlania) Jeżeli Start jest prawdą to Wynik = X1 + X2
69
Sens modelu elementarnego relacyjnego:
model(Nr_Modelu, "Start", "Wniosek", "X1", "<= ", "X2 ", Semafor_wyświetlania) Jeżeli Start jest prawdą i X1 <= X2 to Wniosek jest prawdą
70
Modele rozwinięte model_r(Numer_Modelu, "Warunek_startowy",
"Wynik" /"Wniosek", "Operacja"/"Relacja", Lista_Argumentów, Semafor_wyświetlania)
71
Model rozwinięty: "Wynik"/"Wniosek"
"Wynik"– rzeczywista zmienna łańcuchowa dla modelu arytmetycznego "Wniosek" - logiczna zmienna łańcuchowa dla modelu relacyjnego
72
Model rozwinięty: "Operacja" modele arytmetyczne wykonują operacje
"+", "", "max_list", "min_list"
73
Model rozwinięty: "Relacja" modele relacyjne testują relacje:
"<,<", "<,<=", "<=,<", "<=,<="
74
Model rozwinięty arytmetyczny:
Lista_Argumentów ["Argument_1","Argument_2",...., "Argument_n"] "Argument_i" = rzeczywista lub całkowita zmienna łańcuchowa n – „dowolnie” duże
75
Sens modelu rozwiniętego arytmetycznego:
model_r(Nr_Modelu, "Start", "Wynik", "+", ["X1", "X2 ,..., "Xn"], Semafor_wyświetlania) Jeżeli Start jest prawdą to Wynik = X1 + X Xn
76
Model rozwinięty relacyjny:
Lista_Argumentów ["Ograniczenie_dolne", "Wielkość_testowana", "Ograniczenie_górne"] "Ograniczenie_dolne" "Wielkość_testowana" "Ograniczenie_górne" Rzeczywiste zmienne łańcuchowe
77
Sens modelu rozwiniętego relacyjnego:
model_r(Nr_Modelu, "Start", " Wniosek ", " <,<= ", ["Ogr_d", "X", "Ogr_g"], Semafor_wyświetlania) Jeżeli Start jest prawdą i Ogr_d < X <= Ogr_g to Wniosek jest prawdą
78
Model liniowy: model_liniowy(Numer_Modelu, "Warunek_startowy",
"Wynik", Lista_współczynników, Lista_Zmiennych, Semafor_wyświetlania)
79
Model liniowy: "Wynik" rzeczywista zmienna łańcuchowa
80
"Lista_współczynników"
Model liniowy: "Lista_współczynników" ["A_1", "A_2",..., "A_n"] gdzie "A_i" - rzeczywiste zmienne łańcuchowe
81
Model liniowy: Lista_zmiennych ["X_1", "X_2",..., "X_n"] gdzie
"X_i" - rzeczywiste zmienne łańcuchowe
82
Sens modelu liniowego:
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ą to Wynik = A_1 * X_1 + A_2 * X_2 + A_3 * X_3
83
Model wielomianowy: model_wielomianowy(Numer_Modelu,
"Warunek_startowy", "Wynik", "Wartość_zmiennej", Lista_współczynników, Lista_Potęg, Semafor_wyświetlania)
84
Model wielomianowy: "Wynik" rzeczywista zmienna łańcuchowa
85
Model wielomianowy: "Wartość_Zmiennej"
rzeczywista zmienna łańcuchowa, dla której jest wyznaczana wartość wielomianu
86
Lista_współczynników
Model wielomianowy: Lista_współczynników ["A_1", "A_2",..., "A_n"] gdzie: "A_i" - rzeczywista zmienna łańcuchowa
87
Model wielomianowy: Lista_potęg [0,1,2,...,n-1]
Lista liczb całkowitych (niekoniecznie kolejnych) n – „dowolnie” duże
88
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ą to Wynik = A_0 * 3^0 + A_2 * 3^2 + A_5 * 3^5
89
Modele mogą się zagnieżdżać:
Zagnieżdżanie modeli arytmetycznych: wynik jednego modelu może być argumentem innego modelu: model(N, St_N, "Wynik_N", A, O_N, B, 1) model (M, St_M, Wynik_M, "Wynik_N" , O_M, G, 1)
90
Modele mogą się zagnieżdżać:
Zagnieżdżanie modeli relacyjnych i innych: wniosek jednego modelu relacyjnego może być warunkiem stosowania innego modelu: model(N, _ , "Wniosek_N", A, R_N, B, 1) model (M, "Wniosek_N", Wynik_M, C, O_M, D, 1)
91
Modele relacyjne i reguły mogą się zagnieżdżać:
Zagnieżdżanie modeli relacyjnych i reguł: wniosek modelu relacyjnego może być warunkiem reguły model(N, _, "Wniosek_N", A, R_N, B, 1]) reguła(M, Wniosek_M, [..., "Wniosek_N",..])
92
Reguły i modele mogą się zagnieżdżać:
Zagnieżdżanie reguł i modeli: wniosek reguły może być warunkiem startowym modelu reguła(N, "Wniosek_N", Lista_warunków,1) model (M, "Wniosek_N", Wynik_M, A ,”op_M”, B, 1)
93
Zagnieżdżanie modeli 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 Argumenty niedopytywalne: są wynikami modeli. Wartość liczbowa tych argumentów jest określana przez system ekspertowy
94
Zagnieżdżanie modeli Zagnieżdżające się modele mogą mieć warunki startowe dwojakiego rodzaju: Warunki startowe dopytywalne: nie są wnioskami modeli relacyjnych ani wnioskami reguł. Wartość tych warunków startowych jest określana przez użytkownika systemu ekspertowego Warunki startowe niedopytywalne: są wnioskami modeli relacyjnych lub wnioskami reguł. Wartość logiczna tych warunków startowych jest określana przez system ekspertowy
95
BAZA RAD Klauzule bazy rad:
rada(numer_reguły/modelu, "nazwa_pliku_rady_dla_reguły/modelu.hlp")
96
BAZA RAD Każdej regule i każdemu modelowi może być przyporządkowana co najwyżej jedna rada
97
DYNAMICZNA BAZA DANYCH
Dynamiczna baza danych jest bazą relacyjną. Podstawowe relacje dla BED: prawda("Warunek") = „Warunek jest prawdą” nieprawda("Warunek") = „Warunek jest nieprawdą” Zawiera deklaracje użytkownika odnośnie do warunków dopytywalnych albo warunki niedopytywalne, uznane za prawdziwe w wyniku dotychczasowych wnioskowań.
98
System ekspertowy jako paradygmat programowania (1)
Powszechnie stosowane programowanie proceduralne można uważać za odbywające się zgodnie z paradygmatem: PROCEDURA = ALGORYTM + DANE
99
System ekspertowy jako paradygmat programowania (2)
Programowanie stosujące bazy wiedzy (systemy ekspertowe) można uważać za odbywające się zgodnie z paradygmatem: SYSTEM EKSPERTOWY = SYSTEM WNIOSKUJĄCY + BAZA WIEDZY
100
Porównanie Stosując programowanie proceduralne trzeba:
- nie tylko powiedzieć programowi, co ma zrobić, - lecz również powiedzieć, jak to ma zrobić. Stosując system ekspertowy wystarcza: - poinformować system wnioskujący o całej wiedzy, potrzebnej do wykonania zadania; - wskazać mu cel, który ma osiągnąć. Systemy ekspertowe wspierają programowanie deklaratywne.
101
Systemy ekspertowe a Prolog (1)
Zgodnie z tym paradygmatem działa jedyny deklaratywny język programowania - Prolog. W Prologu nie tworzy się algorytmów rozwiązania zadań, lecz opisuje interesujący fragment rzeczywistości za pomocą faktów i reguł. Kompilator Prologu jest wyposażony w system wnioskujący, rozstrzygający prawdziwość podanego celu dla przedstawionych faktów i reguł.
102
Systemy ekspertowe a Prolog (2)
Dlatego Prolog umożliwia wyjątkowo prostą realizację systemów ekspertowych. Oczywiście, systemy ekspertowe można pisać w dowolnym uniwersalnym proceduralnym języku programowania jak np. Pascal, C lub C++. Jedyną niedogodnością takiego wyboru języka jest większa czasochłonność, bardziej obszerny i mniej przejrzysty kod źródłowy, aniżeli w przypadku stosowania Prologu.
103
Zalety reguł Reguły umożliwiają bardzo zwięzły opis funkcjonowania systemu. Pod "funkcjonowaniem" rozumie się zbiór czynności i warunków, od których zależy wykonanie tych czynności. 2. Z punktu widzenia wizualnego, jest rzeczą łatwiejszą zrozumienie funkcjonowania systemu opisanego za pomocą reguł aniżeli za pomocą równoważnego kodu if/then/else.
104
Ironia programowania proceduralnego
Programując proceduralnie bardzo często zaczyna się od reguł, zgodnie z którymi aplikacja ma działać. Następnie, po stwierdzeniu, że rozumiemy pożądane działanie systemu, przystępujemy do kodowania reguł za pomocą proceduralnego języka programowania.
105
Zalety rozdzielenia bazy wiedzy i systemu wnioskującego (1)
Łatwość dostępu do wiedzy dziedzinowej, danej w jawnej postaci pliku tekstowego. Prostota modyfikacji bazy wiedzy bez potrzeby naruszania integralności właściwego programu -systemu wnioskującego. Możliwość tworzenia systemów ekspertowych skorupowych, tzn. uniwersalnych systemów ekspertowych, które użytkownicy mogą ładować własną, użytkowaną przez nich wiedzą dziedzinową.
106
Zalety rozdzielenia bazy wiedzy i systemu wnioskującego (2)
Przykład zastosowania systemu ekspertowego do diagnostyki: system ekspertowy KRE oceniający wiarygodność kredytową klienta banku (jest nim mały przedsiębiorca) i podejmujący decyzję o przyznaniu lub odmowie kredytu.
107
Przykład (a) Decyzja o przyznaniu lub odmowie kredytu jest wynikiem stosowania kilkunastu reguł określonych przez kierownictwo banku. Reguły te są zapisane w postaci pliku tekstowego, którego odczytanie, zrozumienie i zmodyfikowanie nie nastręcza trudności.
108
Przykład (b) W miarę zbierania przez bank doświadczeń i w miarę zmiany sytuacji na rynku pieniężnym, reguły przyznawania kredytów muszą ulec zmianie. Gdyby reguły te były zanurzone w programie nie będącym systemem ekspertowym i napisanym w języku proceduralnym, odczytanie, zrozumienie i zmodyfikowanie tych reguł byłoby bardzo trudne, a dla osób nie będących twórcami tego programu – wręcz niemożliwe.
109
Metody wnioskowania Wnioskowanie w przód (forward chaining, od warunków do wniosku) Wnioskowanie wstecz (backward chaining, od hipotezy do warunków)
110
Przeznaczenie wnioskowania elementarnego dokładnego w przód
Wyznaczenie - dla danej bazy wiedzy - wszystkich faktów i wszystkich wartości zmiennych wynikających: z warunków dopytywalnych, które zostały uznane przez użytkownika za fakty, oraz z argumentów dopytywalnych, których wartości zostały zadeklarowane przez użytkownika.
111
Przeznaczenie wnioskowania elementarnego dokładnego w przód
Nie jesteśmy informowani: o wnioskach nie wynikających z warunków dopytywalnych uznanych przez użytkownika za fakty, oraz o wynikach, których wartości nie można wyznaczyć z wartości argumentów dopytywalnych zadeklarowanych przez użytkownika.
112
Wnioskowanie elementarne dokładne w przód
Przeznaczone dla baz wiedzy BED, tzn. dla baz nie zawierających zanegowanych warunków niedopytywalnych. Można stosować dla baz z zanegowanymi warunkami dopytywalnymi.
113
Wnioskowanie elementarne dokładne w przód: przykład (a)
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ł Nowy fakt: D A C H D B E 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J Nowy fakt: L A C H D B E L
114
Wnioskowanie elementarne dokładne w przód: przykład (b)
Dynamiczna baza danych: Fakty Baza Reguł 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 Nowy fakt: F A C H D B E L F G Nowy fakt: G 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J
115
Wnioskowanie elementarne dokładne w przód: przykład (c)
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:J B E L F A C H D G J M 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J Nowy fakt:M
116
Wnioskowanie elementarne dokładne w przód z bazą ograniczeń:
A H D Dynamiczna baza danych: Fakty 1. (A , C, E) 2. (B, H) Baza 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 Z faktów A i H wynika tym razem tylko fakt D.
117
Słabość wnioskowania elementarnego dokładnego w przód
Wyznacza wszystkie wnioski będące prawdą, nawet te, które nie są dla użytkownika interesujące Wyznacza wszystkie wyniki dające się wyznaczyć, nawet te, które nie są dla użytkownika interesujące
118
Przeznaczenie wnioskowania elementarnego dokładnego wstecz
Weryfikowanie hipotez Hipoteza: wniosek reguły, którego prawdziwość próbuje się potwierdzić na podstawie: warunków dopytywalnych uznanych za fakty, oraz argumentów dopytywalnych o znanych wartościach
119
Wnioskowanie elementarne dokładne wstecz
Na mocy założenia otwartego świata: jeżeli hipotezy nie można uznać za prawdę, to uznaje się, że nie wiemy, czy jest prawdą, czy nie jest prawdą i uważamy ją za nieznaną
120
Wnioskowanie elementarne dokładne wstecz
Przeznaczone dla baz wiedzy BED, tzn. dla baz nie zawierających zanegowanych warunków niedopytywalnych. Można stosować dla baz z zanegowanymi warunkami dopytywalnymi.
121
Wnioskowanie elementarne dokładne wstecz: przykład (a) Weryfikacja hipotezy F
2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J Baza Reguł A C H B E Dynamiczna baza danych: Fakty Brak F Czy jest C i D? 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J B E A C H Jest C, brak D.
122
Dynamiczna baza danych:
Wnioskowanie elementarne dokładne wstecz: przykład (b) Weryfikacja hipotezy F 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J Baza Reguł B E F A C H Dynamiczna baza danych: Fakty Czy jest A? Jest A, więc jest D, więc jest F
123
Wnioskowanie elementarne dokładne wstecz z bazą ograniczeń: (a) 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 1. (A , C, E) 2. (B, H) Baza Ograniczeń A H Dynamiczna baza danych: Fakty Brak F Czy jest C i D? A H 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 C
124
Dynamiczna baza danych:
Wnioskowanie elementarne dokładne wstecz z bazą ograniczeń: (b) Weryfikacja hipotezy F 1. (A , C, E) 2. (B, H) Baza 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 7. H , D F A H Dynamiczna baza danych: Fakty Czy jest H i D? Jest H, brak D 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 F Czy jest A? Jest A, więc jest D, więc jest F
125
Sprzeczności w elementarnych dokładnych bazach reguł (1)
1. Sprzeczności typu SED1: wniosek reguły jest tożsamy z jednym z jej warunków. Możliwe są następujące typy tej sprzeczności: Reguła jest zewnętrznie SED1-samosprzeczna, jeżeli jednym z jej warunków jest jej wniosek. Np.: 1. M , N , X X
126
Sprzeczności w elementarnych dokładnych bazach reguł (2)
Reguła n jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą m, jeżeli: wniosek reguły m jest warunkiem reguły n, i wniosek reguły n jest warunkiem reguły m. Np.: 1. M , N , Y X 2. P , Q , X Y Zastąpienie warunku X reguły 2 warunkami reguły 1 czyni z reguły 2 regułę 3 będącą zewnętrznie SED1-samosprzeczną: 3. P , Q , M , N , Y Y
127
Sprzeczności w elementarnych dokładnych bazach reguł (3)
Reguła n jest zewnętrznie pośrednio SED1-sprzeczna z regułą m, jeżeli podstawienie reguły m do innej reguły, tej zaś do jeszcze innej itd., doprowadza do reguły bezpośrednio SED1-sprzecznej z regułą n. Np. reguła 1 jest zewnętrznie pośrednio SED1-sprzeczna z regułą 3: 1. K , B H 2. C , D , X K 3. H , A X Pośrednikiem jest tutaj reguła 2. Podstawienie warunków reguły 3 w miejsce warunku X reguły 2 daje bowiem regułę 4: 4. C , D , H , A K która jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą 1.
128
Sprzeczności w elementarnych dokładnych bazach reguł (4)
Zewnętrzna pośrednia SED1-sprzeczność nie jest relacją refleksyjną: w rozpatrywanym przykładzie 1. K , B H 2. C , D , X K 3. H , A X reguła 3 nie jest zewnętrznie pośrednio SED1-sprzeczna z regułą 1. Natomiast reguła 3 jest zewnętrznie pośrednio SED1-sprzeczna z regułą 2, gdyż podstawienie warunków reguły 2 w miejsce warunku K reguły 1 daje regułę 5: 5. C , D , X , B H która jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą 3.
129
Sprzeczności w elementarnych dokładnych bazach reguł i bazach ograniczeń (5)
2. Sprzeczności typu SED2: warunki reguły są sprzeczne w wyniku interakcji bazy reguł i bazy ograniczeń. Np.: 1. (A , C) Baza ograniczeń 1. A , B , C W Baza reguł
130
Sprzeczności w elementarnych dokładnych bazach modeli (1)
Baza modeli jest bezpośrednio sprzeczna, jeżeli wynik modelu arytmetycznego jest tożsamy z jednym z jego argumentów. Np.: model(N, St_N, Wynik, A, “O_N”, Wynik, 1])
131
Sprzeczności w elementarnych dokładnych bazach modeli (2)
Baza modeli jest głęboko sprzeczna, jeżeli wynik modelu arytmetycznego jest tożsamy z jednym z argumentów modeli z nim się zagnieżdżajacych. Np.: model(N, St_N, Wynik, A, “O_N”, B, 1]) model(M, St_N, B, C, “O_N”, Wynik, 1])
132
Sprzeczności łączne elementarnych dokładnych bazach modeli i baz reguł
Baza modeli jest bezpośrednio łącznie sprzeczna z bazą reguł, jeżeli warunek stosowania modelu relacyjnego jest wnioskiem reguły, której warunkiem jest wniosek tego modelu relacyjnego. Np.: model(N, War_stos, Wniosek, A, “Relacja”, B, 1]) reguła(M,War_stos,[Wniosek,....],_)
133
Sprzeczności łączne elementarnych dokładnych bazach modeli i baz reguł
Baza modeli jest pośrednio łącznie sprzeczna z bazą reguł, jeżeli warunek stosowania modelu relacyjnego jest wnioskiem reguły, zagnieżdżonej z regułą której warunkiem jest wniosek tego modelu relacyjnego. Np.: model(N, War_stos, Wniosek, A, “Relacja”, B, 1]) reguła(M,War_stos,[B,....],_) reguła(P, B,[Wniosek,....],_)
134
Nadmiarowości w elementarnych dokładnych bazach reguł (1)
1. Nadmiarowości typu NED1_1: występowanie reguł o jednakowych wnioskach i jednakowych warunkach. Np.w przypadku reguł: 1. A , B , G Y 2. C , D A 3. E , F B 4. C , D , E , F, G Y reguła 4 ma takie same warunki i taki sam wniosek jak reguła 1 wraz z regułami 2 i 3.
135
Nadmiarowości w elementarnych dokładnych bazach reguł (2)
2. Nadmiarowości typu NED1_2: występowanie reguł subsumowanych. Np.w przypadku reguł 1. A , B , C , D W 2. A , B W reguła 1 jest subsumowana (zawarta) w regule 2, gdyż obydwie mają taki sam wniosek, a warunki reguły 2 są podzbiorem warunków reguły 1. Regułę 1 można więc usunąć z bazy reguł.
136
Nadmiarowości w elementarnych dokładnych bazach reguł (3)
2. Nadmiarowości typu NED2: Źródłem nadmiarowości typu NED2 jest interakcja elementarnej dokładnej bazy reguł i bazy ograniczeń. Np 1. A , B , C W 2. A , B , D W 3. A , B , E W Baza Reguł Baza Ograniczeń 1. (C , D , E) redukują się do: 1. A , B W Baza Reguł
137
Wnioskowanie elementarne w przód ze sprzeczną bazą reguł: przykład (a)
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ł C H B E Dynamiczna baza danych: Fakty Nowy fakt: L C H B E L Z faktów C , H , B i E wynika tylko fakt L : reguła 1 jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą 7, a więc nie ma możliwości ich testowania.
138
Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: przykład (a) Weryfikacja hipotezy F 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ł C H B E Dynamiczna baza danych: Fakty Brak F Czy jest C i D? 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 C H B E Jest C, brak D.
139
Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: przykład (b) Weryfikacja hipotezy F 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ł C H B E P Dynamiczna baza danych: Fakty Czy jest A? Brak A 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 C H B E P Czy jest D i P?.
140
Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: przykład (c) Weryfikacja hipotezy F 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ł C H B E P Dynamiczna baza danych: Fakty Jest P, brak D Czy jest A?. 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 C H B E P Brak A Czy jest D i P?.
141
Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: przykład (d) Weryfikacja hipotezy F C H B E P Dynamiczna baza danych: Fakty 1. A D 2. F , H G 3. B L 4. D , J M 5. C , D F 6. A , E J 7. D , P A Baza Reguł Reguła 1 jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą 7, co doprowadza do niekończących się pętel i wynikajacego stąd "zawieszenia się" systemu wnioskującego.
142
Wnioskowanie rozwinięte dokładne w przód
Wnioskowanie rozwinięte dokładne w przód jest wnioskowaniem w przód dla baz reguł rozwiniętych dokładnych, tzn. baz dokładnych mogących zawierać zanegowane warunki niedopytywalnych. Wnioskowanie to można stosować również dla baz reguł elementarnych dokładnych Konwencja: W - warunek niezanegowany nW - warunek zanegowany
143
Wnioskowanie rozwinięte dokładne w przód
Istotna różnica: w trakcie wnioskowania zapamiętuje się w dynamicznej bazie danych nie tylko wnioski prawdziwe (jak w przypadku wnioskowania elementarnego dokładnego), lecz również wnioski nieprawdziwe. Wnioski nieprawdziwe mogą bowiem okazać się warunkami reguł.
144
Wnioskowanie rozwinięte dokładne w przód
Istotna różnica: Wnioskowanie elementarne dokładne było wnioskowaniem monotonicznym: wniosek uznany za prawdę nie mógł w trakcie dalszego wnioskowania, przy niezmienionych warunkach dopytywalnych będących faktami, stać się nieprawdą.
145
Wnioskowanie rozwinięte dokładne w przód
Istotna różnica: Wnioskowanie rozwinięte dokładne jest wnioskowaniem niemonotonicznym: wniosek uznany za prawdę może w trakcie dalszego wnioskowania, przy niezmienionych warunkach dopytywalnych będących faktami, stać się nieprawdą.
146
Wnioskowanie rozwinięte dokładne w przód
Cel wnioskowania: Wyznaczenie wszystkich wniosków prawdziwych i wszystkich wniosków nieprawdziwych dla: danego początkowego zbioru prawdziwych i nieprawdziwych warunków dopytywalnych danej bazy reguł rozwiniętej dokładnej i odpowiadającej jej bazy ograniczeń danego początkowego zbioru wartości argumentów danej bazy modeli dokładnej
147
Założenie zamkniętego świata
Dla wszystkich systemów ekspertowych rozwiniętych dokładnych zakłada się, że: prawdą jest tylko to, co wynika: z reguł bazy reguł, z ograniczeń bazy ograniczeń, z modeli bazy modeli, z faktów i wartości argumentów zadeklarowanych przez użytkownika
148
Założenie zamkniętego świata
Wszystko, co nie wynika z bazy reguł, bazy ograniczeń i bazy modeli oraz z deklaracji użytkownika , uważa się za nieprawdziwe.
149
Założenie zamkniętego świata =
„in dubio pro reo” Jeżeli oskarżonemu nie udowodniono winy, uważa się go za niewinnego
150
Stąd różnica pomiędzy implikacją logiki a implikacją regułową systemu ekspertowego:
Implikacja logiki: q p q p q p Prawda Prawda Prawda Nieprawda Prawda Prawda Nieprawda Nieprawda Prawda Implikacja regułowa: q p q p q p Prawda Prawda Prawda Nieprawda Nieprawda Prawda
151
Wnioskowanie rozwinięte dokładne w przód: przykład (a)
Przykład: dla danej bazy reguł wyznaczyć wszystkie fakty wynikające z faktów A , nB, C, nD i nE: A nB C nD nE Fakty: 1. A B ® W Reguły 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W Nowy fakt: nW(1) A nB C nD nW(1) nE
152
Wnioskowanie rozwinięte dokładne w przód: przykład (a)
Fakty: A nB C nD nE nW(1) X(2) Reguły 1. A B ® W 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W Nowy fakt X(2) 1. A B ® W 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W A nB C nD nE nW(1) X(2) nZ(3) Nowy fakt nZ(3)
153
Wnioskowanie rozwinięte dokładne w przód: przykład (a)
Fakty: A nB C nD nE W(5) X(2) nZ(3) Reguły 1. A B ® W 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W Nowy fakt W(5) 1. A B ® W 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W A nB C nD nE W(5) nX(2) nZ(3) Nowy fakt nX(2)
154
Wnioskowanie rozwinięte dokładne w przód: przykład (a)
Fakty: A nB C nD nE W(5) nX(2) Z(4) Reguły 1. A B ® W 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W Nowy fakt Z Z faktów A, nB, C, nD i nE wynikają więc fakty W(5), nX(2) , Z(4) i tylko te fakty.
155
Wnioskowanie rozwinięte dokładne w przód
(a) zaistnienie faktu X w sytuacji, gdy w dynamicznej bazie danych nie ma faktu X ani faktu zanegowanego nX, powoduje wpisanie faktu X do dynamicznej bazy danych wraz z numerem generującej go reguły. Jeżeli fakt ten odpowiada warunkowi dopytywalnemu, numerem tym jest 0;
156
Wnioskowanie rozwinięte dokładne w przód
(b) zaistnienie faktu X w sytuacji, gdy w dynamicznej bazie danych jest odpowiadający mu fakt zanegowany nX, powoduje dodanie faktu X do dynamicznej bazy danych wraz z numerem generującej go reguły i usunięcie z niej faktu zanegowanego nX wraz z numerem odpowiedniej reguły.
157
Wnioskowanie rozwinięte dokładne w przód
(c) zaistnienie faktu X w sytuacji, gdy w dynamicznej bazie danych jest fakt X wygenerowany przez inną regułę, powoduje dodanie nowego faktu X do dynamicznej bazy danych wraz z numerem generującej go reguły
158
Wnioskowanie rozwinięte dokładne w przód
(d) zaistnienie faktu nX w sytuacji, gdy w dynamicznej bazie danych jest odpowiadający mu fakt X generowany przez inną regułę niż fakt nX, nie powoduje zmian w dynamicznej bazie danych
159
Wnioskowanie rozwinięte dokładne w przód
(e) zaistnienie faktu nX w sytuacji, gdy w dynamicznej bazie danych jest odpowiadający mu fakt X generowany przez tę samą regułę co fakt nX i nie ma faktów X generowanych przez inne reguły, powoduje dodanie faktu nX do dynamicznej bazy danych wraz z numerem odpowiedniej reguły i usunięcie z dynamicznej bazy danych faktu X.
160
Wnioskowanie rozwinięte dokładne wstecz
Wnioskowanie rozwinięte wstecz jest wnioskowaniem wstecz dla baz reguł rozwiniętych dokładnych, tzn. mogących zawierać zanegowane warunki niedopytywalnych. Wnioskowanie to można stosować również dla baz reguł elementarnych dokładnych.
161
Wnioskowanie rozwinięte dokładne wstecz
Cel wnioskowania: Potwierdzenie (weryfikowanie) lub zaprzeczenie (falsyfikowanie) iż dana hipoteza wynika z: danego początkowego zbioru prawdziwych i nieprawdziwych warunków dopytywalnych danej bazy reguł rozwiniętej dokładnej i odpowiadającej jej bazy ograniczeń
162
Wnioskowanie rozwinięte dokładne wstecz: weryfikacja hipotezy nX
A nB C nD nE Fakty: 1. A B® W 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W Reguły: Brak nX Czy jest nW i nE ? A nB C nD nE
163
Wnioskowanie rozwinięte dokładne wstecz: weryfikacja hipotezy nX
A nB C nD nE Fakty: 1. A B® W 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W Reguły: Jest nE, brak nW Czy jest A i B ? A nB C nD nE 1. A B® W 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W A nB C nD nE Jest A i nB,
164
Wnioskowanie rozwinięte dokładne wstecz: weryfikacja hipotezy nX
Fakty: A nB C nD nE Reguły: 1. A B® W 2. nW nE ® X 3. A D ® Z 4. nX ® Z 5. C nD ® W Czy jest C i nD? Jest C i nD, a więc jest W, a więc jest nX
165
Wnioskowanie rozwinięte dokładne w przód
Ponieważ bazy reguł rozwinięte dokładne mogą być sprzeczne, przed przystąpieniem do wnioskowania rozwiniętego należy się upewnić, czy nie zawierają sprzeczności.
166
Sprzeczności w rozwiniętych dokładnych bazach reguł (1)
1. Sprzeczności typu SRD1: zewnętrzne: wniosek reguły jest sprzeczny z jej warunkami wewnętrzne: warunki reguły są sprzeczne
167
Sprzeczności w rozwiniętych dokładnych bazach reguł (2)
Sprzeczności zewnętrzne: 1. Reguła jest zewnętrznie SRD1-samosprzeczna, jeżeli jednym z jej warunków jest jej wniosek lub negacja wniosku. Np.: 1. M , N , X X 2. M , N , nX X
168
Sprzeczności w rozwiniętych dokładnych bazach reguł (3)
Reguła n jest zewnętrznie bezpośrednio SRD1-sprzeczna z regułą m, jeżeli: wniosek lub zanegowany wniosek reguły m jest warunkiem reguły n, i wniosek lub zanegowany wniosek reguły n jest warunkiem reguły m. Np.: 1. M , N , nY X 2. P , Q , X Y Zastąpienie warunku X reguły 2 warunkami reguły 1 czyni z reguły 2 regułę 3 będącą zewnętrznie SRD1-samosprzeczną: 3. P , Q , M , N , nY Y
169
Sprzeczności w rozwiniętych dokładnych bazach reguł (4)
Reguła n jest zewnętrznie pośrednio SRD1-sprzeczna z regułą m, jeżeli podstawienie reguły m do innej reguły, tej zaś do jeszcze innej itd., doprowadza do reguły bezpośrednio SRD1-sprzecznej z regułą n. Np. reguła 1 jest zewnętrznie pośrednio SRD1-sprzeczna z regułą 3: 1. K , B H 2. C , D , nX K 3. H , A X . Pośrednikiem jest tutaj reguła 2. Podstawienie warunków reguły 3 w miejsce warunku X reguły 2 daje bowiem (w najbardziej niekorzystnym przypadku) regułę 4: 4. C , D , nH , nA K która jest zewnętrznie bezpośrednio SRD1-sprzeczna z regułą 1
170
Sprzeczności w rozwiniętych dokładnych bazach reguł (5)
Sprzeczności wewnętrzne: 1. Reguła jest wewnętrznie SRD1-samosprzeczna, jeżeli ma warunki wykluczające się. Np.: 1. nA , N , A X
171
Sprzeczności w rozwiniętych dokładnych bazach reguł (6)
1. Reguła jest pośrednio wewnętrznie SRD1-sprzeczna, jeżeli jej spłaszczenie daje regułę SRD1-samosprzeczną Np.: 1. C , B , Y X 2. A , nB Y daje: 3. C , B , nB, A X
172
Sprzeczności w rozwiniętych dokładnych bazach reguł i bazach ograniczeń (7)
2. Sprzeczności typu SRD2: warunki reguły są sprzeczne w wyniku interakcji bazy reguł i bazy ograniczeń. Np.: 1. (A , C) Baza ograniczeń 1. A , B , C W Baza reguł
173
Nadmiarowości w rozwiniętych dokładnych bazach reguł (1)
1. Nadmiarowości typu NRD1: występowanie reguł o jednakowych wnioskach i jednakowych warunkach. Np. w przypadku reguł: 1. nA , B W 2. C , D A 3. E , F B 4. nC , nD , E , F W reguła 4 ma takie same warunki i taki sam wniosek jak reguła 1 wraz z regułami 2 i 3.
174
Nadmiarowości w rozwiniętych dokładnych bazach reguł (2)
2. Nadmiarowości typu NRD1_2: występowanie reguł subsumowanych. Np.w przypadku reguł 1. A , B , C , nX 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ł.
175
Nadmiarowości w rozwiniętych dokładnych bazach reguł (3)
2. Nadmiarowości typu NRD1_3: występowanie reguł o niepotrzebnych warunkach. Np.w przypadku reguł 1. A , B , C W 2. A , B, nC W Reguły te można zastąpić jedną regułą. 3. A, B W
176
Nadmiarowości w rozwiniętych dokładnych bazach reguł (4)
2. Nadmiarowości typu NRD2: Źródłem nadmiarowości typu NRD2 jest interakcja bazy reguł i bazy ograniczeń. Np 1. A , nF W 2. G , B W 3. A , nH W 4. nB , nC F 5. A , D G 6. nB , nE H Baza Reguł Baza Ograniczeń 1. (B , C , E) Baza Reguł A W 4. nB , nC F 5. A , D G 6. nB , nE H redukują się do:
177
Wnioskowanie rozwinięte dokładne w przód: przykład (b) sprzeczna baza reguł
A B nC Fakty: 2. nW B ® Z 1. A B Z ® W 3. A C ® Z Reguły: Nowy fakt: nZ A B nC nZ
178
Wnioskowanie rozwinięte dokładne w przód: przykład (b) sprzeczna baza reguł
A B nC nZ nW Fakty: 2. nW B ® Z 1. A B Z ® W 3. A C ® Z Reguły: Nowy fakt: nW 2. nW B ® Z 1. A B Z ® W 3. A C ® Z A B nC Z nW Nowy fakt: Z
179
Wnioskowanie rozwinięte dokładne w przód: przykład (b) sprzeczna baza reguł
A B nC Z W Fakty: 2. nW B ® Z 1. A B Z ® W 3. A C ® Z Reguły: Nowy fakt: W 2. nW B ® Z 1. A B Z ® W 3. A C ® Z A B nC nZ nW Nowy fakt: nZ itd. itd. Zmiany W nZ nW Z W są niekończącymi się oscylacjami, świadczącymi o sprzeczności bazy reguł.
180
Wnioskowanie rozwinięte dokładne w przód: przykład (c) sprzeczna baza reguł
A B C Fakty: 2. nW B ® Z 1. A B Z ® W 3. A C ® Z Reguły: Nowy fakt: Z A B C Z 2. nW B ® Z 1. A B Z ® W 3. A C ® Z Nowy fakt: W A B C Z W 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.
181
Przestrzeń decyzyjna dla weryfikacji kredytobiorcy:
36 trójek atrybutowych z,ly dostateczny dobry b.dobry wskaźnik finansowy Zabezpieczenie złe dobre b. dobre reputacja b. dobra dobra zła
182
Klasyfikacja zysków dla bazy DYR.
Górna granica małego zysku = Dolna granica dużego zysku Górna granica dużego zysku= Dolna granica bardzo dużego zysku Górna granica strat= Dolna granica małego zysku straty Duży zysk Bardzo duży zysk Mały zysk zysk
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.