Projektowanie Systemów Informatycznych SYSTEMY EKSPERTOWE wykład nr 9 Uniwersytet Zielonogórski Instytut Informatyki i Elektroniki
Inteligencja czyli z czym komputery mają problemy? Zasadniczy problem stanowią codzienne zadania, które my (ludzie) wykonujemy bez problemów, a znalezienie dla nich algorytmów jest niezwykle trudne np. rozpoznawanie ręcznie pisanych liter, rozpoznawanie twarzy..., Jeżeli my sobie z tym radzimy, a klasyczny komputer nie, to może zrobić maszyny które będą bardziej podobne do nas. Inteligencja zdolności umysłowe człowieka (wg Cycerona). Inteligencja zdolność rozumienia otaczających sytuacji i znajdowania na nie właściwych reakcji 2
Sztuczna Inteligencja Sztuczna inteligencja jest nauką o maszynach realizujących zadania, które wymagają inteligencji wówczas, gdy są wykonywane przez człowieka. (Minsky ego) Sztuczna inteligencja stanowi dziedzinę informatyki dotyczącą metod i technik wnioskowania symbolicznego przez komputer oraz symbolicznej reprezentacji wiedzy stosowanej podczas takiego wnioskowania. (Feigenbaum) W metodach sztucznej inteligencji następuje przejście od przetwarzania danych do przetwarzania wiedzy. Systemy te określa się jako systemy oparte na wiedzy (ang. knowledge-based systems). 3
Definicja Systemu Ekspertowego Systemy ekspertowe stanowią jedną z gałęzi stosowanej sztucznej inteligencji (ang. Artificial Inteligence) i są nazywane także systemami doradczymi Określenie system ekspertowy może być zastosowane do dowolnego systemu, który na podstawie szczegółowej wiedzy może wyciągać wnioski i podejmować decyzje, działając w sposób zbliżony do procesu rozumowania człowieka Na obecnym etapie rozwoju technologicznego System Ekspertowy jest programem komputerowym, który wykonuje złożone zadania o dużych wymaganiach intelektualnych i robi to tak dobrze jak człowiek, będący ekspertem w tej dziedzinie 4
Postać wiedzy Wiedza zbiór wiadomości z określonej dziedziny, jest również symbolicznym opisem otaczającego nas świata rzeczywistego Opisy (fakty) dotyczące pierwotnych cech i pojęć Relacje opisujące zależności i asocjacje pomiędzy faktami np..: W starych silnikach Diesla przy przegrzaniu dochodzi do gwałtownego podwyższenia obrotów na skutek chwilowego spalania oleju. Symboliczna reprezentacja wiedzy Proceduralna określa zbiór procedur, działanie których reprezentuje wiedzę o danej dziedzinie (równania i prawa: matematyczne, fizyczne) Deklaratywna polegająca na określeniu zbioru specyficznych dla danej dziedziny stwierdzeń oraz reguł. np.: Przed zdjęciem obudowy wyciągnąć wtyczkę. Niesymboliczna reprezentacja wiedzy Heurystyki: Obserwacje i doświadczenia zebrane z otaczającego świata np.: Jak nie zaskakuje, a jest iskra, to warto sprawdzić przewód paliwa. Teoria danej dziedziny, np. teoria działania silników samochodowych. Realizacje za pomocą sieci neuronowych lub algorytmów genetycznych 5
Przykład SE Fakty : F1: Andrzej ma rybki F2: Andrzej ma grzałkę Reguły: R1: IF x ma rybki THEN x ma akwarium R2: IF x ma grzałkę AND x ma akwarium THEN x ma rybki żyjące Wnioski: W1: Andrzej ma akwarium. W2: Rybki Andrzeja żyją. 6
Zrozumienie istoty SE przykłady dialogów SYSTEM DIAGNOSTYKI SILNIKA SAMOCHODOWEGO (Implementacja w języku CLIPS systemu edukacyjnego) Proszę odpowiadać na pytanie tylko tak (T) lub nie (N) Czy jest paliwo w zbiorniku? T Czy kranik dopływu paliwa jest zamknięty? N Odczekaj 5 min. Czy następna próba się powiodła? N Czy paliwo wypływa z przewodu doprowadzającego je do pompy? T MOIM ZDANIEM: Uszkodzenie pompy paliwa EKSPERTYZA ZAKOŃCZONA Czy chcesz następnej diagnozy? T Czy jest paliwo w zbiorniku? T Czy kranik dopływu paliwa jest zamknięty? N Odczekaj 5 min. Czy następna próba się powiodła? N Czy paliwo dopływa do gaźnika? T Czy ustawienie przesłony rozruchowej jest prawidłowe? T Czy główna dysza paliwa jest drożna? T MOIM ZDANIEM: Zanieczyszczona dysza biegu jałowego lub awaria w układzie zapłonowym EKSPERTYZA ZAKOŃCZONA Czy chcesz następnej diagnozy? N 7
Zrozumienie istoty SE przykłady dialogów Zaczerpnięty z systemu SCHOLAR Pytanie użytkownika: Ilu stroicieli fortepianów jest w Nowym Yorku? Odpowiedź systemu: Ponieważ w New Hawen liczącym około 300 000 mieszkańców jest 3 lub 4 stroicieli fortepianów, co w stosunku do liczby mieszkańców wynosi 1 na 100 000 a New York liczy 7 milionów mieszkańców, stąd szacunkowo można określić liczbę stroicieli fortepianów na około 70, no powiedzmy 50 lub 60 stroicieli fortepianów jest w Nowym Yorku Pytanie użytkownika: Czy w Rio Grande jest uprawiana kukurydza? Odpowiedź systemu: Nie wiem w czy kukurydza jest uprawiana w Rio Grande, chociaż wiem że roślinę tę uprawia się w pampasach. Ponieważ Rio Grande ma klimat oraz warunki glebowe podobne do pampasów, więc można się spodziewać, że na obszarze Rio Grande kukurydza jest jedną z roślin uprawnych 8
Finanse Przemysł Dziedziny zastosowań Systemów Ekspertowych strategie inwestycyjne, doradztwo giełdowe, analizy aplikacji kredytowych, systemy podatkowe instrukcje naprawcze, modelowanie procesów sterowania, monitorowanie i diagnozowanie procesów produkcyjnych, kontrolowanie jakości produkcji Zarządzanie sterowania zapasami, informowanie kierownictwa, kontrola administracja jakości, wspomaganie podejmowania decyzji, planowanie, inwestycje Nauka i technika diagnozowanie i konserwacja skomplikowanych maszyn, projektowanie systemów komputerowych, identyfikacja: bakterii, węglowodanów Medycyna diagnozowanie i leczenie chorób, raporty medyczne Inne, takie jak: geologia, prawo, astronautyka, robotyka, architektura Słabo sformalizowane dziedziny, którym trudno jest przypisać teorie oparte na matematyce oraz zastosować algorytmy dokładne, lub gdy algorytm jest nieprzydatny, a z określonych względów lepiej sprawdza się heurystyka algorytmy należące do klasy NP zupełnych) 9
Korzyści i zalety stosowania SE Koszty: w dłuższym okresie czasu SE są znacznie tańsze zastępują ekspertów (których może brakować) w realizacji wybranych czynności jak również pomagają w rozwiązywaniu problemów wymagających najbardziej specjalistycznej (najdroższej) wiedzy. Podczas gdy ludzie: łatwo się męczą, zapominają i stają się opieszali,mogą być tendencyjni lub niesubordynowani, mają ograniczone możliwości percepcji, zapamiętywania... Systemy Ekspertowe: pracują szybciej, nie męczą się, są bardziej niezawodne, konsekwentne, obiektywne, dokładne Zawsze do dyspozycji (nie strajkują!). Dodatkowo w SE możliwe jest zagregowanie wiedzy licznego zespołu ekspertów, a analiza dużych ilości danych wymaga odpowiedniego komputera. 10
System Klasyczny i Ekspertowy Podstawowe cechy systemów ekspertowych: dotyczą wąskiej dziedziny wiedzy możliwość wnioskowania z niepełnej wiedzy możliwość wyjaśniania łańcucha wnioskowania w sposób zrozumiały dla użytkownika; rozdział mechanizmu wnioskowania od bazy wiedzy zastosowanie reguł wnioskowania postaci if... then...". Cech róŝniące systemy ekspertowe od klasycznych wykorzystanie w procesie przetwarzania mechanizmu wnioskującego uzasadnienia podawanych odpowiedzi za pomocą modułu objaśniającego wspomaganie i aktualizacja bazy wiedzy, modułu akwizycji wiedzy 11
Podział Systemów Ekspertowych Ze względu na przeznaczenie systemy doradcze (ang. advisery) prezentują rozwiązania, które użytkownik może odrzucić i zażądać innego podejmujące decyzje bez kontroli człowieka (ang. dictorial) stosowane są do sterowania obiektami do których dostęp człowieka jest utrudniony systemy krytykujące (ang. critical) analizują problem i przedstawiają rozwiązanie wraz z wyjaśnieniem wyboru Ze względu na to co uzyskujemy na wyjściu diagnozy ocena aktualnego stanu prognozy przewidywanie stanu przyszłego planowania opis stanu, do którego należy dążyć i w jaki sposób tego dokonać. 12
Podział Systemów Ekspertowych ze względu na sposób realizacji systemy dedykowane tworzone od podstaw przez inŝyniera wiedzy współpracującego z informatykiem systemy szkieletowe (shells) są to systemy z pustą bazą wiedzy W zaleŝności od tego jaką wiedzę wprowadzimy do systemu moŝemy uzyskać system z wiedzą: eksperta-lekarza, eksperta- inŝyniera, czy eksperta-prawnika. ze względu na metodę prowadzenia wnioskowania: z logiką dwuwartościową (Boole'a) z logiką wielowartościową z logiką rozmytą. ze względu na rodzaj przetwarzanej informacji systemy z wiedzą pewną (zdeterminowaną), z wiedzą niepewną (w przetwarzaniu wykorzystuje aparat probabilistyczny). 13
Podstawy realizacji SE Założenia Struktury Systemu Ekspertowego: siła Systemu Ekspertowego zależy od bazy wiedzy (jej jakości), a potem posiadanego oprogramowania baza wiedzy pozwala otrzymywać efektywne decyzje posługując się zależnościami heurystycznymi, probabilistycznymi, eksperymentalnymi. Wiedza ma charakter indywidualny dla posługiwania się wiedzą ekspert musi mieć możliwość korzystania z trybu dialogowego Struktura Systemu Ekspertowego: Baza Wiedzy Mechanizm Wnioskowania Interfejs użytkownika - przechowuje zakodowane ekspertyzy jednego lub wielu ekspertów - stosuje ekspertyzę do rozwiązywania problemu w sposób kompletny, dostarczając odpowiedzi a nie danych -umożliwia interaktywny kontakt z użytkownikiem dostarcza wyjaśnień jak uzyskano rozwiązanie 14
Konfiguracja Systemu Ekspertowego Użytkownik Moduł Dialogowy zawiera zespół procedur i program, które pozwalają użytkownikowi na zdefiniowanie problemu. System Ekspertowy nie może istnieć bez Modułu Dialogowego. Ekspert oraz Inżynier wiedzy Moduł Pozyskiwania Wiedzy Moduł Wnioskowania Moduł Objaśniający Baza Wiedzy zawiera dziedzinową wiedzę systemu zbiór: definicji, faktów, pojęć i relacji między nimi, reguły wnioskowania MODUŁ POZYSKIWANIA WIEDZY zespół rozkazów (procedur programu), umożliwiających nabywanie wiedzy, która zostaje zapisana w Bazie Wiedzy w postaci reguł i faktów MODUŁ WNIOSKOWANIA rozkazy, procedury, programy, które wykorzystują i prezentują zawarte w Bazie Wiedzy reguły i fakty. Łączy fakty z regułami aby sformułować odpowiedź dla użytkownika. MODUŁ OBJAŚNIAJĄCY oprogramowanie do interpretacji uzyskanych wyników. Nie zawsze istnieje, zależy od wielkości Systemu Ekspertowego. 15
Specyfikacji systemu Etapy tworzenia SE Analizy problemu Czy budowa SE dla danego problem ma sens? Szczegółowego określenia funkcji i oczekiwań Wyboór metody reprezentacji wiedzy i narzędzi do budowy SE Wybór sposobów reprezentacji wiedzy oraz mechanizmów wnioskowania Konstrukcji systemu Akwizycji wiedzy utworzenia bazy wiedzy, reguł wnioskowania, systemu wyjaśniającego rozumowanie i prowadzenia dialogu zgromadzenia, wydobycia z ekspertów i organizacja Weryfikacja i testowania systemu 16
Najczęściej stosowane metody reprezentowania wiedzy Reguły wnioskowania jeżeli (m 1 i m 2 i... ) to (d 1 i d 2... d n ) Sieci semantyczne określają relacje pomiędzy elementami dziedziny Węzły zdarzenia, obiekty fizyczne, czynności, (cechy obiektów) Łuki łączą obiekty Trójki lub czwórki <obiekt, atrybut, wartość, (poziom ufności) > Ramki grupują dane i procedury w obiekty, z zachowaniem hierarchicznej struktury dziedziczenia w dół. Rozmyta reprezentacja wiedzy Zastosowanie zbiorów rozmytych i zmiennych lingwistycznych 17
Pozyskiwanie wiedzy do Bazy wiedzy Wąskie gardło SE Problem Ekstrahowania wiedzy Metody pozyskiwania wiedzy Manualne Wspomagane komputerowo Pośrednie Bezpośrednie Automatyczne uczenie maszynowe Półautomatyczne dialogowe Metody manualne: wywiady, obserwacje, dyskusje z ekspertem, kwestionariusze, raport eksperta, burza mózgów Metody półautomatyczne metody dialogowe lub trenowanie systemu. Dotyczy również zdobywania w czasie eksploatacji Metody automatyczne bez udziału inżyniera wiedzy. Wiedza zdobywana jest na bieżąco i na bieżąco wykorzystywana. Uczenie maszynowe na podstawie wyjaśnień (ang. explanation based learning) oraz uczenie maszynowe na podstawie przykładów (ang. empirical learning) 18
Metody wnioskowania Wnioskowanie w przód wnioskowanie progresywne, dedukcyjne Podejście sterowane danymi, zaczyna się od faktów przesuwając się w kierunku konkluzji. Umożliwia generowanie nowych reguł, dołączenie ich do już istniejących i wyprowadzenie konkluzji. Początkowe fakty: A, B, C, D, E 4 reguły: R1. jeżeli A i B to F R2. jeżeli C i D to G R3. jeżeli F i G to H R4. jeżeli E i H to koniec Krok 1. Ponieważ znane są A i B reguła pozwala wywnioskować F i dołączyć go do znanych faktów. Krok 2. Ponieważ znane są F i G... Ponieważ znane są A Schematy wnioskowania progresywnego P1 R1 R2 R3 R4 P2 P3 P4 CEL Wnioskowanie w głąb R4 P4 R1 R3 P1 P3 CEL R2 P2 Wnioskowanie w szerz 19
Metody wnioskowania Wnioskowanie wstecz wnioskowanie regresywne Podejście odwrotne niż w metodzie wnioskowania w przód. Podejście sterowania celem, w którym zaczyna się od hipotezy (celu), poszukuje się argumentów (przesłanek), które mogłyby tę hipotezę potwierdzić lub obalić. W przypadku nieokreślonej wartości logicznej badanej przesłanki traktuje się ją jako nową hipotezę i próbuje wykazać jej prawdziwość. Początkowe fakty: A, B, C, D, E 4 reguły: R1. jeżeli A i B to F R2. jeżeli C i D to G R3. jeżeli F i G to H R4. jeżeli E i H to koniec system może zapytać użytkownika sam spróbować poszukiwać informacji w bazie wiedzy. Schemat wnioskowania wstecz Fakt 1 Fakt 4 Fakt 3 Fakt 2 CEL Schemat wnioskowania wstecz z nawrotem Rozumując wstecz zaczynamy od przyjęcia hipotezy. Aby konkludować koniec reguły R4. trzeba poznać fakty E i H. E jest dany, H trzeba znaleźć. F i G są potrzebne do H. F i G aby poznać trzeba poznać A i B z reguły R1, C i D z reguły R2 a one są dane z założenia. Można potwierdzić hipotezę, że rozwiązaniem problemu jest fakt koniec. Fakt 1 Fakt 4 Fakt 3 Fakt 2 CEL 20
Wnioskowanie mieszane Metody wnioskowania Obejmuje dwa omówione sposoby wnioskowania. Część reguł podejście wnioskowania w przód, część wnioskowanie wstecz. P2 Fakt 4 CEL Fakt 1 P3 Fakt 3 CEL Fakt 2 P4 21
Wnioskowanie rozmyte Metody wnioskowania Maszyna wnioskowania rozmytego działa na podstawie wnioskowania rozmytego, które można przeprowadzić w dzięki odpowiedniej reprezentacji wiedzy opisującej dany problem za pomocą zbiorów rozmytych. Jeżeli N jest duże wtedy K jest uszkodzony Zmienne ilościowe Blok fuzyfikacji Rozmywanie Blok inferencji Rozmywanie Blok defuzyfikacji Wnioskowanie Diagnoza Relacje rozmyte Blok reguł rozmytych Obszar zmiennych lingwistycznych jakościowych Zmienna lingwistyczna wielkość którą chcemy opisać (wartością ) lingwistyczną Wartość lingwistyczna słowna ocena zmiennej lingwistycznej ( słaby, duży, fałszywy,...) 22
Hybrydowe systemy ekspertowe Połączeniem omówionych systemów ekspertowych z systemami "Sztucznych Sieci Neuronowych" Są to systemy softwerowe, a częściej hardwerowe, naśladujące po części działanie systemów nerwowych organizmów Ŝywych. Ich 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. 23
Hybrydowe systemy ekspertowe Połączeniem omówionych systemów ekspertowych z systemami "Sztucznych Sieci Neuronowych". 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. 24
Neuronowe SE Wzorowane na ludzkim organiżmie analogia do połączeń układu nerwowego człowieka x 1 w 1 x 2 w 2 w i f(net) x i w i Wiedza zaszyta w sieci połączeniach Neuronów Wiedza początkowa początkowa sieć neuronowa wyuczona sieć neuronowa Wiedza dostrojona Duża szybkość działania implementacja układowa Brak metod ekstrakcji reguł 25
System Klasyczny i Ekspertowy Podstawowe cechy systemów ekspertowych: SE korzysta z wiedzy zamiast z danych aby kontrolować proces rozwiązywania problemów. Wiedzą są heurystyki naturalne. Wiedza jest zakodowana i utrzymywana jako składnik systemu oddzielony od programu kontrolnego, nie jest kompilowana z programem kontrolnym, SE umożliwia wyjaśnienia jak poszczególne konkluzje zostały osiągnięte i dlaczego żądana informacja jest potrzebna podczas konsultacji SE stosuje symboliczną reprezentacją wiedzy. (Są to reguły, sieci semantyczne i ramy) i wykonuje wnioskowanie w oparciu o obliczenie symboliczne, które są podobne do manipulacji w języku naturalnym. Wyjątkiem od tej reguły są sieci neuronowe. SE często wyciągają wnioski z tzw. Metawiedzy, tzn. z wiedzy o nich samych i posiadają mechanizm uczenia się. 26
Przykłady SE MYCIN system medyczny, EMYCIN Empty Mycin: pusty szkielet dla innych dziedzin, GUIDON składnik mycin służący do objaśniania, HEARSAY II do rozpoznawania mowy, MACSYMA system matematyczny, DENDRAL system ekspertowy w dziedzinie chemii. PROSPECTOR odkrywanie złóż rud żelaza geologia. 27
Narzędzia budowy SE Bazujące na systemie medycznym Mycin EMYCIN, KAS (Knowledge Aquisition System), Powłoki systemów ekspertowych Expert System Shells (ESS) PC Shell, Expert Builder Dedykowane Języki programowania LISP (List PROcessing, przetwarzanie list), Prolog (Programming in Logic), Realizacja rachunku predykatów pierwszego rzędu, do prototypów, Prolog w projekcie V generacji; raczej mniejsze systemy lub prototypy 28
Podsumowanie ES Zalety: 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 przewidywalne skutki dodania nowej wiedzy, rozumowanie zdroworozsądkowe jest trudne Trudno pozyskiwać wiedzę (uczenie maszynowe i odkrywanie wiedzy rzadko jest częścią ES) Traktowanie niepewności nadal jest rzadko spotykane 29
KONIEC wykład 9 30
Podział Systemów Ekspertowych Ze względu na przeznaczenie: systemy doradcze - (ang. adwisery) prezentują rozwiązania, które użytkownik może odrzucić i zażądać innego podejmujące decyzje bez kontroli człowieka (ang. dictorial) stosowane są do sterowania obiektami do których dostęp człowieka jest utrudniony lub niemożliwy systemy krytykujące (ang. critical) dokonują analizy problemu i przedstawiają rozwiązania wraz z komentarzem wyjaśniającym wybrane rozwiązanie Ze względu na to co uzyskujemy na wyjście SE dzielimy na systemy: diagnozy ocena aktualnego stanu prognozy przewidywanie stanu przyszłego planowania opis stanu, do którego należy dążyć i w jaki sposób tego dokonać. 31