1

Systemy ekspertowe - ciąg dalszy

Metody reprezentacji wiedzy – ciąg dalszy

Fakty

Jednym z podstawowych elementów bazy wiedzy są fakty

opisujące to, co zachodzi w rzeczywistości, lub zaszło. Dotyczą

one: zjawisk, objawów, zdarzeń, określonych stanów rzeczy

itp. Stwierdzenie, że atrybut o nazwie A i wartości V

przysługuje obiektowi O, zapisywane jest w postaci

następującej trójki uporządkowanej:

<A,0,V> = < <NAZWA ATRYBUTU>, <OBIEKT>,

<WARTOŚĆ ATRYBUTU> >

Obiektem może być dowolna rzecz lub pojęcie. Atrybutem jest

cecha posiadana przez obiekt i wyróżniająca go spośród innych

obiektów. Nazwa atrybutu jest parą

<NAZWA ATRYBUTU> = < <CHARAKTER

POSIADANIA CECHY>,

<NAZWA CECHY> >

gdzie <CHARAKTER POSIADANIA CECHY> zastępowany

jest często domyślnie określeniem " posiada" lub " jest".

Wartość atrybutu jest w takim ujęciu wartością odpowiedniej

cechy, gdzie wartość cechy może być elementem dowolnego

typu (np. 13, tak, prawy,...) . Trójka uporządkowana

<A,O,V> jest zapisem posiadania przez obiekt wybranej

własności lub właściwości.

Wprowadzone pojęcia ilustruje następujący przykład:

2

<NAZWA OBIEKTU> ="cytryna",

<NAZWA CECHY> ="kolor",

<CHARAKTER POSIADANIA CECHY> ="posiada",

<WARTOŚĆ CECHY> ="Ŝółty"

w którym zapis stwierdzenia, że jabłko posiada kolor

czerwony przyjmuje postać:

<"posiada kolor", "jabłko", "czerwony">

Stwierdzenie to zapisane w języku PROLOG ma postać:

posiada_kolor (jabłko, czerwony)

Należy podkreślić, że baza wiedzy powinna być kompletna, w

takim sensie, że brak stwierdzenia w bazie wiedzy iż

obiektowi przysługuje jakiś atrybut, oznacza, że atrybut ten

obiektowi nie przysługuje.

W niektórych systemach fakty są one zapisywane w postaci

uporządkowanej czwórki. Składa się ona z tych samych

elementów co poprzednio omówiona trójka, plus stopień

pewności CF (ang. Certainty Factor).

<A,O,V,CF> = < <NAZWA ATRYBUTU>,

<OBIEKT>,

<WARTOŚĆ ATRYBUTU>, <CF> >

Mamy wtedy do czynienia ze stwierdzeniami przybliżonymi.

Każdemu faktowi przypisany jest współczynnik określający

stopień pewności. Zazwyczaj jest to liczba z przedziału [-1,1],

lub [0,1]. Oczywiście im wyższy stopień tym stwierdzenie jest

bardziej prawdziwe.

3

Nie ma precyzyjnej definicji stopnia pewności, nie ma też

formalnych metod jego określania. Celem jest umożliwienie

zapisywania hipotez, przypuszczeń, itp. W niektórych

systemach współczynnik pewności przypisywany jest nie

stwierdzeniom, lecz wartościom atrybutów.

Dla uproszczenia zapisów faktów w bazie wiedzy stosuje się

słowniki nazw obiektów, atrybutów oraz ich wartości.

Wymaga się przy tym, aby słowniki były zbiorami otwartymi,

co umożliwia prowadzenie dialogu systemu z użytkownikiem

(który może np. użyć w odpowiedzi nieznanego systemowi

nazwiska pacjenta). Ważniejszym jest jednak umożliwienie

aktualizacji bazy wiedzy przez uzupełnianie jej nowymi

stwierdzeniami. Inną zaletą jest możliwość uwzględniania w

bazie wiedzy synonimów nazw, a zwłaszcza możliwość

uzupełniania bazy wiedzy o opisowe definicje nazw (używane

przez procedury objaśniające).

Regułowa reprezentacja wiedzy

Wśród różnych metod reprezentacji wiedzy zasadniczą rolę

odgrywają metody oparte na regułach. Ich ogólna postać

może być wyrażona jako:

IF przesłanka THEN konkluzja

Zdecydowana większość powstałych do tej pory systemów

ekspertowych jest oparta na regułach, lub wykorzystuje

reguły.

Reprezentacja regułowa często jest wykorzystywana w

systemach

dedukcyjnych,

w

których

zbiór

faktów

początkowych jest przekształcany w pewien zbiór faktów

końcowych. W zależności od przeznaczenia system może

spełniać różne funkcje, np. klasyfikowanie, diagnozowanie,

4

dowodzenie, ustalanie przyczyn, najlepszy dobór, planowanie,

prognozowanie, monitorowanie, itp.

Reguła może zawierać więcej warunków połączonych

funktorem koniunkcji:

IF A przyjmuje wartość u

AND F przyjmuje wartość w

THEN G przyjmuje wartość y

Za pomocą stopnia pewności CF można dodatkowo zapisać,

jaki jest stosunek użytkownika, lub twórcy systemu do

pewności konkluzji występującej w danej regule.

IF Zawodnik jest praworęczny

AND Rzuca prawą ręką

AND Nikt mu nie przeszkadza

AND Zawodnik jest w formie rzutowej

THEN (ze stopniem pewności0.9)

Zawodnik trafi do kosza

W tym przykładzie spełnienie wszystkich czterech warunków

prowadzi do przyjęcia konkluzji, co jest równoważne z

przyjęciem faktu zapisanego następująco: <A,O,V,CF>

gdzie:

A-Nazwa Atrybutu, O-Obiekt, V- wartość atrybutu,

CF- współczynnik wiarygodności)

<"zdobycie kosza", "zawodnik", "trafi,

"0.9”>

5

Ogólna postać tzw. reguły rozwiniętej jest następująca:

IF przesłanka THEN konkluzja1

ELSE konkluzja2

przy czym konkluzja2 jest dodatkowym stwierdzeniem

uznawanym za prawdziwe w razie niespełnienia przesłanki.

Taka postać reguł może jednak czasami prowadzić do uznania

nieoczekiwanych konkluzji jeśli brak przesłanki uznamy za

przesłankę fałszywą. W związku z tym wskazane jest

stosowanie

reguł

w

postaci

podstawowej

( IF...THEN ... ). Postępowanie takie upraszcza zresztą

działanie maszyny wnioskującej. Jeżeli warunki w złożonej

przesłance są połączone funktorami koniunkcji, to proces

analizowania takiej przesłanki jest przerywany, z wynikiem

negatywnym, po napotkaniu pierwszego nie spełnionego

warunku. W niektórych systemach w regułach może

występować funktor alternatywy, np.

IF nie działa monitor

OR płyta główna jest spalona

THEN obsługa komputera nie jest moŜliwa

Można taką regułę zamienić na zestaw dwóch równoważnych

reguł nie zawierających funktora alternatywy:

IF nie działa monitor

THEN obsługa komputera nie jest moŜliwa

IF płyta główna jest spalona THEN obsługa

komputera nie jest moŜliwa

Stosowanie spójnika OR jest dopuszczalne, lecz nie zalecane ze

względu

na

większe

skomplikowanie

modułu

wnioskującego.

6

Jak to już wcześniej powiedziano, reguły można rozpatrywać

jako szczególny sposób zapisu pewnej sieci stwierdzeń,

ponieważ z prawdziwości jednego stwierdzenia mogą wynikać

inne.

Szczególną postać reguły stanowi

IF przesłanka THEN działanie

Dotychczas omawiane postacie reguł nie pozwalały na proste

reprezentowanie wiedzy o procesach ciągłych (układach

dynamicznych), gdzie jednym z elementów bazy wiedzy

powinny być informacje o kolejności wykonywania różnych

działań. W celu umożliwienia zapisu takich informacji

wprowadzono pokazaną wyżej postać reguły. Przyjęto, że

konkluzja reguły jest opisem pewnego działania a nie

stwierdzeniem i nazwano ją regułą działania. Należy ją

interpretować jako przepis poprawnego postępowania,

któremu nie przysługuje żaden fakt.

Pozwoliło to na znaczne rozszerzenie zakresu stosowania

reguł. W szczególności umożliwiło formułowanie reguł

dotyczących przebiegu procesu wnioskowania (zapis strategii

procesu) za pomocą tzw. meta-reguł. Użycie meta-reguł

sprawia, że reprezentacja wiedzy przyjmuje charakter

reprezentacji deklaratywno-proceduralnej.

Z punktu widzenia mechanizmu wnioskowania lepiej jest

używać większego zbioru reguł prostych, niż mniejszego, ale

reguł bardziej złożonych.

Reguły złożone nie wymagają co prawda bardzo złożonych

maszyn wnioskujących, ponieważ każda reguła w konkluzji

zawiera już jakiś wniosek końcowy. Niekiedy wystarczy

uaktywniać tylko jedną regułę, aby osiągnąć interesujący

wynik.

7

Wadą takiego podejścia jest jednak trudność formułowania

odpowiedniego zbioru wzajemnie z sobą powiązanych reguł,

oraz złożony sposób weryfikacji i uzupełniania takiego zbioru

reguł.

Zaletą stosowania reguł prostych jest przede wszystkim

łatwość weryfikacji i uzupełniania zbioru reguł. Wzrasta też

bardzo elastyczność takiej bazy wiedzy, co się objawia ilością

możliwych badań i konkluzji końcowych. W maszynie

wnioskującej stosować jednak musimy bardziej złożone

algorytmy wnioskowania a sam proces wnioskowania

wymagać będzie uaktywniania nieraz wielu reguł. Kolejne

udowodnione

wnioski

pośrednie

tworzą

łańcuch

wnioskowania.

W systemach ekspertowych badanie elementów przesłanek w

regułach jest najczęściej związane z licznymi efektami

ubocznymi w postaci: potrzeby analizowania innych reguł,

zadawania pytań użytkownikowi, itp. Dla podkreślenia

znaczenia kolejności elementów w przesłance wprowadzono

pojęcie kontekstu. Kontekst umożliwił jawne rozpatrywanie

warunków koniecznych badania określonego elementu

przesłanki.

W systemach ekspertowych są stosowane zarówno reguły,

które odnoszą się do konkretnych obiektów, jak też reguły

obejmujące pewien zbiór obiektów - tzw. reguły ogólne.

Mogą one być spełnione przez różne obiekty pewnego zbioru

obiektów. Umożliwia to znaczne zwiększenie stopnia

ogólności tworzonej bazy wiedzy. Wprowadźmy napisy

poprzedzone symbolem @ traktowane jako zmienne i

rozważmy poniższą regułę

IF (@corka, jest_córka, @matka)

AND (@matka, jest_córka, @babcia)

THEN (@corka, jest_wnuczka, @babcia)

8

Podczas

wnioskowania

zmienne

są

zastępowane

odpowiednimi stałymi określonymi w wyniku dopasowania

reguły do istniejącego zbioru stwierdzeń. Jest to proces tzw.

unifikacji. Dla powyższej reguły ogólnej możemy na

przykład zmienne zastąpić następującymi stałymi:

@corka => Kasia, @matka => Basia,

©babcia => Marysia

co prowadzi do reguły konkretnej

IF (Kasia,jest_corka,Basia)

AND(Basia,jest_corka,Marysia) THEN

(Kasia,jest_wnuczka,Marysi)

W ten sposób na podstawie jednej reguły zawierającej

zmienne można generować wiele reguł dopasowanych do

danej bazy faktów.

Reprezentacja wiedzy za pomocą ram

Czy człowiek używa w procesie wnioskowania reguł? Wydaje

się, że jedynie w nielicznych przypadkach. Próby analizy

tekstów w oparciu o reguły wykazały bardzo szybko rosnącą

liczbą faktów i reguł, które należy zastosować by rozwiązać

nieco bardziej złożone zadanie. Reprezentacja wiedzy w

postaci struktur zwanych ramami, daje ciekawe możliwości.

Ramy zawierają wiedzę ogólną o obiektach, gromadząc

wewnątrz opis cech obiektów danego typu. Mogą mieć też

procedury związane z używaniem wiedzy zawartej w ramach.

Za ojca „ram” uważa się Minskyègo, który teorię swoją oparł

na sposobie zachowania się człowieka znajdującego się w

nowej sytuacji (otoczeniu), ale mającego jakieś pojęcie

(wyobrażenie) o tym co robi. Minsky „ramą” nazwał strukturę

9

danych opisującą pewien obiekt, w której umieszcza się

wszystkie typowe i oczekiwane informacje, ale także

przypuszczenia o tym obiekcie.

Człowiek wydobywa wówczas z pamięci określoną strukturę,

czyli ramę, i porównuje tę sytuację z wiedzą zawartą w ramie.

Z kolei, gdy człowiek zetknie się z całkowicie nowym

obiektem, wówczas jego pierwszą reakcją będzie próba

zapamiętania go i wprowadzenia jego nazwy. Jest to

równoważne wykreowaniu nowej ramy.

Rama jest semantyczną definicją wybranego pojęcia. Ramy

służą określaniu struktury obiektów odpowiadających danej

ramie. Rama sama w sobie jest strukturą składająca się z:

- podstruktur – klatek, zwanych również szczelinami (ang.

slots). Klatka reprezentuje pewną właściwość bądź cechę

obiektu. Mogą to być m.in. relacje tego obiektu z innymi

obiektami.

- w klatkach znajdują się mniejsze części, tzw. fasety.

Każdej klatce jest przyporządkowany określony zbiór

faset. Nie ma żadnych ograniczeń co do typów i wartości

faset - mogą to być liczby, teksty, kolejne ramy; mogą w

nich być zapisane warunki uznania wartości atrybutu

jako wartości dopuszczalnej, procedury pozyskiwania tej

wartości itp. Mówiąc bardziej ogólnie każda faseta jest

pewną wartością klatki, albo określoną funkcją Zbiór

faset w klatce może być dowolnie uzupełniany fasetami

wynikającymi z potrzeb specyficznego zastosowania.

Ramy, klatki i fasety są identyfikowane za pomocą

przypisanych im nazw.

Ramy mogą być łączone w strukturę hierarchiczną ( graf lub

drzewo ). Wierzchołkami takiego grafu są ramy, a jego gałęzie

tworzą relację podrzędności ram. Relacja podrzędności

10

oznacza dziedziczenie właściwości obiektu określonego ramą

nadrzędną przez obiekt określony ramą podrzędną. Wymaga

to wprowadzenia klatki zawierającą nazwę ramy nadrzędnej.

W ten sposób uzyskuje się odwołania do innych ram.

Wprowadzenie takiego mechanizmu dziedziczenia znacznie

ogranicza redundancję baz wiedzy.

Przykład definicji ramy:

Nazwa ramy :Płyta

Rodzic :Korzeń ( TOP-FRAME)

Klatka :Nazwa-nagrania Wartość :

Klatka :Kolor Wartość :

Klatka :Wielkość Wartość :

Klatka :Rodzaj-nośnika Wartość :

Klatka :Producent Wartość :

Klatka :Data-produkcji Wartość :

Tak zdefiniowana rama może służyć za wzorzec dla ram

dziedziczących. Instancją (obiektem) tej ramy mogłaby być

rama:

Nazwa ramy : Płyta_123

Rodzic : Płyta

Klatka :Nazwa-nagrania Wartość : Le Quatro Stag.

Klatka :Kolor Wartość : szary

Klatka :Wielkość Wartość : 12

Klatka :Rodzaj-nośnika Wartość : CD-Audio

Klatka :Producent Wartość : Azzurra Music

Klatka :Data-produkcji Wartość : 1977

11

Dziedziczenie może mieć różne formy:

1. Rama egzemplarz dziedziczy właściwości ramy prototyp,

ale sama może mieć pewne właściwości dodatkowe,

które

ją

uściślają,

odróżniają

od

prototypu

i

wyszczególniają w miarę schodzenia do coraz niższych

poziomów opisu – dziedziczenie typu gen-spec

2. Rama prototyp ma wszystkie właściwość, a kolejne ramy,

na niższych poziomach opisu, dziedziczą tylko ich część

– dziedziczenie typu całość-część.

Przykład na str. 12 ilustruje oba rodzaje dziedziczeń.

Rama może posiadać dowolną ilość rodziców. Teraz jednak w

miejscach przeznaczonych dla rodziców widnieją już co

najmniej dwa identyfikatory ich ram.

Narzędzie wielokrotnego dziedziczenia posiada ogromne

możliwości, jednak używanie go wymaga wielkiej uwagi od

programisty aby nie doprowadzić do nieprawidłowych

dziedziczeń.

12

Najważniejsze rodzaje faset spotykane w typowych systemach

z reprezentacją wiedzy za pomocą ram:

· Faseta typu VALUE

W fasecie tej jest zawsze wpisana bieżąca, rzeczywista

wartość klatki.

13

· Faseta typu DEFAULT

Faseta ta zawiera tzw. domyślną wartość klatki.

· Faseta typu COMMENT

Faseta ta zawiera tekst będący opisem klatki.

· Faseta typu CARDINALITY

Podaje ona liczbę faset typu VALUE występujących w klatce.

· Faseta typu RANGE

Zawiera ona listę lub zakres dopuszczalnych wartości fasety

VALUE.

· Faseta typu IF-NEEDED

Faseta IF-NEEDED zawiera funkcję, która wyznacza nieznaną

wartość klatki poszukując jej w ramach nadrzędnych w

stosunku do ramy wyjściowej.

· Faseta typu IF-ADDED

Faseta ta zawiera funkcję, która wpisuje wartości do klatki,

funkcja ta jest poszukiwana w klatce wówczas, gdy próbujemy

wstawić do klatki nową wartość.

· Faseta typu IF-REMOVED

Faseta ta zawiera funkcję usuwania wartości z klatki i jest

poszukiwana w klatce, jeśli tylko próbujemy wymazać jej

wartość.

14

Bibliografia do części 6.1 i 6.2 wykładu:

1. Z. Bubnicki – „Wstęp do systemów ekspertowych” PWN

1990

2. W. Cholewa, W. Padrycz – „Systemy doradcze” (skrypt

uczelniany) Politechnika Wrocławska, 2000

3. Z. Bubnicki, A. Grzech – „Inżynieria wiedzy i systemy

ekspertowe” PWN 1990 Warszawa

3. Antoni Niederliński – „Regułowe systemy ekspertowe”

PWN 1992

4. J. J. Mulawka – „ Systemy ekspertowe” WNT 1997

4. P. Kamran, M. Chignell – „Expert systems for experts”

New York : Wiley J., 1988