PRZYGOTOWALI Bartosz Pawlik Daniel Sawa Marcin Turbiński.

Slides:



Advertisements
Podobne prezentacje
Katarzyna Szafrańska kl. II ti
Advertisements

Wprowadzenie w problematykę związaną z twierdzeniem Gödla
Egzamin.
Mechanizm wnioskowania rozmytego
REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 2
REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1
Języki programowania C++
SZTUCZNA INTELIGENCJA
WYKŁAD 2 SYSTEMY EKSPERTOWE cz.2.
Badania operacyjne. Wykład 2
Matematyka Dyskretna, G.Mirkowska, PJWSTK
BAZA DANYCH - RODZAJE.
Kurs Pascala – spis treści
Co to jest studium przypadku?
Czytanie numerów puktów i ich współrzędnych z mapy.
Model lingwistyczny – wnioskowanie Mamdani’ego
DANE INFORMACYJNE Gimnazjum Nr 43 w Szczecinie ID grupy: 98/38_MF_G2
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
FUNKTORY Katarzyna Radzio Kamil Sulima.
Modele baz danych - spojrzenie na poziom fizyczny
Temat: Porządkowanie i ochrona dokumentów komputerowych.
Strategia skutecznego szukania informacji w Internecie
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Podstawy układów logicznych
Podstawy programowania
I. Informacje podstawowe
dr hab. Ryszard Walkowiak prof. nadzw.
Pliki tekstowe – A. Jędryczkowski © 2007 Turbo Pascal umożliwia wykorzystanie w programach plików tekstowych. Pliki takie zawierają informację niezakodowaną
ANNA BANIEWSKA SYLWIA FILUŚ
XML – eXtensible Markup Language
FUNKCJE Opracował: Karol Kara.
III EKSPLORACJA DANYCH
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Wzorce slajdów programu microsoft powerpoint
Projektowanie relacyjnych baz danych – postacie normalne
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Temat 4: Typy danych.
System plików.
Zarządzanie zagrożeniami
Modelowanie Kognitywne
KNW- Wykład 3 Powtórzenie. PROGRAM WYKŁADU NR 3 Przykładowe zadania z logiki Modele możliwych światów.
Zagadnienia AI wykład 5.
Instrukcje wyboru.
Zasady arytmetyki dwójkowej
Systemy wspomagające dowodzenie twierdzeń
Modelowanie model związków encji
Tworzenie wykresów część I
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
ZDANIE.
KNW K Konwencjonalne oraz N Niekonwencjonalne metody W Wnioskowania.
KNW - wykład 3 LOGIKA MODALNA.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Funktory zdaniotwórcze ekstensjonalneintensjonalne.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Systemy rozmyte – wnioskowanie Mamdani’ego I © Kazimierz Duzinkiewicz, dr hab.
Zmienne typy danych w VBA. MS Excel – typy danych w języku programowania VBA.
Elementy cyfrowe i układy logiczne
Typy wyliczeniowe, kolekcje
Podstawowe rodzaje modeli rozmytych
Systemy neuronowo – rozmyte
Rekonstrukcja argumentu
Hipertekst HTML WWW.
Wstęp do prawoznawstwa ćwiczenia 1
Wartość logiczna zdania
Metody sztucznej inteligencji
Systemy eksperckie i sztuczna inteligencja
* PROCESÓW TECHNOLOGICZNYCH
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

PRZYGOTOWALI Bartosz Pawlik Daniel Sawa Marcin Turbiński

REGUŁOWO- MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE

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.

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.

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

STRUKTURA FUNKCJONALNA SYSTEMU EKSPERTOWEGO DYNAMICZNA BAZA DANYCH

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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:

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:

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

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)

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

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

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

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

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

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

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.

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)

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ą

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.

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

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ą

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

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)

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

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

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:

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

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

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.

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”

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

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

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”

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

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ą

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

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

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

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”

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

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

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ą

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

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

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

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

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

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

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

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

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ą

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

Model liniowy: Wynik rzeczywista zmienna łańcuchowa

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

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

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ą

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

Model wielomianowy: Wynik rzeczywista zmienna łańcuchowa

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

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

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

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ą

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)

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)

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,..])

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)

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

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

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

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

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

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

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

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

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.

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

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.

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.

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.

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)

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.

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.

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.

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ł

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ł

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

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.

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

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

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ę

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.

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ł

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ł

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

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

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

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

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.

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.

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ń

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

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

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,....],_)

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,....],_)

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.

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

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:

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.

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ł

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ł

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

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.

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

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

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

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

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

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)

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)

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)

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

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;

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.

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

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

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.

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.

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ń

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 ?

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,

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

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.

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

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

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

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

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:

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

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ń

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

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

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

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:

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

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

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

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

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.

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

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

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;

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.

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.

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

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

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

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

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

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

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

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:

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

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)

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ą

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

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

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ł

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)

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

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

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

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.

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ę

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

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

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

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

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

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

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)

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

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

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

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

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

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:

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

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

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:

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

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

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

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

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.

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:

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

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

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.

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.

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

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.

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.

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

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

KONIEC