Systemy eksperowe - Zakład Systemów...
Transcript of Systemy eksperowe - Zakład Systemów...
Zakres materiału:
• Metody wnioskowania w regułowych bazach wiedzy
• PC-Shell jako narzędzie do budowy szkieletowych systemów ekspertowych (Sprawozdanie z własnej bazy wiedzy)
• Zbiory przybliżone: podstawowe pojęcia, usuwanie niespójności z tablic decyzyjnych, generowanie reduktu i rdzenia tablicy decyzyjnej, generowanie reguł minimalnych. (kolokwium nr 1)
• Rachunek zdań I i II rzędu. Rachunek predykatów. (kolokwium nr 2) + Prolog.
• Rachunek perceptów.
• Reprezentacja wiedzy niepewnej. (kolokwium nr 1)
• Sieci semantyczne i Ramy jako alternatywna do regułowejreprezentacja wiedzy.
Przebieg egzaminu:
• Egzamin ma formę pisemną i ustną. Składać się będzie zarówno z części praktycznej (rozwiązywanie zadań) jak i teoretycznej (wiadomości z wykładów).
Pojęcia z dziedziny systemów ekspertowych
• Inżynieria wiedzy - dziedzina sztucznej inteligencjizajmująca się projektowaniem i realizacją systemówekspertowych.
• Inżynier wiedzy – projektant SE, osoba łącząca wiedzęna temat technik budowy SE z umiejętnościąpozyskiwania i formalizacji wiedzy eksperckiej.
• Akwizycja wiedzy – proces pozyskiwania wiedzyniezbędnej do realizacji systemu ekspertowego.
• Na proces składają się: rozpoznanie problemu,wywiady z ekspertem, oraz reprezentacja wiedzyeksperta. Akwizycja kończy się w momencie zapisaniawiedzy eksperta w bazie wiedzy SE.
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 jestdobrem 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.
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.
Typy wnioskowania
• Wnioskowanie w przód (data driven)
• Wnioskowanie wstecz (goal driven)
• Wnioskowanie mieszane
Przykład dla regułowej bazy wiedzy z 9 regułami:
Fakty: a1 , b1, d4R1: a1 & b1 -> c1R2: a1 & b2 -> c2R3: a1 & b3 -> c1R4: b3 & d3 -> e1R5: b3 & d2 -> e1R6: b3 -> e2R7: d4 -> f1R8: d4 & g1 -> f1R9: a1 -> d4
Przykład dla regułowej bazy wiedzy z 9 regułami:
Fakty: a1 , b1, d4R1: a1 & b1 -> c1R2: a1 & b2 -> c2R3: a1 & b3 -> c1R4: b3 & d3 -> e1R5: b3 & d2 -> e1R6: b3 -> e2R7: d4 -> f1R8: d4 & g1 -> f1R9: 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
2r8
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
2r8
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
2r8
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
2r8
b3 and d2
r5
r9
1 a
b
rootPojawia 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
2r8
b3 and d2
r5
r9
1 a
b
rootPojawia 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
r9r1r7
d4c1f1NOWE FAKTY…
a1 b1 d4 d4c1f1
Kierunek generowania faktów
Wnioskowanie…dla strategii FIFO
r9
r1
r7
r7r1r9
f1c1d4NOWE FAKTY…
a1 b1 d4 f1c1d4
Kierunek generowania faktów
Wnioskowanie…dla strategii FIFO
r9
r1
r7
r7r1r9
f1c1d4NOWE FAKTY…
Kierunek generowania faktów
Wnioskowanie…dla strategii LIFO
r9
r1
r7
r7 r1 r9
f1 c1 d4NOWE 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łyK- 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.
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ę firmmających wiele oddziałów,
• poziom ekspertyzy jest stabilny - jej jakość nie zależy od warunków zewnętrznychi 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.
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ń.
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
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”.