Sterownik (regulator) rozmyty przykład [1] zadanie: przywracanie ustalonej pozycji wózka na platformie masa siła siła -2 m 0 m 2 m tarcie 1
Sterownik (regulator) rozmyty przykład (2) zmienne: x pozycja wózka v prędkość wózka u siła sterująca opis przy użyciu zbiorów rozmytych pozycja wózka: na lewo, na środku, na prawo prędkość wózka: poruszanie się w lewo, postój, poruszanie się w prawo siła sterująca: ciągnięcie, brak siły, pchanie 2
Sterownik (regulator) rozmyty przykład (3) możliwe funkcje przynależności dla poszczególnych terminów lingwistycznych: pozycja wózka m(x) na lewo na środku na prawo 1,0 0,0-2 m -1 m 0 m 1 m 2 m x 3
Sterownik (regulator) rozmyty przykład (4) możliwe funkcje przynależności dla poszczególnych terminów lingwistycznych: prędkość wózka m(v) poruszanie się w lewo postój poruszanie się w prawo 1,0 0,0 v -1 m/s -0,5 m/s 0 m/s 0,5 m/s 1 m/s 4
Sterownik (regulator) rozmyty przykład (5) możliwe funkcje przynależności dla poszczególnych terminów lingwistycznych: siła sterująca m(u) 1,0 ciągnięcie brak siły pchanie 0,0-1 N -0,5 N 0 N 0,5 N 1 N u 5
Sterownik (regulator) rozmyty przykład (6) możliwe reguły sterujące: r1 jeżeli na lewo, to pchanie r2 jeżeli na prawo, to ciągnięcie r3 jeżeli na środku, to brak siły r4 jeżeli poruszanie się w lewo, to pchanie r5 jeżeli postój, to brak siły r6 jeżeli poruszanie się w prawo, to ciągnięcie r7 jeżeli na lewo i poruszanie się w lewo, to pchanie r8 jeżeli na środku i postój, to brak siły r9 jeżeli na prawo i poruszanie się w prawo, to ciągnięcie 6
Sterownik (regulator) rozmyty przykład (7) teraz dla dowolnego stanu wejściowego (x, v), możemy określić akcję (u) wyliczamy tzw. wartości funkcji przynależności dla poprzednika [tu: pojedyncze zbiory rozmyte lub ich koniunkcje], każdej reguły załóżmy, że wózek stoi o pół metra od środka i nie porusza się x = - 0,5m i v = 0 m/s dla r1 jeżeli na lewo, to pchanie mamy, mna lewo(x = - 0,5) = 0,5 zatem, tyle wynosi wartość dla poprzednika 7
Sterownik (regulator) rozmyty przykład (8) dla reguł r2 do r5 poprzedniki przyjmują następujące wartości: r2 jeżeli na prawo, to ciągnięcie mna prawo(x = -0,5) = 0 r3 jeżeli na środku, to brak siły mna środku(x = -0,5) = 0,5 r4 jeżeli poruszanie się w lewo, to pchanie mporuszanie się w lewo(v = 0) = 0 r5 jeżeli postój, to brak siły mpostój(v = 0) =1 8
Sterownik (regulator) rozmyty przykład (9) dla reguł r6 do r9 poprzedniki przyjmują następujące wartości: r6 jeżeli poruszanie się w prawo, to ciągnięcie mporuszanie się w prawo(v = 0) = 0 r7 jeżeli na lewo i poruszanie się w lewo, to pchanie min{mna lewo(x = - 0,5), mporuszanie się lewo(v = 0)} = 0 r8 jeżeli na środku i postój, to brak siły min{mna środku(x = - 0,5), mpostój(v = 0)} = 0,5 r9 jeżeli na prawo i poruszanie się w prawo, to ciągnięcie min{mna prawo(x = - 0,5), mporuszanie się prawo(v = 0)} = 0 9
Sterownik (regulator) rozmyty przykład (10) kojarzymy wszystkie wartości funkcji przynależności dla poprzedników z wartościami funkcji dla następników [tu: zbiorów rozmytych określających akcję, która ma być wykonana po zastosowaniu reguły]; polega to na wyznaczeniu minimum między funkcją przynależności związaną z każdą możliwą akcją, a wartością funkcji przynależności poprzednika otrzymujemy zatem, 10
r1 0,5 pchanie {(-1, 0), (0, 0), (1, 1)} wynik: {(-1, 0), (0, 0), (1, 0,5)} r2 0 ciągnięcie {(-1, 1), (0, 0), (1, 0)} wynik: {(-1, 0), (0, 0), (1, 0)} r3 0,5 brak siły {(-1, 0), (0, 1), (1, 0)} wynik: {(-1, 0), (0, 0,5), (1, 0)} r4 0 pchanie {(-1, 0), (0, 0), (1, 1)} wynik: {(-1, 0), (0, 0), (1, 0)} r5 1 brak siły {(-1, 0), (0, 1), (1, 0)} wynik: {(-1, 0), (0, 1), (1, 0)} r6 0 ciągnięcie {(-1, 1), (0, 0), (1, 0)} wynik: {(-1, 0), (0, 0), (1, 0)} r7 0 pchanie {(-1, 0), (0, 0), (1, 1)} wynik: {(-1, 0), (0, 0), (1, 0)} r8 0,5 brak siły {(-1, 0), (0, 1), (1, 0)} wynik: {(-1, 0), (0, 0,5), (1, 0)} r9 0 ciągnięcie {(-1, 1), (0, 0), (1, 0)} wynik: {(-1, 0), (0, 0), (1, 0)} 11
Sterownik (regulator) rozmyty przykład (12) określamy jeden zbiór rozmyty wszystkich możliwych akcji (ciągnięcia, braku siły i pchania) przy danych warunkach wejściowych dla każdego stanu (-1, 0, 1) bierzemy maksymalną wartość funkcji przynależności następnika uwzględniające wszystkie wyniki reguł otrzymujemy, zbiór wynikowy Y = {(-1, 0), (0, 1), (1, 0,5)} aby otrzymać nierozmytą wartość wynikową dokonujemy defuzyfikacji uzyskane zbioru rozmytego Y 12
Sterownik (regulator) rozmyty przykład (13) stosując metodę środka obszaru (inaczej środka ciężkości obszaru ) n F(yi) yi i=1 n F(yi) i=1 gdzie yi, to i-ty możliwy element w zbiorze wynikowym Y, a F(yi) jest wartością funkcji przynależności związaną z każdą z tych wartości 13
Sterownik (regulator) rozmyty przykład (14) (0)(-1) + (1)(0) + (0,5)(1) 0,5 1 = = 0 + 1 + 0,5 1,5 3 wynik nierozmyty, został określony na poziomie 1/3 N siły, którą należy przyłożyć do wózka, aby przy danych warunkach wejściowych (x = - 0,5 m, v = 0 m/s), rozpocząć przemieszczanie wózka do miejsca równowagi (x = 0 m) [1] Z. Michalewicz, D.B. Fogel, jak to rozwiązać, czyli nowoczesna heurystyka, WNT, Warszawa 2006 14