• Nie Znaleziono Wyników

Projektowanie prostych systemów logiki rozmytej

N/A
N/A
Protected

Academic year: 2021

Share "Projektowanie prostych systemów logiki rozmytej"

Copied!
12
0
0

Pełen tekst

(1)

KATEDRA SYSTEMÓW MULTIMEDIALNYCH

Laboratorium: Sztuczna inteligencja w medycynie

Ćwiczenie nr 1: Projektowanie prostych systemów logiki rozmytej

Opracowanie: dr inż. Piotr Suchomski

1. Cel ćwiczenia

Celem ćwiczenia jest zapoznanie studentów z podstawowymi zagadnieniami projektowania systemów logiki rozmytej.

2. Podstawy fuzzy logic

Klasyczne wnioskowanie oparte na dwuwartościowej logice Arystotelesa oraz na klasycznej definicji zbioru według Cantora, stwarza wiele problemów zwłaszcza w procesie projektowania systemów sterowania, przetwarzających często niejednoznaczne i wzajemnie wykluczające się rzeczywiste parametry. W klasycznej teorii zbiorów stopień przynależności danego elementu do zbioru można określić za pomocą jednej z dwóch wartości: 0 – gdy element nie należy do danego zbioru i 1 – gdy element należy do danego zbioru. W tym przypadku trudny do jednoznacznego określenia jest stopień przynależności w przypadku wartości parametrów rzeczywistych, znajdujących w pobliżu granicy sąsiednich zbiorów [6].

Rozwinięciem dwuwartościowej logiki jest logika wielowartościowa, zaproponowana w 1965 roku przez Zadeha jako tzw. logika rozmyta (ang. fuzzy logic) [8]. Logika rozmyta znalazła szerokie zastosowanie w szeroko rozumianej technice, zwłaszcza w systemach sterowania [3][6]. Systemy logiki rozmytej charakteryzują się dużą prostotą i elastycznością struktury, zachowując wysoką skuteczność. Intuicyjna, lingwistyczna struktura opisu przetwarzanego zjawiska, prosta baza reguł oparta o formuły typu IF... THEN znacznie upraszcza proces projektowania [1][5][7].

W teorii zbiorów rozmytych element może należeć częściowo do pewnego zbioru. Stopień przynależności elementów do danego zbioru rozmytego opisuje funkcja przynależności (x):U[0,1] (ang. membership function, zależność (2.1)).

(2)

        x X X x x f x X U x 0, ), ( ) (

(2.1)

Zbiory z funkcją przynależności określoną na podstawie zależności 8.5 dla zawartych w nich elementów są nazywane zbiorami rozmytymi (ang. fuzzy sets). Dwa zbiory rozmyte X1 , X2U są sobie równe, gdy spełniona jest zależność 2.2.

) ( ) ( 2 1 x X x X U x   (2.2)

Nośnikiem zbioru rozmytego (ang. support) jest zbiór elementów, których stopień przynależności do danego zbioru jest różny od 0.

Punktem rozgraniczającym zbioru rozmytego jest taki element x zbioru, dla którego wartość funkcji przynależności (x)=1/2. Zbiór rozmyty może nie posiadać punktu rozgraniczającego lub może posiadać jeden punkt i wiele punktów rozgraniczających.

Jądrem zbioru rozmytego ker(A) (ang. kernel) jest zbiór tych elementów x, których stopień przynależności do danego zbioru rozmytego A wynosi 1. W przypadku, gdy tylko jeden element należy do jądra zbioru, to element ten nazywany jest wartością szczytową zbioru.

Wysokość zbioru rozmytego A określa supremum wartości funkcji przynależności

hgt(A) = sup A(x). Gdy wysokość zbioru wynosi 1, to jest to zbiór rozmyty normalny. Często

w procesie projektowania systemów logiki rozmytej dokonuje się normalizacji zbiorów rozmytych poprzez dzielenie wartości funkcji przynależności danego zbioru przez jego wysokość.

Z punktu widzenia przetwarzania rozmytego najważniejsze są następujące operacje na zbiorach rozmytych:

 suma zbiorów rozmytych A i B na tym samym uniwersum U jest zbiór rozmyty A B określony funkcją przynależności (2.3)

AB(x) = max(A(x), B(x)) (2.3)

 iloczyn zbiorów rozmytych A i B na tym samym uniwersum U jest zbiór rozmyty A  B określony funkcją przynależności (2.4).

AB(x) = min(A(x), B(x)) (2.4)

dopełnieniem zbioru rozmytego A na uniwersum U jest zbiór rozmyty A

A(x) = 1 - A(x) (2.5)

Kształt i zakres funkcji przynależności może być określona albo arbitralnie przez eksperta, albo na drodze analizy statystycznej pomiarów rzeczywistych wartości danego

(3)

parametru [4][5]. W praktycznych zastosowaniach logiki rozmytej często korzysta się z kilku rodzajów kształtów funkcji przynależności [6]:

 funkcje klasy  (zależność (2,6), rys. 2.1);

              b x b x a a b a x a x x b a dla 1 dla dla 0 ) ( , (2,6)

Rys. 2.1 Funkcja klasy

funkcje klasy L (zależność (2.7), rys. 2.2);

             b x b x a a b x b a x x Lab dla 1 dla dla 0 ) ( , (2.7)

Rys. 2.2 Funkcja klasy L

(4)

                     c x b b c x c b x a a b a x c x a x x c b a dla dla i dla 0 ) ( , , (2.8)

Rys. 2.3. Funkcja klasy

 funkcje klasy , zwane również trapezowymi (zależność (2.9), rys. 2.4);

                       d x c c d x d c x b b x a a b a x d x a x x d c b a dla dla 1 dla i dla 0 ) ( , , , (2.9)

(5)

funkcje klasy s (zależność (2.10), rys. 2.5);                                       b x b x b a a b b x b a x a a b a x a x x sab dla 1 2 dla 2 1 2 dla 2 dla 0 ) ( 2 2 , (2.10)

Rys. 2.5. Funkcja klasy s

 funkcje klasy  (zależność (2.11), rys. 2.6);

         c x x s c x x s x b c c c b c c b dla ) ( 1 dla ) ( ) ( , , ,  (2.11)

Rys. 2.6. Funkcja klasy

Przetwarzanie danych w typowym systemie logiki rozmytej przebiega w następujących krokach:

1. przetwarzanie wstępne (ang. preprocessing); 2. rozmywanie (ang. fuzzyfication);

3. interpretacja reguł;

4. wyostrzanie (ang. defuzzyfication); 5. przetwarzanie końcowe.

(6)

Celem przetwarzania wstępnego jest konwersja danych, doprowadzanych na wejście systemu wnioskowania, do formatu akceptowanego przez ten system. Analogicznie, przetwarzanie końcowe konwertuje wyniki systemu logiki rozmytej do formatu akceptowanego przez zewnętrzne moduły podłączone do tego systemu. System logiki rozmytej oczekuje na wejściu parametrów w postaci liczb rzeczywistych i zwraca wyniki również w postaci liczb rzeczywistych (ang. crisp value).

Pierwszym etapem przetwarzania rozmytego jest proces rozmywania, w literaturze często z języka angielskiego nazywany procesem fuzyfikacji [3][6]. Proces ten polega na wyznaczeniu wartości poszczególnych zmiennych lingwistycznych w oparciu o wartość poszczególnych funkcji przynależności dla rzeczywistej wartości określonego parametru wejściowego.

Zasadniczym krokiem w przetwarzaniu rozmytym jest proces interpretacji reguł. Typowa reguła w logice rozmytej ma postać wyrażenia (2.12). Interpretacja reguł przebiega w dwóch fazach. W pierwszej fazie oblicza się moc reguły (ang. rule evaluation). W tym celu w miejsce przesłanek podstawia się wartości, odpowiadających im zmiennych lingwistycznych. Ponieważ w logice rozmytej operacja AND równoważna jest funkcji minimum, dlatego moc danej reguły oblicza się jako minimum wartości przesłanek, występujących w tej regule. Jeżeli moc reguły jest zerowa, to reguła ta jest uznawana za nieaktywną. Jednocześnie wyznaczany jest wynikowy zbiór rozmyty. Każdemu rodzajowi decyzji odpowiada jeden wynikowy zbiór rozmyty, który posiada określoną funkcję przynależności. Moc danej reguły wskazuje elementy wynikowego zbioru rozmytego, które brane są pod uwagę w dalszych obliczeniach (są to elementy, których stopień przynależności jest mniejszy bądź równy mocy danej reguły). Po wyznaczeniu mocy wszystkich reguł następuje faza agregacji reguł (ang.

rule aggregation). Agregacja reguł polega na sumowaniu wszystkich wynikowych zbiorów

rozmytych, reprezentujących poszczególne reguły [6][8].

IF przesłanka1 AND przesłanka2 AND ... AND przesłankan THEN decyzja (2.12)

Kiedy wynikowy zbiór rozmyty jest już wyznaczony następuje ostatni etap przetwarzania rozmytego, zwany wyostrzaniem lub z języka angielskiego defuzyfikacją. Proces wyostrzania jest odwrotny do procesu rozmywania, jego zadaniem jest transformacja wyniku przetwarzania rozmytego z dziedziny zbiorów rozmytych do dziedziny liczb rzeczywistych. Proces wyostrzania można przeprowadzić na kilka sposobów:

(7)

Metoda największej wartości funkcji przynależności (ang. mean of maximum). Wynikiem tego typu wyostrzania jest wartość punktu x0, będącego środkiem

przedziału, w którym wyznaczona funkcja przynależności przyjmuje maksymalną wartość (2.7a). Jest to najprostszy sposób defuzyfikacji, sprowadza się on do wyboru tej reguły, której moc była największa. Wadą tego rozwiązania jest nieuwzględnianie pozostałych reguł.

Metoda centrowego środka ciężkości (ang. center average). Wartość wyjściową x0

oblicza się według zależności (2.13) (rys. 2.7b). Wartość ci określa środek

przedziału x, dla którego i-ta funkcja przynależności (x) przyjmuje wartość

maksymalną. Parametr N określa liczbę wszystkich wyjściowych zbiorów rozmytych. W metodzie tej brane są pod uwagę wszystkie aktywowane reguły. Wadą tej metody jest nieuwzględnianie informacji o kształcie funkcji przynależności.

    N i i i N i i i i c c c x 1 1 0 ) ( ) (   (2.13)

metoda wyznaczania środka ciężkości (ang. center of gravity). Wartość wyjściowa x0 oblicza się według zależności (2.14) (rys. 2.7c). Metoda ta jest najbardziej elastyczna, uwzględnia zarówno wszystkie aktywne reguły oraz kształt funkcji przynależności. Wadą tej metody jest stosunkowo duża złożoność obliczeniowa.

  X X dx x xdx x x ) ( ) ( 0   (2.14)

(8)

Rys. 2.7. Ilustracja metod wyostrzania: a) metoda największej wartości funkcji przynależności, b) metoda centrowego środka ciężkości, c) metoda wyznaczania środka ciężkości [2]

Teoria prawdopodobieństwa i teoria zbiorów rozmytych pozornie są do siebie podobne, jednak w rzeczywistości w istotny sposób różnią się od siebie. Zarówno prawdopodobieństwo jak i rozmytość przyjmują wartości liczb rzeczywistych z domkniętego zakresu [0,1]. Prawdopodobieństwo jest związane ze zdarzeniami, a tym samym niepewność w tym przypadku dotyczy przypadkowości pojawiania się tych zdarzeń. Natomiast rozmytość to niepewność związana z określeniem przynależności danego elementu do zbioru rozmytego. Prawdopodobieństwo jest miarą, która spełnia warunek addytywności, a ponadto jest miarą unormowaną, co oznacza, że suma możliwości musi wynieść 1. Z kolei rozmytość to ocena, która nie musi spełniać ani warunku addytywności ani unormowania. Ogólnie rzecz biorąc różnice między prawdopodobieństwem a rozmytością dotyczą zarówno natury rozważanych pojęć, jak i ich własności formalnych [1][4][6]

3. Przykładowe zadanie sterowania zraszaczem ogrodowym

Zadanie polega na zaprojektowaniu systemu logiki rozmytej, który będzie sterował prostym zraszaczem ogrodowym. Zraszacz posiada tylko jeden parametr, którym można sterować. Parametr ten nazwany został roboczo intensywność zraszania, a zakres jego zmienności jest od 0 do 100% przy czym 0% oznacza wyłączenie zraszania a wartość 100% oznacza maksymalne otwarcie zraszacza czyli intensywne zraszanie (maksymalny strumień wody). Zraszacz wyposażony jest również w termometr, który mierzy temperaturę powietrza w zakresie od 0 do 80 stopni Celsjusza oraz higrometr mierzący wilgotność gleby w zakresie od 0 do 100%. Stąd wynika, że w projektowanym systemie sterowania intensywność zraszania będzie zależna od temperatury powietrza i wilgotności gleby.

W pierwszym kroku identyfikujemy etykiety zbiorów rozmytych opisujących temperaturę powietrza oraz etykiety zbiorów rozmytych opisujących wilgotność gleby. Załóżmy, że temperaturę powietrza będziemy opisywać za pomocą trzech etykiet: chłodno, ciepło, gorąco,

(9)

natomiast wilgotność opiszemy za pomocą etykiet: mała, średnia, duża. Jeżeli chodzi o parametr wyjściowy – intensywność zraszania, opisujący sposób zraszania – możemy opisać za pomocą następujących etykiet: słabe, średnie, intensywne. Następnie definiujemy funkcje przynależności dla poszczególnych zbiorów rozmytych.

temperatura powietrza 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 0 10 20 30 40 50 60 70 80 °C chłodno ciepło gorąco wilgotność gleby 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 0 10 20 30 40 50 60 70 80 90 100 % mała średnia duża intensywność zraszania 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 0 10 20 30 40 50 60 70 80 90 100 % słabe średnie intensywne

Kolejny etap projektowania systemu logiki rozmytej to definiowanie reguł rozmytych. Przykładowa reguła systemu sterowania zraszaczem może być następująca:

(10)

IF temperatura is gorąco AND wilgotność is mała THEN zraszanie = intensywne

W przypadku prostych systemów, gdzie są tylko dwa parametry wejściowe, proces tworzenie reguł można sobie uprościć tworząc tabelę, w której wiersze odpowiadają etykietom pierwszego parametru wejściowego a kolumny reprezentują etykiety drugiego parametru.

temperatura

wilgotność chłodno ciepło Gorąco

mała średnie intensywnie Intensywnie

średnia słabe średnie Intensywne

duża słabe słabe Słabe

Ostatnim etapem projektowania systemu logiki rozmytej jest określenie sposobu wyostrzania czyli defuzzyfikacja. Na ogół wybiera się jedną z trzech znanych metod wyostrzania. Ponieważ w opisywanym zadaniu parametr wyjściowy może być płynnie regulowany, a zakres regulacji pokrywają trzy wyjściowe funkcje przynależności dlatego wydaje się być sensowne wybranie metody wyostrzania opartej na metodzie środka ciężkości, która bierze pod uwagę wszystkie aktywowane reguły oraz uwzględnia kształt funkcji przynależności.. Wartość środka ciężkości wyznaczonej wyjściowej funkcji przynależności będzie określała intensywność zraszania w skali od 0 do 100%.

Sprawdźmy jaka będzie reakcja zaprojektowanego systemu przetwarzania rozmytego jeśli na wejściu systemu zostanie podana wartość zmierzonej temperatury równa 25C oraz wartość wilgotności równa 30%.

W pierwszej kolejności przeprowadźmy rozmywanie zmierzonych parametrów wejściowych. Według funkcji przynależności opisujących temperaturę można odczytać, że wartość 25C należy do zbioru oznaczonego etykietą chłodno ze stopniem przynależności równym 0.2, natomiast do zbioru rozmytego oznaczonego etykietą ciepło ze stopniem przynależności równym 0.8. Natomiast parametr wilgotności o wartości 30% należy do zbioru rozmytego oznaczonego etykietą mała oraz do zbioru oznaczonego etykietą średnia ze stopniem przynależności równym 0.5. Jeśli wynik fuzzyfikacji wprowadzimy do bazy reguł to zauważymy, że aktywowane zostaną następujące reguły:

IF temperatura is chłodno{0,2} AND wilgotność is mała{0,5} THEN zraszanie = średnie IF temperatura is ciepło{0,8} AND wilgotność is mała{0,5} THEN zraszanie = intensywnie

(11)

IF temperatura is chłodno{0,2} AND wilgotność is średnia{0,5} THEN zraszanie = słabe IF temperatura is ciepło{0,8} AND wilgotność is średnia{0,5} THEN zraszanie = średnie

W następnym kroku obliczamy moc poszczególnych reguł pamiętając, że operacja AND interpretowana jest jako wartość minimum z poszczególnych przesłanek.

temperatura

wilgotność chłodno ciepło Gorąco

mała Średnie moc = 0,2 Intensywnie moc = 0,5 Intensywnie

średnia Słabe moc = 0,2 Średnie moc = 0,5 Intensywne

duża słabe słabe Słabe

Po obliczeniu mocy reguł dokonujemy agregacji reguł. Tym razem dla reguł związanych z tą samą decyzją wybieramy wartość maksymalną mocy reguł. W przypadku decyzji dotyczącej zraszanie średniego mamy dwie reguły jedna o mocy równej 0,2 i druga o mocy 0,5. W procesie wyznaczania wyjściowego zbioru rozmytego pod uwagę bierzemy wartość maksymalną czyli 0,5.

Wyjściowy zbiór rozmyty można wyznaczyć graficznie. Na wykresie odpowiednich wyjściowych funkcji przynależności odznaczamy moce reguł. Złączenie powierzchni powstałych po zaznaczeniu mocy reguł tworzą wyjściową figurę, której środek ciężkości wyznacza wartość regulacji stopnia zraszania. Dla analizowanych danych wejściowych zaprojektowany system ustawi stopień zraszania równy ok. 57,2.

intensywność zraszania 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 0 10 20 30 40 50 60 70 80 90 100 % słabe średnie intensywne

wyjściowy zbiór rozmyty

(12)

4. Zadania

Zaproponować proste zadanie do realizacji za pomocą systemu logiki rozmytej (lub wykonać projekt zadany przez prowadzącego laboratorium). System powinien mieć przynajmniej dwa parametry wejściowe. Każdy parametr wejściowy powinien być opisany za pomocą co najmniej pięciu etykiet. Projekt systemu można wykonać wykorzystując dostępne w laboratorium narzędzia MS Office lub Matlab.

5. Opracowanie

Sprawozdanie powinno zawierać:

 treść rozwiązywanego zadania,

 definicję parametrów wejściowych i wyjściowych projektowanego systemu,

 wykresy funkcji przynależności,

 bazę reguł z krótkim wyjaśnieniem sposobu konstrukcji,

 uzasadnienie wyboru sposobu wyostrzania

 przykłady ilustrujące działania zaprojektowanego systemu (minimum trzy przykłady, reprezentujące zróżnicowanie parametrów wejściowych,

 wnioski.

6. Literatura

[1] Czogała E., Pedrycz W., Elementy i metody teorii zbiorów rozmytych, PWN, Warszawa 1982.

[2] Czyżewski A., Dźwięk cyfrowy. Podstawy teoretyczne, technologia, zastosowania, Akademicka Oficyna Wydawnicza, Warszawa, 1998.

[3] Driankov D., Hellendoom H., Reinfrank M., Wprowadzenie do sterowania rozmytego, WNT, Warszawa, 1996.

[4] Kosko B., Fuzzy Engineering, Prentice-Hall, 1997.

[5] Kostek B., Soft Computing in Acoustics, Applications of Neural Networks, Fuzzy Logic

and Rough Sets to Musical Acoustics, Studies in Fuzziness and Soft Computing, Physica

Verlag, Heilderberg, New York, 1999.

[6] Łachwa A., Rozmyty świat zbiorów, liczb, relacji, faktów, reguł I decyzji, Akademicka Oficyna Wydawnicza, Warszawa, 2001.

[7] Mendel J.M., Fuzzy Logic Systems for Engineering: A Tutorial, IEEE, 1995. [8] Zadeh L.A., Fuzzy Sets, Information and control, pp. 338-353, 1965.

Cytaty

Powiązane dokumenty

We wspomnianych wcześniej projektach TRACĘ oraz Wine Data Base wykorzystane zostały takie powszechnie stosowane metody m odelowania danych jak: regresja czynników

Metoda list prostych jest historycznie najstarszą z wprowadzonych metod, jednak w tej dziedzinie nic nie traci na aktualnosci, gdyż problemy z którymi muszą

(4) Bowles J.B., Pelaez C.E.: Applications of Fuzzy Logic to Reliability Engineering. Proceedings ofthe IEEE, Vol. lEE Proceedings Generation, Transmision and

Powtóre wchodzi w rachubę pewna nadzwyczaj ważna w ła­ ściwość system u aksjomatycznego, wykryta w logice nowo- cznej. W iemy dzisiaj mianowicie, że słowa

Ze względu na nieliniową zależność między prądem płynącym przez złącze, a przenoszonym ciepłem trudno jest zapewnić odpo- wiednie sterowanie ogniwem Peltiera z

SysML stanowi rozszerzenie UML ukierunkowane na wsparcie specyfikacji systemów wszę- dzie tam, gdzie projektowane oprogra- mowanie (inżynieria oprogramowania) wykonywane jest

Przedsiębiorstwo globalne, zgodnie z przyjętą defi- nicją, uznawane jest za globalne w momencie, gdy osiągnęło ono przynajmniej naj- niższy poziom globalności jednego z

- przedstawia część danej liczby w postaci ułamka - w prostych przypadkach oblicza liczbę na podstawie danego jej ułamka - podaje przykłady zastosowania procentów w życiu