wyklad 1: systemy ekspertowe. wnioskowanie rete.

advertisement
Algorytmy Sztucznej Inteligencji
wykład nr 2
wnioskowanie i SE
Agnieszka Nowak - Brzezińska
Słowem wstępu…
• Większość programów komputerowych nie
zachowuje sie szczególnie inteligentnie.
• Wszędzie tam, gdzie znamy dokładny algorytm
rozwiązania zadania, inteligencja nie jest
konieczna.
• Wszędzie tam, gdzie rozwiązanie nie daje się ująć
w ścisłe reguły lub wymaga tak wielkiej liczby
obliczeń, że jest niewykonalne, wymaga się
pewnej dozy inteligencji z naszej strony, a jeśli ma
wykazywać ją program komputerowy, mówimy o
inteligencji sztucznej.
Sztuczna Inteligencja (Artificial
Intelligence, AI)
…to
dziedzina nauki zajmująca
się rozwiązywaniem zagadnień
efektywnie
niealgorytmizowalnych w
oparciu o modelowanie wiedzy.
Soft Computing
Logika
rozmyta
Sieci
neuronowe
Optymalizacja
badania operacyjne
Algorytmy
ewolucyjne
Wizualizacja
Data
mining
Systemy
ekspertowe
Metody
statystyczne
CI - numeryczne
Dane + Wiedza
AI - symboliczne
Rachunek prawdop.
Uczenie
maszynowe
Rozpoznawanie
Wzorców
Rys historyczny
• Sztuczna
inteligencja
to
termin
zaproponowany przez John’a McCarthy’ego w
1956 roku, na konferencji w Dartmouth
College
poświęconej
inteligentnym
maszynom.
Rys historyczny
• Okres ciemności: 1965-1970, w którym niewiele się działo,
powoli opadał entuzjazm i pojawiły się głosy bardzo
krytyczne.
• Renesans: 1970-1975, gdy zaczęto budować pierwsze
systemy
doradcze,
użyteczne
w
praktyce.
• Okres partnerstwa: 1975-1980, gdy do badań nad AI
wprowadzono
metody
kognitywistyki.
• Okres komercjalizacji: 1980-1990, gdy programy AI, a
szczególnie systemy doradcze zaczęto sprzedawać
komercyjnie
Co to inteligencja ?
• Inteligencja
jest
umiejętnością
przystosowywania się do nowych zadań i
warunków życia albo sposobem, w jaki
człowiek przetwarza informacje i rozwiązuje
problemy.
• Inteligencja to także umiejętność kojarzenia
oraz rozumienia. Wpływ na nią mają zarówno
cechy dziedziczne jak i wychowawcze.
Definicje AI w literaturze:
• Jest nauką o maszynach realizujących zadania, które
wymagają inteligencji, gdy są wykonywane przez
człowieka (M.Minsky)
• AI stanowi dziedzinę informatyki dotyczącą metod i
technik wnioskowania symbolicznego przez komputer
oraz symbolicznej reprezentacji wiedzy stosowanej
podczas takiego wnioskowania (E. Feigenbaum)
• AI obejmuje rozwiązywanie problemów sposobami
wzorowanymi na naturalnych działaniach i procesach
poznawczych człowieka za pomocą symulujących je
programów komputerowych (R.J. schalkoff).
• Sztuczna inteligencja to automatyzacja zdolności przypisanych
ludzkiemu myśleniu, zdolności taki jak podejmowanie decyzji
,,rozwiązywanie problemów,, uczenie się... [Bellman, 1978]
• Sztuczna inteligencja to badania prowadzone w kierunku stworzenia
komputerów, które myślą ... maszyn posiadających umysł..
[Haugelland,, 1985]
• Sztuczna inteligencja to sztuka tworzenia maszyn zdolnych do
wykonywania działań,, wymagających od człowieka zaangażowania
inteligencji.. [Kurzweil,, 1990]
• Sztuczna inteligencja to badania mające na celu stworzenie
komputerów posiadających umiejętności,, w których człowiek jest
obecnie lepszy.. [Rich i Knight,, 1991]
• Sztuczna inteligencja to badanie zdolności umysłowych za pomocą
modeli obliczeniowych.. [Charniak i McDermott, 1985]
• Sztuczna inteligencja to studia nad modelami obliczeniowymi, które
umożliwiają percepcjję, wnioskowanie i działanie.. [Winstton, 1992]
• Sztuczna inteligencja to badania mające na celu opis i symulację
inteligentnego
zachowania
w
kategoriach
procesów
obliczeniowych..[Schallkoff, 1990]
• Sztuczna inteligencja jest gałęzią informatyki, zajmującą się
automatyzacją inteligentnego zachowania..[Luger i Stublefield,
1993]
Inne definicje AI:
• „AI to nauka mająca za zadanie nauczyć
maszyny zachowań podobnych do ludzkich”.
• „AI to nauka o tym, jak nauczyć maszyny robić
rzeczy które obecnie ludzie robią lepiej”.
• „AI to nauka o komputerowych modelach
wiedzy umożliwiających rozumienie,
wnioskowanie i działanie”.
Definicja
Nie ma efektywnego algorytmu? Drobna zmiana może wymagać całkiem
innego programu! Nie można przewidzieć wszystkich zmian. Rozwiązanie
wymaga inteligencji.
Sztuczna Inteligencja (Artificial Intelligence, AI) to dziedzina nauki
zajmująca się rozwiązywaniem zagadnień efektywnie
niealgorytmizowalnych w oparciu o modelowanie wiedzy.
Inne definicje:
* AI to nauka mająca za zadanie nauczyć maszyny zachowań podobnych
do ludzkich.
* AI to nauka o tym, jak nauczyć maszyny robić rzeczy które obecnie
ludzie robią lepiej.
* AI to nauka o komputerowych modelach wiedzy umożliwiających
rozumienie, wnioskowanie i działanie.
Dwa rodzaje Sztucznej Inteligencji
• Słaba (Weak AI) - potrafi rozwiązywać trudne zadania w sposób
umożliwiający praktyczne zastosowanie,
• Mocna (Strong AI) - oznacza myślenie przybliżające myślenie
ludzkie.
Wersja słaba AI
• Filozofowie (J. Searl) sformułowali następujące rozróżnienie:
• Wersja słaba AI:
Komputer pozwala formułować i sprawdzać hipotezy dotyczące mózgu.
Program
=
symulacja,
ale
nie
„prawdziwe”
myślenie.
W tej wersji AI nie ma wielu oponentów gdyż jest wiele dowodów na
jej oczywistą przydatność.
Możliwa jest komputerowa symulacja inteligentnego działania niebiologicznymi metodami.
Wersja silna AI
• Wersja silna AI: komputer odpowiednio zaprogramowany jest w
istotny sposób równoważny mózgowi i może mieć stany poznawcze.
Wersja często atakowana, ciągłe spory filozoficzne, czy jest to
możliwe, ale eksperci się tym martwią.
Symulacja inteligencji to nie „prawdziwa inteligencja”, umysł nie jest
programem a mózg nie jest komputerem.
Stąd następująca definicja:
• Sztuczna inteligencja to tylko to, czego jeszcze nie potrafią zrobić
sztuczne systemy.
Najważniejsze procesy i funkcje
składające się na ludzką inteligencję:
• Uczenie się i wykorzystywanie wiedzy, zdolność uogólniania,
percepcja i zdolności poznawcze, np. zdolność rozpoznawania
danego obiektu w dowolnym kontekście.
• Zapamiętywanie, stawianie i realizacja celów, umiejętność
współpracy, formułowanie wniosków, zdolność analizy, tworzenie
oraz myślenie koncepcyjne i abstrakcyjne.
Uczenie się
Zdolność do uczenia się jest powszechnie uważana za jeden z
najważniejszych przejawów inteligencji. Przez uczenie się rozumiemy, w
najprostszym ujęciu, zdobywanie wiedzy lub umiejętności (a także
doskonalenie dotychczas posiadanej wiedzy lub umiejętności), na
podstawie wspomagających informacji, takich jak doświadczenia czy
przykłady.
Rozważając sztuczne systemy uczące się będziemy przez uczenie się
rozumieć proces zmiany zachodzącej w systemie na podstawie
doświadczeń, która prowadzi do poprawy jego jakości działania
rozumianej jako sprawność rozwiązywania stojących przed systemem
zadań.
Systemy Ekspertowe
System ekspertowy to inteligentny program komputerowy stosujący
wiedzę i procedury rozumowania (wnioskowania) w celu rozwiązywania
problemów, które wymagają doświadczenia ludzkiego (eksperta),
nabytego przez wieloletnią działalność w danej dziedzinie.
Ogólna idea SE polega na przeniesieniu wiedzy eksperta z danej dziedziny
do bazy wiedzy, zaprojektowaniu maszyny wnioskującej na podstawie
posiadanych informacji oraz dodaniu interfejsu użytkownika, służącego
do komunikacji.
Kiedy nasz program lub maszyna jest
inteligentna ?
• Na to pytanie w 1950 roku próbował odpowiedzieć Alan Turing.
• Idea „Testu Turinga” polegała na tym, że człowiek za pomocą
klawiatury i monitora zadaje te same pytania komputerowi i innej
osobie. Jeśli zadający pytania nie potrafi rozróżnić odpowiedzi
komputera i człowieka, tzn. że program (maszyna) jest inteligentny.
• Spory o to, czy test Turinga we właściwy sposób definiuje
inteligencję maszynową (lub "myślenie maszynowe"), dotyczyły
głównie trzech punktów:
• Maszyna, która przejdzie test Turinga, może być w stanie
symulować ludzkie zachowanie konwersacyjne, lecz może to być
znacznie mniej niż prawdziwa inteligencja. Maszyna może
zwyczajnie używać sprytnie wymyślonych reguł. Częstą ripostą w
społeczności zajmującej się badaniami nad sztuczną inteligencją jest
zadanie pytania "A skąd wiemy, czy ludzie sami po prostu nie
posługują się jakimiś sprytnie wymyślonymi regułami?".
• Maszyna może być inteligentna nie posiadając ludzkiej umiejętności
prowadzenia rozmowy.
• Wielu ludzi mogłoby nie być w stanie zaliczyć takiego testu. Z
drugiej strony, inteligencję innych ludzi oceniamy zazwyczaj
wyłącznie na podstawie tego co i jak mówią.
Test Turinga
• Test ten został zaproponowany w 1950 roku przez Alana Turinga.
• Turing zaproponował ten test w celu zamiany pełnego emocji i w jego
pojęciu bezsensownego pytania "Czy maszyny myślą?" na pytanie lepiej
zdefiniowane, w ramach badań nad stworzeniem sztucznej inteligencji.
• Test wygląda następująco:
• sędzia - człowiek - prowadzi rozmowę w języku naturalnym z
pozostałymi stronami. Jeśli sędzia nie jest w stanie wiarygodnie określić,
czy któraś ze stron jest maszyną czy człowiekiem, wtedy mówi się, że
maszyna przeszła test. Zakłada się, że zarówno człowiek jak i maszyna
próbują przejść test zachowując się w sposób możliwie zbliżony do
ludzkiego
Zastosowania Systemów Ekspertowych
•
•
•
•
•
•
•
•
•
•
Obszary zastosowań systemów ekspertowych obejmują w głównej mierze
następujące dziedziny:
Interpretacja -- formowanie wniosków następuje na podstawie danych
Prognozowanie -- przewidywanie możliwych konsekwencji wystąpienia
określonych sytuacji
Diagnostyka -- wykrywanie przyczyn niesprawności w oparciu o zaobserwowane
symptomy
Projektowanie -- określenie konfiguracji składowych systemu, spełniającej
określone kryteria działania przy określonych ograniczeniach
Planowanie -- określanie sekwencji działań prowadzących do celu przy zadanych
warunkach startowych
Monitoring -- porównywanie zaobserwowanego funkcjonowania z oczekiwanymi
działaniami
Serwis -- wykrywanie i usuwanie usterek
Szkolenie i instruktaż -- wykrywanie i korygowanie błędów w rozumieniu
przedmiotu danej dziedziny
Sterowanie automatyczne -- nadzór nad funkcjonowaniem złożonych systemów
Zalety i ograniczenia
•
•
•
•
•
•
•
•
•
Tak szeroki wachlarz zastosowań wynika niewątpliwie z
pewnych cech, które jednocześnie są zaletami systemów
ekspertowych. Należą do nich:
- większa dostępność ekspertyzy
- mniejszy koszt ekspertyzy
- mniejsze ryzyko w warunkach szkodliwych dla zdrowia
ciągłość pracy
- wyjaśnianie decyzji
- szybkość uzyskania ekspertyzy
stała, niewrażliwa na emocje i pełna ekspertyza
- uczenie metodą prób i błędów
- inteligentny interfejs człowiek-komputer
Architektura SE
Etapy tworzenia systemu
ekspertowego:
• analiza problemu, pod kątem, czy kwalifikuje się on do budowy
systemu ekspertowego,
• opracowanie specyfikacji systemu, zdefiniowanie jego zadań i
oczekiwanych wyników;
• przejęcie wiedzy od ekspertów i jej opracowanie;
• wybór metody reprezentacji wiedzy oraz „narzędzi” do budowy
systemu;
• organizacja i kodowanie wiedzy (prototyp, pełna wersja);
• weryfikacja i testowanie systemu.
Właściwości systemów ekspertowych:
• Są narzędziem kodyfikacji wiedzy;
• Mają zdolność rozwiązywania problemów specjalistycznych, w
których dużą rolę odgrywa doświadczenie a wiedza ekspercka jest
dobrem rzadkim i kosztownym;
• Zwiększają dostępność ekspertyzy;
• Zapewniają możliwość prowadzenia jednolitej polityki przez centralę
firm mających wiele oddziałów;
• Poziom ekspertyzy jest stabilny – jej jakość nie zależy od warunków
zewnętrznych i czasu pracy systemu;
• Jawna reprezentacja wiedzy w postaci zrozumiałej dla użytkownika
końcowego;
• Zdolność do objaśniania znalezionych przez system rozwiązań;
• Możliwość przyrostowej budowy i pielęgnacji bazy wiedzy.
System ekspertowy służy do rozwiązywania problemów, które
charakteryzują się jedną lub wieloma z następujących cech:
• problem nie da się sformalizować w postaci liczbowej;
• cele nie dadzą się opisać za pomocą matematycznych funkcji celu;
• nie istnieją formalne algorytmy rozwiązywania problemu;
• dane i wiedza systemu są obarczone nieznanym błędem lub są one
niepełne, niepewne.
Przyczyny tworzenia systemu
ekspertowego (uogólnione):
• tylko jeden (lub bardzo niewielu) specjalista posiada niezbędną
wiedzę, co grozi jej utratą;
• ekspertyza jest wymagana często lub jest niezbędna w wielu
miejscach;
• ekspertyza jest niezbędna w miejscach niedostępnych dla człowieka
lub szkodliwych dla zdrowia.
Wnioskowanie
Typy wnioskowania
• Wnioskowanie w przód (data driven)
• Wnioskowanie wstecz (goal driven)
• Wnioskowanie mieszane
Sterowanie wnioskowaniem
Mechanizm wnioskowanie w przód
Mechanizm wnioskowanie w przód
Idea wnioskowania wstecz
Algorytm wnioskowania wstecz
Mechanizm wnioskowania wstecz dla
hipotezy „v”
Idea wnioskowania mieszanego
Dodatkowo…
• WnioskowanieR.pdf
Metody realizacji systemów ekspertowych w
środowisku systemu PC-Shell
Właściwości:
• są narzędziem kodyfikacji wiedzy eksperckiej,
• mają zdolność rozwiązywania problemów specjalistycznych, w których duża rolę
odgrywa doświadczenie a wiedza ekspercka jest dobrem rzadkim i kosztownym.
• zwiększają dostępność ekspertyzy,
• zapewniają możliwość prowadzenia jednolitej polityki przez centralę firm
mających wiele oddziałów,
• poziom ekspertyzy jest stabilny - jej jakość nie zależy od warunków zewnętrznych
i czasu pracy systemu,
• jawna reprezentacja wiedzy w postaci zrozumiałej dla użytkownika końcowego,
• zdolność do objaśniania znalezionych przez system rozwiązań,
• możliwość przyrostowej budowy i pielęgnacji bazy wiedzy.
Zastosowania
• analiza ryzyka,
• ocena wniosków kredytowych, uczestników
przetargów,
• monitorowanie, diagnostyka, predykcja,
• wspomaganie procesów diagnostycznych,
• analiza i interpretacja danych,
• instruktaż, dydaktyka, szkolenia.
Tworzenie systemu ekspertowego
Ogólna charakterystyka szkieletowego systemu
ekspertowego PC-Shell
PC–Shell jest podstawowym elementem pakietu sztucznej inteligencji Sphinx®
• PC–Shell jest dziedzinowo niezależnym narzędziem do budowy systemów ekspertowych, posiada
właściwości hybrydowe, wykorzystuje elementy architektury tablicowej;
• wykorzystuje różne metody reprezentacji wiedzy:
1.
2.
3.
4.
deklaratywna w postaci reguł i faktów,
wiedza rozproszona w sieci neuronowej,
imperatywna w formie programu algorytmicznego,
faktograficzna w formie tekstów, grafiki, dźwięku, sekwencji wideo;
• system zapewnia wyjaśnienia:
1.
2.
3.
4.
5.
jak (ang. how),
dlaczego (ang. why),
co to jest (ang. what is),
metafory (ang. metaphor),
opisu faktów;
• wykorzystywane jest wnioskowanie wstecz (z nawrotami),
• bazy wiedzy mogą być parametryzowane,
• system ma możliwość bezpośredniego pozyskiwania informacji z baz danych (ODBC),
wykorzystuje mechanizm DDE,
• system PC–Shell współpracuje z innymi elementami pakietu – systemem Neuronix przeznaczonym
do tworzenia sieci neuronowych, systemem CAKE przeznaczonym do wspomagania pracy
inżyniera wiedzy oraz realizującym funkcje systemu dbMaker, zarządzającego bazami wyjaśnień.
Architektura SE
Wykłady z PC-Shella
• http://zsi.tech.us.edu.pl/~nowak/zaocznese/tworzenieBW.pdf
• http://zsi.tech.us.edu.pl/~nowak/zaocznese/Sphinx.pdf
Z menu wybieram „Wnioskowanie” do
przodu
Struktura BW
Blok deklaracji źródeł wiedzy
Zawartość folderu Sphinx 4.0
Prezentacja algorytmy RETE
Przykład dla regułowej bazy wiedzy z 9 regułami:
Fakty: a1 , b1, d4
R1: a1 & b1 -> c1
R2: a1 & b2 -> c2
R3: a1 & b3 -> c1
R4: b3 & d3 -> e1
R5: b3 & d2 -> e1
R6: b3 -> e2
R7: d4 -> f1
R8: d4 & g1 -> f1
R9: a1 -> d4
Przykład dla regułowej bazy wiedzy z 9 regułami:
Fakty: a1 , b1, d4
R1: a1 & b1 -> c1
R2: a1 & b2 -> c2
R3: a1 & b3 -> c1
R4: b3 & d3 -> e1
R5: b3 & d2 -> e1
R6: b3 -> e2
R7: d4 -> f1
R8: d4 & g1 -> f1
R9: a1 -> d4
Czyli teoretycznie dla takich
faktów jak a1, b1 i d4 można
uaktywnić reguły:
r1,r7 i r9.
Fakty: a1 , b1, d4
R1: a1 & b1 -> c1
R2: a1 & b2 -> c2
R3: a1 & b3 -> c1
R4: b3 & d3 -> e1
R5: b3 & d2 -> e1
R6: b3 -> e2
R7: d4 -> f1
R8: d4 & g1 -> f1
R9: a1 -> d4
Algorytm RETE (1974 r.)
1. Graf budujemy tak, że od korzenia (root) prowadzimy tyle węzłów ile mamy
atrybutów w częściach warunkowych reguł: „a”,”b”,”d”,”g”
2. Następnie od każdego węzła „atrybut” prowadzimy węzły z wartościami
atrybutów z przesłanek reguł…np. od „a” prowadzimy węzeł „1” (czy „a1”) ale od
b już prowadzimy „1”,”2” i „3” bo w regułach mamy przesłanki typu b1,b2,b3
3. Gdy jakaś reguła ma więcej niż jedną przesłankę prowadzimy węzeł łączący
wartości atrybutów tworzące przesłanki np. a1 & b1
4. Węzły końcowe (terminalne) stanowi numer porządkowy (ID) reguły.
root
b
1
a
2
1
r2
r1
4
3
a1 and b2
a1 and b1
g
d
1
r7
3
b3 and d3
r9
2
a1 and b3
r4
r3
b3 and d2
r6
r5
d4 and g1
r8
Końcowy Graf RETE
root
b
1
a
2
1
r2
r1
4
3
a1 and b2
a1 and b1
g
d
r7
3
b3 and d3
r9
2
a1 and b3
korzeń
atrybut
r4
r3
b3 and d2
r6
Wartość atrybutu (przesłanka reguły, jedna lub
więcej. To tzw. Węzły typu alfa, beta)
Węzeł terminalny – ID reguły
1
r5
d4 and g1
r8
Pojawia się fakt: a1 …więc zapalamy węzły z a1
root
b
1
a
2
1
r2
r1
4
3
a1 and b2
a1 and b1
b3 and d3
2
a1 and b3
r4
r3
b3 and d2
r6
r9
1
r7
3
r9
Conflict set
g
d
r5
Reguła r9 zostaje dodana do „conflict set” i bierzemy kolejne fakty…
d4 and g1
r8
Pojawia się fakt: b1 …więc zapalamy węzły z b1
root
b
1
a
2
1
r2
r1
4
3
a1 and b2
a1 and b1
b3 and d3
2
a1 and b3
r1
r9
1
r7
3
r9
Conflict set
g
d
r4
r3
b3 and d2
r6
r5
Reguła r1 zostaje dodana do „conflict set” i bierzemy kolejne fakty…
d4 and g1
r8
Pojawia się fakt: d4 …więc zapalamy węzły z d4
root
b
1
a
2
1
r2
r1
4
3
a1 and b2
a1 and b1
r7
r1
r9
1
r7
3
b3 and d3
r9
Conflict set
g
d
2
a1 and b3
r4
r3
d4 and g1
r8
b3 and d2
r6
r5
Reguła r7 zostaje dodana do „conflict set” i kończymy bo nie ma więcej faktów…Inne reguły nie były niepotrzebnie analizowane
Algorytm RETE krok po kroku
1. Tworzymy graf skierowany (acykliczny)
gdzie węzłami są elementy tworzące części
przesłankowe reguł a liśćmi są numery
porządkowe reguł.
2. Następnie dopasowujemy fakty do węzłów
w grafie i te reguły, które mogą być uaktywnione
zapisujemy w tzw. CONFLICT SET w formie stosu.
3. W zależności od wybranej strategii
LIFO/FIFO uaktywniamy reguły.
Wnioskowanie…dla strategii LIFO
r7
r1
r9
NOWE FAKTY…
r7
r1
r9
f1
c1
d4
Kierunek generowania faktów
a1
b1
d4
f1
c1
d4
Wnioskowanie…dla strategii FIFO
r7
r1
r9
NOWE FAKTY…
r9
r1
r7
d4
c1
f1
Kierunek generowania faktów
a1
b1
d4
d4
c1
f1
Wnioskowanie…dla strategii FIFO
Wnioskowanie…dla strategii LIFO
r7
r7
r1
r1
r9
r9
NOWE FAKTY…
r9
r1
r7
d4
c1
f1
Kierunek generowania faktów
NOWE FAKTY…
r7
r1
r9
f1
c1
d4
Kierunek generowania faktów
Pseudokod algorytmu RETE
Procedure RETE()
{
R- reguły
K- fakty
Graph := CreateGraphRETE(R);
ConflictSet:= MatchingRules(K,Graph);
newFacts:=ActiveAgenda(ConflictSet,strategy);
return newFacts;
}
CreateGraphRETE – generuje graf z warunkowych części reguł.
MatchingRules(K,Graph) – dopasuje fakty do węzłów w grafie i zapisuje do ConflictSet te reguły które można uaktywnić!
ActiveAgenda – zgodnie z wybraną strategią Lifo albo Fifo uaktywnia reguły z ConflictSet i wyprowadza nowe fakty.
Drools
Przykłady SE
Kategoria
Zastosowanie
Przykład
Wnioskowanie opisów
zdarzeń/sytuacji z czujników
Hearsay (Speech Recognition),
PROSPECTOR
Predykcja
Wnioskowanie prawdopodobnych
konsekwencji danej sytuacji
Pretirm Birth Risk Assessment
Diagnostyka
Wnioskowanie na temat awarii w
systemie na bazie obserwacji
CADUCEUS, MYCIN, PUFF, Mistral
Konfigurowanie/Projektowanie przy
określonych ograniczeniach
Dendral, Mortgage Loan Advisor, R1
(Dec Vax Configuration)
Projektowanie Zdarzeń
Mission Planning for Autonomous
Underwater Vehicle
Porównywanie obserwacji by
wykluczać luki systemowe
REACTOR
Debugging
Zapewnienie przyrostowych
rozwiązań złożonych problemów
SAINT, MATHLAB, MACSYMA
Instrukcja
Diagnostyka, ocena i poprawa
zachować studentów
SMH.PAL, Intelligent Clinical
Training,STEAMER
Kontrola
Interpretacja, przewidywanie,
naprawa i monitorowanie zachowań
systemowych
Real Time Process Control, Space
Shuttle Mission Control
Interpretacja
Projektowanie
Planowanie
Monitorowanie
Jess
Wnioskowanie w Jess/Drools
Wnioskowanie c.d.
Tworzenie BW
Przykładowa BW
BW w Jess
WinJess – przykładowe narzędzie JESS
BW w PC-Shell
PC-Shell
Podsumowanie
Laboratorium nr 1
• Wnioskowanie w regułowych bazach wiedzy.
Wykonanie ćwiczeń 1-6.
Przykład1
Dana jest baza wiedzy :
• R1: Jeżeli„a” i „b” i „c” to „d”
• R2: Jeżeli„a” i „b” to „g”
• R3: Jeżeli„b” i „c” to „e”
• R4: Jeżeli„a” i „c” to „f”
• R5: Jeżeli„e” i „b” i „c” to „f”
Dane sa fakty : „a”, „b”, „c”.
Wyprowadź całą możliwą wiedzę z systemu.
Przykład2
Dana jest baza wiedzy :
• R1: Jeżeli „a” i „b” i „c” to „d”
• R2: Jeżeli „a” i „d” to „g”
• R3: Jeżeli „a” i „f” to „b”
• R4: Jeżeli „b” i „g” to „f”
• R5: Jeżeli„a” i „e” to „f”
• R6: Jeżeli„e” i „f” to „a”
• R7: Jeżeli „a” i „b” to „c” Dane są fakty : „a” i „e”.
Udowodnić hipotezę „g”.
Ćwiczenie 3
•
•
•
•
•
•
Dana jest baza wiedzy:
R1: Jeżeli „b” i „d” to „f”
R2: Jeżeli „a” to „b”
R3: Jeżeli„e” i „f” to „g”
R4: Jeżeli „b” i „c” to „e”
Fakty: „a”, „c” i „d”. Szukane „b”
Ćwiczenie 4
•
•
•
•
•
•
Dana jest baza wiedzy:
R1: Jeżeli „j” i „k” to „l”
R2: Jeżeli „j” to „n”
R3: Jeżeli „n” i „m” to „o”
R4: Jeżeli „n” i „l” to „m”
Fakty: „j”, „k”, „l”, „p”. Szukane „p”.
Ćwiczenie 5
•
•
•
•
•
•
Dana jest baza wiedzy:
R1: Jeżeli „j” i „k” to „l”
R2: Jeżeli „j” to „n”
R3: Jeżeli „n” i „m” to „o”
R4: Jeżeli „n” i „l” to „m”
Fakty: „j”, „k”, „l”, „p”. Szukane „p”.
Ćwiczenie 6
•
•
•
•
•
•
Dana jest baza wiedzy:
R1: Jeżeli „l” i „m” to „n”
R2: Jeżeli „j” to „o”
R3: Jeżeli „j” i „k” to „m”
R4: Jeżeli „n” i „o” to „p”
Fakty: „j”, „k”, „l”. Szukane „p”.
• W ramach sprawozdania z regułowych baz
wiedzy…
Download