Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1

Podobne prezentacje


Prezentacja na temat: "REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1"— Zapis prezentacji:

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


Pobierz ppt "REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1"

Podobne prezentacje


Reklamy Google