Zadanie 0 gdy nie mamy logiki rozmytej Wyobraźmy sobie, że chcemy oceniad czy dana temperatura świadczy o tym, że jest gorąco czy raczej zimno. A więc znając wartośd liczbową temperatury chcemy oceniad wartośd funkcji przynależności do klasy gorąco. Operując na własności logiki klasycznej, która przypomnijmy pozwoli nam jedynie korzystad z dwóch wartości logicznych: prawdy (1) i fałszu (0), wartośd funkcji przynależności do klasy GORĄCO określilibyśmy następująco: Czyli jeśli temperatura w danym dniu wyniesie 49 stopni stwierdzimy, że nieprawda, że jest gorąco. Jeśli zaś będzie 50 stopni, powiemy, że jest gorąco. Niezbyt nam się podoba taka klasyfikacja zgodnie z którą jak jest 49 stopni to jeszcze gorąco nie jest, a jak już jest o 1 stopieo więcej zaledwie, a więc 50 stopni to już jest gorąco. Niestety takie ograniczenia stawia nam właśnie logika klasyczna. Aby było możliwe określanie bardziej rozmyte takich granic klasyfikacji, możemy użyd logiki rozmytej. W narzędziu typu Excel, Calc czy Gnumeric napisz formułę logiczną która wyznaczy wartośd przynależności dla podanej temperatury do zbioru gorąco. Rozwiązanie: Zadanie 1- gdy już mamy logikę rozmytą Załóżmy, że mniej lub bardziej gorąco jest mniej więcej w przedziale od 20 do 100 stopni. A więc chcemy mówid, że zdecydowanie jest gorąco gdy temperatura jest większa niż 100stopni, zdecydowanie nie jest gorąco gdy temperatura jest mniejsza niż 20 stopni, zaś jeśli temperatura jest między 20 a 100 stopniami wartośd powinna byd odpowiednio proporcjonalna i w zakresie od 0 do 1. Zaproponujmy więc następującą definicję tzw. Funkcji przynależności do klasy gorąco : Funkcje przynależności Temperatura( F) Stopieo gorąca Stopieo zimna 20 0 1 30 0.13 0.87 40 0.25 0.75 50 0.375 0.625 60 0.5 0.5 70 0.625 0.375 80 0.75 0.25 90 0.875 0.125 100 1 0
Zatem dla temperatury np. 30 stopni: Stopieo przynależności do klasy gorąco wynosi wówczas: 0.13 Stopieo przynależności do klasy zimno wynosi 0.87. Możemy też powiedzied, że po prostu gdy temperatura wynosi 30 stopni, w 13% jest gorąco a w 87% jest zimno. Dlaczego 0,13? Bo podstawiając wartośd 30 do wzoru: Która jak widad pasuje tylko do środkowego warunku: bo wartośd 30 jest między 20 a 100 stopni, zatem podstawiamy ją do wzoru: =10/80 = 1/8 = 0.125=0.13 Proszę wyznaczyd wartośd funkcji przynależności do klasy gorąco dla temperatury: 20,35,40,50,60,70,80,90,100 Rozwiązanie: Zadanie 2 Dwa zbiory rozmyte reprezentują obraz samochodu i ciężarówki, i są zdefiniowane następująco: Znajdź: 1. Car Truck 3. not(car) 5. Car not(car) 2. Car Truck 4. Car not(truck) 6. Car not(car)
Rozwiązanie Zadanie 3 Następująca funkcja rozmyta ma byd użyta do obliczania funkcji przynależności da zbioru osób zdrowych. 1 zdrowy, 0 nie zdrowy. Wartośd między 0 a 1 ma określad stopieo przynależności do klasy zdrowych. BMI z przedziału między 20 a 25 to przesłanka do tego by uznad kogoś za zdrowego. BMI większe niż 27 albo mniejsze niż 18 na pewno nie świadczy o stanie zdrowym. Wartości BMI bliskie zakresowi wartości dla osób zdrowych a więc z od 20 do 25, to wartości z przedziału 0 a 1. Np. BMI = 19.6 to 0.8 1. Narysuj graficznie reprezentację funkcji rozmytej health(x) reprezentującą zarówno klasę zdrowy i niezdrowy. 2. Jaki jest stopieo przynależności rozmytego zbioru dla osób zdrowych w przypadku Marka, którego BMI wynosi 26.2? A jaki jest stopieo jego przynależności do zbioru niezdrowych? 3. Oblicz swój własny BMI i określ jaki jest stopieo przynależności twojego BMI do klasy zdrowych? Rozwiązanie:
Zadanie 4 Wiedząc, że dane są następujące reprezentacje Przykład: wysoki mężczyzna=(0/180, 1/190) niski mężczyzna=(1/160, 0/170) średniego wzrostu mężczyzna=(0/165, 1/175, 0/185) Wyznacz: a) Dopełnienie zbioru: wysoki mężczyzna = (0/180, 0.25/182.5, 0.5/185, 0.75/187, 1/190) NOT wysoki mężczyzna =. b) Iloczyn zbiorów: wysoki mężczyzna = (0/165, 0/175, 0/180, 0.25/182.5, 0.5/185, 1/190) średni mężczyzna = (0/165, 1/175, 0.5/180, 0.25/182.5, 0/185, 0/190) wysoki mężczyzna średni mężczyzna =. c) Zawieranie się zbiorów wysoki mężczyzna = (0/180, 0.25/182.5, 0.5/185, 0.75/187, 1/190) bardzo wysoki mężczyzna = d) Sumę zbiorów wysoki mężczyzna = (0/165, 0/175, 0/180, 0.25/182.5, 0.5/185, 1/190) średni mężczyzna = (0/165, 1/175, 0.5/180, 0.25/182.5, 0/185, 0/190) wysoki mężczyzna średni mężczyzna =.. Zadanie 5 Nie dana będzie następująca interpretacja wzrostu danej osoby: Wyznacz graficznie funkcje przynależności do zbiorów: Small Tall (Small Medium) Tall Rozwiązanie:
0,6 0,5 0,4 0,3 Small Tal 0,2 0,1 0 1 1,5 1,7 1,9 2 wzrost 1,2 1 0,8 0,6 (Small υ Medium) 0,4 0,2 0 1 1,5 1,7 1,9 2 wzrost Zadanie 6 Niech: A = 0.5/1 + 0.9/2 + 1/5, i B = 0.7/2 + 0.9/3 + 0.1/4. Oblicz A B i A B. Zadanie 7 Załóżmy, że chcemy rozważad liczbę naturalną bliską wartości 9. Jeśli rozważymy następujący zbiór rozmyty A A=0.2/6+0.5/7+0.8/8+1/9+0.7/10+0.4/11 Odpowiedz na następujące pytania: jaka będzie wysokośd zbioru rozmytego height(a)=? wskaż nośnik zbioru A: support(a)=, - wskaż rdzeo zbioru A: core(a)=,.- wyznacz licznośd zbioru: card(a)= Rozwiązanie: Nośnik (baza) zbioru rozmytego A *ozn. supp(a)+ to zbiór elementów dla których wartośd funkcji przynależności jest większa od zera: Jądro zbioru rozmytego A *ozn. core(a)+ to zbiór elementów, dla których wartośd funkcji przystosowania jest równa jeden: -przekrój zbioru rozmytego A to zbiór nierozmyty dla którego zachodzi:
wysokośd (ang. height) zbioru rozmytego A czyli największa wartośd funkcji przynależności w obrębie tego zbioru: Zadanie 8 Załóżmy, że systemowa baza wiedzy zawiera następujące reguły: RULE1: IF temperature is hot or warm, THEN the swimming pool is crowded. RULE2: IF temperature is cold, THEN the swimming pool is quiet. Funkcje przynależności dla poszczególnych zbiorów niech będą następujące: 1. Co jest tutaj zmienną lingwistyczną a co wartością lingwistyczną? 2. Narysuj funkcje przynależności dla temperatury i zaludnienia basenu. 3. Zakładając, że temperatura wynosi 21 stopni i że stosujemy regułę typu Mamdani, określ właściwą liczbę osób na basenie. W procesie wyostrzania zastosuj metodę środka ciężkości (centroidu). Rozwiązanie Odpowiednie wykresy wyglądad będą następująco: Dla temperatury:
0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 1,2 1 0,8 0,6 0,4 0,2 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 mhot mwarm mcold Oraz dla liczby osób na basenie: 1,2 1 0,8 0,6 0,4 0,2 0 mcrowd mquiet A więc dla temperatury 21 stopni powiemy, że na 60 % jest gorąco a na 40% cierpło. Na pewno nie jest zimno. Wtedy tylko reguła nr 1 zostanie uaktywniona. Ponieważ częśd przestankowa reguły nr 1 zawiera operator OR stosujemy funkcję Maksimum. Widzimy to w komórce B39 powyższego arkusza. Skoro rozmyta wartośd konkluzji tej reguły wyniesie 0.6 to możemy oszacowad wartośd zmiennej liczba osób na basenie. Wyniesie ona mniej więcej ok. 350 osób. Zadanie 9 Załóżmy, że mamy system będący prostym kontrolerem stosującym błąd sygnału e i zmianę błędu sygnału de jako dane wejściowe i zadane są 4 reguły w oparciu o które działa model rozmyty: RULE 1: IF e = P AND de = P THEN x = N RULE 2: IF e = P AND de = N THEN x = 0 RULE 3: IF e = N AND de = P THEN x = 0 RULE 4: IF e = N AND de = N THEN x = P
Załóżmy, że dane są dwa zbiory rozmyte jako wartości rozmytych zmiennych wejściowych e i de: P (positive) i N (negative). Rozmyta zmienna wyjściowa ma 3 wartości: P (positive), 0 (zero), N (negative) tak jak to pokazano na rysunku powyżej. Zakładając, że wejściowe zmienne mają następujące wartości funkcji przynależności w zbiorach wejściowych: μn(e) = 0.4; μp(e) = 0.6 i μn(de) = 0.2; i μp(de) = 0.8 a) stosując wnioskowanie typu Mamdani wykaż, że całkowita wartośd rozmyta wyjściowego zbioru jest taka jak pokazano na poniższym rysunku (czerwona linia). Narysuj odpowiednie wykresy. b) Wyostrz wartośd wyjścia stosując metodę centroidu. c) Stosując metodę zero order Sugeno oblicz wartośd wyjścia. Narysuj graficznie. d) Porównaj rezultaty dla obu metod wnioskowania. Rozwiązanie punktu a: Najpierw należy napisad formuły logiczne do rozmycia pojęd {P,O,N}: Taka formuła dla zaznaczonej na czerwono komórki w kolumnie R w arkuszu powinna wyglądad następująco: Bierze się to po prostu z następujących funkcji do obliczania takich wartości: N 0 x 1 ( x) 0.5 x 0. 0 5 x 1 1 x 0.5 0.5 x 0 x 0 0 x 0. 5 0( x) 0. 0 5.. 5 x 0 0 5 x 0.5 0.5 x 0 0 x 0.5 x 0.5 P 0 x ( x) 1 0. 5 x 0. 0 5 x 0 0 x 0.5 0.5 x 1 x 1 Odpowiednio narysowane dają wykres następujący:
1,2 0,8 1 0,6 0,4 0,2 0-1 - -0,5-0,75 0,25 N O P 0 0,25 0,5 0,75 1 Teraz przechodzimy do bloku wnioskowania: Reguły w naszej bazie reguł są następujące: RULE 1: IF e = P AND de = P THEN x = N RULE 2: IF e = P AND de = N THEN x = 0 RULE 3: IF e = N AND de = P THEN x = 0 RULE 4: IF e = N AND de = N THEN x = P Obliczamy więc dla każdej reguły stopieo jej rozmycia na podstawie danych wejściowych (rozmytych): Dane wejściowe: µ N ( e ) = 0,4, µ P ( e ) = 0,6, µ P ( de ) = 0,8, µ N ( de ) = 0,2 Reguła 1 ze stopniem rozmycia: min(0,6;0,8) = 0,6 Reguła 2 ze stopniem rozmycia: min(0,6;0,2) = 0,2 Reguła 3 ze stopniem rozmycia: min(0,4;0,8) = 0,4 Reguła 4 ze stopniem rozmycia: min(0,4;0,2) = 0,2 Tak więc zmienna x będąca konkluzją każdej reguły musi ulec wyostrzeniu. Przed tym jednak wszystkie reguły o tej samej wartości konkluzji muszą zostad poddane operacji połączenia. W naszym przypadku reguła 2 i 3 mają tę samą konkluzję: x=0. Zastosujemy to więc metodę Maksimum. Ostatecznie zmienna x, która jest konkluzją każdej reguły może mied następującą wartośd: N 0.6 x O max( 0.2;0.4) 0.4 Co potwierdza wykres: P 0.2 Rozwiązanie dla punktu b: dla każdej decyzji (P,N,O) wybieramy średnią ważoną: dla P 0,5 dla N -0,5 0,5* 0,6 0*0,4 0*0,2 0,5* 0,2 0,2 Wynik 0,14 dla O 0 0,6 0,4 0,2 0,2 1,4 Wtedy metoda centroidu da wynik następujący: Rozwiązanie dla punktu c: dla każdej decyzji (P,N,O) wybieramy średnią ważoną: dla P 0,5 dla N -0,5 dla O 0 Ustalamy też wagi dla każdej reguły osobno: wn 0,6 wo (0,4+0,2)/2=0,3 Wynik wp 0,2 Wówczas wynik metodą Sugeno będzie następujący 0,5* 0,6 0*0,4 0,5* 0,2 0,6 0,3 0,2 0,2 0,18 1,1
Zadania dodatkowe: Sprawozdanie z rozwiązaniem poniższych dwóch zadao będzie szansą na podwyższenie oceny z przedmiotu. Zadanie 10 Załóżmy, że mamy dane cztery reguły: I że funkcje przynależności do poszczególnych klas dane są następująco: Wyznacz (korzystad z operatora implikacji Mamdani) ryzyko towarzystwa ubezpieczeniowego dla klienta (zaznaczając na wykresie obszar będący rezultatem wnioskowania) : a) Wiek = 35 I moc samochodu = 145 KM b) Wiek = 55 I moc samochodu = 145 KM c) Wiek = 35 I moc samochodu = 190 KM Zadanie 11 Zaprojektuj system rozmyty typu Mamdani, który będzie oceniał prawdopodobieostwo spowodowania wypadku podczas jazdy samochodem. Zmienne wejściowe: prędkośd jazdy (10 200km/h ):,mała, średnio, szybko, bardzo szybko- widocznośd (0.05 4km):,bardzo słaba, średnia, dobra- Wyjście systemu: Prawdopodobieostwo spowodowania wypadku (0 1):,bardzo małe, małe, średnie, duże- Sporządź odpowiednie wykresy zmiennych dla podanych zmiennych lingwistycznych, podaj wzory proponowanych funkcji przynależności oraz przeprowadź wnioskowanie metodą Mandami. Wyostrz rezultat wnioskowania używając metody pierwszego maksimum.