Algorytmy Sztucznej Inteligencji - zsi.tech.us.edu.plzsi.tech.us.edu.pl/~nowak/asi/w1.pdf · pewnej...

111
Algorytmy Sztucznej Inteligencji wykład nr 2 wnioskowanie i SE Agnieszka Nowak - Brzezińska

Transcript of Algorytmy Sztucznej Inteligencji - zsi.tech.us.edu.plzsi.tech.us.edu.pl/~nowak/asi/w1.pdf · pewnej...

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.

CI - numeryczne Dane + Wiedza

AI - symboliczne

Soft Computing

Sieci neuronowe

Rachunek prawdop.

Uczenie maszynowe

Systemy ekspertowe

Rozpoznawanie Wzorców

Logika rozmyta

Algorytmy ewolucyjne

Wizualizacja Metody statystyczne

Data mining

Optymalizacja badania operacyjne

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.

• 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

Rys historyczny

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 nie-biologicznymi 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. deklaratywna w postaci reguł i faktów,

2. wiedza rozproszona w sieci neuronowej,

3. imperatywna w formie programu algorytmicznego,

4. faktograficzna w formie tekstów, grafiki, dźwięku, sekwencji wideo;

• system zapewnia wyjaśnienia:

1. jak (ang. how),

2. dlaczego (ang. why),

3. co to jest (ang. what is),

4. metafory (ang. metaphor),

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

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.

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.

1

a1 and b1

r1

2

a1 and b2

r2

a1 and b3

d

3

r3

b3 and d3

g

3

r4

d4 and g1

4 1

r7

r6

2 r8

b3 and d2

r5

r9

1 a

b

root

1

a1 and b1

r1

2

a1 and b2

r2

a1 and b3

d

3

r3

b3 and d3

g

3

r4

d4 and g1

4 1

r7

r6

2 r8

b3 and d2

r5

r9

1 a

b

root

Końcowy Graf RETE

korzeń

atrybut

Wartość atrybutu (przesłanka reguły, jedna lub więcej. To tzw. Węzły typu alfa, beta)

Węzeł terminalny – ID reguły

Pojawia się fakt: a1 …więc zapalamy węzły z a1

Reguła r9 zostaje dodana do „conflict set” i bierzemy kolejne fakty…

1

a1 and b1

r1

2

a1 and b2

r2

a1 and b3

d

3

r3

b3 and d3

g

3

r4

d4 and g1

4 1

r7

r6

2 r8

b3 and d2

r5

r9

1 a

b

root

r9

Conflict set

Conflict set

1

a1 and b1

r1

2

a1 and b2

r2

a1 and b3

d

3

r3

b3 and d3

g

3

r4

d4 and g1

4 1

r7

r6

2 r8

b3 and d2

r5

r9

1 a

b

root Pojawia się fakt: b1 …więc zapalamy węzły z b1

Reguła r1 zostaje dodana do „conflict set” i bierzemy kolejne fakty…

r9

r1

Conflict set

1

a1 and b1

r1

2

a1 and b2

r2

a1 and b3

d

3

r3

b3 and d3

g

3

r4

d4 and g1

4 1

r7

r6

2 r8

b3 and d2

r5

r9

1 a

b

root Pojawia się fakt: d4 …więc zapalamy węzły z d4

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

r9

r1

r7

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

r9

r1

r7

r9 r1 r7

d4 c1 f1 NOWE FAKTY…

a1 b1 d4 d4 c1 f1

Kierunek generowania faktów

Wnioskowanie…dla strategii FIFO

r9

r1

r7

r7 r1 r9

f1 c1 d4 NOWE FAKTY…

a1 b1 d4 f1 c1 d4

Kierunek generowania faktów

Wnioskowanie…dla strategii FIFO

r9

r1

r7

r7 r1 r9

f1 c1 d4 NOWE FAKTY…

Kierunek generowania faktów

Wnioskowanie…dla strategii LIFO

r9

r1

r7

r7 r1 r9

f1 c1 d4 NOWE FAKTY…

Kierunek generowania faktów

Pseudokod algorytmu RETE

Procedure RETE()

{

Graph := CreateGraphRETE(R);

ConflictSet:= MatchingRules(K,Graph);

newFacts:=ActiveAgenda(ConflictSet,strategy);

return newFacts;

}

R- reguły K- fakty

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

Interpretacja 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

Projektowanie Konfigurowanie/Projektowanie przy określonych ograniczeniach

Dendral, Mortgage Loan Advisor, R1 (Dec Vax Configuration)

Planowanie Projektowanie Zdarzeń Mission Planning for Autonomous Underwater Vehicle

Monitorowanie 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

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…