Systemy ekspertowe Systemy informacyjne zarzdzania Systemy administracyjno Banki
Systemy ekspertowe Systemy informacyjne zarządzania Systemy administracyjno Banki dyspozycyjne Systemy uniwersalne Rachunko wość/ finanse Kadry/ płace Zbyt Systemy branżowe - Systemy ponad branżowe Systemy wspomagania decyzyjnego Systemy infor. kierow. SIK Produkcja Systemy EDI Pełne SIK Handel Rynki elektro niczne Częściowe SIK Systemy planowania Modele proste Modele złożone Systemy baz wiedzy Systemy ekspertowe Sieci neuronowe Contro llingowe SIK 1
Wstęp: Wraz z rozwojem wiedzy narasta złożoność problemów w wielu dziedzinach, utrudnia to gromadzenie, przechowywanie oraz przetwarzanie danych informacyjnych, a także odpowiednie ich udostępnianie. Natomiast 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. 2
W wielu dziedzinach w tworzeniu i obsłudze baz danych bardzo pomocne stały się 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. Badania z zakresu sztucznej inteligencji dowiodły, że w wielu dziedzinach, pewne czynności konsultacyjne mogą być odwzorowane w postaci algorytmu matematyczno-logicznego. Stało się zatem możliwe zbudowanie programów z bazą wiedzy zdolnych do samodzielnego rozwiązywania problemów, stawiania diagnoz i formułowania porad. 3
Sztuczna inteligencja (AI) Inteligencja – (psych. ) zespół zdolności umysłowych umożliwiających jednostce sprawne korzystanie z nabytej wiedzy oraz skuteczne zachowanie się wobec nowych zadań i sytuacji. Definicja praktyczno – poznawcza: Sztuczna inteligencja – dział informatyki zajmujący się badaniami nad systemami inteligentnymi, ich modelowaniem, konstrukcją oraz wykorzystaniem do wspomagania i zastąpienia pracy umysłowej człowieka oraz do głębszego zrozumienia ludzkiego sposobu rozumowania. 4
Sztuczna inteligencja (AI) Zadania realizowane z wykorzystaniem AI, np. : • podejmowanie decyzji w warunkach braku wszystkich danych, • zarządzanie wiedzą, preferencjami i informacją w robotyce, • analiza i synteza języków naturalnych, • rozpoznawanie obrazów (osób, obiektów), • rozpoznawanie mowy i mówców, pisma, • komputerowe gry logiczne, • sieci neuronowe, algorytmy genetyczne, • systemy eksperckie i diagnostyczne. 5
Systemy ekspertowe program, lub zestaw programów wspomagający korzystanie z wiedzy i ułatwiający podejmowanie decyzji. Systemy ekspertowe mogą wspomagać bądź zastępować ludzkich ekspertów w danej dziedzinie, mogą dostarczać rad, zaleceń i diagnoz dotyczących problemów tej dziedziny. Zorganizowane w taki sposób, że wiedza dotycząca danej dziedziny jest odseparowana od reszty systemu. 6
Ekspert Człowiek posiadający specjalistyczną wiedzę w pewnej dziedzinie (wiedzę dziedzinową) i umiejętność stosowania jej dla podejmowania decyzji związanych z tą dziedziną (umiejętność wnioskowania w oparciu o posiadaną wiedzę), nabyte w wyniku studiów i praktyki. Wiedza (niezbędna, by zapewnić odpowiedni poziom ekspertyzy), wraz z procedurami wnioskowania, stanowi model ekspertyzy posiadanej przez najlepszych specjalistów w danej dziedzinie. 7
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 8
Inżynieria wiedzy - dziedzina pozyskiwania i przetwarzania wiedzy, z którą są związane systemy ekspertowe. Akwizycja wiedzy – elementów inżynierii wiedzy – proces pozyskiwania, gromadzenia i strukturalizowania wiedzy z danej dziedziny niezbędnej do realizacji baz wiedzy systemu ekspertowego. 9
Akwizycja wiedzy: • prowadzenie wywiadów z ekspertami • analiza kwestionariuszy wypełnianych przez ekspertów • analiza raportów pisanych przez ekspertów • analiza komentarzy ekspertów wykonywanych w czasie pracy • obserwacja ekspertów przy pracy • własne przygotowanie inżyniera wiedzy - powinien poznać problem i zrozumieć - poznać terminologię - pamiętać, że inżynier buduje model bazy wiedzy eksperta, a nie swojej. 10
Przykład procesu pozyskiwania wiedzy: Dane, problemy, pytania Ekspert dziedziny Inżynier wiedzy Wiedza strukturalizowana Baza wiedzy Wiedza, koncepcje, rozwiązania Dużą trudnością podczas procesu akwizycji wiedzy stanowić może nastawienie eksperta do inżyniera wiedzy. Przyczyną 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. 11
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. Moc programu ekspertowego (w zakresie rozwiązywania danego problemu) tkwi w zakodowanej w nim wiedzy, a nie w formalizmie i schematach wnioskowania, których używa. Problem z posiadaniem pełnej wiedzy tkwi w bazie wiedzy, a nie w sposobie realizacji procesu wnioskowania systemu ekspertowego. 12
Sposoby pozyskiwania wiedzy eksperta: Obserwacja eksperta w miejscu pracy – inżynier wiedzy staje się biernym obserwatorem, starając się uzyskać wgląd na złożoność problemu. Dyskusja problemu – celem jest określenie sposobu organizacji wiedzy eksperta o problemie. Opisywanie problemu – ekspert opisuje problem dla każdej mogącej się pojawić kategorii danych wejściowych, podawanych przez użytkownika. Pomaga to sformułować prototypowy problem, a następnie wybrać strategię rozwiązania problemu. 13
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, zaczynając od bardzo łatwych, a skończywszy na dość trudnych. Ekspert weryfikuje czy przekazał właściwie swoją wiedzę. 14
Testowanie systemu – ekspert testuje i wydaje opinie a każdej regule w prototypowym systemie ekspertowym, a także ocenia strategie stosowaną do wyboru reguł. Sprawdza, 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. 15
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. Używane np. do sterowania różnymi obiektami, gdzie udział człowieka jest utrudniony lub wręcz niemożliwy. Systemy krytykujące – system na podstawie przedstawionego problemu i jego rozwiązania dokonuje analizy i komentuje uzyskane rozwiązanie. 16
Rodzaje systemów ekspertowych: Ze względu na to co otrzymujemy na wyjściu można podzielić na trzy zasadnicze grupy: Diagnoza to ocena stanu istniejącego na podstawie posiadanych 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 – tworzone od podstaw przez inżyniera wiedzy współpracującego z informatykiem. Systemy szkieletowe (shells) – 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
Podstawowe bloki systemu ekspertowego: Baza wiedzy Fakty Reguły Maszyna wnioskująca wraz z jednostką sterującą 20
Struktura systemów ekspertowych: Rozważając szczegółowo strukturę systemów ekspertowych możemy w niej wyróżnić następujące podstawowe elementy: • • • baza danych (np. dane o obiekcie, wyniki pomiarów, hipotezy), • procedury umożliwiające rozszerzanie oraz modyfikację wiedzy - pozyskiwanie wiedzy. baza wiedzy (np. zbiór reguł), 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, 21
Budowa systemu ekspertowego: System doradczy Kontroler wywodu Wyniki Interfejs Dane Baza wiedzy 22
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 sam system jest jedynie uniwersalną platformą, w której po umieszczeniu analogicznie reprezentowanej bazy wiedzy z innej dziedziny otrzymujemy nowy system doradczy. 23
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). 24
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. Etap projektowania informatycznego: • Wybór metody programowania (język symboliczny lub język ogólnego przeznaczenia); • Programowanie, Weryfikacja; Wdrożenie. 25
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? 26
Etapy konstruowania bazy wiedzy: 1. Identyfikacja - ekspert i inżynier wiedzy określają problem do rozwiązania oraz jego zakres - ponadto określają potrzebne środki; 2. Reprezentacja - znalezienie sposobu reprezentacji wiedzy (gruntowna analiza problemu, ustalenie informacji oraz danych potrzebnych do jego rozwiązania); 3. Formalizacja - zaprojektowanie struktur organizujących wiedzy (Inżynier wiedzy wraz z ekspertem ustala wszystkie podstawowe pojęcia i relacje, które są niezbędne do rozwiązania postawionego problemu i przekłada je na język formalny); 4. Implementacja - sformułowanie reguł lub ram zawierających wiedzę, które z powiązaną z nimi strukturą kontrolną tworzą prototypowy program; 5. Testowanie - sprawdzenie zastosowanych w systemie reguł lub ram pod kątem generowania przez nie odpowiedzi zgodnych z 27 wymaganiami eksperta.
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. 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. 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 jest prawdziwe) 28
Pochłaniające reguły dają podobny efekt jak reguły zredundowane (jeżeli pierwsza reguła daje się zastosować, to druga także). 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. Zestaw reguł tworzy pętlę, jeżeli uaktywnienie tych reguł jest cykliczne. 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. Sprawdzanie kompletności bazy reguł – poszukiwanie brakujących reguł. 29
Niepewność wiedzy: Przyczyny niepewności wiedzy: • • • Niewiarygodne źródła informacji. Zbyt wiele informacji nie mającej znaczenia. Brak precyzji w obserwacjach i opisie. Błędy aparatury. Brak zrozumienia sytuacji. Sprzeczne informacje. Nieznane czynniki wpływające na sytuację. Zmiana sytuacji w czasie, starzenie się wiedzy. Koszty pozyskiwania nowych informacji. 30
Zalety systemów ekspertowych: • • Przydatne do rozwiązywania złożonych problemów, w dziedzinach, w których zgromadzono wiedzę empiryczną Potrafią odpowiadać na pytania prezentując swoje konkluzje w intuicyjne zrozumiały sposób, nie potrzeba programistów by zrozumieć ich działanie. Zwykle oparte są na jednolitym sposobie reprezentacji wiedzy, np. regułach lub ramach. Dzięki temu łatwo jest modyfikować wiedzę. Wady: • • Trudno jest przewidzieć, jakie będą skutki dodania nowej wiedzy, rozumowanie zdroworozsądkowe jest trudne. Trudno jest pozyskiwać wiedzę (uczenie maszynowe i odkrywanie wiedzy rzadko jest częścią SE). 31
Zastosowanie systemów ekspertowych • diagnozowanie chorób, • poszukiwanie złóż minerałów, • identyfikacja struktur molekularnych, • udzielanie porad prawnych, • diagnoza problemu (np. nieprawidłowego działania urządzenia), • dokonywanie wycen i kalkulacji kosztów naprawy pojazdów przez firmy ubezpieczeniowe, • prognozowanie pogody, • sterowania robotami, automatycznymi pojazdami, rakietami, statkami kosmicznymi, • analiza notowań giełdowych, • . . . 32
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. 33
Przykład polskiego programu szkieletowego PC-Shell: http: //aitech. pl/ 34
- Slides: 34