59
Systemy eksperowe Agnieszka Nowak – Brzezińska Wykład I

Systemy eksperowe - Zakład Systemów Informatycznychzsi.tech.us.edu.pl/~nowak/zaocznese/SE_lab1_wstepTeoretyczny.pdf · Przykład dla regułowejbazy wiedzy z 9 regułami: Fakty:

  • Upload
    doannhu

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Systemy eksperowe

Agnieszka Nowak – Brzezińska

Wykład I

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

Architektura SE

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.

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

Prezentacja algorytmy RETE

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.

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

Struktura BW

Blok deklaracji źródeł wiedzy

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

Drools

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 „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”.