Systemy ekspertowe Wykład 6 1
Zbieranie informacji i danych Podczas tworzenia bazy wiedzy zbieranie informacji i danych moŝna realizować poprzez: poszukiwanie literatury; zastawienie bibliografii; gromadzenie materiałów źródłowych; gromadzenie dokumentów; generowanie sztucznych danych; zbieranie danych za pomocą eksperymentów; konsultacje z ekspertami (najwaŝniejsze źródło). 2
Konsultacje z ekspertami obserwacja inŝynier wiedzy obserwuje eksperta w miejscu pracy; dyskusja inŝyniera wiedzy z ekspertem; opisywanie problemu ekspert opisuje problem dla kaŝdej kategorii danych wejściowych; analizowanie problemu inŝynier wiedzy stawia ekspertowi szereg problemów do rozwiązania i analizuje sposób rozumowania eksperta w trakcie ich rozwiązywania; udoskonalanie systemu ekspert zadaje inŝynierowi wiedzy problemy do rozwiązania i sprawdza, czy rozwiązania są adekwatne do tej wiedzy jaką przekazał inŝynierowi jest to jakby sprzęŝenie zwrotne między inŝynierem wiedzy a ekspertem; testowanie ekspert testuje i wydaje opinię o kaŝdej regule w systemie ekspertowym, ocenia teŝ strategię stosowaną do wyboru reguł; legalizacja prototyp systemu jest udostępniany innym ekspertom w celu oceny poprawności działania i krytyki systemu; 3
Istniejące systemy ekspertowe Systemy ekspertowe najlepiej nadają się do zastosowania w tych dziedzinach, które są słabo sformalizowane, w których trudno jest sformułować teorie oparte na matematyce lub ścisłe algorytmy działania. Przykładami mogą być: rolnictwo, medycyna, geologia, prawo, zarządzanie, robotyka, chemia. Do rozwiązywania problemów, dla których istnieją algorytmy numeryczne, stosowanie systemów ekspertowych jest nieopłacalne, gdyŝ programy algorytmiczne są na ogół szybsze i prowadzą do optymalnego rozwiązania, podczas gdy systemy ekspertowe nie muszą prowadzić do rozwiązań optymalnych a jedynie akceptowalnych przez uŝytkownika systemu. Niektóre istniejące systemy ekspertowe: MACSYMA słuŝy do rozwiązywania problemów matematycznych i całkowania; wykorzystywany w MIT przez fizyków plazmy, pozyskiwanie wiedzy przez przeprogramowanie; uznawany za bardzo efektywny; DENDRAL słuŝy do identyfikacji związków chemicznych, stosowany w USA, pozyskiwanie wiedzy przez przeprogramowanie, uznawany za bardzo efektywny; PROSPECTOR słuŝy do interpretacji danych dotyczących zasobów geologicznych (poszukiwanie złóŝ minerałów), mocno rozbudowany system pozyskiwania wiedzy, rezultaty dobre; REACTOR słuŝy do diagnostyki siłowni jądrowych; uznany za dobry; 4
Narzędzia do tworzenia systemów ekspertowych System ekspertowy moŝe być tworzony przy uŝyciu dowolnego języka programowania (Basic, Algol, Fortran, Pascal, C, C+ i in.), jednakŝe tworzenie tworzenie systemu w tych językach od podstaw moŝe być bardzo czasochłonne, stąd opracowano specjalne języki programowania przeznaczone do tworzenia systemów ekspertowych, np.: LISP LISt Processing PROLOG PROgrammation LOGique OPS5 Official Production System CLIPS C Language Integrated Production System JESS - Java Zawierają one w sobie maszynę wnioskującą (z wyjątkiem LISP-u), a takŝe wyspecjalizowane narzędzia ułatwiające tworzenie systemu, zawierające interfejs uŝytkownika, blok pozyskiwania wiedzy, blok wyjaśnień i inne. Takie narzędzia są nazywane systemami szkieletowymi moŝna je traktować jako systemy ekspertowe z pustą bazą wiedzy, której zapełnienie zmienia je w konkretny system ekspertowy. Takie podejście znakomicie ułatwia i przyśpiesza tworzenie systemów ekspertowych. 5
WNIOSKOWANIE ROZMYTE 6
Geneza W realnym świecie wiele zjawisk opisywanych jest w sposób nieprecyzyjny. (Przykłady: znacznie, duŝo, prawie, większość, wysoki, niski, itp.) trudno taką wiedzę zdefiniować czyli dokładnie określić wartości wszystkich występujących zmiennych; problem polega na ustaleniu, co to właściwie znaczy prawie czy znacznie. Logika rozmyta (ang. fuzzy logic) wywodzi się aŝ od polskiego matematyka Łukasiewicza, który jako pierwszy wprowadził logikę wielowartościową ( ). 7
Taki rodzaj braku precyzji nazywany jest "rozmyciem". Zbiór rozmyty definiuje się przez funkcję, która przyjmuje wartości z przedziału (0,1). Podstawowe pojęcia zbiorów rozmytych wprowadził Lotfi A. Zadeh w 1965. 8
Lotfi Asker Zadeh Lotfi Asker Zadeh właściwie Lotfi Aliaskerzadeh (ur. 4 lutego 1921 w Baku, AzerbejdŜan), matematyk i informatyk, profesor Uniwersytetu Kalifornijskiego w Berkeley. Studiował na Alborz High School oraz UniwersytecieTeherańskim, przeniósł się do USA w 1944. Pracownik Uniwersytetu Kalifornijskiego w Berkeley od 1959 roku. Głównym zagadnieniem, którym się zajmował jest soft computing. Twórca teorii zbiorów rozmytych (fuzzy set, 1965) i logiki rozmytej (1973). Zainteresowania naukowe: sztuczna inteligencja, logika, lingwistyka, teoria sterowania, systemy ekspertowe i sieci neuronowe. Jest członkiem IEEE, AAAS, ACM, AAAI, and IFSA. Otrzymał wiele doktoratów honoris causa, w tym w Polsce od Politechniki Śląskiej w Gliwicach. Jest laureatem Medalu Hamminga (1992) oraz IEEE Medal of Honor (1995). 9
Dla zbiorów rozmytych funkcja przynaleŝności do zbioru moŝe przyjąć obok stanów krańcowych 0 i 1 równieŝ wartości pośrednie. Dla zbiorów ostrych (klasycznych) funkcja przynaleŝności jest binarna czyli przyjmuje wartości 0 lub 1. Inaczej mówiąc, kaŝdy element dziedziny albo naleŝy do zbioru, albo do jego dopełnienia(czyli inaczej mówiąc nie naleŝy do tego zbioru). Jeśli mamy pojęcia np. dzień i noc, to one się wzajemnie wykluczają. Temperatura otoczenia moŝe być tylko albo ujemna, albo nieujemna. 10
W teorii zbiorów rozmytych przyjmuje, Ŝe element moŝe naleŝeć częściowo do zbioru jak i do jego dopełnienia. Stopień przynaleŝności elementu x do zbioru A określa funkcja przynaleŝności, oznaczana zwykle m A (X), o wartościach w przedziale [0, 1 ]. Przykład funkcji przynależności dla zbioru rozmytego chłodno, określonego w przestrzeni temperatur (-20 +40 0 C). Sytuacja, gdy m A (X)=1 oznacza pełną przynależność elementu x do zbioru A. Sytuacja, gdy m A (X)=0 oznacza brak tej przynależności. 11
Zmienna lingwistyczna x - temperatura - nazwa zmiennej lingwistycznej, X - przestrzeń temperatur, czyli przedział [-20, +40 ] o C, - {Mróz, Zimno, Chłodno, Ciepło, Gorąco } - wartości zmiennej lingwistycznej, przy czym: - dla temperatur [-20, 0] zmienna lingwistyczna przyjmuje wartość mróz, - dla temperatur [-5, 10] zmienna lingwistyczna przyjmuje wartość zimno, - dla temperatur [5, 20] zmienna lingwistyczna przyjmuje wartość chłodno, - dla temperatur [15, 30] zmienna lingwistyczna przyjmuje wartość ciepło, - dla temperatur [25, 40] zmienna lingwistyczna przyjmuje wartość gorąco. 12
Dana wartość zmiennej x moŝe naleŝeć jednocześnie do kilku zbiorów rozmytych, z róŝnym stopniem przynaleŝności. Na przykład temperatura 14 o C naleŝy do zbioru chłodno ze stopniem przynaleŝności 0,4 i zbioru ciepło ze stopniem przynaleŝności 0,6. Aby utrzymać zgodność ze zbiorami klasycznymi przyjęto Ŝe suma przynaleŝności kaŝdego elementu dziedziny do wszystkich zbiorów rozmytych wynosi 1. Dzięki temu zbiory binarne jest przypadkiem szczególnym zbiorów rozmytych (zbiory rozmyte są uogólnieniem zbiorów binarnych ). 13
Nośnik zbioru rozmytego Nośnikiem (ang. support) zbioru rozmytego A nazywamy zbiór wartości x, dla których funkcja przynaleŝności (ang. membership function, stąd symbol m ) jest nieujemna (m A (x)>0). Np. nośnikiem zbioru chłodno jest przedział temperatur [5, 20] o C. 14
Rozmyty singleton Zbiór rozmyty, który stanowi jeden punkt x 0 z wartością m(x)<1, nazywamy rozmytym singletonem. Wynikiem wnioskowania dla niektórych procesorów rozmytych są singletony. 15
Dopełnienie zbioru rozmytego Dopełnienie zbioru A, to zbiór rozmyty A o funkcji przynaleŝności m A (x)=1-m A (x). Zbiór rozmyty chłodno oraz jego dopełnienie. NOT x = (1 - truth(x)) 16
Suma logiczna Suma logiczna (ang. union) zbiorów A i B o funkcjach przynaleŝności m A (x), m B (x ), to zbiór rozmyty C o funkcji przynaleŝności stanowiącej maksimum funkcji zbiorów A i B. m C = max(m A (x),m B (x)) x OR y = maximum(truth(x), truth(y)) 17
Iloczyn logiczny (ang. intersection), to zbiór rozmyty C o funkcji przynaleŝności równej minimum funkcji : m C = min(m A (x),m B (x)) x AND y = minimum(truth(x), truth(y)) 18
Uogólnione reguły modus ponens oraz modus tollens x, y są zmiennymi lingwistycznymi, a A i B są zbiorami rozmytymi. Uogólniona reguła modus ponens (wnioskowanie w przód): przesłanka 1: x jest A przesłanka 2: jeśli x jest A to wtedy y jest B wniosek: y jest B Uogólniona reguła modus tollens (wnioskowanie wstecz): przesłanka 1: y jest ØB przesłanka 2: jeśli x jest A to wtedy y jest B wniosek: x jest ØA 19
Przykłady wnioskowania przybliŝonego Przykład wnioskowania typu modus tollens : Przesłanka 1: temperatura wody w kotle CO jest wysoka. Przesłanka 2 niech stanowi regułę sterowania: jeśli temperatura jest wysoka to znacznie zmniejsz dopływ gazu. Wtedy wnioskiem jest decyzja o znaczącym zmniejszeniu dopływu gazu. Przykład wnioskowania typu modus tollens: Przesłanka 1 :Jaś raczej nie ma gorączki i zaczerwienionego gardła. Przesłanka 2 :jeśli ktoś ma anginę, to ma gorączkę i zaczerwienione gardło. Wniosek : Jasio raczej nie ma anginy. 20
Przykład prostego regulatora wentylatora IF temperature IS very cold THEN stop fan IF temperature IS cold THEN turn down fan IF temperature IS normal THEN maintain level IF temperature IS hot THEN speed up fan Kilka reguł moŝe być aktywowanych (w pewnym stopniu) w tym samym czasie, poniewaŝ w logice rozmytej temperatura moŝe być np. w pewnym stopniu zimna i bardzo zimna. Wtedy wniosek ostateczny byłby pewną kombinacją działania tych reguł indywidualnych. 21
Wnioskowanie według reguły wygrywającej Wyznaczanie wag reguł odbywa się z wykorzystaniem operacji minimum. Decyzję stanowi zbiór rozmyty reguły o najwyŝszej wadze. Zwykle wystarcza po kilka np. 5..8 zbiorów rozmytych opisujących kaŝdą ze zmiennych wejściowych. Przy dwu wielkościach wejściowych wystarcza 25 do 60 reguł. Zbyt duŝa liczba reguł nie jest korzystna, bowiem obróbka sygnałów zajmuje więcej czasu i decyzje o zmianach sygnału sterującego są podejmowane rzadziej, co ma wpływ na szybkość i stabilność systemu. Z tego względu prostsze wnioskowanie moŝe dawać bardziej interesujące rezultaty. 22
Wnioskowanie typu Mamdaniego Wykorzystuje ono operacje minimum i maksimum. Wielkości wejściowe x 0 oraz y 0, pochodzące np. z czujników pomiarowych, traktujemy jako singletony rozmyte. Mamdani zaproponował wyznaczanie wagi reguły jako w 1 =min [m A1 (x 0 ), m B1 (y 0 )], gdzie m A1 (x 0 )i m B1 (y 0 ) są wartościami funkcji przynaleŝności liczb x 0, y 0 do zbiorów rozmytych A 1, B 1. Decyzję stanowi zbiór rozmyty C 1 o funkcji przynaleŝności: m C1' (z)=min [w 1, m C1 (z)] Wniosek z obu reguł stanowi zbiór rozmyty C o funkcji przynaleŝności: m C =max(m C1', m C2' )= max [min(w 1, m C1 ), min(w 2, m C2 )]. Ze względu na tę zaleŝność, metodę nazywa się czasem max-min. 23
Wnioskowanie typu Larsena Jest ono bardzo podobne do wnioskowania Mamdaniego. Wagi reguł oblicza się identycznie jako minimum z wartości w 1 =min [m A1 (x 0 ), m B1 (y 0 )], ale decyzję stanowi zbiór rozmyty C 1' o funkcji przynaleŝności będącej iloczynem m C1' (z)=w 1 *m C1 (z). Wniosek z obu reguł stanowi zbiór rozmyty C o funkcji przynaleŝności m C =max [w 1 *m C1, w 2 *m C2 ]. PowyŜsza metoda nazywana jest max-dot. 24
Agregacja reguł Agregacja, to łączenie w celu zmniejszenia ogólnej liczby reguł. Przypuśćmy, Ŝe mamy trzy reguły: R1: jeŝeli x jest A 1 i y jest B 1 to z jest C 1 oraz R2: jeŝeli x jest A 1 i y jest B 2 to z jest C 1 oraz R3: jeŝeli x jest A 1 i y jest B 3 to z jest C 1. MoŜna przedstawić je w postaci jednej rozbudowanej reguły. R:jeŜeli x jest A 1 i (y jest B 1 lub y jest B 2 lub y jest B 3 ) to z jest C 1. 25
If a man is 1.8 meters, consider him as tall: IF male IS true AND height >= 1.8 THEN is_tall IS true; is_short IS false The fuzzy rules do not make the sharp distinction between tall and short, that is not so realistic: IF height <= medium male THEN is_short IS agree somewhat IF height >= medium male THEN is_tall IS agree somewhat In the fuzzy case, there are no such heights like 1.83 meters, but there are fuzzy values, like the following assignments: dwarf male = [0, 1.3] m short male = (1.3, 1.5] medium male = (1.5, 1.8] tall male = (1.8, 2.0] giant male > 2.0 m For the consequent, there are also not only two values, but five, say: agree not = 0 agree little = 1 agree somewhat = 2 agree a lot = 3 agree fully = 4 26
In the binary, or "crisp", case, a person of 1.79 meters of height is considered short. If another person is 1.8 meters or 2.25 meters, these persons are considered tall. The crisp example differs deliberately from the fuzzy one. We did not put in the antecedent IF male >= agree somewhat AND... as gender is often considered as a binary information. So, it is not so complex as being tall. 27
Zastosowania zbiorów rozmytych w technice E. H. Mamdaniemi zbudował i opisał w 1975 r. prosty układ sterowania. Od tej chwili ruszyło wiele prac konstrukcyjnych i teoretycznych dotyczących doboru reguł sterowania i parametrów sterownika. Powstały systemy samoorganizujące się, systemy człowiek-maszyna, których przykładem jest zbudowany przez japończyków helikopter sterowany głosem, rozumiejący polecenia takie jak leć trochę wyŝej, skręć nieco w lewo, itp. Logika rozmyta stopniowo wchodzi takŝe do urządzeń powszechnego uŝytku, takich jak pralki, odkurzacze, odbiorniki radiowe i telewizyjne. Systemem ogniskowania niektórych modeli kamer Canon zarządza układ rozmyty, który samodzielnie decyduje co jest obiektem filmowania i odpowiednio ustawia ostrość. W latach 1988-90 japończycy opracowali i wprowadzili do produkcji (firma Omron) pierwszy rozmyty mikroprocesor FP1000. Od tej pory rozmyte układy scalone torują sobie coraz śmielej drogę na rynek. 28
Automobile and other vehicle subsystems, such as ABS and cruise control (e.g. Tokyo monorail) Air conditioners The Massive engine used in the Lord of the Rings films, which helped show huge scale armies create random, yet orderly movements Cameras Digital image processing, such as edge detection Rice cookers Dishwashers Elevators Washing machines and other home appliances Video game artificial intelligence Language filters on message boards and chat rooms for filtering out offensive text Pattern recognition in Remote Sensing Fuzzy logic has also been incorporated into some microcontrollers and microprocessors, for instance, the Freescale 68HC12. 29