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 Projektowanie systemów informatycznych 2 Sztuczna Inteligencja Sztuczna inteligencja jest nauką o maszynach realizujących zadania, które wymagają inteligencji wówczas, gdy są wykonywane (Minsky’ego) przez człowieka. Sztuczna inteligencja stanowi dziedzinę informatyki dotyczącą metod i technik wnioskowania symbolicznego przez komputer oraz symbolicznej reprezentacji wiedzy stosowanej podczas takiego (Feigenbaum) wnioskowania. 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). Projektowanie systemów informatycznych 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 Projektowanie systemów informatycznych 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 Projektowanie systemów informatycznych 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ą. Projektowanie systemów informatycznych 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 Projektowanie systemów informatycznych 7 Zrozumienie istoty SE – przykłady dialogów Zaczerpnięty z systemu SCHOLAR 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 Pytanie użytkownika: Projektowanie systemów informatycznych 8 Dziedziny zastosowań Systemów Ekspertowych Finanse – strategie inwestycyjne, doradztwo giełdowe, analizy aplikacji kredytowych, systemy podatkowe Przemysł – 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 – diagnozowanie i leczenie chorób, raporty medyczne Medycyna 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) Projektowanie systemów informatycznych 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. Projektowanie systemów informatycznych 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 Projektowanie systemów informatycznych 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ć. Projektowanie systemów informatycznych 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). Projektowanie systemów informatycznych 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 Projektowanie systemów informatycznych - 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 Ekspert oraz Inżynier wiedzy 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. 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. Projektowanie systemów informatycznych 15 Etapy tworzenia SE Analizy problemu Czy budowa SE dla danego problem ma sens ? Specyfikacji systemu 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 utworzenia bazy wiedzy, reguł wnioskowania, systemu wyjaśniającego rozumowanie i prowadzenia dialogu Akwizycji wiedzy zgromadzenia, wydobycia z ekspertów i organizacja Weryfikacja i testowania systemu Projektowanie systemów informatycznych 16 Najczęściej stosowane metody reprezentowania wiedzy Reguły wnioskowania Sieci semantyczne jeżeli (m1 i m2 i ... ) to (d1 i d2 ... dn) 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 Ramki <obiekt, atrybut, wartość, (poziom ufności) > grupują dane i procedury w obiekty, z zachowaniem hierarchicznej struktury dziedziczenia w dół . Rozmyta reprezentacja wiedzy Zastosowanie zbiorów rozmytych i zmiennych lingwistycznych Projektowanie systemów informatycznych 17 Pozyskiwanie wiedzy do Bazy wiedzy „Wąskie gardło” SE – Problem Ekstrahowania wiedzy Metody pozyskiwania wiedzy Manualne Pośrednie Bezpośrednie Wspomagane komputerowo 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) Projektowanie systemów informatycznych 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. Ponieważ znane są A Krok 2. Ponieważ znane są F i G ... Schematy wnioskowania progresywnego R4 R1 P1 R3 R2 P2 P3 R4 P4 Wnioskowanie w głąb CEL P4 R3 R1 P1 P3 R2 P2 CEL Wnioskowanie w szerz Projektowanie systemów informatycznych 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ść. Schemat wnioskowania wstecz Początkowe fakty: A, B, C, D, E Fakt 4 4 reguły: R1. jeżeli A i B to F R2. jeżeli C i D to G CEL Fakt 1 Fakt 3 R3. jeżeli F i G to H R4. jeżeli E i H to koniec Fakt 2 system może zapytać użytkownika sam spróbować poszukiwać informacji w bazie wiedzy. Schemat wnioskowania wstecz z nawrotem Fakt 4 Rozumując wstecz zaczynamy od przyjęcia hipotezy. Aby konkludować koniec reguły R4. trzeba poznać fakty E i H. E jest dany, Fakt 1 Fakt 3 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. Fakt 2 Można potwierdzić hipotezę, że rozwiązaniem problemu jest fakt koniec. Projektowanie systemów informatycznych CEL 20 Metody wnioskowania Wnioskowanie mieszane Obejmuje dwa omówione sposoby wnioskowania. Część reguł podejście wnioskowania w przód, część wnioskowanie wstecz . P2 CEL Fakt 4 Fakt 1 P3 Fakt 3 CEL Fakt 2 P4 Projektowanie systemów informatycznych 21 Metody wnioskowania Wnioskowanie rozmyte 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, ...) Projektowanie systemów informatycznych 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. Projektowanie systemów informatycznych 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. Projektowanie systemów informatycznych 24 Neuronowe SE Wzorowane na ludzkim organiżmie – analogia do połączeń układu nerwowego człowieka x1 w1 x2 w2 wi xi f(net) wi 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ł Projektowanie systemów informatycznych 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ę. Projektowanie systemów informatycznych 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. Projektowanie systemów informatycznych 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 Projektowanie systemów informatycznych 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 Projektowanie systemów informatycznych 29 KONIEC wykład 9 Projektowanie systemów informatycznych 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ć. Projektowanie systemów informatycznych 31