Inne rodzaje układów analogowych.
Transkrypt
Inne rodzaje układów analogowych.
PUAV Wykład 14 Układy logiki rozmytej Co to jest? Układy logiki rozmytej Co to jest? Logika rozmyta (fuzzy logic) jest to dział matematyki precyzyjnie formalizujący nieprecyzyjne, nieformalne ludzkie rozumowanie. Układy logiki rozmytej 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. Układy logiki rozmytej 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. Układy logiki rozmytej Zalety Układy logiki rozmytej 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. Układy logiki rozmytej 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ń. Układy logiki rozmytej 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. Układy logiki rozmytej 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. Układy logiki rozmytej Zbiory rozmyte Przykład trzech zbiorów rozmytych dla temperatury 1.0 wysoka 0.6 0.4 0 28 C µ(T) umiarkowana niska 0 5 10 15 20 25 T 30 35 40 C Układy logiki rozmytej Zbiory rozmyte Przykład trzech zbiorów rozmytych dla temperatury 1.0 wysoka 0.6 0.4 0 28 C µ(T) umiarkowana niska 0 5 10 15 20 25 T 30 35 40 C Zbiór rozmyty charakteryzuje się funkcją przynależności, która może przybierać wartości od 0 do 1. Układy logiki rozmytej Zbiory rozmyte Przykład trzech zbiorów rozmytych dla temperatury 1.0 wysoka 0.6 0.4 0 28 C µ(T) umiarkowana niska 0 5 10 15 20 25 T 30 35 40 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. Układy logiki rozmytej Zbiory rozmyte i funkcje przynależności 1.0 0 µ(p) p a b c g d e f Funkcje przynależności mogą mieć różne kształty Układy logiki rozmytej Zbiory rozmyte i funkcje przynależności 1.0 0 µ(p) p a b c g d e f Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z Układy logiki rozmytej Zbiory rozmyte i funkcje przynależności 1.0 0 µ(p) p a b c g d e f Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z b: singleton Układy logiki rozmytej Zbiory rozmyte i funkcje przynależności 1.0 0 µ(p) p a b c g d e f Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z b: singleton c: funkcja Gaussa Układy logiki rozmytej Zbiory rozmyte i funkcje przynależności 1.0 0 µ(p) p a b c g d e f Funkcje przynależności mogą mieć różne kształty a: funkcja typu Z b: singleton c: funkcja Gaussa d: funkcja trapezoidalna Układy logiki rozmytej Zbiory rozmyte i funkcje przynależności 1.0 0 µ(p) p a b c g d e f 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 Układy logiki rozmytej Zbiory rozmyte i funkcje przynależności 1.0 0 µ(p) p a b c g d e f 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 Układy logiki rozmytej Zbiory rozmyte i funkcje przynależności 1.0 0 µ(p) p a b c g d e f 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 Układy logiki rozmytej Operacje logiczne na zbiorach rozmytych Układy logiki rozmytej Operacje logiczne na zbiorach rozmytych B = NIE A; B to zbiór rozmyty, dla którego µB = 1 - µA Układy logiki rozmytej 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) Układy logiki rozmytej 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) Układy logiki rozmytej 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. Układy logiki rozmytej 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. Układy logiki rozmytej Operacje logiczne na zbiorach rozmytych Funkcja NOT (NIE, negacja) B = NIE A gdy µB = 1 - µA 1.0 0 µ(p) µA p Układy logiki rozmytej Operacje logiczne na zbiorach rozmytych Funkcja NOT (NIE, negacja) B = NIE A gdy µB = 1 - µA 1.0 0 µ(p) µA µB p Układy logiki rozmytej Operacje logiczne na zbiorach rozmytych Funkcja OR (LUB) C = A LUB B gdy µC = max( µA, µB) 1.0 0 µ(p) µA µB p Układy logiki rozmytej Operacje logiczne na zbiorach rozmytych Funkcja OR (LUB) C = A LUB B gdy µC = max( µA, µB) 1.0 0 µ(p) µA µC µB p Układy logiki rozmytej Operacje logiczne na zbiorach rozmytych Funkcja AND (I) C = A I B gdy µC = min( µA, µB) 1.0 0 µ(p) µA µB p Układy logiki rozmytej Operacje logiczne na zbiorach rozmytych Funkcja AND (I) C = A I B gdy µC = min( µA, µB) 1.0 µ(p) µA µB µC 0 p Układy logiki rozmytej Zmienne lingwistyczne Układy logiki rozmytej Zmienne lingwistyczne Zmienną lingwistyczną nazywamy zmienną, której wartościami są terminy zaczerpnięte z języka naturalnego, a nie liczby Układy logiki rozmytej 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. Układy logiki rozmytej 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. Układy logiki rozmytej 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 Układy logiki rozmytej Reguły wnioskowania Układy logiki rozmytej Reguły wnioskowania Zmienne lingwistyczne pozwalają wyrażać zależności oraz reguły wnioskowania lub algorytmy sterowania w języku naturalnym Układy logiki rozmytej 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) Układy logiki rozmytej 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. Układy logiki rozmytej 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). Układy logiki rozmytej Reguły wnioskowania Układy logiki rozmytej Reguły wnioskowania Przykład ogólniejszy: JEŚLI (a JEST A) I (b JEST B) LUB (c JEST C) TO (d JEST D) Układy logiki rozmytej Reguły wnioskowania Przykład ogólniejszy: 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 Układy logiki rozmytej Reguły wnioskowania Przykład ogólniejszy: 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. Układy logiki rozmytej Sterownik “rozmyty” (fuzzy logic controller) Układy logiki rozmytej 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. Układy logiki rozmytej 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. Układy logiki rozmytej Sterownik “rozmyty” (fuzzy logic controller) Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Stan obiektu: wartości zmiennych wejściowych Układy logiki rozmytej Sterownik “rozmyty” (fuzzy logic controller) Stan obiektu: wartości zmiennych wejściowych Układ fuzzyfikacji Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Układy logiki rozmytej Sterownik “rozmyty” (fuzzy logic controller) Stan obiektu: wartości zmiennych wejściowych Układ fuzzyfikacji Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Układ logiki wnioskowania Układy logiki rozmytej Sterownik “rozmyty” (fuzzy logic controller) Układ logiki wnioskowania Układ defuzzyfikacji Stan obiektu: wartości zmiennych wejściowych Układ fuzzyfikacji Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Układy logiki rozmytej Sterownik “rozmyty” (fuzzy logic controller) Układ logiki wnioskowania Układ defuzzyfikacji Stan obiektu: wartości zmiennych wejściowych Układ fuzzyfikacji Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Wynik: wartości zmiennych sterujących Układy logiki rozmytej Sterownik “rozmyty” (fuzzy logic controller) Układ logiki wnioskowania Układ defuzzyfikacji Stan obiektu: wartości zmiennych wejściowych Układ fuzzyfikacji Algorytm (Zbiory rozmyte, ich funkcje przynależności oraz reguły wnioskowania) Wynik: wartości zmiennych sterujących Sterownik “rozmyty” może implementować jeden konkretny algorytm lub być układem programowalnym Układy logiki rozmytej 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. Układy logiki rozmytej 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. Układy logiki rozmytej Jak to działa? Fuzzyfikacja µ(T) Wynik: wartości funkcji przynależności do zbiorów rozmytych „Wysoka” T µ(T) „Umiarkowana” 0.4 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. Układy logiki rozmytej Jak to działa? Fuzzyfikacja µ(T) Wynik: wartości funkcji przynależności do zbiorów rozmytych „Wysoka” 0.6 T µ(T) „Umiarkowana” 0.4 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. Układy logiki rozmytej 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” µ(H) „niska” T temperatura: T = 28 C wilgotność H = 30 % } H Układy logiki rozmytej 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” µ(H) „niska” 0.6 T temperatura: T = 28 C wilgotność H = 30 % } H Układy logiki rozmytej 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 temperatura: T = 28 C µ(H) „niska” 0.6 0.35 wilgotność H = 30 % } H Układy logiki rozmytej 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 temperatura: T = 28 C µ(H) „niska” 0.6 0.35 wilgotność H = 30 % } H Układy logiki rozmytej 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 temperatura: T = 28 C µ(H) „niska” 0.6 0.35 wilgotność H = 30 % } 0.35 H Układy logiki rozmytej 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 temperatura: T = 28 C µ(H) „niska” 0.6 0.35 } 0.35 H 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. Układy logiki rozmytej 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” µ(H) „niska” T temperatura: T = 28 C wilgotność H = 30 % } H Układy logiki rozmytej 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” µ(H) „niska” 0.6 T temperatura: T = 28 C wilgotność H = 30 % } H Układy logiki rozmytej 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 temperatura: T = 28 C µ(H) „niska” 0.6 0.35 wilgotność H = 30 % } H Układy logiki rozmytej 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 temperatura: T = 28 C µ(H) „niska” 0.6 0.35 wilgotność H = 30 % } H Układy logiki rozmytej 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 temperatura: T = 28 C µ(H) „niska” 0.6 0.35 wilgotność H = 30 % } 0,6 H Układy logiki rozmytej 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 temperatura: T = 28 C µ(H) „niska” 0.6 0.35 } 0,6 H 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. Układy logiki rozmytej 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” V Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. Układy logiki rozmytej 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” V 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 Układy logiki rozmytej 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” V Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. µ(V) µ(V) V Z reguły 1 V Z reguły 2 Układy logiki rozmytej 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” V Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. µ(V) µ(V) LUB V Z reguły 1 V Z reguły 2 Układy logiki rozmytej 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” V Jeśli kilka reguł oddziałuje na tę samą zmienną wyjściową, odpowiednie zbiory rozmyte łączy się przy pomocy operatora LUB. µ(V) µ(V) = LUB V Z reguły 1 V Z reguły 2 Układy logiki rozmytej 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” V 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 V Z reguły 2 V Wynik Układy logiki rozmytej 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. Wyjściowy zbiór rozmyty dla zmiennej “nawiew ciepłego powietrza” µ(V) V Układy logiki rozmytej 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 Vwy = ∫ V µ (V ) dV 0 ∞ ∫ µ (V ) dV 0 Wyjściowy zbiór rozmyty dla zmiennej “nawiew ciepłego powietrza” µ(V) V Układy logiki rozmytej 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 Vwy = ∫ V µ (V ) dV 0 ∞ ∫ µ (V ) dV 0 Wyjściowy zbiór rozmyty dla zmiennej “nawiew ciepłego powietrza” µ(V) V Vwy Wyjściowa wartość zmiennej “nawiew ciepłego powietrza” Układy logiki rozmytej 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) µ(V) µ(T) „nawiew bardzo mały” T V µ(T) „nawiew bardzo mały” T V Układy logiki rozmytej 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) µ(V) µ(T) „nawiew bardzo mały” T V µ(T) „nawiew bardzo mały” T V Układy logiki rozmytej 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) µ(V) µ(T) „nawiew bardzo mały” T V µ(T) „nawiew bardzo mały” T V Układy logiki rozmytej 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) µ(V) µ(T) „nawiew bardzo mały” T V µ(T) „nawiew bardzo mały” T V Układy logiki rozmytej 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) µ(V) µ(T) „nawiew bardzo mały” T V µ(T) „nawiew bardzo mały” T V Układy logiki rozmytej 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) µ(V) µ(T) „nawiew bardzo mały” T V µ(T) „nawiew bardzo mały” T V Układy logiki rozmytej 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) µ(V) µ(T) „nawiew bardzo mały” T V µ(T) „nawiew bardzo mały” T V Układy logiki rozmytej 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) µ(V) µ(T) „nawiew bardzo mały” T V µ(T) „nawiew bardzo mały” T V Układy logiki rozmytej 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) µ(V) µ(T) „nawiew bardzo mały” T V µ(T) „nawiew bardzo mały” T Wyższa temperatura -> słabszy nawiew V Układy logiki rozmytej Uogólnienia Operatory logiczne oraz wzory określające sposób defuzzyfikacji mogą być definiowane na wiele sposobów. Układy logiki rozmytej 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) Układy logiki rozmytej Uogólnienia Układy logiki rozmytej 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) Układy logiki rozmytej 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. Układy logiki rozmytej 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: Układy logiki rozmytej 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 !) Układy logiki rozmytej 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! Układy logiki rozmytej Jak tego użyć w praktyce? Układy logiki rozmytej 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. Układy logiki rozmytej 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. Układy logiki rozmytej 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 Układy logiki rozmytej 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 4bitowe) 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!) Układy logiki rozmytej 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 In2 a b MFCA MFCB µA(a) µB(a) MFCC µC(a) MFCD µD(b) MFCE µE(b) Wartości funkcji przynależności dla zmiennej wejściowej In1 = a Wartości funkcji przynależności dla zmiennej wejściowej In2 = b Układy logiki rozmytej Implementacje sprzętowe: blok wnioskowania Układy logiki rozmytej 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. Układy logiki rozmytej 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. Układy 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) µA(a) µB(a) µC(a) AND w2 OR µD(b) µE(b) w1 NOT AND w3 Wyniki Z bloku fuzzyfikacji JEŚLI (a JEST C) I NIE (b JEST E) TO … (reguła 3) Układy logiki rozmytej 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) w1 w2 w3 Połączenie reguł 1 i 2 x Defuzzyfikacja z Wyniki Z bloku wnioskowania JEŚLI (a JEST C) I NIE (b JEST E) TO (z JEST Z) (reguła 3) Układy logiki rozmytej Sterownik jest to generator pewnej wielowymiarowej funkcji nieliniowej Wyjścia Wejścia Sterownik jako “czarna skrzynka” Układy logiki rozmytej Sterownik jest to generator pewnej wielowymiarowej funkcji nieliniowej Wyjścia Wejścia Sterownik jako “czarna skrzynka” Układy logiki rozmytej 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ł. Układy logiki rozmytej Implementacje analogowe Vdd 20 2 Vref1 Vs1 20 2 20 2 2 2 20 20 2 2 20 20 4 10 Vin 2 4 20 2 Vref2 4 10 Vs2 2 20 2 10 Vout Vs3 Output voltage Vout, V (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 1.8 Input voltage Vin, V (b) Przykład układu CMOS generującego trapezoidalną funkcję przynależności A. Żochowski, praca magisterska, IMiO PW Układy logiki rozmytej Implementacje analogowe 1.2 8/5 4/5 8/5 4/5 Iout Iref1 Iin 4/5 4/5 2/5 2/5 Output current, mA Vdd 1.0 0.8 0.6 0.4 0.2 Iref2 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 Układy logiki rozmytej Implementacje analogowe a a MIN(a,b) b MAX(a,b) b Przykład układów CMOS realizujących operacje min i max A. Żochowski, praca magisterska, IMiO PW Układy logiki rozmytej Implementacje analogowe Vdd Ia Iout Iout = MAX(Ia,Ib) Vdd Ib Ia Iref("1") Ib Iout 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 Układy logiki rozmytej n ∑ p µ( p ) i i 1 Dzielenie Wyjście Wejścia Implementacje analogowe n ∑µ( p ) i 1 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. Układy logiki rozmytej Podsumowanie Układy logiki rozmytej 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ą