REFERAT SE


Agnieszka Jasica, Agata Janiszewska

Grupa 17, Rok III

Informatyka i Ekonometria

SYSTEMY EKSPERTOWE - KONCEPCJA, CECHY, FUNKCJE, ZASADY DZIAŁANIA, ZASTOSOWANIE ORAZ PORÓWNANIE Z SYSTEMAMI TRADYCYJNYMI.

1. KONCEPCJA SYSTEMÓW EKSPERTOWYCH

Badania nad sztuczną inteligencją doprowadziły do formalizacji ogólnych metod i strategii rozwiązywania problemów. Metody te zawodzą jednak przy rozwiązywaniu problemów świata rzeczywistego.

E. Feigenbaum ze Standford University, którego prace doprowadziły do powstania jednego z pierwszych SE (systemu DENDRAL), zwrócił uwagę na znaczenie wiedzy w SE.

Ten nowy sposób widzenia kładzie nacisk na wiedzę w przeciwieństwie do formalnych metod rozumowania. Hades-Roth objaśnia to podając trzy powody:

  1. Większość trudnych a interesujących problemów, wywodząc się ze złożonych środowisk fizycznych czy społecznych, nie posiada prostych rozwiązań algorytmicznych.

  2. Eksperci osiągają dobre efekty dzięki swej wiedzy w specyficznej dziedzinie.

  3. Istnieje potrzeba posiadania wiedzy w coraz bardziej złożonym świecie.

Dzięki technologii informacyjnej mamy coraz łatwiejszy dostęp do coraz większej ilości informacji. Jednak informacja ta nie ma wartości, jeżeli nie potrafimy jej użyć. Istnieje potrzeba posiadania wiedzy jak stosować informację. Osób posiadających tę wiedzę jest zbyt mało w społeczeństwie.

SYSTEM EKSPERTOWY jest programem komputerowym, który stosuje modele wiedzy i procedury wnioskowania w celu rozwiązywania problemów. Wiedza taka składa się z faktów i reguł wnioskowania.

Podstawowe elementy koncepcji SE:

Ogólna koncepcja SE

0x01 graphic

Podstawowe cechy systemów ekspertowych:

Podstawowym celem rozwoju SE jest reprezentacja ekspertyzy, tj. wiedzy zgromadzonej przez człowieka w trakcie nauki i praktyki.

SE jest zwykle budowany w dialogu z ekspertem w danej dziedzinie. Pozyskiwanie i modelowanie wiedzy oraz tworzenie systemu komputerowego dla rozwiązywania problemów nazywane jest inżynierią wiedzy. Zadanie to wykonywane jest przez inżynierów wiedzy. Są oni projektantami systemu, którzy powinni posiadać pewną wiedzę w dziedzinie tworzonego SE, znać stosowane metody i techniki oraz programowanie komputerów.

Wiedza jest źródłem wszelkich działań ludzi inteligentnych. Wiedza jest pojęciem dość trudnym do zdefiniowania. Występują w niej elementy takie, jak fakty i zależności między faktami oraz strategia rozwiązywania problemów. W danej dziedzinie wiedza może określać zależności lub związki i przyczyny zachodzące między faktami. Zgromadzona wiedza może być oceniana w aspekcie przydatności do rozwiązywania konkretnych problemów.

Ze względu na źródła wiedzy możemy rozróżnić następujące jej rodzaje:

  1. Wiedzę ekspertów,

  2. Specyficzną wiedzę użytkownika określonych działań,

  3. Wyniki procesów reprezentacji wiedzy dostarczonej przez mechanizm rozwiązywania problemu.

Reprezentacja wiedzy w SE opiera się na opisie obiektów modelowanej wiedzy i relacji między nimi. Budowanie SE polega na odwzorowaniu wiedzy z danej dziedziny.

Takie odwzorowanie - reprezentacja wiedzy, ma zapewnić wyciąganie wniosków na podstawie zebranej wiedzy.

Wiedza SE składa się z faktów i heurystyk. Fakty są zasadniczym jej elementem, heurystyki są informacją indywidualną konkretnego eksperta. Wiedza może być reprezentowana w postaci deklaratywnej lub proceduralnej. Postać proceduralna sprowadza się do wykonania określonych działań na faktach w związkach między nimi. Postać deklaratywna jest wyrażana za pośrednictwem opisów formułowanych z wykorzystaniem logiki, tj. ujęciu zależności między wyodrębnionymi obiektami i właściwościami tych obiektów. Do najpopularniejszych technik służących do odwzorowania wiedzy należą reguły, ramy oraz sieci semantyczne.

Nabywanie wiedzy jest procesem polegającym na wydobywaniu wiedzy od eksperta.

Nabywanie wiedzy i strukturalizacja wiedzy w SE

0x08 graphic
0x01 graphic

W procesie budowania systemu należy założyć, że wiedza zawarta w SE będzie tylko częścią wiedzy eksperta, od którego ją uzyskano, i odpowiedzi będą często gorsze niż odpowiedzi eksperta.

Istotnym aspektem pozyskiwania wiedzy jest jej sformalizowany zapis, budowa prototypu SE - chodzi o wykonanie modelu, w którym dokonujemy, przez odpowiednie uogólnienia, zredukowania złożoności rozważanej dziedziny, uwzględniając tylko jej najistotniejsze aspekty.

Przy modelowaniu wiedzy możemy wyróżnić dwa charakterystyczne podejścia. Pierwsze zakłada, że rozwiązanie problemu jest takie, jakie podaje wybrany ekspert. Drugie polega na kwalifikacji problemu do pewnej klasy. Z każdą klasą można powiązać ogólne i dziedzinowo niezależne procedury rozwiązań określonego problemu. Zgodnie z tą ideą dla konkretnych typów zadań opracowano gotowe, dziedzinowo niezależne procedury rozwiązań.

Ekspertyzy są doskonalone poprzez ćwiczenia, szkolenie i doświadczenie. Ten rodzaj wiedzy nazywany jest czasami wiedzą płytką, ponieważ składa się z indywidualnych metod, których specjaliści nauczyli się w celu lepszego wykonywania swych czynności. Eksperci w poszczególnych dziedzinach (które są przedmiotem zainteresowania SE) posiadają zwykle profesjonalne wykształcenie. Ich praktyka jest oparta na teorii, czyli podstawowych zasadach, wytycznych, prawach itp. Ta wiedza zwana jest głęboką i jest bardziej ogólna od wiedzy płytkiej.

Sformułowano wymagania, jakie musi spełniać problem, aby opłacalne było tworzenie SE do jego rozwiązania:

  1. Decyzja musi zależeć od dobrze zdefiniowanego zbioru zmiennych,

  2. Wartości, jakie przyjmują te zmienne muszą być znane,

  3. Musi być znana zależność, jaką wywierają poszczególne zmienne na decyzję,

  4. Zależności między zmiennymi powinny być złożone na tyle, aby opłacalne było tworzenie SE.

W tych ciasnych regułach może nie mieścić się większość problemów życia codziennego, lecz jednak wiele specjalistycznych dziedzin jest odpowiednich do tworzenia SE.

Celem tworzenia SE jest skomputeryzowanie problemów na poziomie eksperta wysokiej klasy. Tak więc wiedza ta może być łatwo dostępna, pozwalając personelowi mającemu mniejsze umiejętności w rozwiązywaniu pewnych zadań, poprzez konsultację z SE, rozwiązywać problemy, które w przeciwnym razie musiałyby być rozwiązywane przez ekspertów. Ekspertów zwykle jest za mało, a zapotrzebowanie na ich wiedzę zbyt duże.

SE mogą zmniejszyć różnicę w jakości podejmowanych decyzji między ekspertami a osobami rzeczywiście rozwiązującymi problemy, czy decydentami w organizacji. Na przykład bank posiada na ogół kilku wysokiej klasy ekspertów od kredytów, pracujących zwykle w centrali banku lub w dużych oddziałach, oraz wielu pracowników obsługujących klientów w placówkach banku. Wiedza dotycząca udzielania kredytu może być, poprzez SE, powielona do każdego, kto je potrzebuje, tak więc umożliwi decentralizację podejmowania decyzji bez wzrostu ryzyka. Ponadto, skomputeryzowanie realizacji ekspertyz oznacza również udokumentowanie wiedzy dotyczącej podejmowania decyzji i może być użyte w sprzężeniu zwrotnym z ekspertem, podnosząc jego wiedzę.

Zgodnie z terminologią komputerową pracownicy lub decydenci wykorzystujący SE określani SA terminem użytkownicy. W literaturze dotyczącej SE dużo pisze się o ekspertach i pozyskaniu wiedzy, mało natomiast o użytkownikach i ich charakterystyce. Charakterystyka użytkownika narzuca pewne ograniczenia przy projektowaniu SE. Zakłada się zwykle, że użytkownik zna terminologię w danej dziedzinie. Pozostałe aspekty są rzadko rozpatrywane.

SE realizuje dwie główne funkcje:

  1. Wprowadza konkluzję,

  2. Wyjaśnia swoje rozumowanie.

Konkluzja może być diagnozą choroby lub zaleceniem dla konkretnej sytuacji finansowej. Należy zaznaczyć, że zbiór konkluzji musi być w pełni wyspecyfikowany. Zadaniem, jakie wykonuje SE jest tylko wyszukanie odpowiedniego elementu tego zbioru. SE pracuje w trybie konsultacji, tzn. użytkownik konsultuje się z systemem. Podczas tej konsultacji użytkownik współdziała z systemem, jeżeli ten potrzebuje dodatkowych informacji. Użytkownik nie ma bezpośredniego wpływu na proces wnioskowania. Jedynie informacja wprowadzona podczas konsultacji wpływa na przebieg wnioskowania. Występuje tu różnica w stosunku do SWD, gdzie użytkownik w dowolnym czasie może zażądać od systemu danych lub wykonania obliczeń.

Istotnym aspektem rozwiązywania problemu przez człowieka jest możliwość uzyskania wyjaśnień eksperta, w jaki sposób pewna specyficzna konkluzja została osiągnięta, lub dlaczego zadaje on pewne pytania. Oczekuje się od SE, aby posiadał podobne możliwości.

Użytkownik może konsultować się z SE podczas wykonywania, takich zadań jak ustalenia diagnozy, przygotowanie planu lub uzyskanie zaleceń przy wyborze jednej z alternatywnych decyzji. Zakres działań, jakie wykonuje SE może być różny od zakresu, jakie wykonuje użytkownik, np. SE dla decyzji kredytowych może być zaprojektowany do takich zadań jak:

W pierwszym przypadku system prawie w pełni podejmuje decyzję. Decyzja kredytowa może być tutaj powierzona ludziom nie wyszkolonym w dziedzinie finansów i decyzji kredytowych. W drugim przypadku system wspomaga decydenta, który może podjąć ostateczną decyzję sam na podstawie dodatkowych danych. W trzecim przypadku, analiza finansowa wykonana przez system jest jednym z kilku raportów, na podstawie których można podjąć decyzję.

Przy projektowaniu systemu musimy odróżnić zadania użytkownika i zadania SE.

Typologia rodzajów zadań rozwiązywanych przez SE

Zadanie

Opis

Interpretacja

Opisuje sytuację na podstawie danych

Przewidywanie

Przewiduje prawdopodobne konsekwencje danej sytuacji

Diagnoza

Ocenia niesprawność na podstawie obserwacji

Zalecenie

Zaleca środki naprawcze

Projekt

Dobiera elementy uwzględniając ograniczenia

Monitoring

Porównuje dane obserwowane z danymi oczekiwanymi

Sterowanie

Regulowanie zachowaniem się systemu

Uczenie

Diagnozuje, opisuje i doradza pewne zachowania

System ekspertowy może być projektowany tak, aby wypełniał jedno lub więcej z tych zadań. Ponieważ diagnozowanie odgrywa istotną role w dziedzinie finansów, należy bardziej szczegółowo je przeanalizować. Metoda rozwiązywania problemów diagnozowania nazywa się często klasyfikacją.

Wydanie diagnozy oznacza określenie przyczyny pojawiania się problemu na podstawie zbioru symptomów lub innych charakterystyk sytuacji. Medyczna diagnoza choroby może być otrzymana na podstawie zbioru symptomów pacjenta. W finansach diagnozą może być np. zyskowność, płynność finansowa itp. Otrzymane na podstawie danych finansowych firmy.

Przed SE, diagnostyczne programy komputerowe oparte były na statystyce. Obecnie wykorzystuje się raczej proces wnioskowania w warunkach niepewności.

Problemy diagnozowania rozwiązywane są przez procesy generowania weryfikowania hipotez. W małych zbiorach konkluzji diagnoza może być wyciągana systematycznie. Każda odpowiedź jest sprawdzana indywidualnie i oceniana, czy jest prawdziwa lub fałszywa z pewnym stopniem niepewności. Na zakończenie diagnozowania dostarczana jest lista konkluzji uporządkowana w kolejności malejącego prawdopodobieństwa. Problem powstaje wtedy, gdy istnieje równolegle wiele rozwiązań. Oczywiście nie można wybrać najbardziej prawdopodobnego rozwiązania tak, jak nie można uwzględnić wszystkich rozwiązań powyżej pewnego progu prawdopodobieństwa. Niektóre diagnostyczne SE pracują z wieloma diagnozami jednocześnie. W dużych zbiorach problemów nieefektywne jest weryfikowanie wszystkich możliwych rozwiązań. Niezbędne jest wówczas generowanie hipotez. Tak więc symptomy mogą być użyte do generowania wiarygodnych, możliwych do przyjęcia hipotez, które następnie są testowane i weryfikowane.

Klasyfikowanie jest ściśle związane z diagnozowaniem. Jest to przypisywanie poszczególnych obiektów do określonych klas. Klasy, jakie mogą występować, są z góry określone. Każda jest zdefiniowana na podstawie zbioru typowych cech charakterystycznych. Klasyfikacja polega na porównywaniu poszczególnych cech obiektu i cech charakterystycznych jednej z klas. Na przykład diagnoza medyczna polega na określeniu choroby na podstawie zbioru objawów podanych przez pacjenta. Każda choroba posiada zbiór typowych cech, które są porównywalne z objawami pacjenta. Jeżeli te cechy są zgodne problem jest określony.

Istnieje wiele aspektów klasyfikacji, które komplikują proces wnioskowania. Jak bowiem postąpić z wyborem, które warunki są konieczne i wystarczające, aby obiekt mógł być zaklasyfikowany do jakiejś klasy. Czy należy szukać jednego, czy wszystkich rozwiązań w obszarze problemu, a w przypadku wielu konkluzji jak należy je interpretować.

Wyjaśnienie, ogólnie rzecz biorąc, jest to umotywowanie poszczególnej konkluzji, tzn. określenie jak przebiegało wnioskowanie. Eksperci potrafią objaśnić swoje decyzje, tak więc oczekuje się, aby SE miał podobne możliwości. Najpowszechniejszym typem wyjaśnień są wyjaśnienia retrospektywne. JAK poszczególna konkluzja została osiągnięta? System powinien w odpowiedzi wyświetlić łańcuch reguł, które były wykonane dla osiągnięcia tej konkluzji.

Drugim powszechnym wyjaśnieniem są informacje DLACZEGO system zadaje użytkownikowi poszczególne pytania podczas konsultacji. Pytania typu JAK i DLACZEGO są ułatwieniami przeznaczonymi dla użytkownika. Czasami użyteczny może być wgląd w przebieg całej drogi procesu wnioskowania. Czyli wyświetlenie wszystkich próbowanych reguł. Typowym poleceniem wykonującym tę funkcję jest TRACE. Jest ono głównie używane przez inżynierów wiedzy podczas projektowania i testowania systemu. Użytkownicy mogą również korzystać z tej funkcji.

2. PODSTAWOWE ZASADY DZIAŁANIA SYSTEMÓW EKSPERTOWYCH

Jedną z podstawowych cech SE jest rozdzielenie wiedzy od algorytmów rozwiązywania problemów. Wiedza jest specyficzna dla poszczególnych dziedzin i rozwiązywanych zadań. Algorytmy rozwiązywania problemów mogą być zastosowane do różnych dziedzin i zadań. Podstawowa architektura SE składa się z czterech elementów:

Podstawowe elementy systemów ekspertowych

0x08 graphic
0x08 graphic
0x01 graphic

Baza wiedzy jest elementem specyficznym dla konkretnej dziedziny i zawiera informacje używane przez ekspertów w tej dziedzinie: opis obiektów i zależności, opis sposobu rozwiązywania problemu, heurystyki, fakty itp.

Pamięć robocza służy do chwilowego przechowywania danych dotyczących aktualnie przetwarzanych problemów. Jest ona również nazywana przestrzenią roboczą i jest ona przeglądana i uaktualniana przez wykorzystanie wiedzy zawartej w bazie wiedzy. Elementem dokonującym tego przeglądania i uaktualniania jest mechanizm wnioskowania.

Oprócz powyższych elementów potrzebny jest interfejs między użytkownikiem a komputerem. Interfejs ten umożliwia inżynierom wiedzy i użytkownikom komunikację z systemem.

2.1 ZARZĄDZANIE BAZĄ WIEDZY

Zarządzanie bazą wiedzy dotyczy definiowania wiedzy i struktury oraz manipulacji tą wiedzą. SE potrzebuje zbioru funkcji w celu wykonania tych zadań. Istnieją dwa rodzaje wiedzy wchodzące do bazy wiedzy: opis obiektów i zależności oraz opis sposobu rozwiązywania problemu. Obydwa rodzaje wiedzy muszą występować aby system mógł pracować. Można jednak skupić się na jednej i uczynić ją nadrzędną w stosunku do drugiej. Tak więc istnieją dwa podejścia do definiowania wiedzy:

Podejście zorientowane na rozwiązywanie problemów kładzie akcent na to jak rozwiązywany jest problem: heurystyki i strategie przeszukiwania wykorzystywane są wtedy do wnioskowania na określonym zbiorze danych. Główna część wiedzy w bazie wiedzy zakodowana jest w następujące reguły produkcyjne:

IF <warunek logiczny>

THEN <konkluzja>

Reguły są dobrą formułą formalizowania wiedzy; szczególnie takiej, która przedstawia czynności powiązane z specyficzną wiedzą eksperta w danej dziedzinie.

SE bazujące na regułach są klasą systemów ekspertowych, w których główną częścią składową bazy wiedzy jest zbiór reguł. Każda reguła reprezentuje fragment wiedzy. Są niezależne od siebie. Tak więc łatwo jest rozszerzyć zakres SE lub zwiększyć jego moc przez dodanie dalszych reguł do bazy wiedzy.

Fakty mogą być obserwowane tzn. wprowadzane do systemu przez użytkownika z bazy danych lub uzyskiwane na drodze dedukcji przez mechanizm wnioskowania. Fakty są reprezentowane przez trójkę cech obiekt-atrybut-wartość lub w postaci dwójki cech atrybut-wartość lub jako listy własności.

Ważną cechą zarządzania wiedzą jest możliwość strukturalizacji wiedzy w zbiory reguł. Zbiór reguł jest to zestaw poszczególnych reguł odnoszących się do definiowanego aspektu problemu. Te zbiory reguł agregują i rozdzielają reguły według pewnych zdefiniowanych kryteriów. W dużych bazach wiedzy segmentacja wiedzy w zbiory reguł może znacznie zwiększyć efektywność przeszukiwania. Mechanizm wnioskowania może otrzymać informację, gdzie szukać wiedzy, duża część bazy wiedzy może być więc ignorowana przy przeszukiwaniu. Bardzo złożone problemy mogą być zwykle podzielone na podproblemy, z których każdy może być dobrze zdefiniowany. Obserwując pracę eksperta finansowego widać, że rozpatruje on problem z różnych punktów widzenia.

Przykład ujęcia problemu oceny finansowej kredytobiorcy przez eksperta kredytowego

0x01 graphic

2.2 MECHANIZM WNIOSKOWANIA

Mechanizm wnioskowania jest elementem sterującym systemem ekspertowym. Uruchamia on wiedzę w bazie wiedzy w celu realizacji produkowania rozwiązań. Jest aktywowany, gdy użytkownik inicjuje konsultację z systemem. Mechanizm wnioskowania decyduje, które reguły uruchomić i w jakiej kolejności. Przegląda przestrzeń roboczą, gdzie przechowywane są informacje o stanie początkowym i gdzie wnioskowane rezultaty są przechowywane podczas procesu wnioskowania. Aby wykonać każdą elementarną dedukcję, mechanizm wnioskowania wykorzystuje logikę formalną do reguł wnioskowania.

System na bazie reguł osiąga ostateczną konkluzję przez serię elementarnych konkluzji. Kiedy wydedukowany rezultat umieszczany jest z powrotem w przestrzeni roboczej, tworzony jest nowy wzorzec danych, który może być porównywany z innymi regułami. Kolejny raz mogą być wydedukowane nowe rezultaty do momentu, aż zostanie osiągnięta ostateczna konkluzja. W systemach ekspertowych stosowane są dwa typy wnioskowania: wnioskowanie wprzód i wnioskowanie wstecz. Odnoszą się one do sposobu sprawdzania reguł przez mechanizm wnioskowania: czy rozpoczyna od przesłanek, czy od konkluzji.

Oto przykład zasad działania tych dwóch trybów pracy. Istnieje następująca baza wiedzy:

R1: IF A AND B THEN D

R2: IF B THEN C

R3: IF C AND D THEN E

Oraz początkowa przestrzeń robocza A,B.

Wnioskowanie wprzód można wyrazić następująco:

0x08 graphic
0x08 graphic
fakty reguły wnioskowania cel

Wnioskowanie wprzód zakłada, że mechanizm wnioskowania znajdzie reguły mające warunki (przesłanki) pasujące do danych w przestrzeni roboczej. W powyższym przykładzie są to reguły R1 i R2. Mechanizm wnioskowania powinien wiedzieć, którą z nich wykonać lub w jakiej kolejności uruchamiać wszystkie pasujące reguły. Jeżeli chcemy wybrać jedną regułę, to wciąż jest problem (R1 czy R2). Można zastosować tutaj kilka strategii np. uruchamiać pierwszą napotkaną regułę lub regułę o najniższym numerze. W naszym przypadku obydwie strategie wskazują na wybór reguły R1. po wykonaniu R1 do przestrzeni roboczej dodany jest nowy rezultat i zawiera on teraz A.B.D. Następna runda porównywana daje tylko jednego kandydata, regułę R2, która po uruchomieniu doda C do przestrzeni roboczej. Ostatecznie może być wykonana reguła R3 dając konkluzj E. Ten spodób określany jest również jako sterowany danymi, gdyż nowe rezultaty, dodawane do przestrzeni roboczej sterują mechanizmem porównywania reguł.

Wnioskowanie można też przedstawić za pomocą drzewa wnioskowania (gdzie strzałki reprezentują zastosowane reguły, a wierzchołki stany przestrzeni roboczej). Ciągłe linie reprezentują reguły wykonane, a kropkowane linie reprezentują reguły alternatywne, które pominięto w procesie wnioskowania.

Drzewo wnioskowania wprzód

R1 R2 R3

0x08 graphic
0x08 graphic
0x08 graphic
A,B A,B,D A,B,C,D A,B,C,D,E

0x08 graphic

R2

We wnioskowaniu wprzód cykl wygląda następująco:

Cykl ten jest powtarzany dotąd, aż rezultat zdefiniowany jako cel jest dodany do przestrzeni roboczej. Jednym z problemów wnioskowania wprzód jest - jak koncentrować się na celu, skoro normalnie nie ma żadnych informacji w jakim kierunku pójdzie wnioskowanie.

Wnioskowanie wstecz można wyrazić następująco:

0x08 graphic
0x08 graphic
cel reguły wnioskowania fakty

We wnioskowaniu wstecz, cykl ten wygląda następująco:

Cykl ten jest powtarzany dotąd, aż początkowy cel jest rozłożony na zbiór podcelów, które mogą być zweryfikowane w przestrzeni roboczej.

Zaleta wnioskowania wstecz polega na tym, że pytania do użytkownika są zależne od kontekstu, tzn. że ścieżka rozwiązania jest zależna od podanych danych i wynikających stąd zależności.

3. NARZĘDZIA BUDOWY SYSTEMÓW EKSPERTOWYCH

Aby zbudować system ekspertowy rozwiązujący problemy w określonej dziedzinie, należy posiadać wiedze i metody rozumowania zakodowane w normę czytelną dla komputera.

W cyklu życia systemu ekspertowego stosuje się rozmaite programy wspomagające. Istnieją trzy kategorie narzędzi do implementacji systemów ekspertowych:

  1. typowe języki programowania,

  2. specjalne języki programowania,

  3. szkieletowe systemy ekspertowe.

Przechodzenie od typowych języków programowania do szkieletowych SE dokonuje się kosztem zmniejszenia ogólności i elastyczności w doborze rozwiązań, Z drugiej strony, czas tworzenia jest krótszy i zbędna jest specjalistyczna wiedza w zakresie programowania.

Języki programowania systemów ekspertowych obejmują zakres języków algorytmicznych, takich jak Pascal i C, funkcyjnych języków programowania, takich jak LISP i języków programowania w logice jak PROLOG. Opracowano również liczny zbiór specjalnych języków programowania SE, ale mają one jednak ograniczone możliwości zastosowania w wybranej dziedzinie.

3.1 SZKIELETY SYSTEMÓW EKSPERTOWYCH

Są to wysoko wyspecjalizowane narzędzia tzw. shelle do budowy systemów ekspertowych w specjalnych dziedzinach, np. diagnostyce. Jedną z głównych zalet szkieletów ekspertowych jest szybkość z jaką można zbudować system. Posiadając wbudowane reprezentacje wiedzy i faktów oraz mechanizm wnioskowania, zmniejszamy czas i koszt budowy użytkowego SE. Tak więc szkieletowe systemy ekspertowe są budowane dla specyficznych dziedzin wiedzy.

Jednym z pierwszych shelli był EMYCIN. Od czasów systemów EMYCIN i innych pionierskich narzędzi dla tworzenia SE, znacznie wzrosła liczba systemów typu szkielet. Wiele szkieletowych systemów ekspertowych stosuje kilka form reprezentacji wiedzy, np. ramy i reguły. Takie systemy nazywa się hybrydowymi.

Shelle można sklasyfikować również na podstawie środowiska komputerowego, w jakim działają, na małe i duże narzędzia systemów ekspertowych.

PRZYKŁAD SZKIELETOWEGO SYSTEMU EKSPERTOWYCH PC-SHELL

PC-Shell składa się z współpracujących ze sobą modułów:

Moduł pozyskiwania wiedzy zajmuje się tłumaczeniem opisu bazy wiedzy na odpowiednią reprezentację wewnętrzną i wprowadzenie przetłumaczonej wiedzy do tzw. bazy systemu. Baza wiedzy rezyduje w pamięci operacyjnej komputera, co zapenia dużą szybkość wnioskowania. Utworzony opis bazy wiedzy może być wprowadzony za pomocą dowolnego edytora tekstowego, pracującego w kodzie ASCII, do pliku dyskowego. Tak utworzony plik dyskowy z opisem bazy wiedzy jest następnie czytany przez moduły pozyskiwania wiedzy.

Moduł wnioskujący rozwiązuje problemy wykorzystując do tego wiedzę zawartą w bazie wiedzy systemu, odpowiedzi i wprowadzone przez użytkownika dane. Moduł wnioskujący dostarcza wszystkich podstawowych metod wnioskowania spotykanych w systemach ekspertowych, a więc wnioskowanie wstecz, do przodu oraz wnioskowanie mieszane, będące połączeniem obu metod.

Moduł wyjaśnień dostarcza trzech następującyh rodzajów wyjaśnień:

1.jak (how),

2. dlaczego (why),

co to jest (what is).

Wyjaśnienia typu jak pokazują w jaki sposób system prowadzi dany zbiór konkluzji lub potwierdził daną hipotezę. Systemy ekspertowe często zadają pytania o obecności określonych symptomów lub wartości pewnych atrybutów. W takich przypadkach użytkownik może mieć wątpliwości, czy zadane mu pytanie ma związek z rozwiązanym problemem. W tym celu PC-Shell dostarcza wyjaśnień typu dlaczego. W ramach tych wyjaśnień system pokazuje użytkownikowi, jaka hipoteza jest rozważana oraz w jaki sposób udzielona przez użytkownika odpowiedź przyczyni się do potwierdzenia bądź odrzucenia tej hipotezy.

Wyjaśnienia typu co to jest dostarczają objaśnień wybranych pojęć (atrybutów) użytych w bazie wiedzy.

Moduł operacji na bazie wiedzy umożliwia przeglądanie tej bazy oraz usuwanie i wprowadzanie do niej nowych faktów. Funkcja przeglądania bazy wiedzy pozwala na prezentację całości lub wybranych jej fragmentów, bez odwołania się do pliku zewnętrznego, zawierającego tekst źródłowy opisu bazy wiedzy.

Głównymi wariantami pracy systemu pracy systemu PC-Shell są:

Omawiany język reprezentacji systemu PC-Shell wiedzy ma strukturę blokową i składa się z następujących bloków:

W bloku plików dokonuje się deklaracji plików związanych z bazą wiedzy.

Blok opisu faset umożliwia zadeklarowanie pewnych własności związanych z wybranymi atrybutami. Deklaracje faset pozwalają m.in. na:

Blok reguł zawiera reguły heurystyczne, będące podstawą wnioskowania w systemie PC-Shell. Reguły składają się ze zbioru wniosków oraz konkluzji.

Blok faktów zawiera zbiór faktów, które mogą definiować na przykład pewne względnie stałe lub okresowo aktualizowane wartości, parametry.

Blok sterowania zawiera program sterujący pracą systemu.

3.2 MOŻLIWOŚCI WYKORZYSTANIA NARZĘDZI

Narzędzia używane do budowy SE oferują specyficzne podejście do dziedziny problemu. Każde narzędzie posiada model konceptualny lub ramy dla reprezentacji wiedzy i mechanizmu wnioskowania. Pomagają one z jednej strony projektantowi w budowie reprezentacji wiedzy, a z drugiej ograniczają wiedzę jaka może być modelowana.

Omawiając główne funkcje narzędzi systemów ekspertowych, należy rozpatrywać następujące:

Narzędzia do budowy SE

0x08 graphic

0x08 graphic

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

0x08 graphic

0x08 graphic

Język reprezentacji wiedzy jest, z jednej strony ramą kocepcyjną, z drugiej, schematem kodowania wiedzy. Języki muszą łączyć wiedzę deklaratywną i proceduralną. Oto kilka aspektów reprezentacji wiedzy jakie musi uwzględnić każdy język reprezentacji wiedzy:

Narzędzia SE dla wyszukiwania reguł w bazie wiedzy, stosują zwykle wnioskowanie wprzód lub w tył lub obie te formy.

Oprócz języka reprezentacji wiedzy, projektant systemu lub inżynier wiedzy potrzebuje dodatkowej pomocy. Aby efektywnie stosować elementy języka reprezentacji, stworzono narzędzia dostarczające następujących danych.

Środowisko systemowe, za pomocą którego użytkownik końcowy pracuje z systemem może stanowić:

Również funkcje wspomagające są ważną częścią środowiska użytkownika końcowego. Pomoc może być potrzebna do wyjaśnienia lub uczenia, np.:

3.3 OGRANICZENIA KONSTRUKCYJNE SYSTEMÓW EKSPERTOWYCH

Ogólnie SE może być tworzony tam gdzie:

Ponadto w celu pozyskiwania wiedzy:

4. ZASTOSOWANIE SE

Systemy ekspertowe mają szerokie zastosowanie w niemal każdej dziedzinie. Oto wybrane problemy i zagadnienia, którymi się zajmują:

        nadzór sieci telefonicznej na podstawie raportów o uszkodzeniach i zgłoszeń abonenckich (ACE),

        systemy diagnozy medycznej (CASNET)

        wyznaczanie relacji przyczynowo - skutkowej w diagnostyce medycznej (ABEL),

        systemy interpretacyjne dla nadzoru,

        rozpoznawania mowy,

        interpretacji sygnałów (np. z czujników alarmowych),

        interpretowanie postaci elektrokardiogramów (CAA),

        identyfikacja struktur cząstek białka (CRYSTALIS),

        diagnostyka maszyn cyfrowych (DART),

        prognozowanie pogody,

        interpretacja wyników spektrografii masowej (DENDRAL),

        interpretacja wyników badań geologicznych przy poszukiwaniu ropy naftowej (DIPMETER ADVISOR),

        diagnostyka chorób,

        diagnostyka komputerów (FAULTFINDER, IDT),

        interpretacja wyników pomiarów dla potrzeb chemii (GAL),

        identyfikacja związków chemicznych metodą emisyjną (GAMMA),

        wspomaganie badań geologicznych (LITHO),

        konfiguracja systemu komputerowego,

        diagnostyka chorób nowotworowych (ONCOCIN),

        analiza rynku,

        planowanie projektu np. w handlu,

        poszukiwanie złóż minerałów (PROSPECTOR),

        diagnostyka siłowni jądrowych (REACTOR),

        nadzorują i planują czynności przy dokonywaniu napraw uszkodzonych obiektów,

        pełnią rolę nauczania (np. przy szkoleniu studentów),

        planowanie eksperymentów genetycznych (MOLGEN, GENESIS, SPEX),

        nadzorowanie eksploatacji sprzętu do wiercenia szybów naftowych,

        kompletowanie sprzętu komputerowego (CONAD, R1, XCON),

        diagnostyka lokomotyw spalinowych (DELTA),

        kształcenie lekarzy (Gwidon),

        szkolenie operatorów siłowni jądrowych (STEAMER),

        analiza obwodów cyfrowych (CRITTER),

        analiza układów elektrycznych (EL),

        analityczne rozwiązanie zadań w zakresie algebry i równań różniczkowych (MAKSYMA),

        planowanie ruchów robota,

        monitorowanie (np. w elektrowniach, medycynie)

        sterowanie układami mechanicznymi i elektronicznymi,

        modelowanie układów mechanicznych (SACON),

        prowadzenie dialogu z maszyną cyfrową w języku naturalnym (INTELLECT),

        projektowanie komputerów,

        doradztwo (np. dla rolnictwa).

5. RÓŻNICE W STOSUNKU DO SYSTEMÓW TRADYCYJNYCH

System ekspertowy

Program tradycyjny

-       twórca to inżynier wiedzy

 

-       korzysta z bazy wiedzy

-       problemy do rozwiązania przez twórcę to reprezentacja i sposób użycia wiedzy

-       do rozwiązywania problemów posługuje się heurystykami

-       system bliski idealnemu to taki, który efektywnie manipuluje dużymi bazami wiedzy

-       stosowany w dziedzinach, w których nie istnieje matematyczny model algorytmów rozwiązujących zadania z danej dziedziny

 -       wymaga pozyskania wiedzy od eksperta

-       nieopłacalny do stworzenia w przypadku problemów o ściśle określonych algorytmach rozwiązania

 

-       zbyt skomplikowany i czasochłonny proces tworzenia i dlatego nieopłacalne jest wykorzystanie systemu ekspertowego do rozwiązywania mało skomplikowanych problemów

-       może automatycznie rozwijać bazę wiedzy

-       potrafi rozwiązać problem o dużej złożoności obliczeniowej

-       symboliczne przetwarzanie posiadanej informacji

-       zapis wiedzy ma charakter deklaratywny

-       możliwość istnienia interaktywnego otoczenia programowego

-       możliwość prowadzenia dialogu w języku zbliżonym do naturalnego

-       wyposażony w mechanizmy objaśniania

-       brak praktycznej możliwości pełnego sprawdzenia poprawności działania systemu ekspertowego

-       rozwój systemu ekspertowego dokonuje się przez tworzenie prototypów i ich ulepszanie podczas wspólnej pracy eksperta oraz inżyniera wiedzy

-       twórca to programista, analityk systemów

-       korzysta z bazy danych

-       problemy do rozwiązania przez twórcę to reprezentacja i sposób użycia danych

-       do rozwiązywania problemów posługuje się algorytmami

-       program bliski idealnemu to taki, który efektywnie manipuluje dużymi bazami danych

-       używany tylko w dziedzinach posiadających jednoznacznie określone algorytmy rozwiązywania zadań

 

-       używa tylko gotowych algorytmów

 

-       przy ściśle określonych algorytmach rozwiązania tworzenie programu jest bardzo szybkie i daje on poprawne wyniki

-       mało skomplikowane problemy sprawiają, iż program jest tworzony w krótkim okresie czasu i pracuje szybko

 

 

-       nie ma możliwości automatycznego rozwijania bazy danych

-       zawodzą przy dużej złożoności obliczeniowej problemu

-       numeryczne przetwarzanie posiadanej informacji

-       algorytmiczny zapis sposobów rozwiązywania problemów

-       przetwarzanie wsadowe lub interaktywne

-       niemożliwy dialog w języku zbliżonym do naturalnego

-       trudność wprowadzenia mechanizmów objaśniania

-       istnieje możliwość sprawdzenia poprawności działania programu

 

-       rozwój programu tylko na podstawie specyfikacji

 

 

 

20

UŻYTKOWNIK

Wyjaśnienie

zapytań

Baza wiedzy

Mechanizm wnioskowania

Dialog interface

Narzędzie dla prezentacji rezultatów

Pamięć robocza,

fakty itp.

Wiedza z określonej dziedziny

Doświadczenie, praktyka

Wyobraźnia

Literatura fachowa

Wiedza z zakresu inżynierii wiedzy

Doświadczenie i praktyka

Analiza rozwiązań podobnych problemów

ekspert

inżynier wiedzy

Wiedza w SE

Środowisko budowy systemu

Narzędzia systemowe

Środowisko użytkownika

Wnioskowanie

Reprezentacja wiedzy

Interfejs sytemu



Wyszukiwarka

Podobne podstrony:
Seminarium - referaty, Akademia Górniczo - Hutnicza, Technologia Chemiczna, Studia stacjonarne I sto
Referat Inżynieria Produkcji Rolniczej
referat solidy
statystyka referat MPrzybyl
referat 4
Referat 3 v3
Referat 4
04 referat Pieprzyk szczelność powietrzna
Dzieci ofiary przestępstw se
Cómo se dice Sugerencias y soluciones a las actividades del manual de A2
Prywatne znaczy gorsze referat a krol 0
referat z biochemi, notatki
TEST NIEDOKOŃCZONYCH ZDAŃ, referaty
referat - adamek, resocjalizacja
referat bibliografia Fakultet, polityka społeczna fakultet
Referat - Pedagogika społ. - Szkoła, Studia =), Resocjalizacja
referat - obrzęd świecki w 30 tezach, KULTUROZNAWSTWO, antropologia widowisk

więcej podobnych podstron