Transcript
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
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