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ą