Dobrze działające systemy ekspertowe zaliczane są do tzw.
"programów inteligentnych"
i są częścią dziedziny nazywanej "Sztuczną
Inteligencją". Są jednym z najbardziej praktycznych działów „Sztucznej
Inteligencji” Od kilkunastu lat głównie
w USA, Japonii i Europie Zachodniej wzrasta liczba zastosowań tych
systemów w praktyce. Potencjalne
możliwości tej nowoczesnej technologii informatycznej są ogromne. Począwszy od
medycyny, geologii , technikę oraz w dziedzinie wspomagania decyzji
gospodarczych i finansowych.
Pierwsze systemy ekspertowe powstały w 1975 roku. Zakończono
wówczas tworzenie systemu DENDRAL służącego do identyfikacji i analizy
struktury chemicznej cząsteczek.
Na niektórych lotniskach działa do dziś system nazywany
GATES ,którego zadaniem jest przydzielanie kolejnym przewoźnikom bramek(ang.gates)
,którymi przechodzi się do strefy wolnocłowej i na płytę lotniska. Wyznaczanie
bramki może stać się skomplikowanym zadaniem , wymagającym natychmiastowego
rozwiązania ,szczególnie przy zakłóceniach pracy na lotnisku. System śledzi
ponad 100 lotów dziennie , ma bezpośredni dostęp do bazy danych lotniska i może
przydzielić bramkę w ciągu 30 sekund. Poprzednio zajmowało to ok. godziny.
Istotny postęp w metodologii projektowania systemów
ekspertowych osiągnięto w wyniku realizacji programu Heuristic Programming .
Project kierowany przez pracowników Uniwersytetu Stanford : Feigenbaum ,
Buchanan i Shortliffe .Praktycznym efektem tego projektu jest system ekspertowy
MYCIN [Buchanan , Shortliffe 1984
r.) , który do dzisiaj jest traktowany jako klasyczny przykład inteligentnego
programu komputerowego. Przeznaczeniem tego programu jest diagnostyka chorób na
tle bakteryjnym . Wybór terapii przez MYCIN
to czteroetapowy proces decyzyjny , obejmujący :
- zdiagnozowanie , czy pacjent jest ofiarą infekcji bakteryjnej
,
- zidentyfikowanie typu bakterii odpowiedzialnej za infekcję
,
- określenie zestawu leków i działań terapeutycznych,
- sformułowanie specyficznej terapii dla konkretnego
pacjenta .
Program MYCIN
posiada olbrzymią bazę objawów chorób i proponowanych leczeń .Zawartość bazy
została ustalona przez grono konsylium lekarskiego. Na podstawie owej bazy
danych program po wpisaniu objawów dokonuje diagnozy i proponuje leczenie.
Lekarz natomiast może zgodzić się z komputerem lub nie. Należy pamiętać , że lekarz
oprócz wiedzy ma również doświadczenie oraz intuicje ,czego nie da się nauczyć
komputera.
Środowisko, w którym działają systemy ekspertowe nazywamy
dziedziną przedmiotową .Do niej zaliczamy system przedmiotowy ,czyli układ
realny bądź abstrakcyjny , którego funkcje i struktura są kształtowane przez
świadome działanie człowieka .Osobę odpowiedzialną za kształtowanie
charakterystyki strukturalno-funkcjonalnej systemu przedmiotowego nazywamy
decydentem. Osobę, która dysponuje wiedzą o systemie przedmiotowym nazywamy ekspertem.
Funkcje programów ekspertowych takie jak czynności doradcze
, objaśniające i związane z nabywaniem nowych wiadomości decydują o
przynależności programów do technik inteligentnych.
System ekspertowy wykonuje zadania :
- konsultacyjne , gdy
stawia pytania , wyciąga wnioski formułując porady,
- eksplanacyjne , gdy
odpowiada na pytania i wyjaśnia , w jaki sposób skonstruował diagnozę,
- związane z rozwojem wiedzy , gdy przyswaja nowe metody
diagnozy i rozwiązywania problemów .
Formułowanie diagnoz ,wskazówek i zleceń to najważniejsza
funkcja programu ekspertowego .
W zależności od sposobu wykonywania funkcji doradczej ,
systemy ekspertowe dzielimy na:
-ekspanacyjne ,które tłumaczą mechanizmy funkcjonowania
systemu przedmiotowego
-konsultacyjne ,które proponują decydentowi alternatywne
rozwiązania problemu
- rozstrzygające ,które znajdują rozwiązania problemu ,po
czym je samodzielnie aplikują
Do czynności pomocniczych w systemach ekspertowych służy
funkcja objaśniania .
Ma ona kluczowe znaczenie dla wiarygodności programu
doradczego . Procedury objaśniające systemu ujawniają drogę wnioskowania ,
która doprowadziła do wygenerowania porady eksperckiej dzieje się to na zadanie użytkownika .
System objaśniający można logicznie oddzielić od reszty ale
jest on integralną częścią całego systemu ekspertowego . Ważną cechą systemu
ekspertowego jest możliwość korzystania z niego przez osoby bez przygotowania
informatycznego Dlatego istotne jest aby system był zrozumiały z interesującym
interfejsem.
A oto zestaw najczęściej spotykanych zapytań (opcji) ,
których znaczenie zależy od powodu zgłoszenia systemu objaśniającego.
1.
Why ?- odpowiada
na pytanie , dlaczego jest analizowany dany warunek ,podając nazwę i postać reguły
analizowanej z zaznaczeniem bieżącego warunku. Opcja niedostępna po ustaleniu
końcowych odpowiedzi .
2.
How?-
opcja dostępna w dowolnej chwili , różni się znaczeniem w zależności od
kontekstu wywołania . Po ustaleniu odpowiedzi końcowej ,przy wywołaniu –odpowiada
na pytanie : jak system doszedł do tego , że cel stal się wynikiem. Możliwe
jest odtworzenie całej drogi wnioskowania dzięki pamiętaniu śladu wnioskowania.
Użytkownik podając numer faktu z listy
faktów uzyska odpowiedź na pytanie : jak system doszedł do tego , że fakt
przyjmuje taką wartość.
3.
What will be
if…- opcja pomaga użytkownikowi w udzielaniu odpowiedzi .System podaje
konsekwencje wyboru ( jeden krok w przód) po wybraniu jednej z możliwych
odpowiedzi. Opcja dostępna tylko przy zadawaniu pytań.
4.
All
Rules- wyświetla na ekranie wszystkie reguły z jakich składa
się baza wiedzy ze wszystkimi warunkami .przy każdym wywołaniu działanie opcji
jest jednakowe.
5.
All
Facts- wyświetla na ekranie
wszystkie fakty dostępne aktualnie na liście faktów z zaznaczeniem
pochodzenia. Opcja powinna być dostępna
przy każdym wywołaniu.
Istnieją różne typy problemów rozwiązywanych przez systemy
ekspertowe i różnego rodzaju odpowiedzi otrzymywane są na wyjściach takich
systemów. Systemy możemy podzielić na grupy:
1. Klasyfikacja-na
podstawie przesłanek otrzymuje się wynik ,określenie stanu czy klasy do której
należy obiekt. Do tej grupy należą systemy medyczne (diagnoza na podstawie
objawów),systemy naprawcze ,systemy rozpoznawania postaci i obiektów.
2. Plan- jest to
poszukiwanie aranżacji ,porządku elementów.(np.
system GATES)
3. Prognoza-na
podstawie istniejących danych przewiduje się stan przyszły np. system
przewidujący zjawiska atmosferyczne czy zapotrzebowanie na wodę lub energię.
Systemy ekspertowe dzielimy również ze względu na sposoby
realizacji:
- Systemy dedykowane –są to systemy z zaszytą w nich bazą wiedzy ,tworzone na konkretne zamówienie.
- Systemy szkieletowe- systemy z pustą bazą wiedzy, umożliwiająca wprowadzenie własnych informacji ,z którymi ma pracować system.
Projektowane systemu ekspertowego można radykalnie skrócić
, jeżeli system zostanie zbudowany z
wykorzystaniem specyficznej struktury szkieletowej , zwanej z j.ang, shellem .Program typu
Shell jest systemem ekspertowym
pozbawionym bazy wiedzy a zatem ograniczony do mechanizmu wnioskującego i
modułu współpracy z użytkownikiem .W zależności od tematyki dołączanej ad hoc
bazy wiedzy system może obsługiwać różne dziedziny przedmiotowe .Programy typu
shell powstają na bazie klasycznych ,
sprawdzonych systemów ekspertowych ; Np. adaptacją programu MYCIN do postaci szkieletowej , rozpowszechniania następnie pod nazwą Emycin (Emty Mycin).Oprogramowanie
typu Shell zawiera bogate środowisko pomocne w rozwijaniu systemów z bazą
wiedzy , którego elementami mogą być edytory kodu , wykrywacze błędów (
debuggers) , procedury projektowania w układzie okienkowym.
Programy szkieletowe upraszczają czynności związane z
definiowaniem modułu objaśniającego ,reprezentacją wiedzy i mechanizmu
wnioskującego jak również oferują wszechstronną pomoc i doradztwo w
najważniejszych fazach budowy systemu ekspertowego.
Przykładem pierwszego polskiego systemu ekspertowego jest
program PC-Shell , rozpowszechniany przez firmę AITech (www.aitech.com.pl) .Wchodzi w skład
Pakietu Sztucznej Inteligencji Sphinx , który zawiera: pakiet PC-Shell , symulator sieci neuronowych NEURONIX, system
komputerowego wspomagania
inżynierii wiedzy CAKE oraz
programy ekspertowe: Doradca finansowy ,Doradca inwestycyjny , Doradca
kapitałowy. W skład struktury systemu PC-shell wchodzą :
- jądro systemu czyli
moduł sterujący
- baza wiedzy
- moduł
współpracujący z użytkownikiem
Mechanizm wnioskujący funkcjonuje na zasadzie wnioskowania
do tyłu (backward chaining).
W systemach ekspertowych ,które są budowane za pomocą
PC-Shell , baza wiedzy reprezentowana jest w formie deklarowanej czyli fakty i
reguły , jako trójki O-(obiekt) –A(Atrybut)-V(Wartość),jak również jako program
algorytmiczny czy też jako wiedza rozproszona w sieci neuronowej. System
posiada bogaty zestaw funkcji objaśniających typu:
„jak?”, „dlaczego?” , „ co to jest?” oraz metafor
tłumaczących znaczenie reguł w procesie wnioskowania .
„ … charakteryzując
bardzo ogólnie ten pakiet , należy podkreślić jego następujące cechy:
- hybrydowy charakter
, zarówno w zakresie reprezentacji wiedzy , jak i sposób przetwarzania,
- system ekspertowy
realizuje architekturę tablicową , co umożliwia budowanie dużych , złożonych
tematycznie aplikacji ,
- zastosowano
mechanizm automatycznej i dynamicznej parametryzacji baz wiedzy,
- elastyczny i silnie
rozbudowany język reprezentacji wiedzy,
- system PC-Shell
udostępnia arkusze kalkulacyjne wraz z ich obsługą ,
- komunikacja
multimedialna (tekst, obraz, dźwięk, animacja), dostępna w trakcie konsultacji
(zapytań i generowanych konkluzji ) oraz częściowo podczas wyjaśnień ,
- duża otwartość
architektury”[Michalik i Twardowski , 1998, str.227]
Obszary zastosowania systemu PC-Shell:
- systemy doradcze i wspomagania decyzji
- dydaktyka(wyższe uczelnie , szkoły średnie)
System znalazł zastosowanie w takich dziedzinach ,jak:
-
analizy finansowe (ekonomiczne),
-
analizy wniosków kredytowych w bankach,
-
doradztwo podatkowe,
- dzięki
otwartej architekturze może być łatwo zintegrowany z Systemami Informowania
Kierownictwa, służąc Np. do automatycznej analizy wskaźników ekonomicznych,
-
technika, Np. do analizy danych pomiarowych,
-
medycyna, do diagnostyki i zaleceń terapeutycznych.
Za pomocą systemu PC-Shell możemy budować różnej wielkości aplikacje .
System
ekspertowy PC-Shell jest szczególnie predysponowany do rozwiązywania
następujących klas problemów :
-
analiza (interpretacja) danych
-
klasyfikacja,
-
diagnostyka,
-
finanse i bankowość,
-
inwestycje,
-
marketing,
-
technika,
-
dydaktyka,
-
komponent dla systemów SIK, analizatorów, arkuszy kalkulacyjnych,
-
komponent programów edukacyjnych.
System
PC-Shell wyposażony jest we własny język
reprezentacji wiedzy.
Język
ten dzięki przyjętym rozwiązaniom, w tym blokowej strukturze, cechują :
-
elastyczność,
-
czytelność,
-
pełne rozdzielenie wiedzy eksperckiej i procedur sterowania,
-
łatwość nauczania.
„Obecna wersja systemu wykorzystuje do rozwiązywania
problemów wnioskowanie wstecz
(ang. backward chaining). Zastosowana metoda
wnioskowania wykorzystuje m.in. mechanizm nawrotów, podobny jak w spotykanych
systemach prologowych.
Mechanizm uzgadniania jest bardzo elastyczny
i nie wymaga deklarowania typów wartości
dla uzgadnianych zmiennych. Wartościami
zmiennych mogą być liczby, symbole lub łańcuchy znakowe. Parametryzacja baz
wiedzy Począwszy od wersji 2.1 istotną cechą systemu
PC-Shell jest możliwość parametryzacji baz
wiedzy. Dzięki przyjętemu rozwiązaniu jest możliwa dynamiczna (automatyczna)
zmiana wartości wybranych parametrów w bazie
wiedzy, zmian tekstu źródłowego bazy.
Dobrym przykładem zastosowania
parametryzacji mogą być bazy wiedzy,
w których sprawdzane są wartości pewnych wskaźników
w odniesieniu do określonych wartości progowych.
Jednocześnie niektóre wartości progowe mogą
być zmienne, zależnie od kontekstu. Dla
przykładu, inaczej można oceniać pewne
wskaźniki finansowe firm należących do różnych branż. Podobne problemy
pojawiają się w innych dziedzinach, Np. w technice.
PC-Shell ułatwia to zadnie, pozwalając
również tworzyć kategorie parametrów.
Korzyści z zastosowania tej metody:
- może być z łatwością stosowana zarówno
przez inżyniera wiedzy jak i użytkownika końcowego,
- obniża koszty wdrożenia i utrzymywania
aplikacji opartej o system PC-Shell,
- pozwala zarówno na interakcyjna jak
równie. programowa (dynamiczna) zmianę wartości parametrów,
- umożliwia zmianę wartości wybranych
parametrów oraz grup ujętych w ramach tzw. kategorii, zarówno
programowo jak i interakcyjnie,
- zastosowane pojecie kategorii zmiennych
parametrycznych pozwala na lepsze dostosowanie aplikacji
do specyfiki niektórych klas problemów,
- narzędzia do parametryzacji pozwalają zwiększyć
czytelność oraz zmniejszyć bazy wiedzy niektórych
aplikacji SE.
Interfejs do baz danych System ekspertowy
PC-Shell jest wyposażony w interfejs do typowych
popularnych baz danych (Np.: dBase, Oracle,
itd.). Inżynier wiedzy ma do dyspozycji zestaw instrukcji do komunikacji z
bazami danych z użyciem poleceń języka SQL.
Otwartość systemu PC-Shell może być łatwo
integrowany z innymi aplikacjami.
W szczególności może być wykorzystany jako
moduł do analizy(interpretacji) danych
i wskaźników z systemów typu SIK, arkuszy
kalkulacyjnych lub innych systemów
pomiarowych. Ułatwiają to instrukcje
uruchamiania innych aplikacji, jak równie. możliwość wywołania systemu PC-Shell
przez inna aplikacje.
Wymiana danych może odbywać się przez plik
tekstowy (PC-Shell) ma rozbudowany interfejs
i instrukcje do obsługi tego typu plików)
oraz z użyciem mechanizmu DDE.
Ponadto istnieje możliwość integracji za pomocą
uruchamiania podstawowych procesów systemowych za pomocą funkcji DLL tychże systemów.
Dokumentacja systemu System jest dostarczany wraz z obszerna dokumentacja,
opisująca szczegółowo sposób obsługi systemu
oraz język reprezentacji wiedzy.
Umieszczono w niej wiele przykładów znacznie
ułatwiających (zwłaszcza w połączeniu z
demonstracyjnymi bazami wiedzy) nauczenie
się korzystania z systemu. Wymagania systemowe
SPRZĘT :
Komputer 486 lub nowszy, pamięć RAM 8MB lub więcej
OPROGRAMOWANIE :
Windows 9x/NT/2000 lub nowszy.
AITECH Artificial Intelligence Laboratory -
Sztuczna Inteligencja
http://aitech.pl Kreator PDF Utworzono 16
October, 2007, 21:14”
Brak komentarzy:
Prześlij komentarz