środa, 11 września 2013

Rozwój i charakterystyka największych SE


 

 

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:

 

  1. Systemy dedykowane –są to systemy z zaszytą w nich bazą wiedzy ,tworzone na konkretne zamówienie.

 

  1. Systemy szkieletowe- systemy z pustą bazą wiedzy, umożliwiająca wprowadzenie własnych informacji ,z którymi ma pracować system.
Niezależnie od rozwiązywania problemów systemy ekspertowe składają się z kilku bloków.



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