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

Slides:



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

Tworzenie stron internetowych
Wprowadzenie w problematykę związaną z twierdzeniem Gödla
Egzamin.
Mechanizm wnioskowania rozmytego
REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 2
SZTUCZNA INTELIGENCJA
WYKŁAD 2 SYSTEMY EKSPERTOWE cz.2.
HTML.
Badania operacyjne. Wykład 2
KNW- Wykład 8 Wnioskowanie rozmyte.
Matematyka Dyskretna, G.Mirkowska, PJWSTK
BAZA DANYCH - RODZAJE.
Ekonometria wykladowca: dr Michał Karpuk
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
Projektowanie i programowanie obiektowe II - Wykład IV
FUNKTORY Katarzyna Radzio Kamil Sulima.
Modele baz danych - spojrzenie na poziom fizyczny
Strategia skutecznego szukania informacji w Internecie
Hipotezy statystyczne
Podstawy programowania II
Podstawy układów logicznych
Podstawy programowania
Elementy Rachunku Prawdopodobieństwa i Statystyki
Bazy danych.
Instrukcja USOS Rejestracja na zajęcia obieralne wersja by Marek Opacki.
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
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.
PRZYGOTOWALI Bartosz Pawlik Daniel Sawa Marcin Turbiński.
Temat 3: Integralność danych. Integralność danych, określana również mianem spójności danych, jest to funkcja SZBD, która gwarantuje, że dane nie zostaną.
Temat 4: Typy danych.
Projektowanie Aplikacji Internetowych
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.
Systemy wspomagające dowodzenie twierdzeń
Modelowanie model związków encji
Wstęp do programowania Wykład 10 Programowanie w logice.
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.
Treść dzisiejszego wykładu l Weryfikacja statystyczna modelu ekonometrycznego –błędy szacunku parametrów, –istotność zmiennych objaśniających, –autokorelacja,
Funktory zdaniotwórcze ekstensjonalneintensjonalne.
Etapy procesu sterowania rozmytego
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.
Nawracanie i odcięcie Jakub Czoboda, Jezierski Aleksander, Skierkowski Paweł, Bembenista Kamil, Martynowski Witold.
Elementy cyfrowe i układy logiczne
Podstawowe rodzaje modeli rozmytych
Systemy neuronowo – rozmyte
Rekonstrukcja argumentu
Hipertekst HTML WWW.
Wartość logiczna zdania
Metody sztucznej inteligencji
Systemy eksperckie i sztuczna inteligencja
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1 Niederliński ftp://lemon.ia.polsl.gliwice.pl/pub/RMSE aniederlinski@ia.polsl.gliwice.pl

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, 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 interfejs użytkownika, do korzystania z systemu ekspertowego 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 program regułowy program z regułową bazą wiedzy

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

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

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

Zmienne łańcuchowe Zmienna łańcuchowa = "Inklud zmiennej łańcuchowej"

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

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"

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"

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"

BAZA REGUŁ REGUŁY FAKTY Fakty = wiedza dziedzinowa Reguły = wiedza dziedzinowa o charakterze ogólnym Fakty = wiedza dziedzinowa o charakterze szczegółowym

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

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

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

"Wniosek" : Logiczna zmienna łańcuchowa , której inkludem jest nazwa wniosku. Np. "dobre zabezpieczenie"

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

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

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.

BAZA REGUŁ Związek przyczynowo-skutkowy pomiędzy warunkami a wnioskiem: Warunek_1 Warunek_n Wniosek Reguła Warunek_i

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

BAZA REGUŁ Związek przyczynowo-skutkowy pomiędzy przyczynami a skutkiem: Przyczyna_1 Przyczyna_n Skutek Reguła Przyczyna_i

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

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)

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

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

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

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

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

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

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

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

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.

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.

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

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

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ą

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

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.

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

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.

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ę

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

„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

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

Klasyfikacja baz reguł (3) Bazy reguł dokładne niepewne elementarne rozwinięte niepewne (BRN) dokładne (BRD) niepewne (BEN) dokładne (BED)

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

Wnioskowanie niepewne Klasyfikacja systemów wnioskujących (2) Bazy reguł rozwinięte niepewne (BRN) Wnioskowanie elementarne niepewne niepewne (BEN) Wnioskowanie niepewne

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

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

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

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

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

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

"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

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

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"

Model elementarny: "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: model(Nr_Modelu, "Start", "Wynik", "X1", "+", "X2", Semafor_wyświetlania) Jeżeli Start jest prawdą to Wynik = X1 + X2

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ą

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" modele arytmetyczne wykonują operacje "+", "", "max_list", "min_list"

Model rozwinięty: "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) Jeżeli Start jest prawdą to Wynik = X1 + X2 + ... +Xn

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

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

"Lista_współczynników" 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: 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

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, dla której jest wyznaczana wartość wielomianu

Lista_współczynników 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-1] Lista liczb całkowitych (niekoniecznie kolejnych) n – „dowolnie” duże

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

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

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

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)

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

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

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

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

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

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

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.

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

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.

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.

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.

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

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.

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.

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.

Metody wnioskowania Wnioskowanie w przód (forward chaining, od warunków do wniosku) 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: 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.

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.

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.

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

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

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

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.

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

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

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ą

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.

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.

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

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

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

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

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

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

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ł

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

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

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

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

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.

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

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ł

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.

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.

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

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

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

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

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.

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

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

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

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)

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)

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.

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

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ń

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

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,

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 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 wewnętrzne: warunki reguły są sprzeczne

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

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

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

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 wyniku interakcji bazy reguł i bazy ograniczeń. Np.: 1. (A , C) Baza ograniczeń 1. A , B , C  W Baza reguł

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.

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

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

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:

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

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

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

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.

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

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