OWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE

Podobne dokumenty
OWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE

OWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE

REGUŁOWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE

OWO-MODELOWE SKORUPOWE SYSTEMY EKSPERTOWE

Notacja. - operator implikacji, - operator koniunkcji v operator alternatywy - operator równoważności ~ operator negacji Duża litera (np.

Ćwiczenie numer 4 JESS PRZYKŁADOWY SYSTEM EKSPERTOWY.

Systemy ekspertowe i ich zastosowania. Katarzyna Karp Marek Grabowski

Wniosek 2: należy ograniczyć ilość wiedzy, np. ograniczając działanie systemu do pewnej dziedziny wiedzy!

Systemy ekspertowe. Krzysztof Patan

PODSTAWY SZTUCZNEJ INTELIGENCJI

SZTUCZNA INTELIGENCJA

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Systemy ekspertowe. Wnioskowanie w systemach regułowych. Część piąta. Autor Roman Simiński.

KOMPUTEROWE WSPOMAGANIE PODEJMOWANIA DECYZJI KREDYTOWYCH ZA POMOCĄ SYSTEMÓW EKSPERTOWYCH RMSE DLA WNIOSKOWANIA PRZYBLIśONEGO

Definicje. Algorytm to:

PRZEWODNIK PO PRZEDMIOCIE

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

LOGIKA I TEORIA ZBIORÓW

Algorytmy zapisywane w pseudojęzyku programowania. Klasa 2 Lekcja 6

istocie dziedzina zajmująca się poszukiwaniem zależności na podstawie prowadzenia doświadczeń jest o wiele starsza: tak na przykład matematycy

Zaawansowane systemy decyzyjne

Systemy eksperowe. Agnieszka Nowak Brzezińska Wykład I

Algorytmika i pseudoprogramowanie

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Programowanie w logice

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Zapisywanie algorytmów w języku programowania

Algorytm. Krótka historia algorytmów

Myślenie w celu zdobycia wiedzy = poznawanie. Myślenie z udziałem rozumu = myślenie racjonalne. Myślenie racjonalne logiczne statystyczne

SYSTEMY INŻYNIERII WIEDZY

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

PROLOG. Prolog. Programowanie, W.F. Clocksin, C.S. Mellish, HELION Prolog, język sztucznej inteligencji, Eugeniusz Gatnar, Katarzyna Stąpor, Wyd.

Systemy ekspertowe : program PCShell

Technologie informacyjne - wykład 12 -

1 Podstawy c++ w pigułce.

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Tautologia (wyrażenie uniwersalnie prawdziwe - prawo logiczne)

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Programowanie deklaratywne

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Jeśli nie startuje to uszkodzony RAM. np. jeżeli X jest częścią silnika to X jest częścią auta

Programowanie komputerów

NOWE ODKRYCIA W KLASYCZNEJ LOGICE?

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Paradygmaty programowania

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Modelowanie i Programowanie Obiektowe

PRZEWODNIK PO PRZEDMIOCIE

Programowanie deklaratywne

Wykład z Technologii Informacyjnych. Piotr Mika

SZTUCZNA INTELIGENCJA

Reguły gry zaliczenie przedmiotu wymaga zdania dwóch testów, z logiki (za ok. 5 tygodni) i z filozofii (w sesji); warunkiem koniecznym podejścia do

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Rachunek zdań i predykatów

Rozdział 1 PROGRAMOWANIE LINIOWE

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

1 Podstawowe oznaczenia

PRZEWODNIK PO PRZEDMIOCIE

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

7. Zagadnienie parkowania ciężarówki.

ECDL Podstawy programowania Sylabus - wersja 1.0

Aproksymacja funkcji a regresja symboliczna

Ziemia obraca się wokół Księżyca, bo posiadając odpowiednią wiedzę można stwierdzić, czy są prawdziwe, czy fałszywe. Zdaniami nie są wypowiedzi:

RACHUNEK ZDAŃ 7. Dla każdej tautologii w formie implikacji, której poprzednik również jest tautologią, następnik także jest tautologią.

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Układy równań i nierówności liniowych

Faza Określania Wymagań

Języki programowania zasady ich tworzenia

Programowanie strukturalne

Programowanie w języku C++ Grażyna Koba

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Wprowadzenie do Prologa

Elementy logiki. Zdania proste i złożone

Podstawy programowania skrót z wykładów:

PRZEWODNIK PO PRZEDMIOCIE

Systemy ekspertowe i sztuczna inteligencja. dr Agnieszka Nowak Brzezioska

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH

Wykład 2. Relacyjny model danych

Specyfikacja zadania informatycznego nr 1

6. Zagadnienie parkowania ciężarówki.

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Matematyka A kolokwium 26 kwietnia 2017 r., godz. 18:05 20:00. i = = i. +i sin ) = 1024(cos 5π+i sin 5π) =

Podstawy Programowania C++

Ćwiczenia do rozdziału 2, zestaw A: z książki Alfreda Tarskiego Wprowadzenie do logiki

Temat: Systemy Ekspertowe i ich zastosowania

Zajęcia nr. 3 notatki

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Laboratorium przedmiotu Paradygmaty Programowania

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Systemy eksperckie. Plan wykładu Wprowadzenie do sztucznej inteligencji. Wnioski z prób automatycznego wnioskowania w rachunku predykatów

Podstawy Informatyki. Algorytmy i ich poprawność

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Podstawowe definicje Z czego składa się system ekspertowy? Wnioskowanie: wprzód, wstecz, mieszane

Transkrypt:

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