REGUŁOWO OWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Część 1: Wstęp Systemy elementarne dokładne Antoni Niederliński Uniwersytet Ekonomiczny w Katowicach antoni.niederlinski@ue.katowice. pl informatyka1516ue@gmail.com Rok ak. 2016/2017
REGUŁOWO OWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE PDF darmowo ładowalny ze strony http://www.rmse.pl
REGUŁOWO OWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE Nakład papierowy wyczerpany. PDF darmowo ładowalny ze strony http://www.rmse.pl
Rule- and Model-Based Expert Systems PDF darmowo ładowalny ze strony http://www.rmes.pl
Cel zajęć Przedstawienie: właściwości podstaw działania ania zastosowań czterech skorupowych regułowo owo-modelowych systemów w ekspertowych rmse. Nauczenie tworzenia baz wiedzy dla w/w systemów.
EKSPERT Człowiek posiadający specjalistyczną wiedzę z pewnej dziedzinie (wiedz( wiedzę dziedzinową) ) i umiejętno tność stosowania jej dla podejmowania decyzji związanych zanych z tąt dziedziną (umiejętność wnioskowania w oparciu o posiadaną wiedzę), nabyte w wyniku studiów w i praktyki.
SYSTEMY EKSPERTOWE Programy komputerowe wspomagające podejmowanie decyzji,, których elementami są: s baza wiedzy, zawierająca wiedzę dziedzinową,, istotną dla podejmowanych decyzji, system wnioskujący cy,, korzystający z bazy wiedzy dla wypracowania tych decyzji.
SYSTEMY EKSPERTOWE Pozostałe e elementy systemu ekspertowego: edytor bazy wiedzy,, do tworzenia, modyfikowanie i kasowanie bazy wiedzy interfejs użytkownikau ytkownika,, do korzystania z systemu ekspertowego dynamiczna baza danych - relacyjna baza danych do przechowywania odpowiedzi użytkownika u i wyników wnioskowania
Spotykane synonimy system ekspertowy program regułowy program z regułow ową bazą wiedzy system zarządzania regułami biznesowymi (Business Rule Management System)
STRUKTURA FUNKCJONALNA SYSTEMU EKSPERTOWEGO EDYTOR BAZY WIEDZY INTEREJS UŻYTKOWNIKA BAZA WIEDZY SYSTEM WNIOSKUJĄCY DYNAMICZNA BAZA DANYCH
STRUKTURA INFORMATYCZNA SYSTEMU EKSPERTOWEGO EDYTOR BAZY WIEDZY Plik wykonywalny (Skorupowy system ekspertowy) INTERFEJS UŻYTKOWNIKA BAZA WIEDZY SYSTEM WNIOSKUJĄCY DYNAMICZNA BAZA DANYCH Plik tekstowy
Istotne cechy systemu ekspertowego 1. Rozdzielenie bazy wiedzy i systemu wnioskującego
Istotne cechy systemu ekspertowego 2. Baza wiedzy jest plikiem tekstowym,, który może e być: tworzony czytany modyfikowany za pomocą edytora bazy wiedzy bez naruszania integralności systemu wnioskującego.
Istotne cechy systemu ekspertowego Umożliwia to szybkie zrozumienie i modyfikowanie wiedzy dziedzinowej, z której korzysta system ekspertowy. Umożliwia to tworzenie systemów skorupowych, tzn. systemów ekspertowych pozbawionych baz wiedzy.
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
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 w programu - systemu wnioskującego cego. Możliwo liwość tworzenia systemów w ekspertowych skorupowych,, tzn. uniwersalnych systemów ekspertowych, które użytkownicy u mogą ładować własną,, użytkowanu 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 cy wiarygodność kredytową klienta banku (jest nim mały 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 y te są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 wiadczeń i w miarę zmiany sytuacji na rynku pienięż ężnym, reguły przyznawania kredytów w muszą ulec zmianie. Gdyby reguły 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 b nie będących b twórcami tego programu wręcz niemożliwe.
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 gnąć. Systemy ekspertowe wspierają programowanie deklaratywne.
Systemy ekspertowe a Prolog (1) Zgodnie z tym paradygmatem działa a jedyny deklaratywny język programowania - Prolog. W Prologu nie tworzy się algorytmów rozwiązania zania zadań,, lecz opisuje interesujący fragment rzeczywistości ci za pomocą faktów i reguł. Kompilator Prologu jest wyposażony ony w system wnioskujący 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 w ekspertowych. Oczywiście, cie, systemy ekspertowe można pisać w dowolnym uniwersalnym proceduralnym języku j programowania jak np. Pascal, C lub C++. Jedyną niedogodności cią takiego wyboru języka jest większa czasochłonno onność,, bardziej obszerny i mniej przejrzysty kod źródłowy, aniżeli w przypadku stosowania Prologu.
Klasyfikacja systemów w ekspertowych (1) Systemy ekspertowe specjalizowane, o systemach wnioskujących przeznaczonych do współpracy pracy z ściśle określon loną bazą wiedzy dziedzinowej. Systemy ekspertowe skorupowe, o systemach wnioskujących mogących współpracowa pracować z bardzo różnymi r bazami, spełniaj niającymi określone wymagania syntaktyczne.
Klasyfikacja systemów w ekspertowych (2) Regułowe systemy ekspertowe: wiedza dziedzinowa zapisana w postaci deklaratywnej (reguły y i fakty) wnioskowanie logiczne.
Klasyfikacja systemów w ekspertowych (3) Regułowe owe-modelowe (hybrydowe) systemy ekspertowe: wiedza dziedzinowa zapisana w postaci deklaratywnej (reguły y i fakty) i proceduralnej (równania, relacje) wnioskowanie logiczne wspomagane obliczeniami relacyjnymi i numerycznymi
Przedmiot zajęć Rodzina 4 skorupowych regułowo owo- modelowych systemów ekspertowych rmse: rmse_ed rmse_rd rmse_en rmse_rn Autor: Antoni Niederliński
STRUKTURA BAZY WIEDZY rmse Baza wiedzy Baza reguł Baza rad Baza ograniczeń Pliki rad Baza modeli
STRUKTURA BAZY WIEDZY Baza reguł - wiedza dziedzinowa logiczna Baza ograniczeń - wiedza dziedzinowa logiczna Baza modeli - wiedza dziedzinowa matematyczna Baza rad Pliki rad wiedza dziedzinowa uzupełniająca i wyjaśniająca
STRUKTURA BAZY WIEDZY Baza reguł Baza ograniczeń Baza modeli mają postać klauzul zawierających zmienne Baza rad
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" Inklud" Inklud jest pomiędzy cudzysłowami
Podstawowe typy zmiennych łańcuchowych w systemach ekspertowych dokładnych zmienne łańcuchowe typu: logicznego rzeczywistego całkowitego
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"
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"
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"
Zalety zmiennych łańcuchowych Czytelność ść: Inkludy (nazwy warunków w i wniosków) w) nie muszą być atomami, np.: "Bardzo dobre zabezpieczenie kredytu" Inkludy (nazwy argumentów w i wyników) w) również nie muszą być atomami, np.: "Stopa zysku w pierwszym półroczup roczu" Inkludy mogą rozpoczynać się dowolnymi znakami (litery duże e lub małe, różne r znaki)
Zalety zmiennych łańcuchowych (2) Elastyczność ść: Ta sama struktura dla modeli arytmetycznych i relacyjnych Ta sama struktura dla modeli ze zmiennymi nieukonkretnionymi i zmiennymi ukonkretnionymi
BAZA REGUŁ REGUŁY FAKTY Reguły y = wiedza dziedzinowa o charakterze ogólnym Fakty = wiedza dziedzinowa o charakterze szczegółowym
BAZA REGUŁ Przykład reguły w języku potocznym: 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 w języku potocznym: "student J.Kowalski zdał wszystkie egzaminy w terminie"
BAZA REGUŁ Reguły: : zdania warunkowe, np. w języku j polskim: A jest prawdą,, jeśli B i C i D są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Ł 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"
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Ł Sens reguły: reguła(numer_reguły, "Wniosek", Lista_warunków, Semafor_wyświetlania) Jeżeli wszystkie warunki są prawdą, wniosek jest prawdą.
BAZA REGUŁ Uwaga: reguła(numer_reguły, "Wniosek", Lista_warunków, Semafor_wyświetlania) Jeżeli nie wszystkie warunki są prawdą, sens reguły zależy od typu bazy wiedzy.
BAZA REGUŁ Sens wielu dokładnych reguł o tym samym wniosku: reguła(n, "Wniosek", Lista_warunków_N, S)... reguła(i,"wniosek", Lista_warunków_I, S)... reguła(m,"wniosek", Lista_warunków_M, S) jest następujący: Jeżeli wszystkie warunki przynajmniej jednej listy warunków są prawdą, wniosek jest prawdą.
BAZA REGUŁ Związki przyczynowo-skutkowe W logice nie istnieje pojęcie związków przyczynowoskutkowych (nie ma wejść i wyjść ) Związki sytuacyjno-działaniowe W logice nie istnieje pojęcie związków pomiędzy sytuacjami a działaniami (nie ma wejść i wyjść )
BAZA REGUŁ Przykład: następujące trzy zdania są logicznie równoważne: A i B jest prawdą A jest prawdą, A B B jest prawdą, B A Nie należy mylić logicznej implikacji z relacją wejściowowyjściową!
BAZA REGUŁ Aby baza reguł była użyteczna dla wspomagania decyzji, należy zapewnić poprawne: 1.Związki przyczynowo-skutkowe pomiędzy warunkami i wnioskami wszystkich reguł. lub: 2. Związki sytuacyjno-działaniowe pomiędzy warunkami i wnioskami wszystkich reguł.
BAZA REGUŁ Związki przyczynowo-skutkowe w regułach reguła(nr, "Skutek", Lista_przyczyn, S) Skutek zaistnieje, gdy wszystkie przyczyny zaistnieją.
BAZA REGUŁ Związek przyczynowo-skutkowe w regule: reguła(1, "Woda zamarza", ["Temperatura spadła poniżej zera"], S)
BAZA REGUŁ Związek przyczynowo-skutkowe w regule: przyczyny powodują zaistnienie skutku Przyczyna_1 Przyczyna_i Reguła Skutek Przyczyna_n
BAZA REGUŁ 2. Związki sytuacyjno-działaniowe w regułach reguła(nr, "Działanie", Lista_sytuacji, S) Działanie zaistnieje, gdy wszystkie sytuacje zaistnieją.
BAZA REGUŁ 2. Związek sytuacyjno-działaniowy w regule: reguła(1, "Dyrektor traci pracę", ["Duże straty", "Korupcja"], S)
BAZA REGUŁ Związek sytuacyjno-działaniowe w regule: działanie wystąpi,gdy zaistnieją odpowiednie sytuacje. Sytuacja_1 Sytuacja_i Reguła Działanie Sytuacja_n
Poglądowe przedstawianie reguł: reguła(nr, "Wniosek", ["Warunek_1",..., "Warunek_n"], Semafor_wyświetlania) Nr Warunek_1,..., Warunek_n Wniosek Symbol implikacji regułowej
Reguły 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 anie reguł Np. : Wnioski niektórych reguł są warunkami innych reguł. 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 Baza reguł: 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J
Zagnieżdżanie anie reguł Zagnieżdżaj ające się reguły 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: 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
BAZA REGUŁ Fakty: : logiczne zmienne łańcuchowe o inkludach uznawane za prawdziwe, np. : -4 C <= Temperatura powietrza <= 4 C 4 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
Sprzeczności ci w elementarnych dokładnych bazach reguł (1) 1. Sprzeczności ci typu SED1: : wniosek reguły y jest tożsamy z jednym z jej warunków. w. Możliwe sąs następuj pujące typy tej sprzeczności: ci: Reguła a jest zewnętrznie SED1-samosprzeczna samosprzeczna, jeżeli eli jednym z jej warunków w jest jej wniosek. Np.: 1. M, N, X X
Sprzeczności ci w elementarnych dokładnych bazach reguł (2) Reguła n jest zewnętrznie bezpośrednio SED1-sprzeczna z regułą m,, jeżeli: 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 ci w elementarnych dokładnych bazach reguł (3) Reguła n jest zewnętrznie pośrednio SED1-sprzeczna z regułą m, jeżeli eli podstawienie reguły m do innej reguły, tej zaś do jeszcze innej itd., doprowadza do reguły 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 ci w elementarnych dokładnych bazach reguł (4) Zewnętrzna pośrednia SED1-sprzeczno sprzeczność nie jest relacją refleksyjną: : w rozpatrywanym przykładzie 1. K, B H 2. C, D, X K 3. H, A X reguła 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.
Płaskie bazy reguł Bazy reguł mające wyłą łącznie warunki dopytywalne Niesprzeczną bazę reguł można spłaszczyć na drodze kolejnego zastępowania warunków niedopytywalnych listami warunków reguł których są wnioskami.
Spłaszczanie baz reguł Zagnieżdżona baza reguł: 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Płaska baza reguł: 1. A D 2. C, A, H G 3. B L 4. A, E M 5. C, A F 6. A, E J Utrata czytelności bazy płaskiej. Zgubiono relacje pomiedzy: J i M, D i M, F i G
Płaskie bazy reguł 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
Spotykane synonimy wniosek = konkluzja, rezultat warunek = przesłanka, założenie
Korzyści stosowania reguł 1. Reguły y umożliwiaj liwiają zwięzłe e definiowanie funkcjonowania różnych r systemów. W najprostszych przypadkach funkcjonowanie to sprowadza się do ciągu działań, inicjowanych odpowiednimi warunkami.
Korzyści stosowania reguł 2. Zrozumienie funkcjonowania systemu opisanego zbiorem reguł jest w zasadzie prostsze aniżeli rozszyfrowanie rozbudowanego kodu proceduralnego typu if/then/else.
Korzyści stosowania reguł Programując c proceduralnie, musimy programowi powiedzieć nie tylko, co ma zrobić,, ale równier wnież powiedzieć, jak to ma zrobić. Dla złożonego systemu logika programu proceduralnego jest trudna do opracowania, debugowania i modyfikowania.
Ironia programowania proceduralnego Ironią bywa często to, że e programując proceduralnie często zaczynamy od sformułowania owania reguł. Potem, gdy już dzięki regułom rozumiemy wymagane funkcjonowanie systemu, próbujemy te reguły y zakodować wbrew ich naturze w proceduralnym języku j programowania. Regułowo owo-modelowy system ekspertowy umożliwia nam w pewnym stopniu pominięcie ostatniego kroku.
Korzyści stosowania reguł Stosując c system ekspertowy, musimy mu powiedzieć tylko to, co wiemy o problemie i jaki cel chcemy osiągn gnąć.. Systemy ekspertowe realizują więc c deklaratywne programowanie. Nawet dla bardzo złożonych z onych celów w system ekspertowy sam dba o logikę swego działania. ania.
Klasyfikacja baz reguł (1) Ze względu na sposób b występowania warunków w niedopytywalnych rozróżniam: bazy reguł elementarne: warunki niedopytywalne nie występuj pują w postaci zanegowanej bazy reguł rozwinięte te: warunki niedopytywalne mogą występowa 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 pują w tej bazie w postaci niezanegowanej, tzn. w takiej samej jak wnioski reguł 1 i 2.
Przykład rozwiniętej bazy reguł 1. A, B, C W 2. nw, D, E V 3. nv, H, I, J U Przedrostek n oznacza negację nx = nieprawda_x Warunki niedopytywalne nw i nv reguł 2 i 3 są zanegowanymi wnioskami reguł 1 i 2.
Zalety baz rozwiniętych: Brak potrzeby formułowania owania reguł dla wniosków ("W") i ich negacji ("nw").
Klasyfikacja baz reguł (2) Ze względu na pewność reguł,, warunków w i wniosków w rozróżnia się: bazy reguł dokładne adne, kt których reguły y sąs prawdą,, których warunki i wnioski mogą być albo prawdą,, albo nieprawdą bazy reguł niepewne, kt których reguły, warunki i wnioski mogą mieć różne stopnie pewności
Klasyfikacja baz reguł (3) Bazy reguł elementarne Bazy reguł rozwinięte Bazy reguł dokładne Bazy reguł elementarne dokładne (BED) Bazy reguł rozwinięte dokładne (BRD) Bazy reguł niepewne Bazy reguł elementarne niepewne (BEN) Bazy reguł rozwinięte niepewne (BRN)
(1) Klasyfikacja systemów w wnioskujących Wnioskowanie dokładne Bazy reguł elementarne dokładne (BED) Wnioskowanie elementarne dokładne Bazy reguł rozwinięte dokładne (BRD) Wnioskowanie rozwinięte dokładne
(2) Klasyfikacja systemów w wnioskujących Wnioskowanie niepewne Bazy reguł elementarne niepewne (BEN) Wnioskowanie elementarne niepewne Bazy reguł rozwinięte niepewne (BRN) Wnioskowanie rozwinięte niepewne
Elementarne dokładne bazy wiedzy 1) Baza reguł elementarna dokładna 2) Baza modeli elementarna dokładna 3) Baza ograniczeń elementarna dokładna 4) Baza rad elementarna dokładna 5) Pliki rad 6) Baza grafiki 7) Pliki grafiki 8) Baza dźwid więków 9) Pliki dźwid więków 10) Plik opisu wiedzy dziedzinowej
Baza reguł elementarna dokładna reguła(nr Nr, "Wniosek", Lista_warunk warunków, w, Semafor) fakt("warunek dopytywalny")
Baza reguł elementarna dokładna reguła(nr, "Wniosek", Lista_warunków, Semafor) Wniosek jest prawdą, jeżeli wszystkie warunki są prawdą.
Baza reguł elementarna dokładna reguła(nr Nr, "Wniosek", Lista_warunk warunków, w, Semafor) Jeżeli którykolwiek z warunków nie jest prawdą, wniosek jest nieznany (nieokreślony). Jest to tzw. założeniem otwartego świata.
Założenie otwartego świata Dla wszystkich systemów w ekspertowych elementarnych dokładnych uważa a się za nieznane (nieokreślone) to, co nie wynika: z reguł bazy reguł, z ograniczeń bazy ograniczeń, z modeli bazy modeli, z faktów w i wartości argumentów zadeklarowanych przez użytkownikau
Założenie otwartego świata Skąd d taka nazwa? Zostawiamy otwarte drzwi na świat uważaj ając, że nasze reguły y nie zawierają całej wiedzy dziedzinowej i że być może - dalsza analiza problemu doprowadzi do dodatkowej reguły, która rozstrzygnie pozytywnie prawdziwość wniosku.
Założenie otwartego świata leży y u podstaw różnicy pomiędzy implikacją logiki a implikacją regułow 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 Jeżeli warunek nie jest prawdą, nie mogę nic powiedzieć o wniosku Daję temu wyraz następująco
Niedogodność baz elementarnych: W bazach reguł elementarnych dokładnych często trzeba formułowa ować zarówno reguły y dla wniosków ("W") i dla negacji wniosków ("nieprawda_w")
Ograniczenia założenia otwartego świata reguła(1, a(1, pojadę na wycieczkę zagraniczną, [ dostanę urlop, będę miał pieniądze dze ],1) Co nastąpi, gdy: lub gdy: dostanę urlop będę miał pieniądze nie jest prawdą?
Ograniczenia założenia otwartego świata Wniosek: pojadę na wycieczkę zagraniczną jest nieokreślony
Ograniczenia założenia otwartego świata Co zrobić, jeżeli zanegowany wniosek: nie pojadę na wycieczkę zagraniczną jest potrzebny jako warunek jakiejś reguły?
Ograniczenia założenia otwartego świata Możliwe rozwiązanie: Jeżeli eli warunki reguły y 1 sąs jedynymi warunkami których spełnienie umożliwi mi wyjazd na wycieczkę zagraniczną,, mogę to zapisać za pomocą reguł dodatkowych.
Ograniczenia założenia otwartego świata reguła(1, pojadę na wycieczkę zagraniczną, [ dostanę urlop, będę miał pieniądze ],1) Reguła pierwotna reguła(2, narastające zmęczenie, [ nie pojadę na wycieczkę zagraniczną ], 1) Reguła potrzebująca negacji reguła(3, a(3, nie pojadę na wycieczkę zagraniczną, reguła(4, [ nie dostanę urlopu ],1) a(4, nie pojadę na wycieczkę zagraniczną, [ nie będęb miał pieniędzy dzy ],1) Dodatkowe reguły dla negacji
Ograniczenia założenia otwartego świata Przedstawiony sposób b postępowania powania może być bardzo kłopotliwy, k por. bazę wiedzy KRE. Przedstawiony sposób b postępowania powania jest równoznaczny z zawieszeniem założenia otwartego świata dla pewnych reguł.
BAZA OGRANICZEŃ ELEMENTARNA DOKŁADNA Baza ograniczeń zawiera zbiory warunków dopytywalnych wykluczających cych się. np.: ("temperatura jest wyższa od 40ºC", "temperatura jest niższa od 10 ºC", "temperatura jest pomiędzy 10ºC C i 40ºC") C"). lub: ("dostanę urlop", "nie dostanę urlopu") ( będę miał pieniądze", "nie będę miał pieniędzy")
BAZA OGRANICZEŃ ELEMENTARNA DOKŁADNA Klauzule bazy ograniczeń: ograniczenie(nr_ograniczenia, Lista_warunków_dopytywalnych_ w_dopytywalnych_ wykluczających_si cych_się)
Baza modeli elementarna dokładna Modele e elementarne podstawowe dokładne Modele elementarne rozszerzone dokładne Modele elementarne liniowe dokładne Modele e elementarne wielomianowe dokładne
Baza modeli elementarna dokładna arytmetyczne relacyjne podstawowe X X rozszerzone X X liniowe X wielomianowe 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"
Modele unikatowe i wielokrotne Model elementarny dokładny jest unikatowy, jeżeli eli baza modeli nie zawiera innego o tym samym Wyniku/Wniosku W przeciwnym przypadku model jest modelem wielokrotnym.
Dla wszystkich modeli elementarnych dokładnych (1) Numer_Modelu jest liczbą całkowitą, różną dla różnych modeli i różną od numerów reguł. Stosowanie numerów różnych wynika stąd, że rady odwołują się do numerów reguł lub numerów modeli relacyjnych.
Dla wszystkich modeli elementarnych dokładnych (2) "Warunek startowy" jest logiczną zmienną łańcuchową; Wynik/Wniosek jest wyznaczany tylko gdy Warunek startowy jest prawdą Warunek startowy = bez warunku jest zawsze prawdą
Dla wszystkich modeli elementarnych dokładnych (3) Warunek startowy różny od bez warunku wskazuje model wielokrotny, który w danej sytuacji należy zastosować. Warunek startowy różny od bez warunku może również wskazywać model unikatowy, który w danej sytuacji nie powinien być stosowany. Warunek startowy nie może być zanegowanym wnioskiem reguły lub relacyjnego
Dla wszystkich modeli elementarnych dokładnych (4) Semafor_wyświetlania = 0 informacja o stosowaniu nie jest wyświetlana w trakcie wnioskowania = 1 informacja o stosowaniu jest wyświetlana w trakcie wnioskowania
Modele elementarne podstawowe dokładne model(numer_modelu, "Warunek startowy", "Wynik"/"Wniosek", "Pierwszy Argument", "Operacja"/"Relacja", "Drugi Argument", Semafor_wyświetlania)
Modele elementarne podstawowe dokładne "Wynik"/"Wniosek" "Wynik" rzeczywista zmienna łańcuchowa dla arytmetycznego "Wniosek" -logiczna zmienna łańcuchowa dla relacyjnego
Modele elementarne podstawowe dokładne "Pierwszy Argument", "Drugi Argument rzeczywiste lub całkowite zmienne łańcuchowe, zarówno dla arytmetycznego jak i dla relacyjnego
N liczba naturalna Modele elementarne podstawowe dokładne "Operacja" modele arytmetyczne z dwoma argumentami wykonują operacje: "+", " ", " ", "/", "div", "mod", "min", "max", "%", "A^N", "zaokrąglenie_do_n"
Modele elementarne podstawowe dokładne "Operacja" modele arytmetyczne z jednym argumentem wykonują operacje "sqrt", "sin", "cos", "tan", "arctan", "log", "ln", "exp", "round", "trunc", "abs", "=" przy czym "Drugi Argument" = "0"
Modele elementarne podstawowe dokładne "Relacja" modele relacyjne testują relacje: ">", "==", "<", ">=", "<=", "><", "<>"
Sens elementarnego podstawowego dokładnego arytmetycznego: model(nr_modelu, "Start", "Wynik", "X1", "+", "X2", Semafor_wyświetlania) Jeżeli Start jest prawdą to Wynik = X1 + X2
Sens elementarnego podstawowego dokładnego arytmetycznego: model(nr_modelu, "Start", "Wynik", "X1", "+", "X2", Semafor_wyświetlania) Jeżeli Start nie jest prawdą to Wynik jest nieokreślony
Sens elementarnego podstawowego dokładnego relacyjnego: model(nr_modelu, "Start", "Wniosek", "X1", "<= ", "X2 ", Semafor_wyświetlania) Jeżeli Start jest prawdą i X1 <= X2 to Wniosek jest prawdą
Sens elementarnego podstawowego dokładnego relacyjnego: model(nr_modelu, "Start", "Wniosek", "X1", "<= ", "X2 ", Semafor_wyświetlania) Jeżeli Start nie jest prawdą lub X1 > X2 to Wniosek jest nieokreślony
Modele elementarne rozszerzone dokładne model_r(numer_modelu, "Warunek startowy", "Wynik" /"Wniosek", "Operacja"/"Relacja", Lista_Argumentów, Semafor_wyświetlania)
Model elementarny rozszerzony dokładny "Wynik"/"Wniosek" "Wynik" rzeczywista zmienna łańcuchowa dla arytmetycznego "Wniosek" -logiczna zmienna łańcuchowa dla relacyjnego
Model elementarny rozszerzony dokładny "Operacja" modele arytmetyczne wykonują operacje "+", " ", "max_list", "min_list"
Model elementarny rozszerzony dokładny "Relacja" modele relacyjne testują relacje: "<,<", "<,<=", "<=,<", "<=,<="
Model elementarny rozszerzony arytmetyczny dokładny Lista_Argumentów ["Argument_1","Argument_2",..., "Argument_n"] "Argument_i" = rzeczywista lub całkowita zmienna łańcuchowa n dowolnie duże
Sens elementarnego rozszerzonego arytmetycznego dokładnego: model_r(nr_modelu, "Start", "Wynik", "+", ["X1", "X2,..., "Xn"], Semafor_wyświetlania) Jeżeli Start jest prawdą to Wynik = X1 + X2 +... +Xn
Sens elementarnego rozszerzonego arytmetycznego dokładnego: model_r(nr_modelu, "Start", "Wynik", "+", ["X1", "X2,..., "Xn"], Semafor_wyświetlania) Jeżeli Start nie jest prawdą to Wynik jest nieokreślony
Model elementarny rozszerzony relacyjny dokładny Lista_Argumentów ["Ograniczenie dolne", "Wielkość testowana", "Ograniczenie górne"] "Ograniczenie dolne" "Wielkość testowana" "Ograniczenie górne" Rzeczywiste zmienne łańcuchowe
Sens elementarnego rozszerzonego relacyjnego dokładnego: 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ą
Sens elementarnego rozszerzonego relacyjnego dokładnego: model_r(nr_modelu, "Start", "Wniosek", " <,<= ", ["Ogr_d", "X", "Ogr_g"], Semafor_wyświetlania) Jeżeli Start nie jest prawdą lub X <= Ogr_d lub Ogr_g < X to Wniosek jest nieokreślony
Model elementarny liniowy dokładny model_liniowy(numer_modelu, "Warunek startowy", "Wynik", Lista_współczynników, Lista_Zmiennych, Semafor_wyświetlania)
Model elementarny liniowy dokładny "Wynik" rzeczywista zmienna łańcuchowa
Model elementarny liniowy dokładny "Lista_współczynników" gdzie ["A_1", "A_2",..., "A_n"] "A_i" - rzeczywiste zmienne łańcuchowe
Model elementarny liniowy dokładny Lista_zmiennych gdzie ["X_1", "X_2",..., "X_n"] "X_i" - rzeczywiste zmienne łańcuchowe
Sens elementarnego liniowego dokładnego 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
Sens elementarnego liniowego dokładnego: model_liniowy(numer_modelu, "Start", "Wynik", ["A_1", "A_2", "A_3"], ["X_1", "X_2", "X_3"], Semafor_wyświetlania) jeżeli Start nie jest prawdą to Wynik jest nieokreślony
Model elementarny wielomianowy dokładny: model_wielomianowy(numer_modelu, "Warunek startowy", "Wynik", "Wartość zmiennej", Lista_współczynników, Lista_Potęg, Semafor_wyświetlania)
Model elementarny wielomianowy dokładny: "Wynik" rzeczywista zmienna łańcuchowa
Model elementarny wielomianowy dokładny: "Wartość Zmiennej" rzeczywista zmienna łańcuchowa, dla której jest wyznaczana wartość wielomianu
Model elementarny wielomianowy dokładny: Lista_współczynników gdzie: ["A_1", "A_2",..., "A_n"] "A_i" - rzeczywista zmienna łańcuchowa
Model elementarny wielomianowy dokładny: Lista_potęg [0,1,2,...,n-1] Lista liczb całkowitych (niekoniecznie kolejnych) n dowolnie duże
Sens elementarnego wielomianowego dokładnego: 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
Sens elementarnego wielomianowego dokładnego: model_wielomianowy(numer_modelu, " Start ", "Wynik ", " 3 ", ["A_0", "A_2", A_5 ], [0,2,5], Semafor_wyświetlania) Jeżeli Start nie jest prawdą to Wynik jest nieokreślony
Modele mogą się zagnieżdżać: Zagnieżdżanie modeli arytmetycznych: wynik jednego może być argumentem innego: 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 relacyjnego może być warunkiem stosowania innego: 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 y mogą się zagnieżdżać: Zagnieżdżanie modeli relacyjnych i reguł: wniosek 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 y i modele mogą się zagnieżdżać: Zagnieżdżanie reguł i modeli: wniosek reguły może być warunkiem startowym reguła(n, "Wniosek_N", Lista_warunków,1) model (M, "Wniosek_N", Wynik_M, A, op_m, B, 1)
Zagnieżdżanie anie modeli Zagnieżdżaj 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 anie modeli Zagnieżdżaj 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
Modele o wielokrotnych wynikach Problem: Jak sprawić,, by w odpowiedniej sytuacji był stosowany odpowiedni model?
Modele o wielokrotnych wynikach Rozwiązanie zanie 1: definiując warunki startowe jako dopytywalne wzajemnie wykluczające się dzięki stosowaniu odpowiedniej bazy ograniczeń.
Przykład dla rozwiązania zania 1 model(10,"a","wynik","x1","+","x2",1) model_liniowy(11,"nie_a","wynik", ["X1","X2","X3"],["1","1","-1"],1) ograniczenie(1, ["A","nie_A"])
Przykład dla rozwiązania zania 1 model(10,"a","wynik","x1","+","x2",1) model_liniowy(11,"nie_a","wynik", ["X1","X2","X3"],["1","1","-1"],1) ograniczenie(1, ["A","nie_A"])
Modele o wielokrotnych wynikach Rozwiązanie zanie 2: definiując warunki startowe jako odpowiednio wykluczające się wnioski reguł
Przykład dla rozwiązania zania 2 model(10,"war_1","wynik","x1","+","x2",1) model_liniowy(11,"war_2","wynik",["x1","x2","x3"], ["1","1","-1"],1) model_liniowy(12,"war_3","wynik",["x4","x5","x6"], ["1","1","1"],1) model_r(13,"war_4","wynik","*",["x1","x2","x3"],1) reguła(1,"war_1",["a","b"],_) reguła(2,"war_2",["a","nie_b"],_) reguła(3,"war_3",["nie_a","b"],_) reguła(4,"war_4",["nie_a","nie_b"],_) ograniczenie(1, ["A","nie_A"])
Modele o wielokrotnych wynikach Rozwiązanie zanie 3: definiując warunki startowe jako odpowiednio wykluczające się wnioski modeli relacyjnych i informując o tym system wnioskujący za pomocą klauzuli: modele_ekskluzywne(lista_warunków_ startowych_wykluczających_się).
Przykład dla rozwiązania zania 3 model(11,"bez warunku","wniosek_1","a","<","-10",1) model_r(12,"bez warunku","wniosek_2", "<=,<",["-10","A","0.0"],1) model_r(13,"bez warunku","wniosek_3", "<=,<=",["0.0","A","10"],1) model(14,"bez warunku","wniosek_4","10","<","a",1) model(15,"wniosek_1","wynik","aa","+","bb",1) model(16,"wniosek_2","wynik","cc","+","dd",1) model(17,"wniosek_3","wynik","ee","+","ff",1) model(18,"wniosek_4","wynik","gg","+","hh",1) modele_ekskluzywne( ["Wniosek_1","Wniosek_2","Wniosek_3","Wniosek_4"])
BAZA RAD Każdej regule i każdemu modelowi relacyjnemu może być przyporządkowana co najwyżej jedna rada
BAZA RAD Klauzule bazy rad: rada(numer_reguły/modelu, "nazwa_pliku_rady_dla_reguły/ modelu_relacyjnego.hlp")
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żytkownikau odnośnie nie do warunków w dopytywalnych albo warunki niedopytywalne,, uznane za prawdziwe w wyniku dotychczasowych wnioskowań.
Metody wnioskowania Wnioskowanie w przód (forward chaining,, od warunków w do wniosku) Wnioskowanie wstecz (backward chaining,, od hipotezy do warunków) 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 w dopytywalnych,, które zostały uznane przez użytkownika u za fakty, oraz z argumentów w dopytywalnych,, których wartości zostały y zadeklarowane przez użytkownika. u
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 u 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) Dynamiczna baza danych: Fakty A C H B E A C H D Nowy fakt: D Baza Reguł 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 B E L 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
Wnioskowanie elementarne dokładne w przód: przykład (b) Dynamiczna baza danych: Fakty A C H B E D L F Nowy fakt: 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 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) Dynamiczna baza danych: Fakty A C H D B E L F G J Nowy fakt:j 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 G J M Nowy fakt:m 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 d z bazą ograniczeń: Dynamiczna baza danych: Fakty Baza Reguł Baza Ograniczeń A H D Nowy fakt: D 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J 1. (A, C, E) 2. (B, H) 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ąs dla użytkownika u interesujące Wyznacza wszystkie wyniki dające się wyznaczyć, nawet te, które nie sąs dla użytkownika interesujące
Przeznaczenie wnioskowania elementarnego dokładnego wstecz Weryfikowanie hipotez Hipoteza: wniosek reguły y lub modelu relacyjnego,, którego prawdziwość próbuje się potwierdzić na podstawie: warunków w dopytywalnych uznanych za fakty, oraz argumentów w dopytywalnych o znanych wartościach
Wnioskowanie elementarne dokładne wstecz Na mocy założenia otwartego świata: jeżeli eli hipotezy nie można uznać za prawdę, to uznaje się, że e nie wiemy, czy jest prawdą, czy nie jest prawdą i uważamy amy jąj za nieznaną
Wnioskowanie elementarne dokładne wstecz Przeznaczone dla baz wiedzy BED, tzn. dla baz nie zawierających zanegowanych warunków w niedopytywalnych. Można stosować dla baz z zanegowanymi warunkami dopytywalnymi.
Wnioskowanie elementarne dokładne wstecz: przykład (a) Weryfikacja hipotezy F Dynamiczna baza danych: Fakty A C H B E A C H B E Brak F Czy jest C i D? Jest C, brak D. Baza Reguł 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
Wnioskowanie elementarne dokładne wstecz: przykład (b) Weryfikacja hipotezy F Baza Reguł Dynamiczna baza danych: Fakty Czy jest A? A C H B E F 1. A D 2. F, H G 3. B L 4. D, J M 5. C, D F 6. A, E J Jest A, więc jest D, więc jest F
Wnioskowanie elementarne dokładne wstecz z bazą ograniczeń: : (a) Dynamiczna baza danych: Fakty A H A H Weryfikacja hipotezy F Baza Reguł Baza Brak 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 Ograniczeń 1. (A, C, E) 2. (B, H) Czy jest C i D? Brak C 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
Wnioskowanie elementarne dokładne Dynamiczna baza danych: Fakty A H A H F wstecz z bazą ograniczeń: : (b) Weryfikacja hipotezy F Jest H, brak D Jest A, więc jest D, więc jest F Czy jest H i D? Czy jest A? 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 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 Ograniczeń 1. (A, C, E) 2. (B, H)
Sprzeczności ci w elementarnych dokładnych bazach reguł i bazach ograniczeń (5) 2. Sprzeczności ci typu SED2: : warunki reguły y sąs sprzeczne w wyniku interakcji bazy reguł i bazy ograniczeń. Np.: Baza reguł Baza ograniczeń 1. A, B, C W 1. (A, C)
Sprzeczności ci w elementarnych dokładnych bazach modeli (1) Baza modeli jest bezpośrednio sprzeczna, jeżeli eli wynik arytmetycznego jest tożsamy z jednym z jego argumentów. Np.: model(n, St_N, Wynik,, A, O_N, Wynik,, 1])
Sprzeczności ci w elementarnych dokładnych bazach modeli (2) Baza modeli jest głęg łęboko sprzeczna, jeżeli eli wynik arytmetycznego jest tożsamy z jednym z argumentów w modeli z nim się zagnieżdżajacych. ajacych. Np.: model(n, St_N, Wynik,, A, O_N, B,, 1]) model(m, St_N, B,, C, O_N, Wynik,, 1])
Sprzeczności ci łączne elementarnych dokładnych bazach modeli i baz reguł Baza modeli jest bezpośrednio łącznie sprzeczna z bazą reguł,, jeżeli eli warunek stosowania relacyjnego jest wnioskiem reguły, której warunkiem jest wniosek tego relacyjnego. Np.: model(n, War_stos, Wniosek,, A, Relacja, B,, 1]) reguła(m, a(m,war_stos,[,[wniosek,...],_)
Sprzeczności ci łączne elementarnych dokładnych bazach modeli i baz reguł Baza modeli jest pośrednio łącznie sprzeczna z bazą reguł,, jeżeli eli warunek stosowania relacyjnego jest wnioskiem reguły, zagnieżdżonej z regułą której warunkiem jest wniosek tego relacyjnego. Np.: model(n, War_stos, Wniosek,, A, Relacja, B,, 1]) reguła(m, 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 w przypadku reguł 1. A, B, C, D W 2. A, B W reguła a 1 jest subsumowana (zawarta) w regule 2,, gdyż obydwie mają taki sam wniosek, a warunki reguły 2 są podzbiorem warunków w reguły 1.. Regułę 1 można więc 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 Baza Reguł 1. A, B, C W 2. A, B, D W 3. A, B, E W Baza Ograniczeń 1. (C, D, E) redukują się do: Baza Reguł 1. A, B W
Wnioskowanie elementarne w przód ze sprzeczną bazą reguł: : przykład (a) Dynamiczna baza danych: Fakty C H B E C H B E L Nowy fakt: L 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. D, P A 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.
wstecz ze sprzeczną bazą reguł: przykład (a) Weryfikacja hipotezy F Baza Reguł Dynamiczna baza danych: Fakty C H B E C H B E Brak F Czy jest C i D? Jest C, 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. D, P 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
Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: Dynamiczna baza danych: Fakty C H B E P C H B E P przykład (b) Weryfikacja hipotezy F Czy jest D i P?. Czy jest A? Brak A 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. D, P 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
Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: : przykład (c) Dynamiczna baza danych: Fakty C H B E P Weryfikacja hipotezy F Jest D, brak P Czy jest A?. 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. D, P A C H B E P Brak A Czy jest D i 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
Wnioskowanie elementarne dokładne wstecz ze sprzeczną bazą reguł: : przykład (d) Weryfikacja hipotezy F Dynamiczna baza danych: Fakty C H B E P 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. D, P A 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.
O potrzebie ontologii Ontologia w sensie informatycznym to formalna reprezentacja pewnej dziedziny wiedzy, na którą składa się zapis zbiorów pojęć i relacji między nimi. Bardzo często przed tworzeniem bazy wiedzy musimy uzupełni nić ontologię wiedzy będącej przedmiotem bazy.
Przestrzeń decyzyjna Ile sytuacjji należy y uwzględni dnić tworząc c bazę wiedzy?
Przestrzeń decyzyjna dla bazy wiedzy KREDYT zabezpieczenie 36 trójek atrybutowych reputacja złe dobre b.dobre b. dobra dobra zła zły dostateczny dobry b.dobry Wskaźnik finansowy
Klasyfikacja zysków w dla bazy wiedzy Dyrektor Górna granica małego zysku = Dolna granica dużego zysku Górna granica dużego zysku= Górna granica strat= Dolna granica małego zysku <,<= <,<= Dolna granica bardzo dużego zysku < strata <= 0 Mały zysk Duży zysk Bardzo duży zysk zysk
Testowanie Waga2.BED K M St Mł St Mł p n d n n m nd d nd m