Inżynieria Wiedzy i Systemy Ekspertowe
Transkrypt
Inżynieria Wiedzy i Systemy Ekspertowe
Inżynieria Wiedzy i Systemy Ekspertowe dr inż. Michał Bereta Politechnika Krakowska http://torus.uck.pk.edu.pl/~beretam/ [email protected] 1 Informacje o przedmiocie Wykład (18 h) Ćwiczenia (9 h) Laboratorium (9 h) Zaliczenie przedmiotu: zaliczenie części praktycznej (ćw. + lab.) + egzamin 2 Plan wykładów Geneza Systemów Ekspertowych (SE), rys historyczny Sztucznej Inteligencji (SI). ● ● Pierwsze Systemy Ekspertowe. ● Inteligencja, wiedza – definicje. ● Kryteria sztucznej inteligencji. Test Turinga. ● Struktura Systemów Ekspertowych. ● Regułowe SE . ● Metody wnioskowania. ● Baza wiedzy (baza reguł), metawiedza w SE. 3 Plan wykładów Szkieletowe Systemy Ekspertowe. ● Narzędzia do tworzenia SE. ● Niepewność w SE – metody bayesowskie, współczynniki pewności, logika rozmyta (fuzzy logic) ● Inne metody reprezentacji wiedzy (ramy, sieci semantyczne, itd.) ● Inne metody rozumowania i przeszukiwania. ● Heurystyki. ● 4 Plan wykładów Uczenie maszynowe. Paradygmaty uczenia się. ● Hybrydowe systemy inteligentne – sieci neuronowe, algorytmy ewolucyjne, metody rozmyte w SE. ● Tworzenie baz wiedzy na podstawie danych: ● algorytmy tworzenia zbioru reguł ➔ drzewa decyzyjne ➔ drążenie danych – Data Mining ➔ Inżynieria Wiedzy (Knowledge Engineering) ● Kieunki rozwoju ● 5 Literatura •Kasperski M.J., „Sztuczna inteligencja.” Helion 2003. • •Mulawka A., „Systemy ekspertowe.” WNT Warszawa 1996. • •Korbicz J., Obuchowicz A., Uciński D., „Sztuczne sieci neuronowe. Podstawy i zastosowania.” Akademicka Oficyna Wydawnicza PLJ, Warszawa 1994. • •Nęcka E., „Inteligencja.” Gdańskie Wydawnictwo Psychologiczne, Gdańsk 2003. 6 Literatura •Arabas J., „Wykłady z algorytmów ewolucyjnych.” WNT Warszawa 2001. • •Bargiela A., Pedrycz W., „Granular Computing: An Introduction.” Kluwer 2002. • •Cholewa W., Pedrycz W., „Systemy doradcze.” Wyd. Pol. Śl. Gliwice 1987. • •Goldberg D.E., „Algorytmy genetyczne i ich zastosowania.” WNT Warszawa 1995. 7 Literatura •Michalewicz Z., „Algorytmy genetyczne + struktury danych = programy ewolucyjne.” WNT, Warszawa 2003. • •Osowski S., „Sieci neuronowe do przetwarzania informacji.” Oficyna Wydawnicza Pol. Warszawskiej, Warszawa 2000. • •Piegat A., „Modelowanie i sterowanie rozmyte.” Akademicka Oficyna Wydawnicza EXIT, Warszawa 2003. 8 Literatura •Russel S., Norvig P., „Artificial Intelligence: A Modern Approach.” Prentice Hall, 2002. • •Rutkowska D., Piliński M, Rutkowski L., „Sieci neuronowe, algorytmy genetyczne i systemy rozmyte.” PWN, Warszawa 1997. • •Tadeusiewicz R., „Elementarne wprowadzenie do techniki sieci neuronowych z przykładowymi programami.” Akademicka Oficyna Wydawnicza PLJ, Warszawa 1999. 9 Literatura •Negnevitsky M., “Artificial Intelligence. A Guide to Intelligent Systems”, Addison Wesley, 2005 • •Cichosz P. “Systemy uczące się”, PWN • •Michalewicz Z., Fogel D., „Jak to rozwiązać czyli nowoczesna heurystyka”, 2006 • •Koronacki J., Ćwik J., „Statystyczne systemy uczące się”,Exit 2008 • 10 Sztuczna Inteligencja Rys Historyczny Inteligencja “Inteligencja oznacza umiejętność rozumienia oraz uczenia się nowych rzeczy.” “Inteligencja to zdolność do myślenia i rozumienia w przeciwieństwie do wykonywania czynności instynktownie lub automatycznie.” Essential English Dictionary, Colins, London, 1990 11 Sztuczna Inteligencja Rys Historyczny Inteligencja “Someone's intelligence is their ability to understand and learn things.” “Intelligence is the ability to think and understand instead of doing things by instinct or automatically.” Essential English Dictionary, Colins, London, 1990 12 Sztuczna Inteligencja Rys Historyczny Druga definicja inteligencji nie zakłada, że mówimy o osobie. Inteligencja to zdolność: ●uczenia się ●rozumienia ●rozwiązywania problemów ●podejmowania decyzji 13 Sztuczna Inteligencja Rys Historyczny Myślenie “Myślenie to czynność używania mózgu w celu rozwiązania problemu bądź też tworzenia nowej idei.” Essential English Dictionary, Colins, London, 1990 14 Współczesne definicje inteligencji Współcześnie inteligencja określana jest zwykłe jako zdolność umysłowa lub grupa zdolności. Nie ma jednak ogólnej zgody na rozumienie terminu „zdolność”. Używa się tego pojęcia w trzech znaczeniach: potencjalne zdolności jednostki (capasities) – określają do czego człowiek byłby zdolny, gdyby zostały spełnione warunki jego rozwoju (środowiskowe, zdrowotne,, społeczne, osobiste itp.), zdolności rzeczywiście przejawiane (abilities) – do czego człowiek jest faktycznie zdolny, jeśli spełnione są optymalne warunki ekspresji jego możliwości (dobry stan psychofizyczny organizmu, sprzyjające warunki otoczenia, brak stresu, itp.), poziom wykonania określonych czynności lub zadań (performance) – co można zmierzyć lub zaobserwować w konkretnej sytuacji. 15 Współczesne definicje inteligencji Współczesne definicje inteligencji można podzielić na trzy grupy: •.zdolność uczenia się, •.zdolność przystosowania się, •.zdolność metapoznawcza (rozeznanie we własnych procesach poznawczych i zdolnościach ich kontrolowania; osoba inteligentna używa umysłu bardziej refleksyjnie i jest w stanie sterować własnymi procesami poznawczymi), 16 Współczesne definicje inteligencji Inteligencja – zdolność przystosowania się do okoliczności dzięki dostrzeganiu abstrakcyjnych relacji, korzystaniu z uprzednich doświadczeń i skutecznej kontroli nad własnymi procesami poznawczymi. 17 Sztuczna Inteligencja Rys Historyczny Za najistotniejszy składnik wszelkich zdolności, wchodzący w zakres inteligencji jest zdolność do analizy i uogólniania stosunków zachodzących w dziedzinie, której dotyczy rozpatrywana zdolność. 18 Sztuczna Inteligencja Rys Historyczny Czy komputery mogą być inteligentne? Czy komputery mogą zachowywać się inteligentnie? 19 Sztuczna Inteligencja Rys Historyczny Celem Sztucznej Inteligencji (SI) jako nauki jest tworzenie maszyn zdolnych wykonywać czynności, o których twierdzi się, że wymagają inteligencji, jeśli są wykonywane przez człowieka. (Boden, 1977) 20 Sztuczna Inteligencja Rys Historyczny Inteligentne zachowanie maszyny to jej zdolność do osiągnięcia jakości wykonywania pewnego zadania kognitywnego na “ludzkim” poziomie. (Turing) 21 Sztuczna Inteligencja Rys Historyczny Czy zatem należy oczekiwać, że inteligentna maszyna będzie w stanie wykonać każde zadanie, czy tylko jedno, czy też pewną grupę czynności? Jak ocenić czy mamy do czynienia z inteligencją? 22 Kryteria sztucznej inteligencji Można wyróżnić trzy główne kryteria sztucznej inteligencji: Symulacja procesów naturalnych (z użyciem testu Turinga) Inteligentne czynności Racjonalne sprawstwo 23 Sztuczna Inteligencja Rys Historyczny Test Turinga Alan Turing “Computing machinery and intelligence”, Mind, 59, 433-460, 1950 Autor koncepcji uniwersalnego komputera. Autor pierwszego programu będącego w stanie rozegrać kompletną partię szachów. 24 Sztuczna Inteligencja Rys Historyczny Alan Turing ● Czy jest możliwe myślenie bez doświadczenia? ● Czy jest możliwy umysł bez zdolności komunikacji? ● Czy jest możliwy język bez “życia” (istnienia)? ● Czy jest możliwa inteligencja bez życia? Wszystkie te pytania sprowadzają sie do jednego zasadniczego: Czy maszyny mogą myśleć? 25 Sztuczna Inteligencja Rys Historyczny Test Turing – Gra w imitację Zamiast odpowiedzieć na pytanie, czy maszyny mogą myśleć, Turing zaproponował sprawdzenie, czy maszyny mogą przejść behawioralny test na inteligencję. 26 Test Turinga C: człowiek lub komputer B: człowiek lub komputer Trzy osoby bawiące się w grę ustalania tożsamości. Nie mogą się one widzieć, są w oddzielnych pokojach, a porozumiewają się za pomocą pisemnych protokołów. Zasadniczym elementem gry jest pytanie Turinga: “Co się stanie, jeśli komputer zajmie miejsce któregoś z uczestników, a zadaniem będzie ustalenie, kto jest człowiekiem, a kto komputerem?” A: człowiek lub komputer Sztuczna Inteligencja Rys Historyczny Test Turinga Co jeśli poprosimy komputer o wykonanie skomplikowanych obliczeń? Czy powinien on specjalnie się mylić bądź opóźniać odpowiedź? 28 Sztuczna Inteligencja Rys Historyczny Test Turinga Czy od systemu inteligentnego naprawdę oczekujemy, by specjalnie się mylił w obliczeniach, lub wykonywał je wolniej niż jest w stanie? 29 Sztuczna Inteligencja Rys Historyczny Test Turinga był szeroko komentowany i kwestionowany pod wieloma względami. Staniław Lem: Co jeśli nagramy wszystkie odpowiedzi na każde możliwe pytanie? Wtedy dostaniemy “inteligentne” odpowiedzi na nasze pytania, ale czy będziemy mieli do czynienia z inteligentną maszyną? 30 Sztuczna Inteligencja Rys Historyczny Turing wierzył, że do roku 2000 będzie istniał system będący w stanie przejść test Turinga. Istnieją już systemy, które przeszły tzw. ograniczony test Turinga (konwersjacja ograniczona do pewnego zakresu tematów). 31 Inteligentne czynności ● ● ● Czy maszyny zdolne są do wykonywania czynności uznanych przez badacza za inteligentne? Badacz może się w tym przypadku kierować intuicją lub powszechnie żywionymi przekonaniami Np. gra w szachy, prowadzenie sensownej rozmowy, dowodzenie twierdzeń matematycznych lub logicznych to czynności niewątpliwie inteligentne. 32 Inteligentne czynności ● ● ● Jedną z pierwszych prób w zakresie AI był Teoretyk Logiki, zaprojektowany przez Newella i Simona. Był to program wyspecjalizowany w dowodzeniu twierdzeń Whiteheada i Russella (Principia Mathematica). Maszyna nie przeszukiwała wyczerpująco całego zbioru potencjalnie dostępnych sposobów rozwiązania , lecz kierowała się zasadami ograniczającymi zakres przeszukiwania. Zasady takie nazywa się heurystykami. Heurystyka to reguła pozwalająca ograniczyć zakres przeszukiwania pola problemowego, a tym samym skrócić czas rozwiązywania problemu. 33 Inteligentne czynności ● ● ● Heurystyki znacząco skróciły czas pracy maszyny i sprawiły, że jej zachowanie nie było w stu procentach przewidywalne. Ponadto maszyna wykorzystywała wyniki swoich wcześniejszych działań, ażeby zwiększyć skuteczność czynności bieżących. Tym samym przejawiała zdolność do uczenia się na podstawie własnych doświadczeń, a nie ślepo wykonywała zadane jej rozkazy. Inteligentne czynności to zatem: (i) użycie heurystyk, (ii) uczenie się. 34 Racjonalne Sprawstwo • RS - zdolność systemu komputerowego do inicjowania działań, które są sensowne w określonym środowisku, a następnie do skutecznego kierowania tymi działaniami. ● System nazywamy inteligentnym wtedy, gdy jest on sprawcą, a nie tylko wykonawcą poleceń, zgodnie z zadanym algorytmem. Musi być przy tym sprawcą racjonalnym, tzn. dostosowującym swe działania do wymagań bieżącej sytuacji i “naturalnego” dla siebie środowiska. System spełniający te kryteria należy uznać za podmiot własnych działań. 35 Racjonalne Sprawstwo ● ● System, który zachowuje się jak racjonalny sprawca, musi być wyposażony nie tylko w procedury umożliwiające wykonywanie określonych czynności, lecz również w system motywacji. Oprócz motywacji racjonalny sprawca musi być wyposażony w wiedzę o otoczeniu. Może to być wiedza niezwykłe uproszczona, zredukowana do najbardziej niezbędnych informacji, ale musi istnieć. Ludzka wiedza też nie jest doskonała ani pełna. Stanowi zawsze uproszczony model rzeczywistości, tworzony w ściśle utylitarnym celu: aby nam ułatwić skuteczne poruszanie się w rzeczywistości i rozwiązywanie problemów wynikających z jej istnienia. 36 Sztuczna Inteligencja Rys Historyczny Mówiąc o programie inteligentnym będziemy mieli na myśli program, który jest w stanie konkurować z ludzkim ekspertem w wąskiej, wyspecjalizowanej dziedzinie. Z praktycznego punktu widzenia, inteligentny system powinien pomóc człowiekowi podejmować decyzje, szukać informacji, kontrolować skomplikowane obiekty, etc. Aby to osiągnąć, musimy zgromadzić, zorganizować i odpowiednio używać wiedzę z danej dziedziny. 37 Sztuczna Inteligencja Rys Historyczny “Dark Ages” - Narodziny SI (1943 – 1956) 1943 - Warren McCulloch, Walter Pitts – model sztucznego neuronu John von Neumann ENIAC (Electronic Numerical Integrator And Calculator) EDVAC (Electronic Discrete Variable Automatic Computer) Claude Shannon – wykazał konieczność stosowania heurystyk (np. w grze w szachy) 38 Sztuczna Inteligencja Rys Historyczny “Dark Ages” - Narodziny SI (1943 – 1956) John McCarthy, Martin Minsky, Claude Shannon 1965 – letni workshop w Dartmouth College zgromadził zainteresowanych uczeniem maszyn, sieciami neuronowymi I teorią automatów. Udział wzięło jedynie 10 uczestników. Te spotkania uznawane są za początek Sztucznej Inteligencji jako dziedziny nauki. 39 Sztuczna Inteligencja Rys Historyczny “Dark Ages” - Narodziny SI (1943 – 1956) – Pojęcie sztucznej inteligencji (ang. Artificial Intelligence - AI) pojawiło się w połowie lat pięćdziesiątych ubiegłego wieku w pracach McCarthy’ego: – McCarthy J., „Programs with commonsense.” – In: Mechanization of Thought Processes. HMSO, London 1950, pp.75-91. 40 Definicje sztucznej inteligencji (1) ● Dziedzina informatyki dotycząca metod i technik wnioskowania symbolicznego przez komputer oraz symbolicznej reprezentacji wiedzy stosowanej podczas takiego wnioskowania. E.A.Feigebaum, P.McCorduck 41 Definicje sztucznej inteligencji (2) ● ● Rozwój systematycznej teorii procesów intelektualnych. D.Michie Nauka o maszynach realizujących zadania, które wymagają inteligencji wtedy, gdy są wykonywane przez człowieka. M.Minsky 42 Sztuczna Inteligencja Rys Historyczny Okres wielkich oczekiwań (1956 – koniec lat 60-tych) John McCarthy – język LISP Inni badacze kontynuują swe badania (sieci neuronowe, etc.) Najbardziej ambitny projekt: General Problem Solver (GPS) Allen Newell, Herbert Simon (1961, 1972) Próba implementacji ogólnego systemu rozwiązującego problemy w sposób podobny do ludzkiego. Próba oddzielenia danych od metod rozumowania. 43 Sztuczna Inteligencja Rys Historyczny General Problem Solver Problem był definiowany za pomocą stanów. Rozwiązanie to pewien stan. Jeśli obecny stan nie stanowi rozwiązania, należy zastosować odpowiednie operatory w celu osiągnięcia stanu docelowego bądź takiego, który przybliża nas do stanu będącego rozwiązaniem. GPS był oparty na logice formalnej – generował bardzo wiele możliwych operatorów, w związku z czym był bardzo nieefektywny. Projekt zakończył się porażką. 44 Sztuczna Inteligencja Rys Historyczny Mimo porażki projektu GPS, w okresie tym pojawiło się wiele nowych koncepcji ważnych dla rozwoju SI. Np. Logika rozmyta “Fuzzy Sets”, Lotfi Zadeh, 1965 Jednak do 1970 środki finansowe przeznaczone na badania nad SI zostały bardzo ograniczone. 45 Sztuczna Inteligencja Rys Historyczny Późne lata 60-te – wczesne lata 70-te Próba stworzenia narzędzi ogólnych nie powiodła się. Zarzucono projekt mający na celu automatyczne tłumaczenie z języka rosyjskiego na angielski. Wstrzymano finansowanie wielu innych projektów. Powstała teoria problemów NP-kompletnych. 46 Sztuczna Inteligencja Rys Historyczny Pierwsze Systemy Ekspertowe Klucz do sukcesu Wczesne lata 70-te – lata 80-te Porzucono ideę stworzenia uniwersalnego systemu. W zamian zaczęto stosować podejście, w którym zakres działania systemu jest ograniczony i dokładnie zdefiniowany. 47 Sztuczna Inteligencja Rys Historyczny DENDRAL Edward Feigenbaum Bruce Buchanan Joshua Lederberg System ekspertowy do analizy związków chemicznych. Problem określenia struktury molekularnej na podstawie spektrum. Przeszukiwanie wszystkich możliwych konfiguracji atomów jest niemożliwe. Eksperci są w stanie znacznie zmniejszyć liczbę potencjalnych rozwiązań wykrywając odpowiednie wzorce i stosując odpowiednie reguły. 48 Sztuczna Inteligencja Rys Historyczny Znaczenie systemu DENDRAL: Odejście od tworzenia systemów ogólnego przeznaczenia do tworzenia systemów wyspecjalizowanych. ● Akwizycja wiedzy eksperta. ● Stosowanie heurystyk w postaci reguł postępowania. ● Sukces potwierdzony został poprzez wersję komercyjną. 49 Sztuczna Inteligencja Rys Historyczny System ekspertowy MYCIN Diagnostyka chorób krwii Około 450 reguł typu JEŚLI – TO Nowe elementy: ●odseparowanie wiedzy od mechanizmu wnioskowania (EMYCIN – Empty MYCIN) ●wnioskowanie z uwzględnieniem niepewności (CF Certainty Factors) 50 Sztuczna Inteligencja Rys Historyczny System ekspertowy PROSPECTOR Poszukiwanie minerałów. Nowe elementy: ●Reguły (ponad 1000) oraz sieć semantyczna. ●System akwizycji wiedzy. ●Niepewność brana pod uwagę – wykorzystanie reguły Bayesa 51 Rys historyczny Nowy kierunek w sztucznej inteligencji – inżynieria wiedzy (ang. Knowledge Engineering): - pozyskiwanie i strukturalizacja wiedzy pochodzącej od ekspertów, - dopasowanie i wybór odpowiednich technik wnioskowania i wyjaśniania dla zagadnień rozwiązywania problemów, - projektowanie układów pośredniczących (interfejsów) między użytkownikiem a komputerem. • Duża liczba systemów ekspertowych budowanych w ośrodkach uniwersyteckich, ukierunkowanych na szczegółowe zadania. 52 Sztuczna Inteligencja Rys Historyczny Systemy ekspertowe stały się popularne. Przyczyniło się do tego rozpowszechnienie się komputerów osobistych oraz szkieletowych systemów ekspertowych (shells). Sukces ten przyczynił się do ponownego, już ostrożniejszego, optymizmu odnośnie możliwości SI. 53 Sztuczna Inteligencja Rys Historyczny Wady Systemów Ekspertowych (pierwszej generacji) Ograniczone do wąskiego zakresu wiedzy. (np. MYCIN – diagnoza chorób krwi – nie ma większego pojęcia o fizjologi. Jeśli pacjent cierpi na chorobę innego typu – MYCIN nie będzie pomocny, wręcz przeciwnie) Brak elastyczności. Brak “świadomości” własnych ograniczeń – SE będzie próbował rozwiązać problem nawet jeśli nie jest on z jego dziedziny. Trudności z weryfikacją i walidacją – brak ogólnych metod np. kompletności SE. Przetwarzanie reguł nie oznacza „rozumienia” problemu przez SE. 54 Sztuczna Inteligencja Rys Historyczny Wady Systemów Ekspertowych (pierwszej generacji) Brak możliwości uczenia się na podstawie doświadczenia – wiedza uzyskana od eksperta jest “zaszyta” w systemie. Proces tworzenia SE jest długi - “knowledge acquisition bottleneck ” 55 Sztuczna Inteligencja Rys Historyczny Połowa lat 80-tych Ponowne zainteresowanie sieciami neuronowymi. W roku 1969 Minsky i Papert dowiedli ograniczeń jednowarstwowych perceptronów. Spowodowało to zarzucenie badań. Algorytm wstecznej propagacji błędów (backpropagation) pozwolił na uczenie wielowarstwowych sieci. Rumelhart, McClelland ( 1986 ) wcześniej Bryson, Ho ( 1969 ) 56 Sztuczna Inteligencja Rys Historyczny Połowa lat 80-tych Ponowne zainteresowanie sieciami neuronowymi. Nowe rodzaje sieci neuronowych: Hopfield (1980) – sieci ze sprzężeniem zwrotnym Grossberg (1980) – sieci ART (Adaptive Resonanse Theory) Kohonen (1982) – sieci somoorganizujące się Barto, Sutton, Anderson (1983) – uczenie ze wzmocnieniem. Broomhead, Lowe (1988) – sieci z radialnymi funkcjami bazowymi 57 Sztuczna Inteligencja Rys Historyczny Wczesne lata 70-te - ... Obliczenia i metody ewolucyjne “learning by doing” John Holland (1970) – Algorytmy Genetyczne Rechenberg, Schwefel (1965) – Strategie Ewolucyjne John Koza ( 1992 ) - Programowanie Genetyczne a także Sztuczne Systemy Immunologiczne 58 Sztuczna Inteligencja Rys Historyczny Późne lata 80-te - ... “Computing with words” Wykorzystanie logiki rozmytej (fuzzy logic). Możliwość operowanie rozmytymi pojęciami języka naturalnego, np. “duża prędkość”. W przeciwieństwie do sieci neuronowych, systemy oparte na logice rozmytej nie działają na zasadzie “czarnej skrzynki”, tzn. ich decyzje są łatwiejsze do zrozumienia dla człowieka. 59 Sztuczna Inteligencja Rys Historyczny Późne lata 80-te - ... “Computing with words” Wykorzystanie logiki rozmytej (fuzzy logic). Eksperci posługują się nieprecyzyjnymi stwerdzeniami (np. duża, mocno, raczej, często, itd.) Opisują inny rodzaj niepewności danych niż metody probabilistyczne. Porównaj: prędkość jest duża prędkość jest prawdopodobnie równa 100 km/h prędkość jest prawdopodobnie duża 60 Sztuczna Inteligencja Rys Historyczny Późne lata 80-te - ... “Computing with words” Wykorzystanie logiki rozmytej (fuzzy logic). Przykład: Sendai Subway System 54 reguł rozmytych (niewielka liczba) ale kilka lat poświęcono na ich dostrajanie. 61 Sztuczna Inteligencja Rys Historyczny Przyszłość - Metody Hybrydowe np. metody Neuro – Fuzzy Łączą zdolność uczenia się z przejrzystością wyników dla ludzkiego użytkownika. Pozwala to na generowanie reguł z danych numerycznych. Pozyskiwanie wiedzy od eksperta jest długotrwałe i kosztowne. Dodatkowo, różni eksperci mogą mieć różne zdania na temat danego przypadku. 62 Rys historyczny Koncepcja obliczeń inteligentnych (ang. Computational Intelligence - CI) Sztuczne sieci neuronowe + algorytmy ewolucyjne + zbiory rozmyte = CI 63 Dziedzina AI ● ● ● ● ● ● ● ● ● ● ● rozwiązywanie problemów i strategie przeszukiwań, teoria gier, sztuczne sieci neuronowe, algorytmy ewolucyjne, automatyczne dowodzenie twierdzeń, przetwarzanie języka naturalnego, systemy ekspertowe, procesy percepcji, uczenie maszynowe, wyszukiwanie informacji (inteligentne bazy danych), programowanie automatyczne. 64 Dziedzina AI W metodach sztucznej inteligencji następuje przejście od przetwarzania danych do przetwarzania wiedzy. Systemy te określa się jako systemy oparte na wiedzy (knowledge-based systems). Metody algorytmiczne charakterystyczne dla przetwarzania proceduralnego w sztucznej inteligencji zostają zastąpione przeszukiwaniem inteligentnym (intelligent search). 65 Dziedzina AI „Informacja tak różni się od wiedzy, jak stos cegieł od porządnie zbudowanego domu.” 66 Regułowe Systemy Ekspertowe Wiedza Teoretyczne i/lub praktyczne zrozumienie rozważanego tematu. Wiedza jest tym, co pozwala nam podejmować uzasadnione, racjonalne decyzje. 67 Regułowe Systemy Ekspertowe Pozyskiwanie wiedzy (Knowledge acquisition) Proces zbierania, studiowania i organizacji wiedzy w celu użycia jej w inteligentnym systemi. 68 Regułowe Systemy Ekspertowe Baza wiedzy (Knowledge base) Podstawowy składnik Systemu Ekspertowego, który zawiera wiedzę z określonego zakresu. 69 Regułowe Systemy Ekspertowe Inżynieria wiedzy (Knowledge engineering) Proces tworzenia systemu opartego na wiedzy (knowledge-based system). •Główne etapy: ● ● ● ● ● ● określenie problemu pozyskanie danych i wiedzy rozwój prototypu rozwój właściwego systemu ocena i wprowadzanie koniecznych zmian wdrożenie i pielęgnacja systemu 70 Regułowe Systemy Ekspertowe Inżynier wiedzy (Knowledge engineer) Osoba, która projektuje, tworzy i testuje SE. Inżynier wiedzy zdobywa wiedzę od eksperta, ustala metody reprezentacji wiedzy i wnioskowania oraz wybiera narzędzia do tworzenia systemu. 71 Regułowe Systemy Ekspertowe Ekspert Osoba posiadająca głęboką wiedzę w postaci faktów i reguł oraz duże praktyczne doświadczenie w danej dziedzinie. Sposób myślenia i podejmowania decyzji przez ludzi jest zbyt skomplikowany by mógł być dokładnie sformułowany jako algorytm. Większość ekspertów jest w stanie wyrazić swą wiedzę w postaci reguł. 72 Systemy Ekspertowe System ekspertowy: Program komputerowy wykonujący złożone zadania o dużych wymaganiach intelektualnych i robiący to tak dobrze jak człowiek będący ekspertem w tej dziedzinie System, który niekoniecznie zastępuje eksperta – człowieka Program komputerowy przeznaczony do rozwiązywania specjalistycznych problemów, które wymagają profesjonalnej ekspertyzy Podział systemów ekspertowych: doradcze (advisory) podejmujące decyzje bez kontroli człowieka (dictatorial) krytykujące (criticizing) 73 Regułowe Systemy Ekspertowe IF – THEN Rules (Production Rules) IF “światło” jest “zielone” THEN “akcja” jest “idź” IF “światło” jest “czerwone” THEN “akcja” jest “stop” IF warunek (antecedent, premise, condition) THEN konkluzja (consequent, conclusion, action) 74 Regułowe Systemy Ekspertowe IF – THEN Rules (Production Rules) IF warunek_1 THEN konkluzja_1 IF warunek_1 AND warunek_2 AND ... THEN konkluzja_1 75 Regułowe Systemy Ekspertowe IF – THEN Rules (Production Rules) Zamiast : IF warunek_1 OR warunek_2 THEN konkluzja_1 lepiej: IF warunek_1 THEN konkluzja_1 IF warunek_2 THEN konkluzja_1 76 Regułowe Systemy Ekspertowe IF – THEN Rules (Production Rules) Analogicznie, zamiast : IF warunek_1 AND warunek_2 OR warunek_3 THEN konkluzja_1 lepiej: IF warunek_1 AND warunek_2 THEN konkluzja_1 IF warunek_3 THEN konkluzja_1 77 Regułowe Systemy Ekspertowe IF – THEN Rules (Production Rules) Zamiast : IF warunek_1 AND warunek_2 THEN konkluzja_1 AND konkluzja_2 lepiej: IF warunek_1 AND warunek_2 THEN konkluzja_1 IF warunek_1 AND warunek_2 THEN konkluzja_2 78 Regułowe Systemy Ekspertowe IF – THEN Rules (Production Rules) Reguła bardziej ogólna: IF warunek_1 THEN konkluzja_1 Reguła bardziej specyficzna: IF warunek_1 AND warunek_2 THEN konkluzja_2 Często przyjmuje się, że reguły bardziej specyficzne mają pierwszeństwo przed regułami bardziej ogólnymi. 79 Regułowe Systemy Ekspertowe IF – THEN Rules Reguły mogą reprezentować: relacje ●rekomendacje ●dyrektywy ●strategie ●heurystyki ● 80 Regułowe Systemy Ekspertowe IF – THEN Rules Relacja IF bak jest pusty THEN samochód jest niesprawny. Rekomendacja IF pora_roku jest jesień AND pogoda jest pochmurna THEN rada jest “weź parasol” 81 Regułowe Systemy Ekspertowe IF – THEN Rules Dyrektywa IF samochód jest niesprawny AND bak jest pusty THEN akcja jest “zatankuj samochód” Heurystyka IF substancja jest cieczą AND pH < 6 THEN substancja jest kwasem 82 Regułowe Systemy Ekspertowe IF – THEN Rules Strategia IF samochód jest niesprawny THEN akcja jest “sprawdź bak” krok pierwszy skończony IF krok pierwszy skończony AND bak jest pełny THEN akcja jest “sprawdź akumulator” krok drugi skończony 83 Regułowe Systemy Ekspertowe Osoby zaangażowane w proces tworzenia systemu ekspertowego: Manager projektu Ekspert Inżynier wiedzy Programista System Ekspertowy Użytkownik 84 Regułowe Systemy Ekspertowe Szkieletowe Systemy Ekspertowe (Expert Systems Shells) Są to takie systemy, z których została usunięta wiedza. Użytkownik może dodać nową wiedzę w postaci reguł i faktów w celu rozwiązania nowego problemu. 85 Regułowe Systemy Ekspertowe Podstawowa struktura systemu produkcyjnego (Production system model, Newell and Simon, 1972) Reguły (pamięć trwała) Fakty (pamięć nietrwała) Wnioskowanie Konkluzja 86 Regułowe Systemy Ekspertowe Podstawowa struktura systemu ekspertowego Baza wiedzy Baza danych (IF-THEN Rules) (Fakty) Maszyna wnioskująca Wyjaśnianie Interfejs użytkownika Użytkownik 87 Regułowe Systemy Ekspertowe Podstawowa struktura systemu ekspertowego Baza wiedzy Baza danych (IF-THEN Rules) (Fakty) Maszyna wnioskująca Wyjaśnianie Interfejs użytkownika Interfejs inżyniera Użytkownik Inżynier, ekspert 88 Struktura systemów ekspertowych Struktura systemów ekspertowych składa się z następujących elementów: baza wiedzy (np. zbiór reguł) 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 do rozwiązywania przez program procedury umożliwiające rozszerzanie oraz modyfikację wiedzy – pozyskiwanie wiedzy Systemy oparte na bazie wiedzy (knowledge based system) – systemy z bazami wiedzy wydzielonymi od pozostałych modułów programu. Są one często wykorzystywane jako systemy wspomagające podejmowanie decyzji (decision suport systems). 89 Podstawowe zagadnienia w systemach opartych na bazie wiedzy są następujące: • reprezentacja wiedzy • pozyskiwanie wiedzy • sposób użycia wiedzy • objaśnianie i uczenie się Dane, problemy, pytania Ekspert dziedziny Inżynier wiedzy Baza wiedzy Wiedza strukturalizowana Wiedza, koncepcje, rozwiązania Typowy proces pozyskiwania wiedzy 90 Porównanie konwencjonalnego przetwarzania z inżynierią wiedzy Konwencjonalne przetwarzanie danych Inżynieria wiedzy Programista analityk systemów Inżynier wiedzy Program System ekspertowy Baza danych Baza wiedzy Reprezentacja i użycie danych Reprezentacja i użycie wiedzy Algorytmy Heurystyki Efektywna manipulacja bazami danych Efektywna manipulacja bazami wiedzy Twórca narzędzi buduje Narzędzia do budowy systemów Ekspert dziedziny Prowadzi dialog Inżynier wiedzy buduje i testuje rozszerza i testuje wykorzystuje System eksportowy Użytkownik wykorzystuje dane . Baza wiedzy wykorzystuje i aktualizuje Role twórców systemu ekspertowego 91 Regułowe Systemy Ekspertowe Metody wnioskowania 92 Metody wnioskowania Wnioskowanie w przód Wnioskowanie wstecz Sterowanie wnioskowaniem Wnioskowanie mieszane 93 Metody wnioskowania Tradycyjne systemy działają na podstawie klasycznej logiki dwuwartościowej, korzystając z tzw. reguły modus ponens, zwanej również regułą odrywania, którą zapisuje się następująco: (A → B), A⇒ B Reguła ta oznacza, że jeżeli z przesłanki A wynika B oraz A jest prawdziwe, to przyjmujemy, że fakt B jest również prawdziwy. Dla uproszczenia często przyjmujemy, że wystąpienie pewnego faktu w bazie wiedzy (odpowiednia lista) świadczy o jego prawdziwości, co znacznie przyspiesza proces wnioskowania. Wyróżniamy trzy podstawowe typy wnioskowania: w przód (progresywne), wstecz (regresywne) i mieszane. Osobną grupę stanowią techniki wnioskowania wykorzystujące wiedzę niepewną, wśród których szczególną rolę odgrywa wnioskowanie rozmyte. 94 Powrót Wnioskowanie w przód Idea wnioskowania w przód jest niezwykle prosta . Na podstawie dostępnych reguł i faktów należy generować nowe fakty tak długo, aż wśród wygenerowanych faktów znajdzie się postawiony cel (hipoteza). Podstawową cechą tego sposobu wnioskowania, która w pewnych sytuacjach może być jego wadą, jest możliwość zwiększania się bazy faktów. Postępowanie takie umożliwia, szczególnie w przypadku baz wiedzy o niewielkiej liczbie faktów, zwiększenie ich liczby, a co za tym idzie, przyspieszenie procesu sprawdzania postawionej hipotezy. Jednocześnie, z innego punktu widzenia, tworzenie nowych faktów, w pewnych szczególnych sytuacjach może być zjawiskiem niepożądanym, gdyż zajmują one niepotrzebnie pamięć operacyjną komputera, co może doprowadzić do jej całkowitego zapełnienia. 95 Powrót Wnioskowanie w przód Mechanizm wnioskowania Krok 1 96 Powrót Wnioskowanie w przód Mechanizm wnioskowania Krok 2 97 Powrót Wnioskowanie w przód Mechanizm wnioskowania Krok 3 98 Powrót Wnioskowanie w przód Mechanizm wnioskowania Krok 4 99 Powrót Wnioskowanie w przód Mechanizm wnioskowania Krok 5 100 Powrót Wnioskowanie wstecz Wnioskowanie wstecz przebiega w odwrotną stronę niż wnioskowanie w przód. Ogólnie polega ono na wykazaniu prawdziwości hipotezy głównej na postawie prawdziwości przesłanek. Jeśli nie wiemy, czy jakaś przesłanka jest prawdziwa, to traktujemy tę przesłankę jako nową hipotezę i próbujemy ją wykazać. Jeżeli w wyniku takiego postępowania zostanie wreszcie znaleziona reguła, której wszystkie przesłanki są prawdziwe, to konkluzja tej reguły jest prawdziwa. Na podstawie tej konkluzji dowodzi się następną regułę, której przesłanka nie była poprzednio znana itd. Postawiona hipoteza jest prawdziwa, jeśli wszystkie rozważane przesłanki dadzą się wykazać. 101 Powrót Wnioskowanie wstecz Zasadniczą cechą, która odróżnia wnioskowanie wstecz od wnioskowania w przód jest mniejsza liczba generowanych nowych faktów oraz niemożność równoczesnego dowodzenia kilku hipotez. Ogólnie w typowych zastosowaniach wnioskowanie wstecz jest efektywniejsze i bardziej rozpowszechnione. Należy również podkreślić, że przy wnioskowaniu wstecz czas oczekiwania na osiągnięcie rozwiązania postawionej hipotezy jest w wielu przypadkach dużo krótszy niż przy wnioskowaniu w przód. 102 Powrót Wnioskowanie wstecz Mechanizm wnioskowania Krok 1 103 Powrót Wnioskowanie wstecz Mechanizm wnioskowania Krok 2 104 Powrót Wnioskowanie wstecz Mechanizm wnioskowania Krok 3 105 Powrót Wnioskowanie wstecz Mechanizm wnioskowania Krok 4 106 Powrót Wnioskowanie wstecz Mechanizm wnioskowania Krok 5 107 Powrót Sterowanie wnioskowaniem Aby zastosować określoną regułę ze zbioru reguł możliwych do uaktywnienia, korzysta się z metod sterowania wnioskowaniem. W tym celu stosuje się strategie, które ograniczają liczność reguł możliwych do uaktywnienia. Strategia świeżości polega na określeniu reguły, która spośród wybranych do oceny została najpóźniej dołączona do pewnego obszaru pamięci, gdzie są przechowywane reguły. Moment dołączenia reguły może być określony za pomocą zegara systemowego. Inny sposób polega na wyborze reguły, która najpóźniej została dołączona do reguł znajdujących się w pewnym wyszczególnionym obszarze pamięci komputera (tzw. agenda). 108 Powrót Sterowanie wnioskowaniem Strategia blokowania ma za zadanie eliminować te reguły, które wcześniej w procesie wnioskowania były już wykorzystane. Postępowanie takie jest konieczne, gdyż inaczej powstałaby pętla nieskończona. Blokowanie reguł można osiągnąć na przykład umieszczając dodatkowe pole w strukturze danych (rekordzie) każdej reguły. W polu tym znajdzie się informacja o wykorzystaniu bądź niewykorzystaniu danej reguły. Strategia specyficzności opiera swoje działanie na uwzględnianiu różnej liczby przesłanek w regułach. Są preferowane te reguły, które mają większą liczbę przesłanek. W przypadku reguł o tej samej liczbie przesłanek, jest wybierana ta, która ma mniejszą liczbę zmiennych. Wymienione tutaj strategie spełniają w programie funkcję pewnego rodzaju filtrów, które mają za zadanie ograniczyć liczbę reguł - kandydatów do wykorzystania tak, aby wybrać tylko jedną. Jeśli w wyniku zastosowania wymienionych strategii istnieje ciągle więcej niż jedna reguła do uaktywnienia, to stosuje się tzw. strategię przypadkowości, która wybiera regułę w sposób losowy. 109 Powrót Wnioskowanie mieszane Wnioskowanie mieszane stanowi kompromis między wnioskowaniem w przód i wstecz, dzięki czemu jest pozbawione niektórych wad wspomnianych metod. Strategia wnioskowania mieszanego opiera się na wykorzystaniu ogólnych reguł, tzw. metareguł stanowiących metawiedzę, na podstawie której program zarządzający dokonuje odpowiedniego przełączania między poszczególnymi rodzajami wnioskowania. W metaregułach są zawarte wskazania dotyczące priorytetów wyboru rodzaju wnioskowania. W zależności od sytuacji system może automatycznie dobierać najbardziej odpowiedni sposób wnioskowania. W przypadku przechodzenia z jednego rodzaju wnioskowania na drugi za hipotezę główną zawsze przyjmuje się tę, którą postawił użytkownik. Dzięki temu na każdym etapie wnioskowania istnieje możliwość udzielenia odpowiedzi na postawioną hipotezę. 110 Powrót Wnioskowanie mieszane We wnioskowaniu mieszanym poza wczytaniem przez system bazy wiedzy należy wczytać także zbiór zawierający metareguły. System działa tak, jakby można było w nim wyróżnić dwie maszyny wnioskujące (progresywną i regresywną). Wiedza zapisana w metaregułach może preferować jeden z rodzajów wnioskowania. Na przykład baza wiedzy jest dzielona na dwie części: reguły związane z wnioskowaniem wstecz oraz reguły związane z wnioskowaniem w przód. Załóżmy, że wyższy priorytet dajemy wnioskowaniu wstecz. Wówczas jest ono zalecane dopóty, dopóki da się zastosować jakąś regułę. Po każdym cyklu wnioskowania są sprawdzane warunki zapisane w metaregułach. Jeżeli nie daje się dalej stosować wnioskowania wstecz, to system zostaje przełączony w tryb wnioskowania w przód. 111 Powrót Wnioskowanie mieszane Przy wyprowadzaniu kolejnych faktów jest sprawdzany warunek, czy system uzyskał już odpowiedź na postawioną hipotezę; jeżeli tak, to wynik jest przekazywany jako rozwiązanie. W przeciwnym przypadku proces jest kontynuowany; w zależności od okoliczności może być uruchamiany drugi rodzaj wnioskowania. Cykl ten powtarza się tak długo, aż zostanie osiągnięty cel główny lub zostaną wyczerpane wszystkie możliwości jego wykazania na podstawie posiadanej bazy wiedzy lub też odpowiedzi udzielonych przez użytkownika w trakcie dialogu. 112 Powrót Wnioskowanie mieszane Dla przykładu weźmiemy pod uwagę bazę reguł podzieloną na dwie części, zawierającą 8 reguł o następującej postaci: 3. Część bazy reguł związana z wnioskowaniem regresywnym: R1 R2 R3 7. F AND H => K E AND A => K E AND B => H Część bazy reguł związana z wnioskowaniem progresywnym: R4 R5 R6 R7 R8 A B G A AND AND AND AND G D D B => => => => B H E D A AND C => G 113 Powrót Wnioskowanie mieszane Główną zaletą wnioskowania mieszanego jest skrócenie czasu potrzebnego na uzyskanie rozwiązania. Nie występuje tutaj taka sytuacja jak przy wnioskowaniu w przód, że program, tworząc nowe fakty, może zająć całą pamięć operacyjną. Trudność natomiast sprawia pozyskanie metawiedzy. Należy nadmienić, że źle dobrane metareguły mogą spowolnić pracę systemu lub nawet uczynić ją nieefektywną 114 Powrót Regułowe Systemy Ekspertowe Metawiedza - stanowi wiedzę o wiedzy, czyli o sposobie przetwarzania wiedzy z danej dziedziny. Metareguły są stosowane w przypadku: wyboru kolejności uruchamiania (firing) reguł ●rozwiązywaniu konfliktów ● Przykład metareguły: Reguły dostarczone przez Eksperta Nr 1 są ważniejsze niż reguły dostarczone przez Eksperta Nr 2. 115 Ekspertyza naturalna, wykonana przez człowieka Ekspertyza sztuczna Wady: - tracąca na wartości z upływem czasu - trudna do przeniesienia - trudna w dokumentacji - niedająca się przewidzieć - kosztowna Zalety: - stała - łatwa do przeniesienia - łatwa w dokumentacji - zgodna z bazą wiedzy - dostępna Zalety: - twórcza - adaptacyjna - wykorzystanie 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 Porównanie ekspertyzy naturalnej z ekspertyzą sztuczną Omawiając podstawowe wiadomości o systemach ekspertowych należy wspomnieć o jeszcze jednym pojęciu – konsultacji. Pod tym pojęciem rozumie się współpracę użytkownika z systemem. Odbywa się przez interfejs z użytkownikiem. 116 Rodzaje systemów ekspertowych Podział systemów ekspertowych otrzymywany na wyjściu: ze względu na wynik Diagnoza – jest to ocena stanu istniejącego na podstawie posiadanych danych. Zagadnienie to jest blisko związane z rozpoznawaniem wzorców. Prognoza – jest to przewidywanie stanu przyszłego na podstawie istniejących danych. Niektóre programy medyczne, np. CASNET, stawiają prognozę stanu (w tym przypadku zdrowia klienta) na podstawie własnej prognozy. Plan – rozumiany jako opis pewnego stanu, do którego należy dążyć. Jednym z przykładów jest planowanie konfiguracji komputerów. 117 Rodzaje systemów eksportowych Kategoria Zadania realizowane przez systemy ekspertowe Interpretacyjne dedykują opisy sytuacji z obserwacji lub stanu czujników, np. rozpoznawanie mowy, obrazów, struktur danych Predykcyjne wnioskują o przyszłości na podstawie danej sytuacji, np. prognoza pogody, rozwój choroby Diagnostyczne określają wady systemu na podstawie obserwacji, np. medycyna, elektronika, mechanika Kompletowania konfigurują obiekty w warunkach ograniczeń, np. konfigurowanie systemu komputerowego Planowania podejmują działania, aby osiągnąć cel, np. ruchy robota Monitorowania porównują obserwacje z ograniczeniami, np. w elektrowniach atomowych, medycynie, ruchu ulicznym Sterowania kierują zachowaniem systemu; obejmują interpretowanie, predykcję, naprawę i monitorowanie zachowania się obiektu Poprawiania podają sposób postępowania w przypadku złego funkcjonowania obiektu, którego te systemy dotyczą Naprawy harmonogramują czynności przy dokonywaniu napraw uszkodzonych obiektów Ilustrowania systemy doskonalenia zawodowego dla studentów 118 Podstawowe obszary zastosowań systemów ekspertowych Sektor Zastosowanie Bankowość i ubezpieczenia Przemysł Handel i usługi Sektor publiczny i inne Monitorowanie Sterowanie obserwowanie trendów nadzorowanie procesów, sterowanie procesami, raportowanie specjalnych sytuacji obserwowanie trendów monitorowanie reaktorów jądrowych oraz dużych sieci (gazowe, wodne) projektowanie zakładów i produktów, komputerów wybór asortymentów, doradztwo dla rolnictwa sieci (pocztowe, energetyczne) Projektowanie Diagnostyka kredyty, pożyczki na nieruchomości, analiza ryzyka, przetwarzanie skarg wykrywanie urządzeń, utrzymanie zdolności produkcyjnej kredyty, analiza ryzyka diagnostyka medyczna, diagnostyka techniczna Planowanie analiza ryzyka, planowanie inwestycji projektowanie funkcji logicznych, planowanie projektu analiza ryzyka, analiza rynku planowanie inwestycji, planowanie na wypadek klęski, planowanie dystrybucji 119 Podział Systemów Ekspertowych Podział systemów ekspertowych ze względu na sposoby realizacji: • systemy dedykowane, które są tworzone od podstaw przez inżyniera wiedzy współpracującego z informatykiem • systemy szkieletowe (shells), są to systemy z pustą bazą wiedzy Podział systemów ekspertowych ze względu na metodę prowadzenia procesu wnioskowania: • z logiką dwuwartościową (Boole’a) • z logiką wielowartościową • z logiką rozmytą Podział systemów ekspertowych ze względu na rodzaj przetwarzanej informacji: • systemy z wiedzą pewną, czyli zdeterminowaną • systemy z wiedzą niepewną, w przetwarzaniu której wykorzystuje się przede wszystkim aparat probabilistyczny 120 Właściwości systemów ekspertowych Poprawność systemu System ekspertowy powinien zapewnić wysoki poziom wydawanych ekspertyz. W tym sensie możemy mówić o poprawności systemu, jeśli: daje on dobre rezultaty rozwiązuje zadania w czasie dopuszczalnym dysponuje strategiami umożliwiającymi imitowanie wiedzy i intuicji eksperta, uzyskanej w wyniku wieloletniego doświadczenia Dopuszczalny czas rozwiązywania zadania jest pojęciem relatywnym względem samego zadania. Niektóre systemy odznaczają się czasem odpowiedzi mierzonym w sekundach, inne zaś mogą pracować w ciągu długiego czasu (tygodniami – np. system PROSPECTOR). Nie zawsze jednak wydłużanie czasu odpowiedzi poprawia w istotny sposób wyniki działania. 121 Uniwersalność Ważną cechą charakterystyczną systemu ekspertowego jest jego zdolność do rozwiązywania obszernej klasy zadań z tej dziedziny. Aby zdolność tę przejawić, system nie powinien zawierać wielu sztywnych, wcześniej przygotowanych rozwiązań, lecz dużą liczbę reguł obejmujących dostatecznie szeroki zakres heurystyk z dziedziny problemowej. Powinny one nie tylko umożliwić przeszukiwanie przestrzeni rozwiązań dobrze postawionego zadania. Dostateczna liczba uniwersalnych reguł powinna zapewnić płynne (nie skokowe) pogarszanie się jakości pracy systemu w sytuacji, w której posiadane reguły wnioskowania okazują się niewystarczające. Uniwersalność rozumiana jako możliwość rozwiązania zadań z różnych dziedzin wiedzy na podstawie strukturalnego podobieństwa reguł wnioskowania jest jeszcze nieosiągalna. 122 Złożoność Stopień skomplikowania systemu ekspertowego jest w naturalny sposób określony przez dziedzinę, dla której jest wykonany. W tym aspekcie wstępuje paradoksalne zjawisko, że problem niezbyt skomplikowany, o krótkim i mało rozgałęzionym drzewie przeszukiwań czyni konstrukcję nieopłacalną, ponieważ problem taki łatwiej jest rozwiązać używając zwykłych programów. Ogólnie ocena złożoności systemu jest w pewien sposób możliwa – na przykład przez liczbę reguł wnioskowania, wielkość bazy danych itp. Klasyfikacja systemów ekspertowych ze względu na liczbę reguł: • małe (100 – 300 reguł) • średnie (300 – 2000 reguł) • duże (ponad 2000 reguł) Ze względu na trudności w przeszukiwaniu dużych baz wiedzy w procesie wnioskowania nie stosuje się obecnie więcej niż 10 000 reguł. 123 Autoanaliza System ekspertowy powinien uzasadnić użytkownikowi przyjęte rozwiązywanie nie tylko globalne, ale i na każdym etapie, to znaczy każde rozwiązanie częściowe. Dokonuje się tego w ten sposób, że przegląda się drzewo rozwiązania w kierunku wstecznym, tak jakby to było jeszcze jedno zadanie wymagające ekspertyzy. W systemach ekspertowych występuje problem niesprzeczności uzyskiwanych w danym etapie wnioskowania wyników z faktami zawartymi w bazie wiedzy. Odpowiada to zmianie drogi w drzewie rozwiązania. W analizowaniu przez system własnego zachowania istotna rolę odgrywa tzw. moduł niesprzeczności. Ścisły pomiar ilościowy zdolności systemu do autoanalizy jest bardzo trudny. Trzeba zauważyć, że nie zawsze analiza taka jest możliwa lub potrzebna. Systemy czasu rzeczywistego muszą tak szybko reagować na zmienne warunki otoczenia, że prowadzenie dialogu z człowiekiem jest zwykle niemożliwe. W pewnych dziedzinach jednak wynik jest zrozumiały dla odbiorcy i dodatkowe wyjaśnienia nie są potrzebne. 124 Zdolność udoskonalania bazy wiedzy Jedną z podstawowych cech eksperta jest ciągłe rozszerzanie wiedzy o nowe fakty i prawa (reguły wnioskowania). System eksportowy, jeśli ma być efektywny, powinien również przejawiać tę cechę. Oczywiście dla użytkowników lub konstruktorów zależy, czy bazę wiedzy będzie można rozszerzać czy nie. Mechanizmy udoskonalające działanie systemów ekspertowych: kontroler niesprzeczności nowo wprowadzanych do bazy wiedzy reguł z regułami w niej zawartymi kontroler zgodności reguł z nowo wprowadzanymi faktami mechanizm oceny częstości stosowania poszczególnych reguł mechanizm rozbudowy istniejącej bazy reguł poza zakres danej bazy wiedzy. Dwa pierwsze elementy mieszczą się w module niesprzeczności, pozostałe należy wbudować jako dodatkową strukturę uczącą. Adaptacyjność nie jest wymagana dla zamkniętych dziedzin wiedzy, będzie natomiast konieczna w systemach dla dziedzin wiedzy, w których występuje duży stopień niepewności i niedostateczna, rozwijająca się baza danych. 125 Badanie poprawności bazy wiedzy Spójność Testowanie spójności polega na wykrywaniu reguł zbędnych, sprzecznych, pochłaniających, reguł z niepotrzebnym warunkiem oraz reguł zapętlonych. 126 Badanie poprawności bazy wiedzy 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łnione we wszystkich możliwych sytuacjach oraz ich części konkluzyjne są identyczne, np.: ( a, L ) AND ( c, 3 ) => ( d, H ) (¬( a, R )) AND ( c, 3 ) => ( d, H ) Przy czym atrybut a może przyjąć dwie wartości: L i R. Mimo, że redundancja powoduje nadmiarowość bazy wiedzy, proces wnioskowania odbywa się bez szkód, chociaż jest wymagane przeszukiwanie większej liczby reguł. 127 Spójność 1. Sprzeczność reguł 2. Dwie reguły są sprzeczne (konfliktowe) wówczas, gdy ich części warunkowe są równocześnie spełnione lub niespełnione we wszystkich możliwych sytuacjach i ich części konkluzyjne są różne dla przynajmniej jednej sytuacji. Następujące reguły są konfliktowe: ( a, L ) AND ( c, 3 ) => ( d, H ) ( a, L ) AND ( c, 3 ) => ( d, L ) Przy czym atrybut d może przybrać 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. 7. 128 Spójność 1. 3. Reguły pochłaniające 4. 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 ) AND ( c, 3 ) => ( d, H ) jest pochłaniana przez regułę ( c, 3 ) => ( d, H ) 129 Spójność 1. Niepotrzebne warunki Dwie reguły mają niepotrzebne warunki, jeśli obie są pochłaniane przez trzecia 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 ) AND ( b, D ) AND ( c, 5 ) => ( d, H ) ( a, R ) AND ( b, D ) AND ( c, 5 ) => (d, H ) Przy czym warunkowy atrybut a może mieć dwie wartości: L i R. Obie reguły są pochłaniane przez regułę ( b, D ) AND ( c, 5 ) => ( d, H ) 130 Spójność 1.Zapętlenie reguł Zestaw reguł tworzy pętlę, jeżeli uaktywnienie tych reguł jest cykliczne. Na przykład trzy reguły ( a, L ) AND ( c, 5 ) => ( d, H ) ( d, H ) => ( f, 2 ) ( f, 2 ) AND ( g, 4 ) => ( c, 5 ) tworzą pętlę, gdy w bazie wiedzy istnieją następujące fakty: (a. L), (c, 5), (g, 4) W poprawnie działającym systemie ekspertowym tego typu reguły nie powinny wystąpić. Aby wykryć zapętlenie reguł, dla badanej bazy tworzy się tzw. tablicę zależności. W tablicy takiej przedstawia się zależności istniejące między regułami oraz między regułami a celem do wykazania. 131 Spójność 1.Wielokrotne odwołanie do jednego atrybutu Wielokrotne odwołanie do jednego atrybutu zachodzi wówczas, gdy 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ć kilki wartości, np. ( a, L ) AND ( 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ą 132 Kompletność bazy reguł Sprawdzanie kompletności bazy reguł polega na poszukiwaniu 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ł: nieokreślone wartości przesłanek, niedopuszczalne wartości atrybutów, nieosiągalna akcja (uaktywnienie reguły) i nieosiągalny cel. Wartość atrybutu warunku jest nieokreślona wówczas, gdy nie jest zgodna z częścią warunkową przynajmniej jednej reguły. Niekoniecznie oznacza to, że jakaś reguła nie została wprowadzona do bazy wiedzy (jest to jednak możliwe). Sytuacja ta oznacza, że zbiór wartości atrybutów w częściach warunkowych reguł jest mniejszy od zbioru możliwych wartości atrybutów. 133 Kompletność bazy reguł Atrybut przyjmuje niedopuszczalną wartość, gdy istnieje reguła odnosząca się do atrybutu o wartości nienależącej do zbioru dopuszczalnych wartości atrybutu. Dotyczy to obu części reguł. Aby otrzymać poprawność bazy reguł, błąd ten musi zostać skorygowany. Z nieosiągalną akcją mamy do czynienia wówczas, gdy konkluzje reguł nie odpowiadają faktom występującym w przesłankach innych reguł. Następuje wówczas przerwanie łańcucha wnioskowania. Błąd ten możemy zidentyfikować tylko wówczas, gdy jest znana klasa celów. Z kolei nieosiągalny cel (hipoteza) występuje wówczas, gdy nie zawiera go konkluzja żadnej reguły 134