Inteligentne Systemy Obliczeniowe Wykład 4
Piotr W ˛asiewicz
Zakład Sztucznej Inteligencji - ISE PW
pwasiewi@elka.pw.edu.pl
Wprowadzenie do systemów ekspertowych
Systemy Ekspertowe
• Wprowadzenie
• Podstawowe wiadomo´sci
• Podstawowe koncepcje
• Struktura
Zastosowania SI tzn. Systemów Ekspertowych
• Program szachowy z komputera Deep Blue pokonał mistrza ´swiata Gary Kasparova. Inne programy mog ˛a udowadnia´c matematyczne twierdzenia, tłumaczy´c na j ˛ezyki obce np. Altavista, planowa´c
procesy produkcyjne, operacje w trudnych warunkach np. DART.
• Program PEGASUS rezerwuje miejsca w ameryka ´nskich liniach lotniczych słuchaj ˛ac polece ´n klientów. Program ALVINN mo˙ze w ka˙zdych warunkach atmosferycznych kierowa´c ci ˛e˙zarówk ˛a np.
przejechał ni ˛a z Washingtonu do San Diego.
• Inteligentne programy rozpoznaj ˛a twarze np. w bankach, odr ˛eczne pismo, sprawdzaj ˛a lub projektuj ˛a układy elektroniczne np. EURISKO, rekonstruuj ˛a projekty architektów, szuka złó˙z geologicznych np.
PROSPECTOR, interpretuje zwi ˛azki chemiczne np. SCANMAT, DENDRAL.
• Programy zwane systemami ekspertowymi pomagaj ˛a lub s ˛a lepsze
Kategorie systemów ekspertowych
• doradcze (ang. advisory )
• podejmuj ˛ace decyzj ˛e bez kontroli człowieka (ang.
dictatorial)
• krytykuj ˛ace (ang. criticizing)
Inżynieria wiedzy tworzy metody programowania dla:
• akwizycji (pozyskiwania) i strukturalizacji wiedzy ekspertów
• dopasowania i wyboru odpowiednich metod wnioskowania i wyja´sniania dla rozwi ˛azywanych problemów,
• projektowanie odpowiednich interfejsów (układów
po´srednicz ˛acych) mi ˛edzy komputerem, a u˙zytkownikiem.
Ogólna struktura systemu ekspertowego
Maszyna wnioskuj ˛aca +
Interfejs z u˙zytkownikiem
Baza wiedzy
X
Baza wiedzy
Y
Baza wiedzy
Z
Podstawowe bloki systemu ekspertowego
Baza wiedzy Fakty Reguły
Maszyna wnioskuj ˛aca wraz z jednostk ˛a
steruj ˛ac ˛a
Elementy struktury systemu ekspertowego
• baza wiedzy (np. zbiór reguł),
• baza danych (np. dane o obiekcie, wyniki pomiarów, hipotezy),
• procedury wnioskowania - maszyna wnioskuj ˛aca,
• procedury obja´sniania - obja´sniaj ˛a strategi ˛e wnioskowania,
• procedury sterowania dialogiem - procedury
wej´scia/wyj´scia umo˙zliwiaj ˛a formułowanie zada ´n przez u˙zytkownika i przekazywanie rozwi ˛azania przez program,
• procedury umo˙zliwiaj ˛ace rozszerzanie oraz modyfikacj ˛e wiedzy - akwizycja wiedzy.
Główne elementy systemu ekspertowego
Procedury wnioskowania
Procedury sterowania
dialogiem
Procedury obja´sniania
Baza wiedzy
Baza danych stałych
Baza danych zmiennych
Procedury aktualizacji bazy wiedzy
Typowy proces pozyskiwania wiedzy
Ekspert dziedziny
In˙zynier wiedzy
Baza wiedzy
Wiedza, koncepcje, rozwi ˛azania Dane, problemy, pytania
Wiedza w strukturach
Role twórców systemu ekspertowego
Twórca narz ˛edzi
Ekspert dziedziny
Narz ˛edzia do budowy
systemów ekspertowych
In˙zynier wiedzy
System
ekspertowy U˙zytkownik
Baza wiedzy
buduje prowadzi
dialog
budujei testuje
wykorzystuje
wyko- rzystuje dane rozszerza
i testuje
wykorzystuje i aktualizuje
Podstawowe zagadnienia w systemach opartych na bazie
• reprezentacja wiedzy,
• akwizycja wiedzy,
• sposób u˙zycia wiedzy,
• obja´snianie i uczenie si ˛e.
Porównanie konwencjonalnego przetwarzania z inżynierią
Konwencjonalne przetwarzanie danych
In˙zynieria wiedzy
Programista analityk systemu In˙zynier wiedzy
Program System ekspertowy
Baza danych Baza wiedzy
Reprezentacja i u˙zycie danych Reprezentacja i u˙zycie wiedzy
Algorytm Heurystyki
Efektywna manipulacja du˙zymi ba- zami danych
Efektywna manipulacja du˙zymi ba- zami wiedzy
Porównanie ekspertyzy naturalnej z ekspertyzą sztuczną
Ekspertyza naturalna wykonywa- na przez człowieka
Ekspertyza sztuczna
Wady:
• trudna do przeniesienia
• trudna do dokumentacji
• nie daj ˛aca si ˛e przewidzie´c
• kosztowna
• trac ˛aca na warto´sci z upływem czasu
Zalety:
• łatwa do przeniesienia
• łatwa do dokumentacji
• zgodna z baz ˛a wiedzy
• dost ˛epna
• stała
Porównanie ekspertyzy naturalnej z ekspertyzą sztuczną
Ekspertyza naturalna wykonywa- na przez człowieka
Ekspertyza sztuczna
Zalety:
• twórcza
• adaptacyjna
• wykorzystywnie zmysłów
• szeroki zakres
• wiedza zdrowego rozs ˛adku
Wady:
• nie inspiruj ˛aca
• wymaga wprowadzenia wiedzy
• wej´scie symboliczne
• w ˛aski zakres
• wiedza przetwarzana w sposób mechaniczny
Rodzaje systemów ekspertowych
Tryby pracy systemów ekspertowych
• Diagnoza
• Prognoza
• Plan
Rodzaje systemów ekspertowych
Kategoria Zadania realizowane przez systemy eksperto- we
Interpretacyjne Dedukuj ˛a opisy sytuacji z obserwacji lub sta- nu czujników, np. rozpoznawanie mowy, obrazów, struktur danych
Predykcyjne Wnioskuj ˛a o przyszło´sci na podstawie danej sytu- acji, np. prognoza pogody, rozwój choroby
Diagnostyczne Okre´slaj ˛a wady systemu na podstawie obserwacji, np. medycyna, elektronika, mechanika
Kompletowania Konfiguruj ˛a obiekty w warunkach ogranicze ´n, np.
konfigurowanie systemu komputerowego
Planowania Podejmuj ˛a działania, aby osi ˛agn ˛a´c cel, np. ruchy
Rodzaje systemów ekspertowych c.d.
Kategoria Zadania realizowane przez systemy eksperto- we
Sterowania Kieruj ˛a zachowaniem systemu; obejmuj ˛a interpre- towanie, predykcj ˛e, napraw ˛e i monitorowanie za- chowania si ˛e obiektu
Poprawiania Podaj ˛a sposób post ˛epowania w przypadku złego funkcjonowania obiektu, którego te systemy doty- cz ˛a
Naprawy Harmonogramuj ˛a czynno´sci przy dokonywaniu na- praw uszkodzonych obiektów
Instruowania Systemy doskonalenia zawodowego dla studen- tów
Podstawowe obszary zastosowań systemów ekspertowych
Sektor Za- stosowanie
Bankowo ´s ´c i ubezpie- czenia
Przemysł Handel i usługi
Sektor
publiczny i inne
Monitorowanie Sterowanie
Obserwowanie trendów
Nadzorowanie procesów,
sterowanie procesami, raportowa- nie spe- cjalnych
sytuacji
Obserwowanie trendów
Monitorowanie reaktorów
j ˛adrowych oraz du-
˙zych sieci (gazowe, wodne)
Projektowanie Projektowanie
zakładów i
Wybór asor- tymentów,
Sieci (pocz- towe, ener-
Podstawowe obszary zastosowań systemów ekspertowych
Sektor Za- stosowanie
Bankowo ´s ´c i ubezpie- czenia
Przemysł Handel i usługi
Sektor
publiczny i inne
Diagnostyka Kredyty,
po˙zyczki na nieruchomo-
´sci, analiza ryzyka, prze- twarzanie skarg
Wykrywanie uszkodze ´n, utrzymy- wanie zdolno´sci produkcyjnej
Kredyty, analiza ryzyka
Diagnoza medyczna, diagnoza techniczna
Planowanie Analiza ryzy- ka, planowa- nie inwesty- cji
Projektowanie funkcji
logicznych, planowanie projektu
Analiza
ryzyka, ana- liza rynku
Planowanie inwestycji, plany na wypadek kl ˛eski, pla- nowanie
Podział systemów ekspertowych
• Ze wzgl ˛edu na sposób realizacji - dedykowane
- szkieletowe
• Ze wzgl ˛edu na metod ˛e prowadzenia procesu wnioskowania
- z logik ˛a dwuwarto´sciow ˛a (Boole’a) - z logik ˛a wielowarto´sciow ˛a
- z logik ˛a rozmyt ˛a
• Ze wzgl ˛edu na rodzaj przetwarzanej informacji - z wiedz ˛a pewn ˛a, czyli zdeterminowan ˛a
- z wiedz ˛a niepewn ˛a (aparat probabilistyczny)
Właściwości systemów ekspertowych
• Poprawno´s´c systemu
• Uniwersalno´s´c
• Zło˙zono´s´c
- małe (100 - 300 reguł) - ´srednie (300 - 2000 reguł) - du˙ze (ponad 2000 reguł)
• Autoanaliza
• Zdolno´s´c udoskonalania bazy wiedzy
- kontrola niesprzeczno´sci nowo wprowadzanych do bazy wiedzy reguł z regułami w niej zawartymi
- kontrola zgodno´sci reguł z nowo wprowadzanymi faktami
- mechanizm oceny cz ˛esto´sci stosowania poszczególnych reguł - mechanizm rozbudowy istniej ˛acej bazy reguł poza zakres danej
bazy wiedzy
Podczas tworzenia bazy wiedzy należy odpowiedzieć na
• jakie obiekty nale˙zy zdefiniowa´c?
• jakie relacje mi ˛edzy obiektami?
• jak nale˙zy formułowa´c i przetwarza´c reguły?
• czy z punktu widzenia rozwi ˛azywania
specyficznego problemu, baza wiedzy jest kompletna?
Rodzaje baz wiedzy
• baza tekstów (ang. text base)
• baza danych (ang. data base)
• baza reguł (ang. rule base)
• baza modeli (ang. model base)
• baza wiedzy zdroworozs ˛adkowej (ang. common sense knowledge base)
Cechy programów redakcyjnych do tworzenia baz wiedzy
• wygodny dla u˙zytkownika sposób komunikacji i
zautomatyzowane operacje rejestracji przy rozmieszczaniu informacji;
• kontrolowanie ortograficznej i syntaktycznej poprawno´sci wprowadzanej informacji tekstowej;
• sprawdzanie semantycznej niesprzeczno´sci mi ˛edzy dotychczasow ˛a zawarto´sci ˛a bazy danych, a nowo wprowadzanymi faktami.
Narzędzia do tworzenia systemów ekspertowych
• systemy szkieletowe (ang. expert system shells)
• ´srodowiskowe programy ułatwiaj ˛ace implementacj ˛e systemu, np. programy ułatwiaj ˛ace zarz ˛adzanie baz ˛a wiedzy, programy grafiki komputerowej, itd.
• j ˛ezyki systemów ekspertowych, jak CLIPS, FLOPS, OPS5 itd.
• j ˛ezyki programowania symbolicznego np. LISP, PROLOG,
• j ˛ezyki algorytmiczne np. C, C++, Python, Java itd.
Zalety systemów szkieletowych
• zapewniaj ˛a one mechanizm dla formalnej reprezentacji wiedzy, np. reguły, ramy itp.
• zapewniaj ˛a narz˛edzia do strukturalizacji bazy wiedzy,
• posiadaj ˛a wbudowany mechanizm wnioskowania,
• daj ˛a interfejs odpowiedni do utworzenia systemu
ekspertowego, umo˙zliwiaj ˛acy konstruowanie i rozbudow ˛e bazy wiedzy równie˙z dla ko ´ncowego u˙zytkownika,
• zapewniaj ˛a udogodnienia do tworzenia komponentów systemu obja´sniaj ˛acego,
• daj ˛a narz˛edzia do sprawdzenia poprawno´sci bazy wiedzy,
• daj ˛a narz˛edzia do pozyskiwania wiedzy,
Wady systemów szkieletowych
• twórca systemu ekspertowego jest ograniczony do mo˙zliwo´sci danego narz˛edzia. Specyficzny system szkieletowy jest
przeznaczony do odpowiednich zastosowa ´n, nie do wszystkiego, np. diagnozowanie, planowanie,
• czasem trzeba pozna´c j ˛ezyk danego systemu szkieletowego np. GURU, Knowledge Pro, itp.
• ka˙zdy system szkieletowy ma swoj ˛a specyficzn ˛a struktur ˛e reguł,
• zmiana funkcji systemu jest mo˙zliwa, je´sli jest to przewidziane i jest do tego odpowiedni interfejs; na ogół nie mo˙zna nic
przerabia´c, poniewa˙z brak jest kodu ´zródłowego,
• wysokie ceny; mog ˛a one pracowa´c na okre´slonych typach komputerów, czasami o pot ˛e˙znej mocy obliczeniowej.
Szacowanie czasu tworzenia systemu
• model nr 1 Walstona-Felixa (1977):
M M = 5, 2L0,91
• model nr 2 Boehma (1981):
M M = 2, 4L1,05
gdzie L - liczba tysi ˛ecy instrukcji kodu, a M M - osobo-miesi ˛ace (ang. man-month)
Porównanie czasów tworzenia systemów ekspertowych
Czas tworzenia (M M) Wielko ´s ´c
systemu
Liczba instrukcji
Liczba reguł Model 1 Model 2 Technika
ES Małe 1002000
−200 9,7 5,0 0,5
Srednie´ 5008000
−1000 34,5 21,0 6 - 8
Du˙ze 2000120000
−10000 430,0 392,0 18 - 36
Korzyści z wykorzystania systemów ekspertowych czasu
• zmniejszenie liczby operatorów
• zmniejszenie potrzeby ci ˛agłej obecno´sci operatorów o wysokich kwalifikacjach
• zmniejszenie kosztów trenowania operatorów
• zwi ˛ekszenie jako´sci systemu
• zwi ˛ekszenie przepustowo´sci systemu
• zmniejszenie awaryjno´sci
• bardziej spójne o wy˙zszej jako´sci monitorowanie
Typy procesów w systemach ekspertowych czasu rzeczywistego
• procesy maszyny wnioskuj ˛acej
• procesy pozyskiwania wiedzy
• procesy komunikowania si ˛e z u˙zytkownikiem
Architektura rozproszonego systemu czasu rzeczywistego
Interfejs z u˙zytkownikiem
Proces pozyskiwania
danych
Maszyna wnioskuj ˛aca
Sie´c Ethernet
Maszyna wnioskuj ˛aca
Interfejs i maszyna wnioskuj ˛aca
Interfejs z u˙zytkownikiem
Podstawowe wymagania stawiane systemom czasu rzeczywistego
• Reguły wyzwalane co pewien czas
Przykład: REGUŁA: "Niewła´sciwe napi ˛ecie baterii";
KONTEKST: {Manewr};
OKRES TESTU: 10 sekund;
PRIORYTET: 100;
IF bateria1.napi ˛ecie < 27,5
THEN bateria1.status := niewła´sciwy;
Alarm("eps","bateria1","Napi ˛ecie baterii1 jest teraz niewła´sciwe, aby odbył si ˛e manewr");
Podstawowe wymagania stawiane systemom czasu rzeczywistego
• Wnioskowanie czasowe
Klasa Bateria
Atrybut Warto´s´c Element Bateria1 Jest_cz ˛e´sci ˛a EPS
Wej´scie Przeka´znik Napi ˛ecie
Stan
Bufor pier´scieniowy
Warto´s´c 34,4 34,7 36,5 Czas 7:12 7:43 8:21
Warto´s´c normalna nienormalna
Czas 7:12 8:21
Podstawowe wymagania stawiane systemom czasu rzeczywistego
• Wnioskowanie czasowe
Przykład: REGUŁA: "Niewła´sciwe napi ˛ecie baterii";
KONTEKST: {Manewr};
OKRES TESTU: 10 sekundi;
PRIORYTET: 100;
IF Min(bateria1.napi ˛ecie, 30 sekund) > 35 THEN bateria1.status := niewła´sciwy;
Alarm("eps","bateria1","Napi ˛ecie baterii1 przekroczyło górne ograniczenie przez co najmniej 30 sekund");
Podstawowe wymagania stawiane systemom czasu rzeczywistego
• Koncentracja uwagi
• Działania ci ˛agłe