Systemy ekspertowe Systemy informacyjne zarządzania Systemy administracyjno Banki dyspozycyjne Systemy uniwersalne Rachunko wość/ finanse Kadry/ płace Zbyt Systemy branżowe - Systemy wspomagania decyzyjnego Systemy ponad branżowe Systemy infor. kierow. SIK Systemy planowania Produkcja Systemy EDI Pełne SIK Modele proste Handel Rynki elektro niczne Częściowe SIK 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 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, • ... 8 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 9 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. 10 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. 11 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. 12 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. 13 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. 14 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ę. 15 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. 16 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. 17 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 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ć. 18 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. 19 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. 20 Podstawowe bloki systemu ekspertowego: Baza wiedzy Fakty Reguły Maszyna wnioskująca wraz z jednostką sterującą 21 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 wiedzy (np. zbiór reguł), • procedury umożliwiające rozszerzanie oraz modyfikację wiedzy - pozyskiwanie wiedzy. 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, 22 Budowa systemu ekspertowego: System doradczy Kontroler wywodu Wyniki Interfejs Dane Baza wiedzy 23 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. 24 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). 25 Cykl projektowania systemu ekspertowego: Etap projektowania informacyjnego: • • • Wydzielanie dziedziny przedmiotowej; • Projekty szczegółowe modułów: - mechanizm wnioskujący; - baza wiedzy; - moduł współpracy z użytkownikiem. Nabywanie wiedzy; Wybór rodzaju systemu (od podstaw lub w oparciu o system szkieletowy); 26 Etap projektowania informatycznego: • Wybór metody programowania (język symboliczny lub język ogólnego przeznaczenia); • Programowanie. Weryfikacja; Wdrożenie. 27 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? 28 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ć); 29 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.). 30 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.: ( a, L) ( c,3) ( d , H ) (( a , R )) ( c,3) ( d , H ) 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ł. 31 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.: ( a, L) ( c,3) ( d , H ) ( a, R ) ( c,3) ( d , L) 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. 32 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 (a, L) (c,3) (d , H ) jest pochłania prze regułę ( c,3) ( d , H ) Pochłaniające reguły dają podobny efekt jak reguły zredundowane (jeżeli pierwsza reguła daje się zastosować, to druga także). 33 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: ( a, L) (b, D ) ( c,5) ( d , H ) ( a, R ) (b, D ) ( c,5) ( d , H ) Przy czym warunkowy atrybut a może mieć wartości L i R. Obie reguły są pochłaniane przez regułę (b, D ) ( c,5) ( d , H ) W tym przypadku efekt jest podobny jak dla redundancji reguł. 34 Zestaw reguł tworzy pętlę, jeżeli uaktywnienie tych reguł jest cykliczne. Trzy reguły ( a, L) ( c,5) ( d , H ) ( d , H ) ( f ,2 ) ( f ,2) ( g ,4) ( c,5) Tworzą pętlę, gdy w bazie wiedzy istnieją następujące fakty ( a, L), ( c,5), ( g ,4) 35 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. ( a , L) ( a , R ) ( d , H ) 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ą. 36 Sprawdzanie kompletności bazy reguł – poszukiwanie 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. 37 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. 38 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). 39 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. 40 Przykład polskiego programu szkieletowego PC-Shell: http://aitech.pl/ 41