1
Systemy ekspertowe
Rachunko-
wość/
finanse
Kadry/
płace
Zbyt
Produkcja
Handel
Banki
Systemy EDI
Rynki elektro-
niczne
Pełne SIK
Częściowe
SIK
Contro-
llingowe SIK
Modele
proste
Modele
złożone
Sieci
neuronowe
Systemy
ekspertowe
Systemy informacyjne zarządzania
Systemy
uniwersalne
Systemy
branżowe
Systemy ponad-
branżowe
Systemy administracyjno-
dyspozycyjne
Systemy infor.
kierow. SIK
Systemy
planowania
Systemy baz
wiedzy
Systemy wspomagania
decyzyjnego
2
Wstęp:
Narastająca wraz z rozwojem wiedzy złożoność
problemów w wielu dziedzinach zmusza do sięgnięcia
po
metody,
które
umożliwią
opanowanie
i
uporządkowanie nawału danych i informacji, ujmując
potoki informacyjne w systemy komputerowe, które
przyjęłyby role gromadzenia, przechowywania oraz
przetwarzania danych, a także odpowiedniego ich
udostępniania.
Tym ważniejsze, że umysł ludzki ma ograniczoną
zdolność przetwarzania i wykorzystania informacji.
Jak
wykazują
badania
liczba
informacji
przetwarzanych jednocześnie w umyśle człowieka
wynosi ok. 7, a przy większej ich liczbie proces
analizy odbywa się sekwencyjnie, porcjami też po 7.
3
Szybkość
działania
komputera,
pojemność
pamięci, bezbłędne operacje w bardzo złożonym
labiryncie logicznym z możliwością szybkiego
docierania
do
zadanych
informacji,
ich
selekcjonowania
i
agregowania
według
wieloparametrowych relacji określanych przez
użytkownika, stały się bezcenne w tworzeniu i
obsłudze baz danych w wielu dziedzinach.
Badania z zakresu sztucznej inteligencji
dowiodły, że w wielu dziedzinach, w tym i w
obszarze ekonomii i zarządzania, pewne czynności
konsultacyjne mogą być odwzorowane w postaci
algorytmu matematyczno-logicznego.
Tym samym stało się możliwe zbudowanie
programów
z
bazą
wiedzy
zdolnych
do
samodzielnego
rozwiązywania
problemów,
stawiania diagnoz i formułowania porad.
4
Systemy ekspertowe
-
są
programami
komputerowymi
przeznaczonymi
do
rozwiązywania
specjalistycznych problemów wymagających
profesjonalnej ekspertyzy.
Zorganizowane są w zasadzie w ten sposób, że
wiedza
dotycząca
danej
dziedziny
jest
odseparowana od reszty systemu.
5
Inżynieria wiedzy
- dziedzina pozyskiwania i przetwarzania wiedzy, z
którą są związane systemy ekspertowe.
Wiedza uznawana jest obecnie za najważniejszą
wartość w rozwoju cywilizacji.
Doświadczenia
wielu
państw
pokazują,
że
wygrywają przedsiębiorstwa mające duży kapitał
wiedzy i umiejętność jej wykorzystania. Ich wartość
giełdowa jest znacznie większa niż firm z
podobnymi obrotami - ale z produktem mniej
„inteligentnym”.
6
Istota Zintegrowanych Systemów
Informatycznych:
Działalność produkcyjna
Wiedza i informacja biznesowa
Czas
P
rz
e
w
a
g
a
k
o
n
k
u
re
n
cy
jn
a
7
Koncepcje systemów ekspertowych:
Określenie „system ekspertowy” może być
zastosowane do dowolnego programu
komputerowego, który na podstawie szczegółowej
wiedzy może wyciągać wnioski i podejmować
decyzje, działając w sposób zbliżony do procesu
rozumowania człowieka.
Należałoby jednak termin system ekspertowy
używać w szerszym znaczeniu, niekoniecznie
bowiem system ten zastępuje eksperta-człowieka.
8
W wielu sytuacjach, np. podczas podejmowania
decyzji w siłowniach energetycznych, podczas
sterowania skomplikowanych urządzeń i maszyn,
na pokładzie statków kosmicznych itd., człowiek
nie mógłby swymi zmysłami ogarnąć całej sytuacji.
Są więc potrzebne systemy, które pracują w czasie
rzeczywistym i wykonują swoje funkcje lepiej niż
człowiek.
Z tego względu przez system ekspertowy
należałoby rozumieć program komputerowy
przeznaczony do rozwiązywania specjalistycznych
problemów, które wymagają profesjonalnej
ekspertyzy.
9
Porównanie ekspertyzy naturalnej z
ekspertyzą sztuczną:
Ekspertyza naturalna,
wykonana przez
człowieka
Ekspertyza sztuczna
Wady
tracąca na wartości z
upływem czasu
trudna do przeniesienia
trudna do dokumentacji
nie dająca się przewidzieć
kosztowna
Zalety
stała
łatwa do przeniesienia
łatwa do dokumentacji
zgodna z bazą wiedzy
dostępna
Zalety
twórcza
adaptacyjna
wykorzystane zmysłów
szeroki zakres
wiedza zdrowego rozsądku
Wady
nie inspirująca
wymaga wprowadzenia wiedzy
wejścia symboliczne
wąski zakres
wiedza przetwarzana w sposób
mechaniczny
10
Kategorie systemów ekspertowych:
Systemy doradcze - prezentują rozwiązania dla
użytkownika, który jest w stanie ocenić ich jakość.
Użytkownik może odrzucić rozwiązanie oferowane
przez system i zażądać innego rozwiązania.
Systemy podejmujące decyzje bez kontroli
człowieka
są
same
dla
siebie
końcowym
autorytetem. Są używane np. do sterowania różnymi
obiektami, gdzie udział człowieka jest utrudniony
lub wręcz niemożliwy.
Systemom krytykującym jest przedstawiany
problem jak też jego rozwiązanie. System dokonuje
w tym przypadku analizy i komentuje uzyskane
rozwiązanie.
11
Podstawowe bloki systemu
ekspertowego:
Fakty
Reguły
Baza wiedzy
Maszyna wnioskująca
wraz
z jednostką sterującą
12
Struktura systemów ekspertowych:
•
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 rozszerzanie oraz
modyfikację wiedzy - pozyskiwanie wiedzy.
Rozważając szczegółowo strukturę systemów
ekspertowych możemy w niej wyróżnić następujące
podstawowe elementy:
13
Budowa systemu ekspertowego:
System doradczy
Kontroler wywodu
Baza wiedzy
Interfejs
Wyniki
Dane
14
Baza wiedzy:
- jest częścią systemu w której zebrana jest wiedza z
danej dziedziny oraz reguły podejmowania decyzji
przez eksperta.
Informacje te mogą być przechowywane w różnej
postaci, ale zawsze są podstawą wnioskowania.
Niemożliwe jest istnienie systemu ekspertowego
bez bazy wiedzy bowiem taki system jest jedynie
uniwersalną platformą, w której po umieszczeniu
analogicznie reprezentowanej bazy wiedzy z innej
dziedziny otrzymujemy nowy system doradczy.
15
Kontroler wywodu
- część systemu kierująca rozwiązaniem problemu,
odpowiedzialna za sposób wnioskowania, poprawne
wykorzystanie wiedzy, obsługę sporadycznie
występujących sytuacji.
Również bez kontrolera wywodu system ekspercki
nie zadziała, ponieważ nie będzie potrafił
wykorzystać posiadanej wiedzy.
Interfejs
- część systemu odpowiedzialna jest za komunikację z
użytkownikiem (wprowadzanie danych) i
wyprowadzanie wyników działania.
Program bez interfejsu nie wykona żadnych
czynności z powodu braku danych (nawet gdyby je
posiadał to nie mógłby wyprowadzić wyników).
16
Rodzaje systemów ekspertowych:
Aby ocenić system ekspertowy należy najpierw
odpowiedzieć na pytania, co otrzymujemy na jego
wyjściu.
Otóż wyniki te możemy podzielić na trzy zasadnicze
grupy: diagnozy, prognozy oraz plany.
Diagnoza to ocena stanu istniejącego na
podstawie posiadanych danych
Prognoza jest to przewidywanie stanu
przyszłego na podstawie istniejących danych.
Plan wreszcie jest rozumiany jako opis pewnego
stanu, do którego należy dążyć.
17
Ze względu na sposoby realizacji systemy
ekspertowe możemy podzielić na dwie grupy:
Systemy dedykowane są tworzone od podstaw
przez inżyniera wiedzy współpracującego z
informatykiem.
Systemy szkieletowe (shells) są to systemy
z pustą bazą wiedzy. Proces tworzenia finalnego
systemu ekspertowego jest w tym przypadku
krótszy niż w pierwszym, gdyż jest wymagane
tylko pozyskanie wiedzy i jej odpowiednia
implementacja w systemie.
18
Ze względu na metodę prowadzenia procesu
wnioskowania systemy ekspertowe dzieli się na
systemy:
•
z logiką dwuwartościową (Boole'a),
•
z logiką wielowartościową,
•
z logiką rozmytą.
Ze względu na rodzaj przetwarzanej informacji
systemy ekspertowe dzielą się na dwie grupy:
•
systemy z wiedzą pewną, czyli
zdeterminowaną,
•
systemy z wiedzą niepewną, w
przetwarzaniu której wykorzystuje się
przede wszystkim aparat probabilistyczny.
19
Cykl projektowania systemu
ekspertowego:
Etap projektowania informacyjnego:
•
Wydzielanie dziedziny przedmiotowej;
•
Nabywanie wiedzy;
•
Wybór rodzaju systemu (od podstaw lub w
oparciu o system szkieletowy);
•
Projekty szczegółowe modułów:
- mechanizm wnioskujący;
- baza wiedzy;
- moduł współpracy z użytkownikiem.
20
Etap projektowania informatycznego:
•
Wybór metody programowania (język
symboliczny lub język ogólnego przeznaczenia);
•
Programowanie.
Weryfikacja;
Wdrożenie.
21
Typowy proces pozyskiwania wiedzy:
Należy zdawać sobie sprawę, że dużą trudnością
podczas procesu akwizycji wiedzy stanowić może
nastawienie eksperta do inżyniera wiedzy. Przyczyną
złego nastawienia może być poczucie zagrożenia,
różnica wieku, posługiwanie się różnymi językami
specjalistycznymi, wrogi stosunek do
komputeryzacji, obawa przed utratą strefy wpływów.
Inżynier
wiedzy
Dane, problemy, pytania
Wiedza, koncepcje, rozwiązania
Wiedza strukturalizowana
Ekspert
dziedziny
Baza
wiedzy
22
Problem akwizycji wiedzy:
Ponieważ pozyskanie i strukturalizacja wiedzy
eksperta jest zajęciem pracochłonnym, więc wysiłek
włożony w utworzenie systemu ekspertowego jest
uzasadniony wówczas, gdy będzie on
wykorzystywany w długim odstępie czasu przez
wystarczająco dużą liczbę użytkowników.
Okazuje się, że moc programu ekspertowego (w
zakresie rozwiązywania danego problemu) tkwi w
zakodowanej w nim wiedzy, a nie w formalizmie i
schematach wnioskowania, których ten program
używa.
Tak więc problem z posiadaniem pełnej wiedzy tkwi
w bazie wiedzy, a nie w sposobie realizacji procesu
wnioskowania systemu ekspertowego.
23
Sposoby pozyskiwania wiedzy
eksperta:
Obserwacja eksperta w miejscu pracy. Inżynier
wiedzy staje się wówczas biernym obserwatorem,
starając się uzyskać wgląd na złożoność problemu.
Dyskusja problemu. Celem takiej dyskusji jest
określenie sposobu organizacji wiedzy eksperta o
problemie.
Opisywanie problemu. W etapie tym ekspert
opisuje problem dla każdej mogącej się pojawić
kategorii danych wejściowych, podawanych przez
użytkownika. Pomaga to sformułować prototypowy
problem; później następuje selekcja strategii
rozwiązania problemu.
24
Analizowanie problemu. Inżynier wiedzy stawia
ekspertowi do rozwiązania szereg problemów,
badając sposób rozumowania eksperta w trakcie ich
rozwiązywania. Właściwa analiza przyczynia się
wydatnie do poprawnego zrozumienia problemu
oraz opracowania efektywnej metody jego
rozwiązania. Lepiej jest zbyt dokładnie
przeanalizować problem, niż dokonać analizy w
sposób niezadowalający.
Udoskonalanie systemu. Ekspert zadaje
inżynierowi wiedzy problemy do rozwiązania,
począwszy od bardzo łatwych, a skończywszy na
dość trudnych. W ten sposób ekspert przekonuje się
czy przekazał swoją wiedzę we właściwy sposób.
Jest to jak gdyby sprzężenie zwrotne między
inżynierem wiedzy a ekspertem.
25
Testowanie systemu. W tym etapie ekspert
testuje i wydaje opinie a każdej regule w
prototypowym systemie ekspertowym, a także
ocenia strategie stosowaną do wyboru reguł.
Dzięki temu sprawdza się, czy koncepcje
wyrażone w sposób abstrakcyjny zostały
prawidłowo zaimplementowane w systemie.
Legalizacja systemu. Prototyp systemu
ekspertowego powinien być udostępniony innym
ekspertom w celu oceny poprawności
merytorycznej działania i krytyki systemu.
Wniesione poprawki mają umożliwić
udoskonalenie systemu.
26
Baza wiedzy:
Konstrukcja właściwej bazy wiedzy jest podstawą
poprawnego funkcjonowania systemu ekspertowego.
Wymaga ona wyboru odpowiednich faktów z
dziedziny działania systemu, uniknięcia błędów i
wyboru odpowiedniej struktury dla tych faktów.
Podczas tworzenia bazy wiedzy należy odpowiedzieć
sobie na następujące pytania:
1.Jakie obiekty należy zdefiniować?
2.Jakie są relacje między obiektami?
3.Jak należy formułować i przetwarzać reguły?
4.Czy pod względem rozwiązania specyficznego
problemu baza wiedzy jest kompletna i spójna?
27
Etapy konstruowania bazy wiedzy:
1. Identyfikacja - określenie charakterystyki
problemu do rozwiązania (ekspert i inżynier
wiedzy określają problem do rozwiązania i jego
zakres - ponadto określają potrzebne środki);
2. Reprezentacja - znalezienie sposobu
reprezentacji wiedzy (przeprowadzana jest analiza
problemu, bardzo istotne jest przeprowadzenie jej
w gruntowny sposób, co niweluje występowanie
trudności w późniejszym czasie. Gdy problem jest
już zrozumiały należy przystąpić do ustalenia
informacji oraz danych potrzebnych do jego
rozwiązania a następnie zacząć je kompletować);
28
3.Formalizacja - zaprojektowanie struktur
organizujących wiedzy (przełożenie kluczowych
koncepcji, reguł i relacji na język formalny.
Inżynier wiedzy powinien zaprojektować
syntaktykę i semantykę tego języka, a następnie
wraz z ekspertem ustalić wszystkie podstawowe
pojęcia i relacje, które są niezbędne do
rozwiązania postawionego problemu);
4.Implementacja - sformułowanie reguł lub ram
zawierających wiedzę (inżynier wiedzy łączy i
reorganizuje sformalizowaną wiedzę tak, aby
stała się zgodna z charakterystyką przepływu
informacji danego problemu. Powstały zestaw
reguł lub ram i powiązana z nimi struktura
kontrolna tworzy prototypowy program);
5.Testowanie - sprawdzenie zastosowanych w
systemie reguł lub ram (reguły i relacje są
sprawdzane pod kątem generowania przez nie
odpowiedzi zgodnych z wymaganiami eksperta.).
29
Badanie poprawności bazy wiedzy:
Testowanie spójności polega na wykrywaniu reguł
zbędnych, sprzecznych, pochłaniających, reguł z
niepotrzebnym warunkiem oraz reguł zapętlonych.
Redundancja bazy wiedzy występuje wówczas,
gdy pojawiają się reguły zbyteczne. Dwie reguły
są redundancyjne, jeśli obie ich części
warunkowe są równocześnie spełnione lub nie
spełniane we wszystkich możliwych sytuacjach
np.:
)
,
(
)
3
,
(
))
,
(
(
)
,
(
)
3
,
(
)
,
(
H
d
c
R
a
H
d
c
L
a
Przy czym atrybut a może przyjąć dwie wartości:
L i R. Mimo, ze redundancja powoduje
nadmiarowość bazy wiedzy, proces wnioskowania
odbywa się bez przeszkód, chociaż jest
wymagane przeszukiwanie większej liczby reguł.
30
Dwie reguły są sprzeczne (konfliktowe) wówczas,
gdy ich części warunkowe są równocześnie
spełnione lub nie spełnione we wszystkich
możliwych sytuacjach i ich części konkluzyjne są
różne dla przynajmniej jednej sytuacji, np.:
)
,
(
)
3
,
(
)
,
(
)
,
(
)
3
,
(
)
,
(
L
d
c
R
a
H
d
c
L
a
Przy czym atrybut d może przyjąć dwie wartości: H
i L. Niektóre systemy do sprawdzania poprawności
bazy wiedzy pokazują sprzeczne reguły,
umożliwiając inżynierowi wiedzy eliminację tego
błędu.
31
Jedna reguła jest pochłaniana przez inną
wówczas, gdy część warunkowa pierwszej reguły
jest spełniona, jeśli jest spełniona część warunkowa
drugiej reguły (odwrotne stwierdzenie nie jest
prawdziwe) i części konkluzyjne obu reguł są
identyczne. Na przykład reguła )
,
(
)
3
,
(
)
,
(
H
d
c
L
a
jest pochłania prze
regułę
)
,
(
)
3
,
(
H
d
c
Pochłaniające reguły dają podobny efekt jak
reguły zredundowane (jeżeli pierwsza reguła daje
się zastosować, to druga także).
32
Dwie reguły mają niepotrzebne warunki, jeśli obie
są pochłaniane przez trzecią regułę. Baza reguł
może nie zawierać tej trzeciej reguły i w takiej
sytuacji sprawdzanie pochłaniania nie daje
rezultatu. Następujące dwie reguły mają
niepotrzebne warunki:
)
,
(
)
5
,
(
)
,
(
)
,
(
)
,
(
)
5
,
(
)
,
(
)
,
(
H
d
c
D
b
R
a
H
d
c
D
b
L
a
Przy czym warunkowy atrybut a może mieć
wartości L i R. Obie reguły są pochłaniane przez
regułę
)
,
(
)
5
,
(
)
,
(
H
d
c
D
b
W tym przypadku efekt jest podobny jak dla
redundancji reguł.
33
Zestaw reguł tworzy pętlę, jeżeli uaktywnienie
tych reguł jest cykliczne. Trzy reguły
)
5
,
(
)
4
,
(
)
2
,
(
)
2
,
(
)
,
(
)
,
(
)
5
,
(
)
,
(
c
g
f
f
H
d
H
d
c
L
a
Tworzą pętlę, gdy w bazie wiedzy istnieją
następujące fakty
)
4
,
(
),
5
,
(
),
,
(
g
c
L
a
34
Wielokrotne odwołanie do jednego atrybutu
zachodzi wówczas, gdy w części warunkowej
występuje kilka członów zawierających ten sam
atrybut. W przypadku, gdy odwołania są
identyczne, wówczas powtarzające się warunki
są zbędne. Natomiast w przypadku, gdy nie są
one identyczne, wówczas reguła nigdy nie będzie
uaktywniona, ponieważ atrybut nie może
jednocześnie przyjmować kilku wartości, np.
)
,
(
)
,
(
)
,
(
H
d
R
a
L
a
Wielokrotne odwołanie do jednego atrybutu w
części wynikowej jest błędem logicznym,
stwarzającym domniemanie wystąpienia
błędnego powiązania atrybutu wynikowego z
jego wartością.
35
Sprawdzanie kompletności bazy reguł polega na
poszukiwaniu brakujących reguł. W niektórych
rozwiązaniach sprawdza się, czy istnieje reguła dla
każdej kombinacji atrybutu przesłanki i wartości,
jaką atrybut może przyjąć. Większość systemów
w celu sprawdzenia poprawności reguł rozpatruje
różne przypadki, jakie mogą się zdarzyć dla części
reguł: nie określone wartości przesłanek,
niedopuszczalne wartości atrybutów, nieosiągalne
wartości przesłanek, nieosiągalna akcja
(uaktywnienie reguły) i nieosiągalny cel.
Wartość atrybutu warunku jest nie określona
wówczas, gdy nie jest zgodna z częścią warunkową
przynajmniej jednej reguły. Niekoniecznie oznacza
to, ze jakaś reguła nie została wprowadzona do bazy
wiedzy (jest to jednak możliwe). Sytuacja ta oznacza,
ze
zbiór
wartości
atrybutów
w
częściach
warunkowych reguł jest mniejszy od zbioru
możliwych wartości atrybutów.
36
Zastosowanie systemów ekspertowych
w analizie decyzyjnej:
Przedsiębiorstwa korzystają najczęściej z systemów
ekspertowych, gdy zamierzają poddać analizie
następujące problemy:
•
wielokryterialną ocenę sprawozdań
finansowych;
•
skutki zmian w strukturze kapitałowej
przedsiębiorstwa;
•
zarządzanie zasobami gotówkowymi firmy;
•
planowanie obciążeń podatkowych.
37
Przykład polskiego programu szkieletowego PC-
Shell:
http://aitech.pl/