x60 Systemy ekspertowe Spis treści: 1. Podstawowe cechy systemów ekspertowych. 2. Struktura systemu. 3. Czy komputerowe Systemy Ekspertowe mogą zastąpić ekspertów-ludzi 4. Cechy i budowa systemów eksperckich 5. Współczesne komputerowe systemy wspomagania decyzji 6. Przesłanki stosowania komputerowych SWD Podstawowe cechy systemów ekspertowych1 System ekspertowy można zdefiniować jako program komputerowy używający wiedzy i procedur wnioskowania do rozwiązywania problemów o skali trudności na poziomie profesjonalisty w danej, specyficznej dziedzinie. Program komputerowy, który wykorzystuje wiedzę i wnioskowanie w celu rozwiązywania problemów jest zwykle nazywany działającym w oparciu o wiedzę (knewledge based system). Kiedy wiedza i procedury wnioskowania są modelowane na wzór ekspertów, taki system nazywa się systemem ekspertowym. Tak więc wiedza i procedury SE są opisem metod stosowanych przez ekspertów w danej dziedzinie. Szczególnie istotne są dwa elementy: 1. Rozwój SE oparty jest na teoriach rozwiązywania problemów przez człowieka. 2. Podstawowym celem przy rozwoju SE jest reprezentacja wiedzy zgromadzonej przez człowieka w trakcie nauki i praktyki. System ekspertowy jest więc budowany w dialogu ekspertem w danej dziedzinie. Pozyskiwanie i modelowanie wiedzy oraz tworzenie systemu komputerowego do rozwiązywania problemów nazywane jest inżynierią wiedzy. Zadanie to wykonywane jest przez inżynierów wiedzy, którzy są projektantami systemu. Powinni oni posiadać pewną wiedzę w dziedzinie tworzonego SE, znać stosowane metody i techniki oraz programowanie komputerów. Ekspertyzy są doskonalone poprzez ćwiczenia, szkolenie i doświadczenie. Ten rodzaj wiedzy nazywany jest czasem wiedzą płytką, ponieważ składa się z indywidualnych metod, których specjaliści nauczyli się w celu lepszego wykonywania swych czynności. 1 [ HESR94] Prawdziwy SE musi reprezentować wiedzę płytką. Zaletą przetwarzania tego rodzaju wiedzy jest fakt, że program komputerowy zachowuje się w podobny sposób, jak ekspert. Wadą jest to, że wiedza płytka dotyczy metod o specjalnych zastosowaniach. Tak więc SE są robione dla specyficznych, wąsko zdefiniowanych problemów. Typowe finansowe dziedziny dla SE to analiza kredytów, analiza finansowa, inwestycje giełdowe itp. Dzięki zawężeniu obszaru zainteresowań osiągnięto dobre rezultaty, ale jednak Za cenę specjalizacji systemu w kilku wąskich zadaniach i jego zupełnej nieadekwatności do czegokolwiek innego. Stąd istnieje tendencja do rozwoju SE zawierających bardziej ogólną, teoretyczną wiedzę, do której system może wracać, gdy napotka problemy, które nie mogą być rozwiązane dzięki wiedzy płytkiej. Wielu autorów sformułowało kilka wymagań, jakie musi spełniać problem, aby opłacalne było tworzenie systemu ekspertowego 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 pomiędzy zmiennymi powinny być na tyle złożone, aby opłacalne było tworzenie systemu ekspertowego. W tych ciasnych regułach może się mieścić większość problemów życia codziennego, lecz jednak wiele specjalistycznych dziedzin jest odpowiednich di tworzenia systemu ekspertowego. Celem tworzenia systemu ekspertowego jest skomputeryzowanie problemów na poziomie wysokiej klasy eksperta. Tak więc wiedza ta może być łatwo dostępna. Przez konsultację z systemem ekspertowym pozwala to personelowi mającemu małe umiejętności w rozwiązywaniu pewnych zadań, rozwiązywać problemy, które w przeciwnym razie musiałyby być rozwiązywane przez ekspertów. Ekspertów jest mało, a zapotrzebowanie na ich wiedzę duże. Systemy ekspertowe 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 zatrudnia zwykle kilku wysokiej klasy ekspertów od kredytów, pracujących 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 system ekspertowy skierowana do każdego, kto jej potrzebuje, a więc umożliwi decentralizację podejmowania decyzji bez wzrostu ryzyka. Ponadto, skomputeryzowanie jest również udokumentowaniem wiedzy dotyczącej podejmowania decyzji i może być użyte w sprzężeniu zwrotnym z ekspertem, podnosząc jego wiedzę. System ekspertowy realizuje dwie główne funkcje: 1. Wprowadzenie konkluzji. 2. Wyjaśnienie swojego rozumowania. Konkluzja może być diagnozą lub zaleceniem dla pewnej sytuacji finansowej. Należy zaznaczyć, że zbiór konkluzji musi być w pełni wyspecyfikowany. Działaniem, jakie wykonuje system ekspertowy jest tylko wyszukanie odpowiedniego elementu tego zbioru. System ekspertowy 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. 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. Od systemu ekspertowego oczekuje się, aby miał podobne możliwości. Struktura systemu Jedną z podstawowych cech systemów ekspertowych jest oddzielenie 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 systemu ekspertowego składa się z czterech elementów: bazy wiedzy, pamięci roboczej, mechanizmu wnioskowania i interfejsu użytkownika (element dialogu). 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ą. Ta przestrzeń robocza jest przeglądana i uaktualniana poprzez 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 pomiędzy użytkownikiem a komputerem. Interfejs ten umożliwia inżynierom wiedzy i użytkownikom komunikację z systemem. Czy komputerowe Systemy Ekspertowe mogą zastąpić ekspertów-ludzi Najpierw sprecyzujmy co rozumiemy przez określenie: człowiek-ekspert i system ekspertowy. Potocznie mówiąc, ekspert jest to facet, który dużo wie i "ma nosa". Bardziej ściśle eksperta można określić jako człowieka, który nabył dogłębną wiedzę teoretyczną o danej dziedzinie poprzez naukę, wiedzę praktyczną - poprzez długoletnią pracę praktyczną (zastosowaniową) w danym wąskim wycinku wiedzy, jest obdarzony intuicją i ma dar stosowania tzw. skrótów myślowych i innych "tricków" pozwalających na "przeskoki" w czasie rozumowania i wybór najkrótszych dróg dojścia do celu, przy rozwiązywaniu danego problemu. Mówimy wówczas, że ekspert posiada dogłębną± wiedzę heurystyczną. Wymienione cechy związane są z pojęciem inteligencji człowieka. Natomiast system ekspertowy jest złożonym (rozbudowanym) programem komputerowym, w którym jest umiejętnie zakodowana wiedza heurystyczna eksperta. Program taki składa się na ogół z kilku odrębnych, lecz powiązanych ze sobą bloków programowych (stąd określenie "system"), z których wydzielić można jako najważniejsze: interfejs użytkownika systemu, bazę wiedzy (tu jest zakodowana wiedza eksperta) i tzw. "maszyny wnioskującej", która wykorzystuje zakodowaną wiedzę i pozwala na dochodzenie do rozwiązania (celu) postawionego problemu. Systemy ekspertowe mogą być wyposażone w tzw. blok wyjaśniania, który daje odpowiedź w jaki sposób dochodzi się do celu. Teraz pytanie: w jakich dziedzinach stosuje się, czy też warto stosować systemy ekspertowe? Odpowiedź jest stosunkowo prosta: w tych dziedzinach, które są słabo sformalizowane, tzn. w których trudno jest przypisać teorie oparte na matematyce, lub inaczej, do których trudno jest zastosować ścisłe algorytmy działania. Przykładami mogą być: medycyna, geologia, rolnictwo, prawo, zarządzanie, astronautyka, robotyka, chemia, architektura itp. Natomiast w rozwiązywaniu problemów, dla których istnieją algorytmy numeryczne, stosowanie systemów ekspertowych nie jest celowe, gdyż programy algorytmiczne są na ogół znacznie szybsze i doprowadzają do optymalnego rozwiązania (systemy ekspertowe prowadzą najczęściej do rozwiązań nie koniecznie optymalnych, lecz akceptowalnych przez użytkownika systemu). Jednym z pierwszych nowoczesnych i udanych systemów ekspertowych jest system MYCIN, opracowany w USA w roku 1974 (nazwa pochodzi od końcówki nazw antybiotyków, np. streptomycin - streptomycyna), służący jako "doradca" dla lekarzy z zakresu diagnostyki i terapii bakteryjnych chorób krwi. Określenie "doradca" wskazuje na to, że system sugeruje jaki to jest rodzaj choroby i przedstawia propozycję jej leczenia; natomiast lekarz może to uznać za słuszne, lub nie. W MYCYN'ie zakodowana jest wiedza konsylium lekarskiego z tego zakresu. Również w naukach technicznych o silnym sformalizowaniu jak np. elektronika, informatyka, mechanika, budownictwo, itp., gdzie istnieje mnóstwo różnego rodzaju algorytmów rozwiązywania problemów, zastosowanie systemów ekspertowych ma sens w obrębie tzw. konstruowania, co obejmuje: projektowanie, syntezę, konfigurowanie, itp., bowiem konstruowanie, a w tym np. projektowanie jest raczej sztuk± i trudno jest tu mówić o konkretnych algorytmach; można jedynie podać jakie ogólne wytyczne, a konkretnych rozwiązań może być wiele, np. tańsze, droższe, ogólniejsze, bardziej szczegółowe, itp. Jak wspomniano, wiedza w systemie ekspertowym pochodzi od eksperta lub zespołu ekspertów (jest tzw. wiedza prywatna), a ponadto może być pozyskiwana z książek, katalogów, informacji fabrycznych, itp. (jako tzw. wiedza publiczna). Wiedza ta musi być umiejętnie zakodowana w systemie ekspertowym przez odpowiedniego specjalistę nazywanego "inżynierem wiedzy". Inżynier wiedzy stanowi ogniwo pośrednie między źródłami wiedzy a systemem ekspertowym. Powinien to być informatyk, lub odpowiednio przyuczony programista, który nie tylko potrafi umiejętnie programować, ale także powinien posiadać umiejętności reporterskie i wiedzę ogólną z danej dziedziny, aby w odpowiedni i umiejętny sposób prowadzić dialog z ekspertami i wydobywać od nich najistotniejsze fakty i reguły dotyczące rozwiązywania odpowiednich problemów. Zatem, system ekspertowy będzie tym lepszy im lepsze jest grono ekspertów i im lepszy jest inżynier lub zespół inżynierów wiedzy tworzących program będący systemem ekspertowym. Wynika stąd kardynalny wniosek: system ekspertowy nie może być lepszy od grona osób tworzących go! Warto wspomnieć, że system ekspertowy może być utworzony przy użyciu dowolnego języka programowania, jak np. Basic, Algol, Fortran, Pascal, C, C++, i in. Jednakże, tworzenie systemu ekspertowego od podstaw w tych językach jest bardzo czasochłonne, a więc i drogie. Dlatego też wyspecjalizowane zespoły naukowe i firmy softwerowe tworzą i sprzedają specjalne języki programowania, np. LISP (LISp Processing) i PROLOG (PROgrammation LOGique) oraz OPS5 (Oficial Production System), CLIPS (C Language Intergrated Production System) i inne, zawierające w sobie "maszynę wnioskującą", a także specjalizowane narzędzia programowe do tworzenia systemów ekspertowych, zawierające w sobie poza maszyną wnioskującą również: interfejs użytkownika, blok pozyskiwania wiedzy (ułatwiający wprowadzenie wiedzy do bazy wiedzy), blok wyjaśniania, itp. Takie narzędzia programowe nazywane "systemami szkieletowymi" lub "muszelkowymi" (ekspert system shell) znacznie ułatwiają i przyspieszają tworzenie systemów ekspertowych. System szkieletowy można traktować jako system ekspertowy z pustą bazą wiedzy. Zatem, zapełnienie bazy wiedzy z danej wąskiej dziedziny zamienia narzędzie jakim jest system szkieletowy w konkretny system ekspertowy. Czy ekspert z komputerem jest mądrzejszy od uczonego? Poza omawianymi systemami ekspertowymi pojawiają się ostatnio bardziej rozbudowane, nazywane "Hybrydowymi systemami ekspertowymi" (Hybrid expert system). Są one połączeniem omówionych systemów ekspertowych z systemami "Sztucznych Sieci Neuronowych". Opis działania sztucznych sieci neuronowych powinien być chyba jeszcze dłuższy od powyższego opisu. W skrócie można tu jedynie zaznaczyć, że są to systemy softwerowe, a częściej hardwerowe, naśladujące po części działanie systemów nerwowych organizmów żywych. Ich kapitalną zaletą jest niemalże błyskawiczność działania (przy wykonaniu hardwerowym), gdyż informacje wprowadzane do wielu wejść są przetwarzane równolegle (nie szeregowo jak w typowych komputerach). Znajdują one szczególne zastosowania w klasyfikacji i selekcji (danych, obiektów, wiedzy), rozpoznawania obrazów, rozpoznawania mowy, itp. Działanie systemu hybrydowego można więc przedstawić na przykład jako: wstępną klasyfikację przez system sieci neuronowej, wnioskowanie przez maszynę wnioskującą i końcową selekcję przez system sieci neuronowej lub w podobny sposób. Ogólnie, dobrze działające systemy ekspertowe zaliczane są do tzw. "programów inteligentnych" i są częścią dziedziny nazywanej "Sztuczną Inteligencją". Aby psychologowie i inni specjaliści zajmujący się inteligencją ludzką (w odróżnieniu od innych; np. Aldous Huxley w swojej powieści "Kontrapunkt" wyróżnia nieco sarkastycznie: inteligencję ludzką, zwierzęcą i wojskową) nie czuli się oburzeni należy zaznaczyć, że termin "sztuczna inteligencja" dotycząca komputerów i ich oprogramowania jest określeniem umownym - hasłowym i została wprowadzona przez dr Johna McCarthy'ego ze Stanford University, USA, w r. 1956 przy okazji organizowania pierwszej konferencji dotyczącej komputerowej symulacji procesów umysłowych uznawanych jako inteligentne. Lata 50-te - a więc okres dla rozwoju komputerów niemalże archaiczny. (Na marginesie można wspomnieć, że w tym okresie w krajach realnego socjalizmu, a szczególnie w kraju "wiodącym", prace nad komputerami były zakazane gdyż "wielki językoznawca" Josif Wissarionowicz uznał komputery jako szkodliwy wymysł kosmopolitycznego imperializmu). Po tych rozważaniach wprowadzających można przejść do odpowiedzi na pytanie zawarte w tytule. Częściowa odpowiedź: "tak i nie" podana na wstępie może być udokumentowana przykładami programami prowadzenia gry w szachy oraz zastosowaniami systemu MYCIN. Wprawdzie programy gry w szachy nie są nazywane systemami ekspertowymi, lecz zaliczane są do tzw. programów inteligentnych gdyż ogólnie, rozgrywanie gier jest częścią problematyki sztucznej inteligencji. Otóż, postęp w tworzeniu programów gry w szachy jest tak ogromny, że już w 1989 roku komputery przegrywały jedynie z arcymistrzami. A więc odpowiedź jest: TAK. Jednakże jak podała Telewizja Polska w październiku 1989 r. do pojedynku z komputerem stanął sam arcymistrz świata Kasparow i wygrał, ale dopiero po około 40 ruchach - więc odpowiedź jest: NIE. Gdyby jednak sam Kasparow był zaangażowany jako "źródło wiedzy", to być może czasem by wygrywał lub przegrywał z "własnym" programem komputerowym. Teraz o właściwym systemie ekspertowym MYCIN. Przy testowaniu tego systemu w końcu lat 70tych dokonano wiele sprawdzianów. Między innymi dane o chorobie krwi przekazywano do systemu MYCIN i przesyłano do konsylium lekarskiego w innym ośrodku medycznym. Oceny obu wyników dokonywała specjalna komisja uznanych ekspertów medycznych. Wynik był częściowo zdumiewający; w około 70% przypadków wyniki systemu MYCIN były trafniejsze; nie mówiąc o tym, że były osiągalne znacznie szybciej (zaleta szybkości działania komputerów). Zatem znowu odpowiedź jest: TAK, ale nie zawsze! Odpowiedź na TAK dotyczy również działania systemów ekspertowych tzw. "czasu rzeczywistego" stosowanych w automatyce, technice rakietowej, lotniczej, kontroli reaktorów atomowych, itp. gdzie należy przeanalizować dane z tysięcy nieraz różnego rodzaju czujników i podjąć decyzję w ciągu ułamka sekundy, czy milisekundy. Żaden człowiek tego nie potrafi, chociaż być może mógłby tego dokonać, ale po wielu minutach, lub dniach. Odpowiedź częściowa: "nie i tak" może dotyczyć wszystkich systemów ekspertowych, które są tańsze, a więc zawierające niepełną± wiedzę o danej dziedzinie, lub opracowane dla małych komputerów o skromnej pamięci. W tych przypadkach zespół dobrych ekspertów, a nawet jeden poważny ekspert, może być "lepszy" od systemu ekspertowego. Odpowiedź więc: NIE. Jednakże, tego rodzaju systemy ekspertowe mogą być "lepsze" od niektórych ekspertów, którzy są w początkowym stadium swojej działalności jako eksperci. Tu odpowiedź może być: TAK. Warto wspomnieć, że w ostatnich latach działa wiele systemów ekspertowych w różnego rodzaju firmach i instytucjach dając wielomilionowe oszczędności. Systemy te są szeroko stosowane w krajach wysoko rozwiniętych, gdzie koszt robocizny dobrego eksperta (w roku) znacznie przekracza koszt dobrego systemu ekspertowego (łącznie z komputerem). Ceny systemów ekspertowych są bardzo różnorodne - od kilkudziesięciu dolarów (raczej systemy dla edukacji) do kilkudziesięciu tysięcy dolarów. U nas na razie praca eksperta jest tańsza, a rozwój krajowych systemów ekspertowych - "w powijakach". Należy więc poczekać. Na zakończenie można nawiązać do tzw. "inteligencji" programów komputerowych i "sztucznej inteligencji", której aplikacją są m.in. właśnie systemy ekspertowe. Uważa się, że pierwszą "udokumentowaną" osobą wskazującą na możliwości wyposażania komputerów w "inteligentne" programy, co wcześniej określano mianem "inteligencja maszynowa", był naukowiec angielski Alan Turing (1912-1954), który w r. 1950 opublikował pracę pt. "Computing Machinery and Intelligence". W pracy tej wskazał bezpośrednio na możliwości takiego oprogramowania komputera, że będzie on wykazywał cechy zachowania się zbliżone do zachowania się człowieka inteligentnego. Z tej pracy pochodzi też słynny "Test Turinga", spełnienie którego wskazywałoby na inteligentne zachowanie się komputera wyposażonego w odpowiedni program. Test Turinga można streścić następująco: w jednym pokoju znajduje się człowiek, a z terminalem (klawiatura i monitor) połączonym z drugim pokojem, w którym znajdują się: odpowiednio oprogramowany komputer K i inny człowiek B z terminalem (K i B połączone są z A); na inteligentne pytanie zadane przez A odpowiada - człowiek B lub komputer K. Jeżeli A nie rozpozna kto odpowiada, wówczas można uznać, że komputer K jest wyposażony w inteligentny program. Oczywiście w teście Turinga pytania nie powinny być banalne, gdyż np. program tabliczki mnożenia do 100 łatwo odpowie ile jest 2x3; trudno byłoby jednak nazwać go inteligentnym. Chociaż ... Co też inteligentni ludzie nie wymyślą. Cechy i budowa systemów eksperckich Inteligencja2 jest to zdolność do uczenia się i rozumienia zjawisk przez doświadczenie, zdolność zdobywania wiedzy i wykorzystywania jej do szybkiego reagowania na nowe sytuacje, zdolność rozumowania w celu efektywnego rozwiązywania problemów. Natomiast sztuczna inteligencja ( Artificial Inteligence ) to dział informatyki zajmujący się rozwiązywaniem problemów wymagających zdolności do samouczenia się i wnioskowania z problemów, dla których rozwiązania nie istnieje algorytm lub jest on trudny do zbudowania. 2 [ROKU95] SYSTEM EKSPERCKI jest to program komputerowy, który wykorzystuje wiedzę i procedury wnioskowania do rozwiązywania problemów wystarczająco trudnych, aby wymagały istotnych ludzkich ekspertyz do ich rozwiązania. NAJISTOTNIEJSZE CECHY SYSTEMÓW EKSPERCKICH - pozyskiwanie wiedzy, gromadzenie doświadczeń alternatywny wybór proponowanych decyzji profesjonalny język komunikacji z użytkownikiem objaśnienie ( uzasadnienie ) wybranych rozwiązań proponowanie rozwiązań w warunkach niepełności i niepewności wiedzy STRUKTURA SYSTEMU EKSPERCKIEGO INTERFEJS UŻYTKOWNIKA umożliwia: - wprowadzenie do systemu informacji - zapoznanie się z pośrednimi i końcowymi wynikami działania systemu - pozyskiwanie wiedzy od użytkowników organizacja dialogu użytkownik – komputer - system ma inicjatywę podczas poszukiwania systemu - inicjatywę przejmuje użytkownik - Projektując interfejs należy pamiętać, że: - wiedza może być opisywana w sposób abstrakcyjny ze zróżnicowaną dokładnością i wnikliwością oraz na różnych poziomach szczegółowości - użytkownik systemu eksperckiego dysponuje również wiedzą ( i to często fragmentami nie gorszą niż system ) - w różnych dziedzinach przedmiotowych obowiązują różne sposoby prowadzenia dialogu ( i związane z tym zwyczaje ) ETAPY TWORZENIA SYSTEMÓW EKSPERCKICH POZYSKIWANIE WIEDZY OD SYSTEMÓW EKSPERCKICH TRUDNOŚCI W POZYSKIWANIU WIEDZY - wiedza jest na ogół rozproszona ( jej elementy są na ogół na różnych nośnikach w wielu źródłach ) wiedzę trudno zastosować ( nawet po opanowaniu podstawowych elementów wiedzy możemy mieć istotne trudności z jej zastosowaniem do konkretnego przypadku ) w wielu przypadkach występują trudności w udostępnieniu wiedzy OGÓLNA KLASYFIKACJA METOD POZYSKIWANIA WIEDZY z punktu widzenia stopnia zaangażowania oprogramowania w poszukiwanie: kreowanie wiedzy, metody jej pozyskiwania można podzielić na: - manualne ( manual mathods ) - półautomatyczne ( semi – automatic methods ) - automatyczne ( automatic methods ) MANUALNE METODY POZYSKIWANIA WIEDZY - - są przydatne na ogół na etapie projektowania i przygotowania prototypu systemu eksperckiego ich istotą jest zebranie od ekspertów dziedzinowych wiedzy niezbędnej do utworzenia szkieletu nowo projektowanego systemu stosowanie metod manualnych na dalszych etapach życia systemu eksperckiego jest dość ograniczone W najprostszych przypadkach poszukiwanie wiedzy sprowadza się do umieszczenia elementów wiedzy w bazie wiedzy Wymaga to współpracy między ekspertem dziedzinowym będącym źródłem wiedzy ( source of knowledge ) a inżynierem wiedzy MANUALNE METODY POZYSKIWANIA WIEDZY - wywiad ( interview ) - analiza raportów ( raport analise ) - „ przerobienie „ problemu ( going trought the problem ) - kwestionariusz ( questionarry) - raport eksperta ( expert raport ) burza mózgów ( brainstorm) PRZETWARZANIE WIEDZY W SYSTEMACH EKSPERCKICH - wnioskowanie w systemach eksperckich wnioskowaniem zajmuje się maszyna wnioskująca jej zadaniem jest analiza przesłanek i wyciąganie z nich wniosków ( konkluzji ) lub znalezienie przesłanek ( premises ) potwierdzających postawioną hipotezę ( hipothesis ) języki zorientowane na przetwarzanie wiedzy są na ogół wyposażone w stosowne konstrukcje programowe do realizacji wnioskowania poszukiwanie rozwiązań nie jest problemem samym w sobie – system ekspercki nie jest po to aby poszukiwać rozwiązań – on ma je podawać ( proponować użytkownikowi ) najlepiej jeżeli nie będzie to jedno rozwiązanie lecz kilka uszeregowanych np. według wiarygodności - jeżeli dysponujemy pełniejszą wiedzą ( szerszą bazą wiedzy ), to na ogół możemy ograniczyć poszukiwania co uczyni system bardziej efektywnym, a przynajmniej szybszym to zbiór wszystkich możliwych stanów, w jakich może znaleźć się proces rozwiązywania problemu - do formalizacji przestrzeni poszukiwań korzysta się z grafu poszukiwań ( search graph ) – węzły są stanami problemu, a łuki procedurami przejścia - poniższy przykład odpowiada zbiorowości sześciu reguł umieszczonych w bazie wiedzy - Współczesne komputerowe systemy wspomagania decyzji3 Komputerowe systemy wspomagania decyzji nie zastępują, jak niektórzy sądzą człowieka ale zachęcają do formułowania pytań, stawiania wymagań, szukania celu oraz dokonywania optymalizacji. Proces podejmowania decyzji odgrywa kluczową rolę w kierowaniu i zarządzaniu organizacją i przedsiębiorstwem. Jest on szczególnie ważny i skomplikowany w gospodarce rynkowej. Wolny rynek uświadamia bezwzględne prawa konkurencji, ale jednocześnie prowokuje do podejmowania nowych przedsięwzięć ekonomicznych. Taka sytuacja wymaga od osób podejmujących decyzje, kompetencji, dużej intuicji i otwartości umysłu. Analiza i integracja tych elementów przekracza czasami możliwości intelektualne człowieka, dlatego konieczna jest pomoc w zakresie pokonywania rozmaitych ograniczeń jego percepcji, pamięci oraz integrowania, przetwarzania, przechowywania i przywoływania różnych informacji, które odgrywają istotną rolę w procesie strukturalizacji problemu decyzyjnego. Dzięki nim inicjatywa poznawcza zostaje przeniesiona do osoby podejmującej decyzję. Identyfikacja komputerowych systemów wspomagania decyzji Idea komputerowych systemów wspomagania decyzji (SWD) wyrosła na tle złożonej natury procesów podejmowania decyzji, niekompletnej wiedzy o modelowanym obiekcie oraz coraz bardziej skomplikowanych organizacjach i ich środowiskach. Interpretacja kategorii „komputerowy system wspomagania decyzji” jest trudna. Pojawia się tutaj wiele wątpliwości i spornych kwestii metodologicznych, co wpływa na złożoność i wieloaspektowość tego zagadnienia. Dotyczy ono bowiem szerokiego spektrum zagadnień: zrozumienia jak ludzie rozwiązują problemy, podejmują decyzje oraz w jaki sposób mogą zwiększyć swoje umiejętności w tym zakresie wykorzystując komputery. SWD od samego początku swojej historii rozwoju interesowały przedstawicieli różnych dyscyplin naukowych. Korzenie SWD sięgają badań prowadzonych już w latach 60. Wymienia się tutaj głownie prace badawcze H. Simona na temat rozwiązywania problemów i podejmowania decyzji z punktu widzenia psychologii, osiągnięcia badaczy z Massachusetts Institute of Technology w zakresie interaktywnych systemów komputerowych człowiek-komuter oraz prace R. Anthonego dotyczące działalności kierowniczej. W 1971 roku Gorry i S. Morton stworzyli podstawę modelu komputerowego wspomagania decyzji. Badania te przygotowały grunt do rozwoju problematyki SWD w latach 80 i 90 w USA i Europie. Zaangażowanie w rozwój SWD wielu specjalistów z różnych dyscyplin, a przede wszystkim z teorii decyzji zarządzania, badań operacyjnych, psychologii poznawczej oraz technologii informacyjnej, doprowadziło do powstania różnych punktów widzenia na SWD. TA z pewnością niezwykle cenna, różnorodność poglądów utrudnia z drugiej strony stworzenie spójnej i jasnej koncepcji tych systemów w związku z powyższym , pomimo wieloletnich badań nad komputerowymi systemami wspomagania 3 [CEOL99] decyzji, trudno podać powszechnie akceptowalną definicję tych systemów oraz wskazówki do ich tworzenia. Trudności te potęguje fakt pojawiania się nowych rozwiązań technologicznych oraz zmieniające się obszary zainteresowań podejmujących decyzje. Do najczęściej wymienianych cech komputerów SWD zalicza się: - przedstawienie informacji w postaci i technologii znanej użytkownikowi - selektywność w dostarczaniu informacji - wspomaganie, a nie zastępowanie procesu myślowego decydenta - wspomaganie w rozwiązywaniu zadań słabo ustrukturalizowanych - koncentrację na decyzjach dla kadry kierowniczej najwyższego szczebla zarządzania - elastyczność i szybką reakcję na zapytania użytkownika - sterowanie programem przez użytkownika - wspieranie różnych stylów podejmowania decyzji Przesłanki stosowania komputerowych SWD Współczesne zainteresowanie tematyką SWD wynika z przewartościowań jakie dokonały się w organizacji i zarządzaniu. Podejmowanie decyzji w dzisiejszym przedsiębiorstwie dotyczy działania w wysoce złożonym i konkurencyjnym środowisku. Przedsiębiorstwa, chcąc przetrwać w takim wymagającym otoczeniu zmuszone są do podejmowania różnorodnych działań. Należą do nich: obserwacja otoczenia, elastyczne planowanie, reenginrering, tworzenie aliansów oraz jakościowe i kreatywne podejmowanie decyzji. Dodatkowo konkurencja na rynku rozwój globalnej ekonomii, wywołują potrzebę szybkiej analizy operacji biznesowej oraz wspomaganie działań indywidualnych i grupowych. Wiele przedsiębiorstw przechodzi od rozumowania w kategoriach walki konkurencyjnej do stwarzania okazji do rozwijania współpracy. W nowej rzeczywistości ważne stają się stosunki z klientem , który nie jest już anonimowy, a sukces na rynku osiąga ta organizacja której uprawnienia decyzyjne umieszczone są blisko klienta. Organizacje dążąc do zwiększania zyskowności lub po prostu przetrwania firmy, zmuszone są do przeprowadzania jakościowych zmian, kompleksowej przebudowy procedur organizowania czynności, występujących w praktycznym działaniu dowolnego obiektu gospodarczego. Celem Współczesnych SWD jest pomoc kadrze kierowniczej w optymalnym reagowaniu na wymierające presję złożone środowisko wokół organizacji. SWD powinny być gotowe do podejmowania decyzji zróżnicowanych żądań i szybko na nie reagować, a więc muszą być sprawnymi systemami łączności w relacji człowiek komputer. Wyniki badań wskazują, że stosowanie SWD może prowadzić do przewagi konkurencyjnej, Ułatwiać interakcję osób podejmujących decyzje z otoczeniem organizacji, zmniejszać ryzyko działań pozwalać maksymalnie wykorzystać pojawiające się szanse oraz unikać zagrożeń Inteligentne zarządzanie siecią4 Pod koniec 1998 roku firma Computer Associates zaczeła dostarczać oprogramowanie „samouczących się” agentów o nazwie Neugent. Neugent rezyduje na serwerze lub stacji roboczej i wspomaga tworzenie „unerwienia sieci”. Taka sieć tworzona na wzór biologicznych neuronów zdolnych do uczenia się i rozpoznawania wzorców bodźców. Przez okres kilku tygodni Neugent rozpoznaje wzorce normalnych zachowań sieci i serwerów. Opierając się na tych wzorcach, agent może przewidywać sytuacje, które mogą powodować błędne działanie systemów. Produkt skupia się na problemie wydajności, interesuje się czasem reakcji, wolumenem transakcji i innymi charakterystycznymi wyznacznikami wydajności. Opierając się na tych danych Neugent przewiduje, kiedy system ma problemy natury wydajnościowej i generuje odpowiednie alarmy. Następne wersje Neugenta będą wspomagać dziedziny takie jak: aktywne zarządzanie, administracja zabezpieczeniami, wykorzystanie pamięci masowej i planowanie obciążeń. 4 [NETW99] 1. Henryk Sroka „Systemy ekspertowe. Komputerowe wspomaganie decyzji w zarządzaniu i finansach” AE im. Karola Adamieckiego, Katowice 1994 2. „Wspomaganie decyzji. Systemy eksperckie” pod red. Romana Kulikowskiego i Lucyny Bogdan, Instytut Badań Systemowych PAN Warszawa 1995 3. Celina Olszak „Współczesne komputerowe systemy wspomagania decyzji”–Informatyka 1999 nr1 4. Net World 1999 nr 2 „ Inteligentne zarządzanie siecią”