Zagadnienia AI wykład 4
Rozmyte systemy wnioskujące Aby móc sterować pewnym procesem technologicznym lub tez pracą urządzeń konieczne jest zbudowanie modelu, na podstawie którego można będzie podejmować decyzje związane ze sterowaniem. W wielu przypadkach znalezienie odpowiedniego modelu jest problemem trudnym, niekiedy wymagającym przyjęcia różnego typu założeń upraszczających. Zastosowanie systemów rozmytych do sterowania procesami technologicznymi nie wymaga od nas znajomości tych procesów. Konstruujemy po prostu rozmyte reguły postępowania w postaci zdań warunkowych: IF ... THEN ...
Schemat rozmytego systemu wnioskującego Baza reguł Blok rozmywania Blok wnioskowania Blok wyostrzania
JEŻELI wiadro jest wypełnione w połowie TO napełniaj wolno Napełnianie wiadra Napełniamy wiadro wodą. Chcemy zbudować sterownik rozmyty, który dla otrzymanej na wejściu wysokości wody (h) w wiadrze wyznaczy nam kąt (a) na zaworze. Im większy kąt, tym szybsze napełnianie wiadra. Baza reguł: JEŻELI wiadro jest pełne TO wstrzymaj napełnianie JEŻELI wiadro jest wypełnione w połowie TO napełniaj wolno JEŻELI wiadro jest puste TO napełniaj szybko
Napełnianie wiadra (cd) Nieprecyzyjne określenia występujące w bazie reguł określamy następującymi zbiorami rozmytymi: k=1 k=2 k=3 Ak Bk
Napełnianie wiadra (cd) W rozważanym przypadku (zmienne): x – wysokość (h), y – kąt (a) Ponadto: n=1, N=3 (bo 3 reguły)
Napełnianie wiadra (cd) - blok rozmywania Na wejściu sterownik rozmyty otrzymuje aktualną wysokość wody w wiadrze (sygnał wejściowy): Sygnał ten poddajemy operacji rozmywania czyli określamy dla niego zbiór rozmyty: Zbiór ten będzie „wejściem” bloku wnioskowania.
JEŻELI wiadro jest wypełnione w połowie TO napełniaj wolno Napełnianie wiadra (cd) - blok wnioskowania Baza reguł: JEŻELI wiadro jest pełne TO wstrzymaj napełnianie JEŻELI wiadro jest wypełnione w połowie TO napełniaj wolno JEŻELI wiadro jest puste TO napełniaj szybko
Napełnianie wiadra (cd) - blok wnioskowania Musimy znaleźć następujące funkcje przynależności:
Napełnianie wiadra (cd) - blok wnioskowania Przyjmijmy, że implikacja jest określona tak jak w modelu Mamdaniego tzn: Ponadto załóżmy, że:
Napełnianie wiadra (cd) - blok wnioskowania Otrzymujemy wówczas:
Napełnianie wiadra (cd) - blok wnioskowania Ak Bk
Napełnianie wiadra (cd) - blok wyostrzania Znaleźliśmy już zbiory rozmyte będące „wyjściem” bloku wnioskowania. Musimy teraz znaleźć wartość numeryczną kąta dla wysokości wody w wiadrze x (wejście sterownika). Możemy to zrobić na przykład tak:
JEŻELI (x1 jest A1) I ... I (xn jest An) Baza reguł Baza reguł (model lingwistyczny) stanowi reprezentacje wiedzy eksperta o możliwych wartościach zmiennych stanu, o pożądanym stanie urządzenia, itp. Przyjmuje się dla potrzeb sterowania, ze przesłanka jak i wniosek są koniunkcjami prostych faktów rozmytych. Na bazę reguł składa się wiec zbiór pewnych rozmytych reguł postaci JEŻELI (x1 jest A1) I ... I (xn jest An) TO (y1 jest B1) I ... I (ym jest Bm), gdzie Ai,Bj są zbiorami rozmytymi, xi są zmiennymi wejściowymi, a yj są zmiennymi wyjściowymi modelu lingwistycznego.
Precyzyjniej (dla N reguł): Rk: JEŻELI (x1 jest A1k) I (x2 jest A2k) I…I (xn jest AnK) TO (y1 jest B1k) I (y2 jest B2k) I…I (ym jest BmK) gdzie: k=1,…,N. Aik Xi R, i=1,…,n, - zbiory rozmyte Bjk Yj R, j=1,…,n, - zbiory rozmyte [x1,…,xn]T=xX1… Xn [y1,…,ym]T=yY1… Ym x1,…,xn - zmienne wejściowe i y1,…,ym – zmienne wyjściowe
Założenia: (1) poszczególne reguły Rk (k=1,…,N) są powiązane ze sobą za pomocą operatora „lub”. (2) wyjścia y1,…,ym są od siebie niezależne. Oznacza to, że reguły mają skalarne wyjście: Rk: JEŻELI (x1 jest A1k) I (x2 jest A2k) I…I (xn jest Ank) TO y jest Bk gdzie B k Y R. Zmienne x1,…,xn oraz y mogą przyjmować zarówno wartości nieprecyzyjne określone słownie (np. „małe”, „średnie”, „duże”) jaki i wartości liczbowe.
Oznaczmy: X =X1 X2 … Xn Ak=A1k A2k … Ank Powyższą regułę możemy przedstawić jako rozmytą implikację: R(k): Ak Bk, k=1,…,N Regułę R(k) możemy interpretować jako relację rozmytą określoną na zbiorze X Y, tzn: R(k) X1 X2 jest zbiorem rozmytym o funkcji przynależności
Blok rozmywania Systemy sterowania z logiką rozmytą operują na zbiorach rozmytych. Zatem konkretna wartość sygnału wejściowego sterownika rozmytego podlega operacji rozmywania (ang. fuzzyfiacation), w wyniku której zostaje odwzorowana w zbiór rozmyty A’ X = X1 X2 … Xn. Zwykle stosuje się rozmywanie typu singleton Zbiór A’ jest wejściem bloku wnioskowania.
Blok wnioskowania Przyjmijmy, że na wejściu bloku wnioskowania mamy zbiór rozmyty A’ X = X1 X2 … Xn. Znajdziemy odpowiedni zbiór rozmyty na wyjściu z bloku wnioskowania Przypadek 1 Na wyjściu otrzymujemy N zbiorów rozmytych zgodnie z uogólnioną regułą modus ponens. Wówczas: Funkcja przynależności zbioru ma postać
Przykład 1 Przyjmijmy n=2, t-norma jest typu min, rozmyte wnioskowanie definiuje reguła min oraz iloczyn kartezjański zbiorów określony jest przez min. Wówczas: Ponieważ:
Przykład 1 (cd) Ostatecznie Przykład 2 Przyjmijmy n=2, t-norma jest typu iloczyn, rozmyte wnioskowanie definiuje reguła iloczyn oraz iloczyn kartezjański zbiorów określony jest przez iloczyn. Wówczas:
Przypadek 2 Na wyjściu bloku wnioskowania otrzymujemy jeden zbiór rozmyty B’Y określony wzorem: Funkcja przynależności zbioru ma postać gdzie S jest dowolną s –normą i
Rozważmy rozmyty system wnioskujący z bazą reguł: Przykład 3 Rozważmy rozmyty system wnioskujący z bazą reguł: R1: JEŻELI x1 jest A11 I x2 jest A21 TO y jest B1 R2: JEŻELI x1 jest A12 I x2 jest A22 TO y jest B2 Na wejście sterownika podano sygnał W wyniku rozmywania typu singleton otrzymujemy zbiory rozmyte o funkcjach przynależności
Przykład 3 (cd) Wyznaczmy sygnał wyjściowy sterownika rozmytego. Jako t -normę przyjmijmy minimum. Otrzymujemy wówczas: Ponadto załóżmy, że Zatem:
Przykład 3 (cd) Wykorzystując regułę typu minimum przy czym Ostatecznie otrzymujemy oraz
min
Przykład 4 Powtórzmy rozumowanie z przykładu 3 ale dla reguły typu iloczyn. Wówczas: Ostatecznie otrzymujemy
min
Blok wyostrzania Jak już wiemy na wyjściu bloku wnioskowania otrzymujemy: N zbiorów rozmytych z funkcjami przynależności lub Jeden zbiór rozmyty z funkcją przynależności Pojawia się problem jak ze zbiorów uzyskać jedną wartość będącą tzw. wartością sterowania. Procedurę uzyskania nazywamy wyostrzaniem (ang. defuzzification).
1. Metoda center average defuzzification Wartość uzyskujemy za pomocą wzoru gdzie jest punktem w którym funkcja ma wartość maksy-malną.
2. Metoda center of sums defuzzification Wartość uzyskujemy za pomocą wzoru Jeżeli na wyjściu bloku wnioskowania mamy jeden zbiór wówczas wyznaczamy następująco 3. Metoda center of gravity
Sterowanie suwnicą przenosząca kontenery Za pomocą suwnicy musimy przenieść kontener z ładunkiem z jednego miejsca na drugie. Jednak w momencie odkładania go na miejsce mogą wystąpić zbyt duże kołysania. Celem naszym jest takie pokierowanie suwnica by nie został zniszczony nasz ładunek.
Sterowanie suwnicą przenosząca kontenery Naszymi danymi są: odległość wózka z kontenerem od pozycji docelowej oraz kąt wychylenia. Jeżeli wózek z kontenerem jest w dużej odległości od położenia docelowego suwnica może poruszać się z dużą szybkością. Jednak gdy zbliża się ona do końca drogi musimy zadbać o tłumienie kołysania kontenera na linie. W momencie gdy jesteśmy juz bardzo blisko konieczne jest łagodne (pozbawione kołysań) doprowadzenie kontenera do miejsca docelowego.
Sterowanie suwnicą przenosząca kontenery Baza reguł: JEŻELI (d = duża) TO (P = duża) JEŻELI (d = mała) I (kąt = ujemny duży) TO (P = dodatnia średnia) JEŻELI (d = mała) I (kąt = ujemny mały LUB zero LUB dodatni mały) TO (P = dodatnia średnia) JEŻELI (d = mała) I (kąt = dodatni duży) TO (P = ujemna średnia) JEŻELI (d = zero) I (kąt = dodatni duży LUB mały) TO (P = ujemna średnia) JEŻELI (d = zero) I (kąt = zero) TO (P = zero) JEŻELI (d = zero) I (kąt = ujemny mały) TO (P = dodatnia średnia) JEŻELI (d = zero) I (kąt = ujemny duży) TO (P = dodatnia duża)
Sterowanie suwnicą przenosząca kontenery Zmienne lingwistyczne: ODLEGŁOŚĆ możliwe wartości: zero, mała, duża KĄT (WYCHYLENIE) możliwe wartości: ujemny duży, ujemny mały, zero, dodatni mały, dodatni duży MOC możliwe wartości: ujemna duża, ujemna mała, zero, dodatnia mała, dodatnia duża
Sterowanie suwnicą przenosząca kontenery
Sterowanie suwnicą przenosząca kontenery
Sterowanie suwnicą przenosząca kontenery Wynikowa funkcja przynależności
Przykład 8 Załóżmy, że w przy pomocy satelity na pewnym obszarze dokonane zostały pomiary 3 parametrów , H, . H Zakres zmienności parametrów jest następujący [0,255] H[0,1] [0,90] Na podstawie uzyskanych wyników chcemy dokonać klasyfikacji terenu: teren miejski, las, pole uprawne, droga
Blok rozmywania Przyjmujemy, że z każdą z wielkości , H, związana jest pewna zmienna lingwistyczna (oznaczmy je przez , H, ). Możliwe wartości tych zmiennych to: ={bardzo niskie, niskie, średnie, wysokie, bardzo wysokie} H={bardzo niskie, niskie, średnie, wysokie} ={niskie, średnie, wysokie} Ponieważ wartości powyższych zmiennych są nieprecyzyjne zatem z każdą z tych wartości możemy związać pewien zbiór rozmyty
Blok rozmywania (cd) Przyjmijmy, że zbiory te są zdefiniowane następująco
Blok wnioskowania Baza reguł H Teren Bardzo wysokie Średnie Miejski Wysokie lub bardzo wysokie Bardzo niskie Średnie/wysokie Wysokie Las Średnie/niskie Pola uprawne Niskie lub bardzo niskie Niskie Droga
Podprzykład Na wejściu sterownika otrzymujemy 3 wartości liczbowe charakteryzujące każdy piksel na obrazku Przyjmijmy, że x=[100,0.5,30] Policzmy stopień przynależności piksela o takich wartościach parametrów do klasy las. Z bazy reguł odczytujemy, że interesują nas reguły 3 i 4. Obliczamy w jakim stopniu rozważany piksel spełnia te reguły. Np. reguła(3)=min{wysokie(100), wysokie(0,5)}=min{0.74, 1}=0.74
Stopień przynależności piksela o takich wartościach parametrów do klasy las obliczmy następująco: las([100,0.5,30])= max{reguła(3), reguła(4)} W efekcie piksel o danych wartościach parametrów może należeć do kilku klas z różnymi stopniami przynależności np. teren miejski([100,0.5,30])=0,4 las([100,0.5,30])=0,7 pole uprawne([100,0.5,30])=0,5 droga([100,0.5,30])=0,9 Aby otrzymać jednoznaczną przynależność musimy wyostrzyć wynik otrzymany z bloku wnioskowania. Możemy przyjąć, że pozostajemy przy największej wartości.
Rezultat H
Koniec wykładu 4