Sterownik rozmyty

Transkrypt

Sterownik rozmyty
Wstęp do Sztucznej Inteligencji: Laboratorium
Sterownik rozmyty
Zbiory rozmyte pozwalają w sposób usystematyzowany modelować pojęcia nieprecyzyjne,
jakimi ludzie posługują się na co dzień. Przykładem może być wyrażenie „wysoka
temperatura” , „duża prędkość” czy „młody człowiek”. Również podczas rozumowania i
podejmowania decyzji, ludzie wykorzystują takie rozmyte pojęcia. Rozumujemy na przykład:
„jeśli droga jest bardzo kręta i widoczność jest bardzo słaba, należy jechać bardzo powoli”. W
klasycznej matematyce mamy do czynienia z odmienną sytuacją. W klasycznej logice
operujemy na zdaniach logicznych, które mogą być prawdziwe lub fałszywe i nie przyjmują
stanów pośrednich. Jedną z reguł wnioskowania klasycznej logiki jest reguła modus ponens:
Przesłanka: A
Implikacja: A B
Wniosek: B
Z prawdziwości implikacji wiadomo, że zawsze ilekroć zachodzi A (A przyjmuje wartość
„prawda”) to zachodzi również B. Skoro wiec w pewnej konkretnej sytuacji zachodzi A, to
możemy być pewni ze zachodzi również B.
W logice rozmytej zamiast zdaniami, przyjmującymi wartość prawda lub fałsz, posługujemy
się zmiennymi lingwistycznymi, które przyjmują jako wartości nieprecyzyjne pojęcia języka
mówionego, takie jak „mały” , „średni” , „duży”. Przykładowo, „temperatura” może być
zmienną lingwistyczna i przyjmować wartości nieprecyzyjne „mała” , średnia” , „wysoka”.
Te nieprecyzyjne pojęcia, jak wiadomo, można modelować za pomocą odpowiednich zbiorów
rozmytych. Zbiór reguł wnioskowania rozmytego przyjmuje postać:
Jeśli x1 jest A11 i x2 jest A12 i ... i xn jest A1n to y jest B1
...
Jeśli x1 jest AM1 i x2 jest AM2 i ... i xn jest AMn to y jest BM
xi oraz y to zmienne lingwistyczne, Aij oraz Bi to wartości tych zmiennych lingwistycznych
określone przez odpowiednie zbiory rozmyte. Górny indeks oznacza numer reguły, dolny
numer zmiennej lingwistycznej. Rodzaj funkcji określającej funkcje przynależności danego
zbioru rozmytego jak również jej współczynniki, mają duży wpływ na działanie modelu.
Odpowiednikiem rozumowania modus ponens w logice rozmytej będzie następująca
reguła:
Przesłanka: x jest A’
Implikacja: Jeśli x jest A to y jest B
Wniosek: y jest B’
W tym przypadku x i y to zmienne lingwistyczne a A, A’, B, B’ to zbory rozmyte.
Najważniejszą rzeczą, którą warto zauważyć w powyższej regule to fakt, że zbiór A’
występujący w przesłance wcale nie jest identyczny ze zbiorem rozmytym A występującym w
rozmytej implikacji. Podobnie zbiór B’ nie jest równy zbiorowi B. Pozwala to na pewną
1
elastyczność. Jeśli bowiem zbiór A’ określa podobną sytuację jak zbiór A, to możemy się
spodziewać, że zbiór B’ powinien być zbliżony znaczeniowo (lingwistycznie) do zbioru B.
Ilustruje to następujący przykład:
Mamy regułę rozmytą:
Jeśli prędkość samochodu jest bardzo duża, to poziom hałasu
jest wysoki.
Przesłanka mówi natomiast:
Prędkość samochodu jest duża.
Widać zatem, że wartość lingwistyczna „bardzo duża” nie jest tożsama z wartością „duża”.
Jednak z ich podobieństwa wynika, że powinniśmy oczekiwać podobnego wniosku jak w
regule, przykładowo:
Poziom hałasu jest średnio wysoki.
Skoro więc ludzie posługując się nieprecyzyjnymi pojęciami i regułami rozmytymi , potrafią
radzić sobie z szeregiem skomplikowanych zadań, istnieje praktyczna potrzeba symulowania
takiego rodzaju rozumowania. Umożliwia to zastosowanie teorii zbiorów i logiki rozmytej.
W ten sposób powstały sterowniki rozmyte.
Realizacja rozmytej implikacji
Reguła rozmyta typu (AB) gdzie A oraz B są zbiorami rozmytymi, to rozmyta implikacja i
może być zrealizowana na wiele sposobów. Dwa z popularnych sposobów jej realizacji to
reguła minimum oraz iloczynu.
Jeśli zbiory A i B mają funkcje przynależności odpowiednio µ A (x) oraz µ B ( y ) to rozmyta
implikacja (AB) jest zbiorem rozmytym o funkcji przynależności określonej przez jedną z
reguł , przykładowo:
µ ( A− − > B ) ( x, y ) = µ A ( x) ∧ µ B ( y ) = min[ µ A ( x), µ B ( y )]
1. reguła typu minimum:
2. reguła typu iloczyn: µ
( A− − > B )
( x, y ) = µ A ( x ) * µ B ( y )
Realizacja rozmytego wnioskowania
W logice rozmytej wnioskowanie realizuje się przez złożenie rozmytego zbioru A’ oraz
rozmytej implikacji (AB) . W wyniku złożenia otrzymamy zbiór rozmyty B’, który
stanowi wniosek.
B ' = A'( A → B )
Złożenie to realizowane jest następująco;
T
µ B ' ( y ) = sup{µ A' ( x) * µ
x∈ X
A→ B
( x, y )}
T
gdzie * oznacza pewna T-normę. Jeśli przykładowo T-norma jest typu min, otrzymuje się:
2
µ B ' ( y ) = sup{min[ µ A' ( x), µ
x∈ X
A→ B
( x, y )]}
Klasyczny sterownik rozmyty:
Klasyczny sterownik rozmyty składa się z trzech części:
1. Bloku rozmywania (fuzyfikacji)
2. Bloku wnioskowania (inferencji) wraz z baza reguł
3. Bloku wyostrzania
Schemat sterownika rozmytego przedstawiono na rysunku:
Blok rozmywania
Blok rozmywania ma za zadanie zamienić ostre wartości x, przeważnie otrzymane z
pomiarów, na zbiory rozmyte A’. Jednym z popularnych sposobów rozmywania to operacja
_
rozmywania typu singleton. Dla konkretnej wartości x tworzy ona zbiór rozmyty A’ o
funkcji przynależności określonej wzorem
_

1
x
=
x
µ A ' ( x) = δ ( x − x) = 
_
 0 x ≠ x
_
Blok wnioskowania
Blok ten przeprowadza wnioskowanie rozmyte korzystając z bazy reguł typu:
Jeśli x1 jest A11 i x2 jest A12 i ... i xn jest A1n to y jest B1
...
Jeśli x1 jest AM1 i x2 jest AM2 i ... i xn jest AMn to y jest BM
Zadaniem tego bloku jest sprawdzenie stopnia spełnienia przesłanki każdej z reguł i określić
odpowiedzi każdej z reguł, czyli zbiory rozmyte B’i.
Jeśli przesłanka jest typu prostego tzn.
Jeśli xi jest Ai to ...
3
i zastosowano operacje rozmywania typu singleton, to stopień spełnienia przesłanki łatwo
określić wyznaczając wartość
µ
_
Ai
( x) . W przypadku przesłanki złożonej typu:
Jeśli x1 jest A11 i x2 jest A12 i ... i xn jest A1n to y jest B1
czyli
Jeśli x=(x1, x2,..., xn) jest A to y jest B1
gdzie A = A1xA2x...An , jest iloczynem kartezjańskim zbiorów rozmytych Ai, należy
określić funkcję przynależności iloczynu kartezjańskiego zbiorów rozmytych Ai. Jak
wiadomo funkcję przynależności iloczynu kartezjańskiego można określić jako:
µ
( x1 , x2 ,..., xn ) = min[µ
A1
( x1 ), µ
A2
( x2 ),..., µ
( x1, x2 ,..., xn ) = µ A1 ( x1 ) µ
A2
( x2 )...µ
An
( xn )
A1 xA 2 x ... xAn
lub jako iloczyn
µ
A1xA2 x... xAn
An
( xn )]
W czasie wnioskowania rozmytego wykorzystuje się złożenie zbioru rozmytego otrzymanego
z operacji rozmywania z relacją rozmytą iloczynu kartezjańskiego A = A1xA2x...An i
zbioru B, jak pokazano to wcześniej. Dla każdej k-tej reguły otrzymujemy zatem
B'k = A'( A1k xA2k x...xAnk → B k )
Zatem otrzymane zbiory B’ zalezą od:
- przyjętej T-normy w definicji rozmytej implikacji
- sposobu zdefiniowania iloczynu kartezjańskiego zbiorów rozmytych
- przyjętego sposobu rozmywania (najczęściej singleton)
Na wyjściu bloku wnioskowania otrzymamy zatem:
- zbiory rozmyte B’k, w liczbie równej liczbie reguł rozmytych
- jeden zbiór rozmyty, jeśli przyjmiemy uogólniona postać rozmytego wnioskowania
modus ponens, gdzie złożenie zbioru A’ odbywa się nie z każda z relacji (reguł) z
osobna, lecz ze wszystkimi razem:
M
B ' = A' R ( k )
k= 1
Korzystając z definicji sumy zbiorów rozmytych otrzymamy:
T
µ B' ( y ) = sup{µ A' ( x) * max µ
x∈ X
1≤ k ≤ M
Ak → Bk
( x, y )}
4
Wybierana jest zatem reguła, która najlepiej odpowiada danej sytuacji, zgodnie z
przyjętymi definicjami iloczynu kartezjańskiego, rozmytej implikacji oraz sumy zbiorów
rozmytych (w tym przypadku operacji max).
Blok wyostrzania
Na wyjściu bloku wnioskowania otrzymamy jeden lub wiele zbiorów rozmytych. Do
sterowania konkretnym obiektem potrzebne są jednak konkretne ostre wartości. To tak,
jak gdyby człowiek wiedząc ze musi jechać wolno, zwolnił w końcu do konkretnej
wartości 25 km/h. W klasycznym sterowniku rozmytym za ten ostatni etap odpowiada
blok wyostrzania. Może on być zrealizowany również na wiele sposobów. Jednym z
możliwych rozwiązań jest metoda center avarage defuzzification0,
stosowana, gdy na wyjściu bloku wnioskowania otrzymuje się zbiór zbiorów rozmytych.
Konkretna ostra wartość wyznaczana jest ze wzoru
M
k
k
k ( y )y
B'
_
k= 1
y= M
(yk )
B 'k
k= 1
∑
∑
µ
µ
gdzie y k jest punktem w którym funkcja
µ
( y)
(z k-tej reguły) przyjmuje wartość
Bk
maksymalną, a M to liczba reguł rozmytych. (Uwaga: W sumie występują zbiory rozmyte
B’ a nie B)
Rodzaje modeli rozmytych
Najbardziej popularnymi rodzajami modeli rozmytych są:
1. Model Mamdaniego, gdzie reguły rozmyte maja postać Jeśli x jest A to
y jest B, gdzie A i B to zbiory rozmyte
2. Model Takagi – Sugeno, gdzie reguły rozmyte maja postać: Jeśli x jest A
to y=f(x), gdzie tylko A jest zbiorem rozmytym, natomiast y jest określany za
pomocą pewnej funkcji.
Przykład. Model Takagi-Sugeno z dwoma regułami rozmytymi
Model posiada dwie reguły rozmyte postaci
Jeśli (x1 jest DUŻE I x2 jest ŚREDNIE) TO
Jeśli (x1 jest MAŁE I x2 jest MAŁE) TO
y1 = 2 + 7x1 - 3x2
y2= -2x1 +5x2
Wyznaczymy sygnał wyjściowy sterownika dla sygnałów wejściowych równych x1=2
oraz x2=3. Korzystając z rysunku odczytujemy wartości każdego ze zbiorów rozmytych
reguł dla danych wejściowych sterownika (w domyśle stosujemy rozmywanie typu
singleton):
5
µ
µ
A11
A12
(2) = 0.3
µ
(2) = 0.75 µ
A12
A22
(3) = 0.7
(3) = 0.2
Stopień spełnienia przesłanki złożonej każdej z reguł obliczamy korzystając z operacji
min:
w1 = min(0.3,0.7) = 0.3
w2 = min(0.75,0.2) = 0.2
Dodatkowo w modelu Takagi – Sugeno odpowiedzi każdej reguły wynoszą odpowiednio:
y1 = f1 (2,3) = 7
y 2 = f 2 (2,3) = 11
Końcowa odpowiedź całego sterownika wynosi:
y=
w1 y1 + w2 y2
= 8.6
w1 + w2
Zalecana lektura
Rutkowska D., Piliński M., Rutkowski L., „Sieci neuronowe, algorytmy genetyczne i
systemy rozmyte”
Piegat A., „Modelowanie i sterowanie rozmyte”
6

Podobne dokumenty