PUAV Wykład 14
Co to jest?
Co to jest? Logika rozmyta (fuzzy logic) jest to dział matematyki precyzyjnie formalizujący nieprecyzyjne, nieformalne ludzkie rozumowanie.
Co to jest? Logika rozmyta (fuzzy logic) jest to dział matematyki precyzyjnie formalizujący nieprecyzyjne, nieformalne ludzkie rozumowanie. Logika rozmyta wykorzystuje pojęcia zbioru rozmytego i algebry zbiorów rozmytych, które można uznać za uogólnienie tradycyjnej teorii mnogości i algebry Boole a.
Co to jest? Logika rozmyta (fuzzy logic) jest to dział matematyki precyzyjnie formalizujący nieprecyzyjne, nieformalne ludzkie rozumowanie. Logika rozmyta wykorzystuje pojęcia zbioru rozmytego i algebry zbiorów rozmytych, które można uznać za uogólnienie tradycyjnej teorii mnogości i algebry Boole a. Logika rozmyta umożliwia tworzenie skutecznych algorytmów decyzyjnych i metod sterowania dla problemów, dla których tradycyjny model matematyczny nie jest znany lub jest zbyt skomplikowany, aby mógł być użyteczny do celów praktycznych.
Zalety
Zalety Zastosowania logiki rozmytej wynikają z obserwacji, że człowiek jest w stanie sterować bardzo złożonymi obiektami i procesami posługując się prostymi regułami wynikającymi z praktycznej wiedzy i doświadczenia.
Zalety Zastosowania logiki rozmytej wynikają z obserwacji, że człowiek jest w stanie sterować bardzo złożonymi obiektami i procesami posługując się prostymi regułami wynikającymi z praktycznej wiedzy i doświadczenia. Algorytmy logiki rozmytej nie wymagają dużej dokładności danych wejściowych ani dużej precyzji obliczeń.
Zalety Zastosowania logiki rozmytej wynikają z obserwacji, że człowiek jest w stanie sterować bardzo złożonymi obiektami i procesami posługując się prostymi regułami wynikającymi z praktycznej wiedzy i doświadczenia. Algorytmy logiki rozmytej nie wymagają dużej dokładności danych wejściowych ani dużej precyzji obliczeń. Algorytmy logiki rozmytej prowadzą do prostych implementacji technicznych.
Zalety Zastosowania logiki rozmytej wynikają z obserwacji, że człowiek jest w stanie sterować bardzo złożonymi obiektami i procesami posługując się prostymi regułami wynikającymi z praktycznej wiedzy i doświadczenia. Algorytmy logiki rozmytej nie wymagają dużej dokładności danych wejściowych ani dużej precyzji obliczeń. Algorytmy logiki rozmytej prowadzą do prostych implementacji technicznych. Możliwe są implementacje w postaci układów analogowych.
Zbiory rozmyte Przykład trzech zbiorów rozmytych dla temperatury 1.0 µ(t) 0.6 0.4 0 0 niska umiarkowana 28 C wysoka 5 10 15 20 25 30 35 40 T C
Zbiory rozmyte Przykład trzech zbiorów rozmytych dla temperatury 1.0 µ(t) 0.6 0.4 0 0 niska umiarkowana 28 C wysoka 5 10 15 20 25 30 35 40 T C Zbiór rozmyty charakteryzuje się funkcją przynależności, która może przybierać wartości od 0 do 1.
Zbiory rozmyte Przykład trzech zbiorów rozmytych dla temperatury 1.0 µ(t) 0.6 0.4 0 0 niska umiarkowana 28 C wysoka 5 10 15 20 25 30 35 40 T C Zbiór rozmyty charakteryzuje się funkcją przynależności, która może przybierać wartości od 0 do 1. Przykładowo, dla zbiorów określonych jak wyżej temperatura 28 C należy do zbioru temperatur umiarkowanych z wartością przynależności 0,4 oraz do zbioru temperatur wysokich z wartością przynależności 0,6.
Zbiory rozmyte i funkcje przynależności 1.0 µ(p) 0 a b c g d e f p Funkcje przynależności mogą mieć różne kształty
Zbiory rozmyte i funkcje przynależności 1.0 µ(p) 0 a b c g d e f p Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z
Zbiory rozmyte i funkcje przynależności 1.0 µ(p) 0 a b c g d e f p Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z b: singleton
Zbiory rozmyte i funkcje przynależności 1.0 µ(p) 0 a b c g d e f p Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z b: singleton c: funkcja Gaussa
Zbiory rozmyte i funkcje przynależności 1.0 µ(p) 0 a b c g d e f p Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z b: singleton c: funkcja Gaussa d: funkcja trapezoidalna
Zbiory rozmyte i funkcje przynależności 1.0 µ(p) 0 a b c g d e f p Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z b: singleton c: funkcja Gaussa d: funkcja trapezoidalna e: funkcja trójkątna
Zbiory rozmyte i funkcje przynależności 1.0 µ(p) 0 a b c g d e f p Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z b: singleton c: funkcja Gaussa d: funkcja trapezoidalna e: funkcja trójkątna f: funkcja typu S
Zbiory rozmyte i funkcje przynależności 1.0 µ(p) 0 a b c g d e f p Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z b: singleton c: funkcja Gaussa d: funkcja trapezoidalna e: funkcja trójkątna f: funkcja typu S g: zbiór tradycyjny
Operacje logiczne na zbiorach rozmytych
Operacje logiczne na zbiorach rozmytych B = NIE A; B to zbiór rozmyty, dla którego µ B = 1 - µ A
Operacje logiczne na zbiorach rozmytych B = NIE A; B to zbiór rozmyty, dla którego µ B = 1 - µ A C = A LUB B; C to zbiór rozmyty, dla którego µ C = max( µ A, µ B )
Operacje logiczne na zbiorach rozmytych B = NIE A; B to zbiór rozmyty, dla którego µ B = 1 - µ A C = A LUB B; C to zbiór rozmyty, dla którego µ C = max( µ A, µ B ) C = A I B; C to zbiór rozmyty, dla którego µ C = min( µ A, µ B )
Operacje logiczne na zbiorach rozmytych B = NIE A; B to zbiór rozmyty, dla którego µ B = 1 - µ A C = A LUB B; C to zbiór rozmyty, dla którego µ C = max( µ A, µ B ) C = A I B; C to zbiór rozmyty, dla którego µ C = min( µ A, µ B ) Operacje logiczne na zbiorach rozmytych sprowadzają się do operacji arytmetycznych na wartościach funkcji przynależności.
Operacje logiczne na zbiorach rozmytych B = NIE A; B to zbiór rozmyty, dla którego µ B = 1 - µ A C = A LUB B; C to zbiór rozmyty, dla którego µ C = max( µ A, µ B ) C = A I B; C to zbiór rozmyty, dla którego µ C = min( µ A, µ B ) Operacje logiczne na zbiorach rozmytych sprowadzają się do operacji arytmetycznych na wartościach funkcji przynależności. Operacje te mogą być więc wykonywane cyfrowo, a także przez niezbyt skomplikowane układy analogowe.
Operacje logiczne na zbiorach rozmytych Funkcja NOT (NIE, negacja) B = NIE A gdy µ B = 1 - µ A 1.0 µ(p) µ A 0 p
Operacje logiczne na zbiorach rozmytych Funkcja NOT (NIE, negacja) B = NIE A gdy µ B = 1 - µ A 1.0 µ(p) µ A µ B 0 p
Operacje logiczne na zbiorach rozmytych Funkcja OR (LUB) C = A LUB B gdy µ C = max( µ A, µ B ) 1.0 µ(p) µ A µ B 0 p
Operacje logiczne na zbiorach rozmytych Funkcja OR (LUB) C = A LUB B gdy µ C = max( µ A, µ B ) 1.0 µ(p) µ µ C A µ B 0 p
Operacje logiczne na zbiorach rozmytych Funkcja AND (I) C = A I B gdy µ C = min( µ A, µ B ) 1.0 µ(p) µ A µ B 0 p
Operacje logiczne na zbiorach rozmytych Funkcja AND (I) C = A I B gdy µ C = min( µ A, µ B ) 1.0 µ(p) µ A µ B 0 µ C p
Zmienne lingwistyczne
Zmienne lingwistyczne Zmienną lingwistyczną nazywamy zmienną, której wartościami są terminy zaczerpnięte z języka naturalnego, a nie liczby
Zmienne lingwistyczne Zmienną lingwistyczną nazywamy zmienną, której wartościami są terminy zaczerpnięte z języka naturalnego, a nie liczby Przykład: jeśli temperatura jest zmienną lingwistyczną, to możemy jej nadawać wartości takie, jak niska, wysoka, umiarkowana, upał, zimno itp.
Zmienne lingwistyczne Zmienną lingwistyczną nazywamy zmienną, której wartościami są terminy zaczerpnięte z języka naturalnego, a nie liczby Przykład: jeśli temperatura jest zmienną lingwistyczną, to możemy jej nadawać wartości takie, jak niska, wysoka, umiarkowana, upał, zimno itp. Wartościom zmiennych lingwistycznych przyporządkowuje się odpowiednio zdefiniowane zbiory rozmyte.
Zmienne lingwistyczne Zmienną lingwistyczną nazywamy zmienną, której wartościami są terminy zaczerpnięte z języka naturalnego, a nie liczby Przykład: jeśli temperatura jest zmienną lingwistyczną, to możemy jej nadawać wartości takie, jak niska, wysoka, umiarkowana, upał, zimno itp. Wartościom zmiennych lingwistycznych przyporządkowuje się odpowiednio zdefiniowane zbiory rozmyte. Szczególne przypadki: zmiennej, której odpowiada ściśle określona wartość liczbowa (np. gdy temperatura = normalna oznacza 18 C) przyporządkowany jest singleton; zakresowi ściśle określonemu (np. od 15,0 C do 25,0 C ) odpowiada zbiór tradycyjny
Reguły wnioskowania
Reguły wnioskowania Zmienne lingwistyczne pozwalają wyrażać zależności oraz reguły wnioskowania lub algorytmy sterowania w języku naturalnym
Reguły wnioskowania Zmienne lingwistyczne pozwalają wyrażać zależności oraz reguły wnioskowania lub algorytmy sterowania w języku naturalnym Przykład reguły sterowania układem klimatyzacji: JEŚLI (temperatura JEST wysoka) I (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały)
Reguły wnioskowania Zmienne lingwistyczne pozwalają wyrażać zależności oraz reguły wnioskowania lub algorytmy sterowania w języku naturalnym Przykład reguły sterowania układem klimatyzacji: JEŚLI (temperatura JEST wysoka) I (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) Tutaj temperatura, wilgotność i nawiew ciepłego powietrza są zmiennymi lingwistycznymi, wysoka, niska i bardzo mały to wartości tych zmiennych (odpowiadają im zbiory rozmyte), a całość jest regułą wnioskowania.
Reguły wnioskowania Zmienne lingwistyczne pozwalają wyrażać zależności oraz reguły wnioskowania lub algorytmy sterowania w języku naturalnym Przykład reguły sterowania układem klimatyzacji: JEŚLI (temperatura JEST wysoka) I (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) Tutaj temperatura, wilgotność i nawiew ciepłego powietrza są zmiennymi lingwistycznymi, wysoka, niska i bardzo mały to wartości tych zmiennych (odpowiadają im zbiory rozmyte), a całość jest regułą wnioskowania. JEST oznacza tu przynależność do zbioru rozmytego (w stopniu określonym przez funkcję przynależności).
Reguły wnioskowania
Przykład ogólniejszy: Układy logiki rozmytej Reguły wnioskowania JEŚLI (a JEST A) I (b JEST B) LUB (c JEST C) TO (d JEST D)
Przykład ogólniejszy: Układy logiki rozmytej Reguły wnioskowania JEŚLI (a JEST A) I (b JEST B) LUB (c JEST C) TO (d JEST D) gdzie A, B, C są to zbiory rozmyte dla zmiennych wejściowych, D jest zbiorem rozmytym dla zmiennej wyjściowej, JEST oznacza wartość funkcji przynależności dla zmiennych wejściowych i wyjściowych do odpowiednich zbiorów rozmytych
Przykład ogólniejszy: Układy logiki rozmytej Reguły wnioskowania JEŚLI (a JEST A) I (b JEST B) LUB (c JEST C) TO (d JEST D) gdzie A, B, C są to zbiory rozmyte dla zmiennych wejściowych, D jest zbiorem rozmytym dla zmiennej wyjściowej, JEST oznacza wartość funkcji przynależności dla zmiennych wejściowych i wyjściowych do odpowiednich zbiorów rozmytych Z tego rodzaju reguł, wyrażonych w języku naturalnym przy użyciu zmiennych lingwistycznych, konstruuje się algorytmy klasyfikacji, sterowania czy też podejmowania decyzji.
Sterownik rozmyty (fuzzy logic controller)
Sterownik rozmyty (fuzzy logic controller) Sterownik rozmyty jest to szczególnego rodzaju mikrokotroler, układ implementujący sprzętowo algorytmy zbudowane przy wykorzystaniu logiki rozmytej. Na wejściu i na wyjściu są konkretne wartości liczbowe, jak na przykład wartość temperatury, wilgotności czy szybkości nawiewu ciepłego powietrza.
Sterownik rozmyty (fuzzy logic controller) Sterownik rozmyty jest to szczególnego rodzaju mikrokotroler, układ implementujący sprzętowo algorytmy zbudowane przy wykorzystaniu logiki rozmytej. Na wejściu i na wyjściu są konkretne wartości liczbowe, jak na przykład wartość temperatury, wilgotności czy szybkości nawiewu ciepłego powietrza. Algorytmy logiki rozmytej działają w trzech krokach: fuzzyfikacja ( rozmywanie ): polega na określeniu wartości funkcji przynależności dla wielkości wejściowych wnioskowanie: polega na wykonaniu operacji logicznych na zbiorach rozmytych (tj. operacji na wartościach funkcji przynależności) zgodnie z regułami wnioskowania defuzzyfikacja ( wyostrzanie ): określanie wartości liczbowych zmiennych wyjściowych na podstawie kształtu zbiorów rozmytych otrzymanych w wyniku procedury wnioskowania.
Sterownik rozmyty (fuzzy logic controller) Stan obiektu: wartości zmiennych wejściowych Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania)
Sterownik rozmyty (fuzzy logic controller) Stan obiektu: wartości zmiennych wejściowych Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Układ fuzzyfikacji
Sterownik rozmyty (fuzzy logic controller) Stan obiektu: wartości zmiennych wejściowych Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Układ fuzzyfikacji Układ logiki wnioskowania
Sterownik rozmyty (fuzzy logic controller) Stan obiektu: wartości zmiennych wejściowych Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Układ fuzzyfikacji Układ logiki wnioskowania Układ defuzzyfikacji
Sterownik rozmyty (fuzzy logic controller) Stan obiektu: wartości zmiennych wejściowych Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Układ fuzzyfikacji Układ logiki wnioskowania Układ defuzzyfikacji Wynik: wartości zmiennych sterujących
Sterownik rozmyty (fuzzy logic controller) Stan obiektu: wartości zmiennych wejściowych Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Układ fuzzyfikacji Układ logiki wnioskowania Układ defuzzyfikacji Wynik: wartości zmiennych sterujących Sterownik rozmyty może implementować jeden konkretny algorytm lub być układem programowalnym
Jak to działa? Fuzzyfikacja µ(t) Wynik: wartości funkcji przynależności do zbiorów rozmytych Wysoka T µ(t) Umiarkowana T µ(t) Niska T Zmienna wejściowa: temperatura T = 28 C Dla n zmiennych wejściowych i m zbiorów rozmytych zdefiniowanych dla każdej zmiennej otrzymujemy n m wartości funkcji przynależności do tych zbiorów.
Jak to działa? Fuzzyfikacja µ(t) Wynik: wartości funkcji przynależności do zbiorów rozmytych Wysoka T µ(t) Umiarkowana T µ(t) Niska T 0 Zmienna wejściowa: temperatura T = 28 C Dla n zmiennych wejściowych i m zbiorów rozmytych zdefiniowanych dla każdej zmiennej otrzymujemy n m wartości funkcji przynależności do tych zbiorów.
Jak to działa? Fuzzyfikacja µ(t) Wynik: wartości funkcji przynależności do zbiorów rozmytych Wysoka µ(t) µ(t) T Umiarkowana T Niska T 0.4 0 Zmienna wejściowa: temperatura T = 28 C Dla n zmiennych wejściowych i m zbiorów rozmytych zdefiniowanych dla każdej zmiennej otrzymujemy n m wartości funkcji przynależności do tych zbiorów.
Jak to działa? Fuzzyfikacja µ(t) Wynik: wartości funkcji przynależności do zbiorów rozmytych T Wysoka 0.6 µ(t) µ(t) Umiarkowana T Niska T 0.4 0 Zmienna wejściowa: temperatura T = 28 C Dla n zmiennych wejściowych i m zbiorów rozmytych zdefiniowanych dla każdej zmiennej otrzymujemy n m wartości funkcji przynależności do tych zbiorów.
Jak to działa? Wnioskowanie Reguła typu I JEŚLI (temperatura JEST wysoka) I (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) wysoka T µ(h) niska } H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu I JEŚLI (temperatura JEST wysoka) I (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) wysoka T µ(h) niska 0.6 } H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu I JEŚLI (temperatura JEST wysoka) I (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) wysoka T µ(h) niska 0.6 } 0.35 H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu I JEŚLI (temperatura JEST wysoka) I (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) Reguła I oznacza: wybieramy mniejszą wartość µ(t) wysoka T µ(h) niska 0.6 } 0.35 H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu I JEŚLI (temperatura JEST wysoka) I (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) Reguła I oznacza: wybieramy mniejszą wartość µ(t) wysoka T µ(h) niska 0.6 } 0.35 0.35 H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu I JEŚLI (temperatura JEST wysoka) I (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) Reguła I oznacza: wybieramy mniejszą wartość µ(t) wysoka T µ(h) niska 0.6 } 0.35 0.35 H temperatura: T = 28 C wilgotność H = 30 % Wynik: zgodnie z tą regułą nawiew ciepłego powietrza powinien należeć do zbioru nawiewów bardzo małych, a waga tego wyniku wynosi 0,35.
Jak to działa? Wnioskowanie Reguła typu LUB JEŚLI (temperatura JEST wysoka) LUB (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) wysoka T µ(h) niska } H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu LUB JEŚLI (temperatura JEST wysoka) LUB (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) wysoka T µ(h) niska 0.6 } H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu LUB JEŚLI (temperatura JEST wysoka) LUB (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) wysoka T µ(h) niska 0.6 } 0.35 H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu LUB JEŚLI (temperatura JEST wysoka) LUB (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) Reguła LUB oznacza: wybieramy większą wartość µ(t) wysoka T µ(h) niska 0.6 } 0.35 H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu LUB JEŚLI (temperatura JEST wysoka) LUB (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) Reguła LUB oznacza: wybieramy większą wartość µ(t) wysoka T µ(h) niska 0.6 } 0.35 0,6 H temperatura: T = 28 C wilgotność H = 30 %
Jak to działa? Wnioskowanie Reguła typu LUB JEŚLI (temperatura JEST wysoka) LUB (wilgotność JEST niska) TO (nawiew ciepłego powietrza JEST bardzo mały) Reguła LUB oznacza: wybieramy większą wartość µ(t) wysoka T µ(h) niska 0.6 } 0.35 0,6 H temperatura: T = 28 C wilgotność H = 30 % Wynik: zgodnie z tą regułą nawiew ciepłego powietrza powinien należeć do zbioru nawiewów bardzo małych, a waga tego wyniku wynosi 0,6.
Jak to działa? Łączenie reguł Interpretacja wyniku działania reguły: funkcja przynależności do wyjściowego zbioru rozmytego jest ucięta 0.35 µ(v) nawiew bardzo mały Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. V
Jak to działa? Łączenie reguł Interpretacja wyniku działania reguły: funkcja przynależności do wyjściowego zbioru rozmytego jest ucięta 0.35 µ(v) nawiew bardzo mały Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. V µ(v) Z reguły 1 V
Jak to działa? Łączenie reguł Interpretacja wyniku działania reguły: funkcja przynależności do wyjściowego zbioru rozmytego jest ucięta 0.35 µ(v) nawiew bardzo mały Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. V µ(v) µ(v) V Z reguły 1 Z reguły 2 V
Jak to działa? Łączenie reguł Interpretacja wyniku działania reguły: funkcja przynależności do wyjściowego zbioru rozmytego jest ucięta 0.35 µ(v) nawiew bardzo mały Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. V µ(v) µ(v) LUB V Z reguły 1 Z reguły 2 V
Jak to działa? Łączenie reguł Interpretacja wyniku działania reguły: funkcja przynależności do wyjściowego zbioru rozmytego jest ucięta 0.35 µ(v) nawiew bardzo mały Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. V µ(v) µ(v) LUB = V V Z reguły 1 Z reguły 2
Jak to działa? Łączenie reguł Interpretacja wyniku działania reguły: funkcja przynależności do wyjściowego zbioru rozmytego jest ucięta 0.35 µ(v) nawiew bardzo mały Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. V µ(v) µ(v) LUB = µ(v) V V Z reguły 1 Z reguły 2 Wynik V
Jak to działa? Defuzzyfikacja Defuzzyfikacja oznacza określenie wartości zmiennej wyjściowej na podstawie kształtu wyjściowego zbioru rozmytego. Można to wykonać na kilka sposobów, jednym z często stosowanych jest wyznacznie środka ciężkości funkcji przynależności. µ(v) V Wyjściowy zbiór rozmyty dla zmiennej nawiew ciepłego powietrza
Jak to działa? Defuzzyfikacja Defuzzyfikacja oznacza określenie wartości zmiennej wyjściowej na podstawie kształtu wyjściowego zbioru rozmytego. Można to wykonać na kilka sposobów, jednym z często stosowanych jest wyznacznie środka ciężkości funkcji przynależności. Dla zmiennej V, której funkcja przynależności do zbioru wyjściowego jest µ ( V ), wyjściowa wartość jest wyznaczana ze wzoru V wy = 0 Vµ ( V )dv 0 µ ( V )dv µ(v) V Wyjściowy zbiór rozmyty dla zmiennej nawiew ciepłego powietrza
Jak to działa? Defuzzyfikacja Defuzzyfikacja oznacza określenie wartości zmiennej wyjściowej na podstawie kształtu wyjściowego zbioru rozmytego. Można to wykonać na kilka sposobów, jednym z często stosowanych jest wyznacznie środka ciężkości funkcji przynależności. Dla zmiennej V, której funkcja przynależności do zbioru wyjściowego jest µ ( V ), wyjściowa wartość jest wyznaczana ze wzoru V wy = 0 Vµ ( V )dv 0 µ ( V )dv µ(v) V wy V Wyjściowy zbiór rozmyty dla zmiennej nawiew ciepłego powietrza Wyjściowa wartość zmiennej nawiew ciepłego powietrza
Jak to działa? Defuzzyfikacja Uproszczony przykład: jedna zmienna wejściowa, jedna zmienna wyjściowa i jedna reguła JEŚLI (temperatura JEST wysoka) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) µ(v) nawiew bardzo mały T V µ(t) nawiew bardzo mały T V
Jak to działa? Defuzzyfikacja Uproszczony przykład: jedna zmienna wejściowa, jedna zmienna wyjściowa i jedna reguła JEŚLI (temperatura JEST wysoka) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) µ(v) nawiew bardzo mały T V µ(t) nawiew bardzo mały T V
Jak to działa? Defuzzyfikacja Uproszczony przykład: jedna zmienna wejściowa, jedna zmienna wyjściowa i jedna reguła JEŚLI (temperatura JEST wysoka) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) µ(v) nawiew bardzo mały T V µ(t) nawiew bardzo mały T V
Jak to działa? Defuzzyfikacja Uproszczony przykład: jedna zmienna wejściowa, jedna zmienna wyjściowa i jedna reguła JEŚLI (temperatura JEST wysoka) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) µ(v) nawiew bardzo mały T V µ(t) nawiew bardzo mały T V
Jak to działa? Defuzzyfikacja Uproszczony przykład: jedna zmienna wejściowa, jedna zmienna wyjściowa i jedna reguła JEŚLI (temperatura JEST wysoka) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) µ(v) nawiew bardzo mały T V µ(t) nawiew bardzo mały T V
Jak to działa? Defuzzyfikacja Uproszczony przykład: jedna zmienna wejściowa, jedna zmienna wyjściowa i jedna reguła JEŚLI (temperatura JEST wysoka) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) µ(v) nawiew bardzo mały T V µ(t) nawiew bardzo mały T V
Jak to działa? Defuzzyfikacja Uproszczony przykład: jedna zmienna wejściowa, jedna zmienna wyjściowa i jedna reguła JEŚLI (temperatura JEST wysoka) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) µ(v) nawiew bardzo mały T V µ(t) nawiew bardzo mały T V
Jak to działa? Defuzzyfikacja Uproszczony przykład: jedna zmienna wejściowa, jedna zmienna wyjściowa i jedna reguła JEŚLI (temperatura JEST wysoka) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) µ(v) nawiew bardzo mały T V µ(t) nawiew bardzo mały T V
Jak to działa? Defuzzyfikacja Uproszczony przykład: jedna zmienna wejściowa, jedna zmienna wyjściowa i jedna reguła JEŚLI (temperatura JEST wysoka) TO (nawiew ciepłego powietrza JEST bardzo mały) µ(t) µ(v) nawiew bardzo mały T V µ(t) nawiew bardzo mały T V Wyższa temperatura -> słabszy nawiew
Uogólnienia Operatory logiczne oraz wzory określające sposób defuzzyfikacji mogą być definiowane na wiele sposobów.
Uogólnienia Operatory logiczne oraz wzory określające sposób defuzzyfikacji mogą być definiowane na wiele sposobów. Operator logiczny LUB, reprezentowany w przykładach przez funkcję max, jest w ogólności określany jako operator S-normy, musi on spełniać następujące warunki: S(1, 1) = 1 S(x, 0) = S(0, x) = x S(x, y) S(u, v) if x < u and y < v S(x, y) = S(y, x) S(x, S(u, v)) = (S(S(x, u), v)
Uogólnienia
Uogólnienia Operator logiczny I, reprezentowany w przykładach przez funkcję min, jest w ogólności określany jako operator T-normy, musi on spełniać następujące warunki: T(0, 0) = 0 T(x, 1) = T(1, x) = x T(x, y) T(u, v) if x < u and y < v T(x, y) = T(y, x) T(x, T(u, v)) = (T(T(x, u), V)
Uogólnienia We wnioskowaniu można użyć dowolnego sposobu zdefiniowania operatorów S-normy i T-normy, jeśli spełniają one podane wcześniej warunki.
Uogólnienia We wnioskowaniu można użyć dowolnego sposobu zdefiniowania operatorów S-normy i T-normy, jeśli spełniają one podane wcześniej warunki. Przykład S-normy i T-normy:
Uogólnienia We wnioskowaniu można użyć dowolnego sposobu zdefiniowania operatorów S-normy i T-normy, jeśli spełniają one podane wcześniej warunki. Przykład S-normy i T-normy: (oba argumenty ograniczone do przedziału [0, 1]): T-norma: T(x, y) = xy (zwykłe mnożenie) S-norma: S(x, y) = (x + y - xy) (S-norma nie może być zdefiniowana przez zwykłe dodawanie, bo 1 + 1 1!)
Uogólnienia We wnioskowaniu można użyć dowolnego sposobu zdefiniowania operatorów S-normy i T-normy, jeśli spełniają one podane wcześniej warunki. Przykład S-normy i T-normy: (oba argumenty ograniczone do przedziału [0, 1]): T-norma: T(x, y) = xy (zwykłe mnożenie) S-norma: S(x, y) = (x + y - xy) (S-norma nie może być zdefiniowana przez zwykłe dodawanie, bo 1 + 1 1!) Uwaga: chociaż zbiory rozmyte są uogólnieniem zbiorów teorii mnogości, to reguły algebry Boole a w ogólności nie są słuszne w teorii zbiorów rozmytych!
Jak tego użyć w praktyce?
Jak tego użyć w praktyce? Wybór liczby i kształtu zbiorów rozmytych dla zmiennych wejściowych, oraz reguł wnioskowania zależy od problemu, jaki rozwiązujemy. Trafność tych wyborów decyduje o skuteczności algorytmu.
Jak tego użyć w praktyce? Wybór liczby i kształtu zbiorów rozmytych dla zmiennych wejściowych, oraz reguł wnioskowania zależy od problemu, jaki rozwiązujemy. Trafność tych wyborów decyduje o skuteczności algorytmu. Wybór reprezentacji operatorów logicznych oraz metody defuzzyfikacji zależy od wybranej techniki implementacji i ma niewielki wpływ na wyniki działania algorytmu.
Implementacje Implementacja programowa: w postaci oprogramowania komputerowego, definicje funkcji przynależności, operatory logiczne i sposób defuzzyfikacji są realizowane jako odpowiednie procedury lub funkcje Implementacja sprzętowa cyfrowa: specjalizowany układ cyfrowy, wszystkie wielkości reprezentowane jako liczby, bloki fuzzyfikacji, wnioskowania i defuzzyfikacji to bloki wykonujące odpowiednie operacje w technice cyfrowej Implementacja sprzętowa analogowa: specjalizowany układ analogowy, wszystkie wielkości reprezentowane jako wartości napięć lub prądów, bloki fuzzyfikacji, wnioskowania i defuzzyfikacji to bloki wykonujące odpowiednie operacje w technice analogowej
Implementacje Implementacja programowa: program komputerowy (często dla mikrokontrolera); działa najwolniej, największe zużycie energii, obliczenia dokładne (ale wystarczą zwykle liczby 8-bitowe, a nawet 4- bitowe) Implementacja sprzętowa cyfrowa: działa szybciej, układ może być programowalny, umiarkowane zużycie energii, obliczenia dokładne (ale wystarczą zwykle liczby 8-bitowe, a nawet 4-bitowe) Implementacja sprzętowa analogowa: działa najszybciej, programowalność bardzo ograniczona, obliczenia realizowane analogowo mało dokładne (co nie jest problemem!)
Implementacje sprzętowe: blok fuzzyfikacji Jest to zbiór układów, z których każdy przyporządkowuje zmiennej wejściowej wartość funkcji przynależności do jednego zbioru rozmytego (MFC). Liczba tych układów jest równa liczbie wszystkich zbiorów rozmytych. In1 a MFC A MFC B MFC C µ A (a) µ B (a) µ C (a) Wartości funkcji przynależności dla zmiennej wejściowej In1 = a In2 b MFC D MFC E µ D (b) µ E (b) Wartości funkcji przynależności dla zmiennej wejściowej In2 = b
Implementacje sprzętowe: blok wnioskowania
Implementacje sprzętowe: blok wnioskowania Ten blok jest zbiorem bramek logicznych logiki rozmytej, czyli układów wykonujących operacje negacji, I, LUB. Bramki te połączone są w sposób wynikający z reguł wnioskowania. Jest to odpowiednik tradycyjnego kombinacyjnego układu logicznego.
Implementacje sprzętowe: blok wnioskowania Ten blok jest zbiorem bramek logicznych logiki rozmytej, czyli układów wykonujących operacje negacji, I, LUB. Bramki te połączone są w sposób wynikający z reguł wnioskowania. Jest to odpowiednik tradycyjnego kombinacyjnego układu logicznego. Schemat bloku wnioskowania wynika z przyjętych reguł wnioskowania. Istnieją metody minimalizacji logicznej takiego układu, ale są one odmienne od metod znanych z teorii układów logicznych, bo algebra Boole a nie jest prawdziwa dla układów logiki rozmytej.
Implementacje sprzętowe: blok wnioskowania JEŚLI (a JEST A) I (b JEST D) TO... (reguła 1) JEŚLI (a JEST B) LUB (b JEST E) TO... (reguła 2) JEŚLI (a JEST C) I NIE (b JEST E) TO (reguła 3) Z bloku fuzzyfikacji µ A (a) µ B (a) µ C (a) µ D (b) µ E (b) AND OR NOT AND w 1 w 2 w 3 Wyniki
Implementacje sprzętowe: blok defuzzyfikacji JEŚLI (a JEST A) I (b JEST D) TO (x JEST X) (reguła 1) JEŚLI (a JEST B) LUB (b JEST E) TO (x JEST Y) (reguła 2) JEŚLI (a JEST C) I NIE (b JEST E) TO (z JEST Z) (reguła 3) Z bloku wnioskowania w 1 w 2 w 3 Połączenie reguł 1 i 2 Defuzzyfikacja x z Wyniki
Sterownik jako czarna skrzynka Wejścia Sterownik jest to generator pewnej wielowymiarowej funkcji nieliniowej Wyjścia
Sterownik jako czarna skrzynka Wejścia Sterownik jest to generator pewnej wielowymiarowej funkcji nieliniowej Wyjścia
Sterownik jako czarna skrzynka Przykład funkcji - dwie zmienne wejściowe (5 zbiorów rozmytych dla jednej, 4 dla drugiej), jedna zmienna wyjściowa, 6 reguł.
Output voltage Vout, V Układy logiki rozmytej Implementacje analogowe 20 2 20 2 20 2 20 2 Vdd 2 4 Vref1 2 20 2 20 2 20 2 20 Vref2 Vs1 4 4 Vs2 2 Vs3 10 Vin 10 10 2 20 Vout (a) 2.0 1.8 1.6 1.4 1.2 1.0 0.8 1.2 1.3 1.4 1.5 1.6 1.7 Input voltage Vin, V 1.8 (b) Przykład układu CMOS generującego trapezoidalną funkcję przynależności A. Żochowski, praca magisterska, IMiO PW
Output current, ma Układy logiki rozmytej Implementacje analogowe Vdd 1.2 8/5 4/5 1.0 Iref1 Iin 8/5 4/5 4/5 Iout 0.8 0.6 4/5 0.4 2/5 2/5 Iref2 0.2 0.0 0.0 0.2 0.4 0.6 0.8 1.0 Input current, ma Przykład układu CMOS generującego trapezoidalną funkcję przynależności (układ pracujący w trybie prądowym) A. Wałkanis, praca magisterska, IMiO PW
Implementacje analogowe a MIN(a,b) a MAX(a,b) b b Przykład układów CMOS realizujących operacje min i max A. Żochowski, praca magisterska, IMiO PW
Implementacje analogowe Vdd Vdd Ia Iout Ib Ia Iref("1") Ib Iout Iout = MAX(Ia,Ib) Iout = NOT(MAX(Ia,Ib)) Przykład układów CMOS realizujących operacje min i max (układy pracujące w trybie prądowym) A. Wałkanis, praca magisterska, IMiO PW
Implementacje analogowe Wejścia n p i µ p i 1 n 1 ( ) µ ( p i ) Dzielenie Wyjście Idea układu realizującego defuzzyfikację (całkowanie przybliżone sumowaniem) T. Miki, H. Matsumoto, K. Ohto and T. Yamakawa, Silicon Implementation for a Novel High-Speed Fuzzy Inference Engine: Mega-FLIPS Analog Fuzzy Processor, J. of Intelligent and Fuzzy Systems, vol. 1, pp. 27-42, 1993.
Podsumowanie
Podsumowanie Układy logiki rozmytej pozwalają budować skuteczne algorytmy decyzyjne, klasyfikacji, sterowania bez tradycyjnych modeli matematycznych, a przy wykorzystaniu ludzkiego doświadczenia. Implementacje mogą wykorzytywać technikę analogową