You are on page 1of 12

KATEDRA SYSTEMÓW MULTIMEDIALNYCH

Laboratorium Inteligentnych Systemów Decyzyjnych

Ć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 rzeczywiste parametry nie
dające się jednoznacznie zinterpretować i wskazujące na wzajemnie wykluczające się
decyzje. 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)).

 f ( x), x ∈ X
∀ µ ( x) =  (2.1)
x∈U X
0, x ∉ X
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 ,
X2⊂U są sobie równe, gdy spełniona jest zaleŜność 2.2.

∀ µ X 1 ( x ) = µ X 2 ( x) (2.2)
x∈U

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
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);

0 dla x ≤ a
x − a

Γa ,b ( x) =  dla a < x ≤ b (2,6)
b − a
1 dla x > b

Rys. 2.1 Funkcja klasy Γ

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


0 dla x ≤ a
b − x

La ,b ( x) =  dla a < x ≤ b (2.7)
b − a
1 dla x > b

Rys. 2.2 Funkcja klasy L


• funkcje klasy Λ, zwane równieŜ trójkątnymi (zaleŜność (2.8), rys. 2.3);

0 dla x ≤ a i x ≥ c

x − a
Λ a ,b ,c ( x ) =  dla a < x ≤ b (2.8)
b − a
c − x
 c − b dla b < x < c

Rys. 2.3. Funkcja klasyΛ

• funkcje klasy Π, zwane równieŜ trapezowymi (zaleŜność (2.9), rys. 2.4);

0 dla x ≤ a i x ≥ d
x − a
 dla a < x ≤ b
b − a
Π a ,b,c ,d ( x) =  (2.9)
1 dla b < x ≤ c
d − x
 dla c < x < d
d − c

Rys. 2.4. Funkcja klasy Π


• funkcje klasy s (zaleŜność (2.10), rys. 2.5);
0 dla x ≤ a

2 ⋅  x − a  a+b
2

dla a < x ≤
  b − a  2
s a ,b ( x ) =  (2.10)
 x−b a+b
2

1 − 2 ⋅  b − a  dla 2 < x < b

1 dla x ≥ b

Rys. 2.5. Funkcja klasy s

• funkcje klasy π (zaleŜność (2.11), rys. 2.6);

 s c −b , c ( x ) dla x < c
π b ,c ( x ) =  (2.11)
1 − sc ,c +b ( x) dla x ≥ c

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.
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:
• 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.

∑c i ⋅ µ i (ci )
x0 = i =1
N
(2.13)
∑ µ (c )
i =1
i i

• 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) ⋅ xdx
x0 = X
(2.14)
∫ µ ( x)dx
X
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,
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

1
0,9
0,8
0,7
0,6 chłodno
0,5 ciepło
0,4 gorąco
0,3
0,2
0,1
0
0 10 20 30 40 50 60 70 80
°C

wilgotność gleby

1
0,9
0,8
0,7
0,6 mała
0,5 średnia
0,4 duŜa
0,3
0,2
0,1
0
0 10 20 30 40 50 60 70 80 90 100
%

intensywność zraszania

1
0,9
0,8
0,7
0,6 słabe
0,5 średnie
0,4 intensywne
0,3
0,2
0,1
0
0 10 20 30 40 50 60 70 80 90 100
%
Kolejny etap projektowania systemu logiki rozmytej to definiowanie reguł rozmytych.
Przykładowa reguła systemu sterowania zraszaczem moŜe być następująca:
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 chłodno ciepło Gorąco


wilgotność
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
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 chłodno ciepło Gorąco
wilgotność
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

1
0,9
0,8
0,7
słabe
0,6
średnie
0,5
intensywne
0,4
0,3 wyjściowy zbiór rozmyty

0,2
0,1
0
0 10 20 30 40 50 60 70 80 90 100
%

57,2
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 trzech 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.

You might also like