SYSTEM DORADCZY (EKSPERTOWY)
Jest programem komputerowym zaprojektowanym do modelowania sposobu
rozwiązania problemu przez człowieka.
Systemy ekspertowe, jako pierwsze spośród wielu dyscyplin sztucznej inteligencji,
znalazły szerokie zastosowanie praktyczne. Są one w zasadzie zorganizowane w ten sposób,
ż
e wiedza dotycząca danej dziedziny jest odseparowana od reszty systemu. Stosowanie
systemów ekspertowych umożliwia polepszenie jakości produkowanych wyrobów,
osiągniecie znacznych oszczędności, zwiększenie wydajności pracy a dzięki temu
zmniejszenie zatrudnienia. Mogą one być także wykorzystane do sterowania różnych
obiektów w czasie rzeczywistym, a także do rozwiązywania tzw. trudnych problemów.
Systemy ekspertowe są związane z pozyskiwaniem i przetwarzaniem wiedzy.
Dziedzina ta nazywa się inżynierią wiedzy. Są one przeważnie oparte na technice
symbolicznego przetwarzania informacji. Dzięki odseparowaniu mechanizmu wnioskowania
od bazy wiedzy uzyskuje się możliwość łatwej modyfikacji systemu oraz przyspieszenie
procesu tworzenia nowych systemów. Określenie „system doradczy” może być zastosowane
do dowolnego programu komputerowego, który na podstawie szczegółowej wiedzy może
wyciągnąć wnioski i podejmować decyzję, działając w sposób zbliżony do procesu
rozumowania człowieka.
W związku z tym systemy ekspertowe będziemy rozumieć jako program
komputerowy przeznaczony do rozwiązywania specjalistycznych problemów, które
wymagają profesjonalnej ekspertyzy.
Systemy ekspertowe można podzielić na trzy ogólne kategorie:
•
Doradcze ( advisory ),
•
Podejmujące decyzję bez kontroli człowieka ( dictatorial ),
•
Krytykujące ( criticizing ).
ELEMENTY SYSTEMU DORADCZEGO
Rozważając bardziej szczegółowo strukturę systemów ekspertowych możemy w niej
wyróżnić następujące podstawowe elementy:
•
baza wiedzy (np. zbiór reguł);
•
baza danych (np. dane o obiekcie, wyniki pomiarów, hipotezy);
•
procedury wnioskowania – maszyna wnioskująca;
•
procedury objaśniania – objaśniają strategię wnioskowania;
•
procedury sterowania dialogiem – procedury wejścia/wyjścia umożliwiają formułowanie
zadań przez użytkownika i przekazywanie rozwiązania przez program;
•
procedury umożliwiające rozszerzenie oraz modyfikację wiedzy – pozyskiwanie wiedzy.
Rys. Główne elementy systemu doradczego
ETAPY BUDOWY SYSTEMU DORADCZEGO
1 – zidentyfikowanie problemu
2 – analiza możliwości rozwiązania zadania
3 – opracowanie koncepcji rozwiązania
4 – sprowadzenie postępowania do zbioru wytycznych
5 – gromadzenie wiedzy
6 – wdrożenie
7 – testowanie
OBSZAR PRBLEMU
Analiza problemu
Analiza wymagań
ZESTAWIENIA
Analiza stanu wiedzy
Pozyskiwanie wiedzy
PROTOTYP
Testowanie i ocena
Uruchamianie
KNOWLEDGE BASED SYSTEM
Rys. Tok postępowania przy budowie systemu doradczego
Procedury
wnioskowania
Procedury
sterowania
dialogiem
Procedury
objaśniania
Baza
wiedzy
Baza danych
stałych
Baza danych
zmiennych
Procedury
aktualizacji
bazy wiedzy
System doradczy możemy zredukować do dwóch modułów:
1)
baza wiedzy
2)
mechanizm wnioskowania
CECHY SYSTEMU DORADCZEGO JAKO OPROGRAMOWANIA
CZYNNIK
CZŁOWIEK
SYSTEM
Dostępność
Gdy jest w pracy
Zawsze
Dostosowanie
pod
względem
geograficznym
Gdzie można go zlokalizować
Niezależny od miejsca
Bezpieczeństwo
Nie do zastąpienia
Wymaga skopiowania
Jakość pracy
Zmienna
Stała
Szybkość działania
Różna
Stała i przewidywalna
Koszt
Drogi
Umiarkowany
Uzupełnieniem bazy wiedzy są bazy danych. Do zapisu danych uzupełniających bazy
wiedzy często stosujemy tablice, normy stanowiące połączenie stanu zapisu wiedzy z zapisem
danych. Możliwy jest dostęp do danych zapisanych np.: w arkuszach kalkulacyjnych.
TYPY WIEDZY
•
wiedza proceduralna
-
reguły :
Ze względu na sposób uzyskiwania ostatecznych konkluzji w procesie
wnioskowania rozróżniamy dwa rodzaje reguł:
reguły proste – takie, które mają postać wniosków pośrednich;
reguły złożone – takie, które umożliwiają bezpośrednie wyznaczenie
wniosków przez system.
PRZYKŁAD:
IF są spełnione wszystkie warunki niezbędne do przyjęcia wniosku, że u
pacjenta stwierdzono określoną jednostkę chorobową
THEN zastosować określoną terapię
-
strategie
-
agendy (powiązane z czasem)
-
procedury
•
wiedza deklaratywna
-
obiekty
-
fakty
•
meta – wiedza – wiedza o sposobie operowania na wiedzy
•
wiedza heurystyczna – nie wymagane są tu uzasadnienia
•
wiedza złożona – zbiory reguł, związki pomiędzy pojęciami, pojęcie związków.
INNE FORMY ZAPISU WIEDZY
Rodzaje wiedzy, które można zawrzeć w regule
-
zależności, np.: reguła IF - jeżeli
THEN – konkluzja
Oprócz faktów bazy wiedzy zawierają reguły o postaci IF warunek, THEN wniosek,
AND/OR akcja.
Zaleca się unikanie reguł, w których występuje część ALSO. Jej wystąpienie znacznie
pogarsza efektywność działania systemu.
Możliwe jest stosowanie END i OR, oraz przeczenia NOT.
Reguły o prostej budowie pozwalają na łatwiejszą aktualizację wiedzy i sprawdzenie
jej aktywności. Okres, po którym wartość pobrana z otoczenia traci ważność jest określana
przez inżyniera wiedzy, w porozumieniu z ekspertem z danej dziedziny.
PROBLEMY PROJEKTOWE
Wszystkie przedstawione reguły mogły być uruchamiane przez mechanizm
wnioskowania, który wyszukiwał je w oparciu o znane i brakujące fakty. Istnieje grupa reguł,
które muszą być uruchamiane przez system doradczy niezależnie od kompletności
prowadzonego toku rozumowania i kompletności wiedzy o analizowanym przypadku. Reguły
takie są związane np.: z wystąpieniem katastroficznych wartości niektórych parametrów lub
jednoczesnym wystąpieniem pewnych wartości wybranych parametrów.
Tworząc system doradczy należy dążyć do wyodrębnienia pewnych zadań, procesów,
zjawisk, dla których można będzie opracować odrębne zbiory wiedzy.
PODSUMOWANIE
Podstawowymi elementami systemu doradczego są:
•
mechanizm wnioskowania
•
bazy wiedzy
•
pamięć robocza
Systemy doradcze mogą wykorzystywać wiedzę heurystyczną do rozwiązania
problemów. Mogą one opierać się na wiedzy niepełnej i korzystać z reguł operujących
współczynnikami prawdopodobieństwa.
Systemy doradcze podobnie jak ludzie mogą podawać błędne odpowiedzi. Jednym z
problemów przy budowie bazy wiedzy jest procedura jej pozyskiwania, która wymaga
przeprowadzenia serii sesji z ekspertem z danej dziedziny.
Systemy doradcze korzystają z wiedzy zapisanej w bazie wiedzy, prowadząc
wnioskowanie zgodne z posiadaną wiedzą, gromadzonymi faktami i konkluzjami z
prowadzonego wnioskowania.
METODY WNIOSKOWANIA
•
Wnioskowanie w przód:
Jest to metoda wnioskowania, w której na początku gromadzony jest zbiór faktów a
nowe fakty są gromadzone przy użyciu takich reguł, których przesłanki wykorzystują znane
fakty. Taki proces jest realizowany do momentu osiągnięcia rozwiązania lub do momentu
wykorzystania wszystkich reguł.
Opisowo można taki system przedstawić jako system gromadzący na wstępie
informacje od użytkownika i zapisujący je w swej pamięci roboczej. Następnie mechanizm
wnioskowania przegląda reguły w pewnej z góry założonej kolejności, wyszukując te, których
przesłanki są zgodne z zawartością pamięci roboczej.
W przypadku znalezienia takiej reguły, system dodaje do pamięci roboczej konkluzje
takiej reguły. Konkluzja ta uzupełnia zatem zawartość pamięci jako kolejny fakt. Cykl ten
powtarza się ponieważ w pamięci roboczej znalazły się nowe fakty. W tym kolejnym cyklu
pomijane są reguły wcześniej wykorzystane.
T
T F
F
Wprowadzanie informacji
do pamięci roboczej
Sprawdza następna
regułę
Sprawdza I regułę
STOP
Sprawdza
następną regułę
Sprawdza czy jest
w bazie dana
odpowiedź
Dodaje konkluzje do
bazy pamięci
Gdzie:
T – True (prawda)
F – Fals (fałsz)
PRZYKŁAD:
Rys. Uproszczony algorytm maszyny wnioskującej w przód
START
Weź hipotezę ze szczytu
stosu zadań
Czy w bazie wiedzy na liście
faktów jest odpowiedź na
postawioną hipotezę?
Określ reguły, których przesłanki
znajdują się na liście faktów
Wybierz regułę, stosując strategie
wnioskowania
Czy istnieje reguła, którą
można uaktywnić?
Uaktywnij wybraną regułę
Dopisz nowe fakty do listy faktów,
zaznacz użycie uaktywnionej reguły
Sformułuj odpowiedź
STOP
T
T
N
N
•
Wnioskowanie wstecz:
Rozumowanie w przód jest dobrą techniką jeżeli pracuje się nad problemem, który
wymaga najpierw zebrania informacji a następnie wywiedzenie z nich logicznych wniosków.
Innym typem problemów są takie, w których rozpoczynamy od stawiania hipotezy a następnie
staramy się zgromadzić informacje, które potwierdzają nam tą hipotezę. Np.: lekarz może
podejrzewać jakieś schorzenie i szuka określonych objawów.
Wnioskowanie wstecz jest to taki sposób wnioskowania, który dąży do udowodnienia
hipotezy przez gromadzenie potwierdzających informacji.
System wnioskowania wstecz rozpoczyna pracę od pewnego celu, który stara się
uzasadnić. Najpierw przegląda zawartość pamięci roboczej w celu sprawdzenia czy taki cel
został do niej dodany. Krok ten jest potrzebny, ponieważ być może inna baza wiedzy lub inna
grupa reguł dodała do pamięci roboczej taki cel. System przegląda reguły szukając takich,
które mają ten cel zapisany w swych konkluzjach. Jeżeli znajdzie taką regułę to sprawdza czy
jej przesłanki znajdują się w pamięci roboczej. Jeżeli ich nie ma to stają się one nowymi
celami, które należy uzasadnić i w tym celu są odkładane na stos.
Proces ten jest realizowany rekursyjnie aż do momentu, w którym system
wnioskowania znajdzie przesłankę, która nie jest ujęta w żadnej regule. Reguła taka zwana
jest prymitywem. W tym momencie system pyta użytkownika o wartość takiej przesłanki.
W przypadku systemów wnioskujących wstecz ważne jest określenie kolejności reguł,
ponieważ ta kolejność może mieć znaczny wpływ na wynik rozumowania.
PRZYKŁAD:
Rys. Algorytm maszyny wnioskującej wstecz
WNIOSOWANI MIESZANE
Wnioskowanie mieszane stanowi kompromis między wnioskowaniem w przód i
wstecz, dzięki czemu jest pozbawione niektórych wad wspomnianych wcześniej metod.
Strategia wnioskowania mieszanego opiera się na wykorzystaniu ogólnych reguł, tzw.
metareguł stanowiących metawiedzę, na podstawie której program zarządzający dokonuje
odpowiedniego przełączania między poszczególnymi rodzajami wnioskowania. W
N
T
T
N
START
STOP
Załaduj bazę wiedzy
Sprawdź składnię wiedzy
Zwolnij struktury danych, które reprezentowały
bazę wiedzy w poprzednim wnioskowaniu
Utwórz listę reguł przez odczytywanie bazy
wiedzy i utworzenie odpowiednich struktur
Utwórz listę faktów na podstawie listy reguł
wg określonych zasad
Postaw hipotezę przez odczytanie jej z bazy
wiedzy lub wprowadź nową hipotezę
Szukaj odpowiedzi na postawioną hipotezę
Czy jest następna hipoteza?
Czy załadować nową
bazę wiedzy?
metaregułach są zawarte wskazania dotyczące priorytetów wyboru rodzaju wnioskowania. W
zależności od sytuacji system może automatycznie dobierać najbardziej odpowiedni sposób
wnioskowania. W przypadku przechodzenia z jednego rodzaju wnioskowania na drugi za
hipotezę główną zawsze przyjmuję się tę, którą postawił użytkownik. Dzięki temu na każdym
etapie wnioskowania istnieje możliwość udzielenia odpowiedzi na postawioną hipotezę.
We wnioskowaniu mieszanym poza wczytaniem przez system bazy wiedzy, należy
wczytać także zbiór zawierający metareguły.
Główną zaleta wnioskowania mieszanego jest skrócenie czasu potrzebnego na
uzyskanie rozwiązania. Nie występuje tutaj taka sytuacja jak przy wnioskowaniu w przód, że
program, tworząc nowe fakty, może zająć cała pamięć operacyjną. Trudność natomiast
sprawia pozyskanie metawiedzy. Należy nadmienić, że źle dobrane metareguły mogą
spowolnić pracę systemu lub uczynić ją nieefektywną.
ZALETY I WADY WNIOSKOWANIA
Zalety wnioskowania w przód:
•
przydatne w sytuacjach, gdy rozwiązywanie problemów wiąże się w naturalny sposób ze
zbieraniem informacji i z następującym po nim wnioskowaniem,
•
wnioskowanie w przód może dostarczyć dużych ilości informacji z niewielkiej ilości
danych,
•
wnioskowanie to nadaje się do planowania, monitorowania i skanowania.
Wady wnioskowania w przód:
•
nie ma ono zdolności do stwierdzania, że niektóre fakty są istotniejsze od pozostałych.
System będzie więc zadawał wszystkie możliwe pytania, chociaż tylko kilka z nich
wystarczyłoby do rozwiązania.
•
pytania zadawane przez system mogą zdawać się za sobą logicznie nie powiązane.
Zalety wnioskowania wstecz:
•
przydatne w sytuacji, gdy naturalne jest stawianie hipotezy i dowodzenie jej słuszności,
•
wnioskowanie to zawsze zorientowane jest na jednym temacie,
•
system taki gromadzi tylko informacje bezpośrednio związane z danym problemem. Nadaje
się ono głównie do diagnozowania.
Wady wnioskowania wstecz:
•
system taki ma tendencje do podążania raz przyjętą linią rozumowania, nawet jeżeli zebrane
do tej pory dane sugerowałyby celowość jego zarzucenia,
W tym celu korzysta się często z metareguł, które umożliwiają zmianę toku
rozumowania. Wiele systemów doradczych pozwala na korzystanie z wnioskowania w przód
i wstecz w ramach jednego systemu doradczego.
ROZWIĄZYWANIE KONFLIKTÓW
W wielu przypadkach poszczególne reguły mogą być jednocześnie spełnione np.:
konkluzją jakiejś reguły może być celowość pójścia do kina a innej celowość czytania
książki.
Obu czynności jednocześnie realizować nie można, więc występuje konflikt. W tym
celu w systemie wnioskowania wbudowuje się strategie rozwiązywania konfliktów:
1.
wykorzystywanie tych reguł, które w pełni odzwierciedlają zawartość pamięci roboczej,
2.
poszczególne reguły opatrywane są pewną wartością priorytetu i przy dalszym
wnioskowaniu korzysta się z reguły o wyższym priorytecie. Priorytet nadawany jest przez
inżyniera wiedzy z uzgodnieniem z ekspertem z danej dziedziny,
3.
wykorzystuje się regułę, która jest bardziej szczegółowa (tą która ma bardziej
rozbudowane przesłanki). Uzasadnieniem takiego podejścia jest dążenie do wykorzystania jak
największej ilości zgromadzonych informacji,
4.
należy wybrać ze spełnionych reguł taką, która korzysta z faktów wprowadzonych do
pamięci roboczej możliwie najpóźniej,
5.
nie korzysta się z reguł, które już zostały użyte. Taka strategia zabezpiecza proces
wnioskowania przed zapętleniem się,
6.
należy wykorzystać wszystkie reguły wiodące w różnych kierunkach rozumowania. W
tym przypadku, jeżeli w systemie doradczym występuje kilka reguł, które powodowałyby, że
rozumowanie powinno być realizowane w odmiennych kierunkach, można przyjąć takie
podejście w którym uruchamiane są po kolei wszystkie takie reguły przy czym ich konkluzje
zapisywane są do oddzielnej kopii pamięci roboczej. Tym samym system doradczy musi w
takim przypadku prowadzić dalej rozumowanie osobno dla każdej kopii pamięci roboczej.
STRUKTURA SYSTEMU EXSYS
edytor reguł kompilator reguł
biblioteka czasu wykonania generator raportów
stronicowanie
lido interface command language
screen definition language blachboard manager
Formaty plików:
*.SCR -chrany
*.RUL -reguły
*.TXT -łańcuchy tekstowe
PODSTAWOWE DANE SYSTEMU EXSYS:
1)
•
wywołanie programu zewnętrznego
-max 100 znaków
•
max liczba kwalifikatorów
-500
•
max liczba zmiennych
-500
•
max liczba wyborów
-250
•
max liczba reguł
-2000
•
max liczba wzorów
-1000
•
max liczba wzorów do obliczeń
współczynnika prawdopodobieństwa
-1000
2)
•
max długość kwalifikatora
-1000 znaków
•
max długość wartości kwalifikatora
-500 znaków
•
max liczba wartości kwalifikatora
-30 znaków
•
max długość zapytania o wartość
zmiennej
-500 znaków
•
max długość tekstu opisującego wybór
-500 znaków
3)
Parametry opisujące bazę wiedzy
•
subject
-max 500 znaków
•
author
-max 500 znaków
Budowa reguły:
Nazwa
•
wyrażenia warunkowe ( max 15 członów )
•
kwalifikatory, wzory wyboru ( max 31 )
Notatki
Odsyłacze źródłowe