Logika rozmyta
Agnieszka Nowak - Brzezińska
Geneza Logiki rozmytej
• Za twórcę teorii zbiorów rozmytych i logiki rozmytej uważa się Lotfiego A. Zadeha, który w 1965 roku opublikował artykuł „Fuzzy Sets” (Information Control 8, 338-353, 1965).
• Tak naprawdę, historia myśli, która doprowadziła do stworzenia tej teorii jest jednak znacznie dłuższa i warto przedstawić chociaż dwa fakty z tym związane. Pierwszych prób wyjścia poza dwuwartościową logikę można doszukać się już u Platona stwierdzającego, że istnieje jakiś dodatkowy obszar pomiędzy prawdą i fałszem.
• W początkowych latach XX wieku, polski uczony - Jan Łukasiewicz zaproponował system logiki trójwartościowej stanowiącej bazę dla logiki rozmytej.
• Na systemy rozmyte składają się te techniki i metody, które służą do obrazowania informacji nieprecyzyjnych, nieokreślonych bądź niekonkretnych. Pozwalają one opisywać zjawiska o charakterze wieloznacznym, których nie jest w stanie ująć teoria klasyczna i logika dwuwartościowa.
• Charakteryzują się tym, że wiedza jest przetwarzana w postaci symbolicznej i zapisywana w postaci rozmytych reguł.
• Systemy rozmyte znajdują zastosowanie tam, gdzie nie posiadamy wystarczającej wiedzy o modelu matematycznym rządzącym danym zjawiskiem oraz tam gdzie odtworzenie tegoż modelu staje się nieopłacalne lub nawet niemożliwe.
Tak więc możemy je spotkać w bazach danych, sterowaniu oraz dziedzinach zajmujących się przetwarzaniem języka naturalnego.
Zastosowanie logiki rozmytej (Fuzzy- Logic)
• Logika rozmyta jest stosowana wszędzie tam, gdzie użycie klasycznej logiki stwarza problem ze względu na trudność w zapisie matematycznym procesu lub gdy wyliczenie lub pobranie zmiennych potrzebnych do rozwiązania problemu jest niemożliwe.
• Ma szerokie zastosowanie w różnego rodzaju sterownikach.
Sterowniki te mogą pracować w urządzeniach tak pospolitych jak lodówki czy pralki, jak również mogą być wykorzystywane do bardziej złożonych zagadnień jak przetwarzanie obrazu, rozwiązywanie problemu korków ulicznych czy unikanie kolizji.
• Sterowniki wykorzystujące logikę rozmytą są również używane na przykład w połączeniu z sieciami neuronowymi.
Przykłady zastosowań:
• układy sterowania rozrusznika serca
• układ sterowania samochodu
• bojler wodny
• reaktory i urządzenia chemiczne
• urządzenia chłodnicze
• urządzenia klimatyzacyjne i wentylacyjne
• urządzenia do spalania śmieci
• piec do wytopu szkła
• układ sterowania ciśnienia krwi
• urządzenia diagnostyki nowotworowej
• system ostrzegawczy chorób serca
• układ sterowania suwnicą lub dźwigiem
• stacja pomp
• przetwarzanie obrazów
• urządzenia szybkiego ładowania akumulatorów
• rozpoznawanie słów
• terapia diabetyczna, sterowanie poziomu cukru we krwi
• układ energetyczny
• urządzenia do obróbki metali
• sterowanie bioprocesorów
• urządzenia grzewcze
• sterowanie silników elektrycznych
• urządzenia i procesy spawalnicze
• sterowanie ruchu
• biomedycyna
• urządzenia do czyszczenia
pomieszczeń
• urządzenia do odszlamiania
• urządzenia do oczyszczania wody
• układy autopilotów samolotów i okrętów
Intensywny rozwój logiki rozmytej na całym świecie daje się zauważyć zwłaszcza na początku lat dziewięćdziesiątych. Logika rozmyta znajduje bardzo szerokie i różnorodne zastosowania zarówno w elektronice, systemach sterowania jak i w medycynie czy w różnych gałęziach przemysłu. Poniżej wymienione są niektóre aplikacje obrazujące możliwości wykorzystania logiki rozmytej:
Przykłady c.d.
ABS i tempomaty do samochodów (np. Tokio monorail) Klimatyzatory
FotoCyfrowe przetwarzanie obrazu, takie jak wykrywanie krawędzi
Zmywarki Windy
Pralki i inne AGD Dźwigi
maszynki do golenia Kamery
• W mieście Sendai w Japonii, metro jest sterowane przez rozmyty komputer (Hitachi) - jazda jest tak gładka, że jadący nie muszą posiadać pasów
• Nissan - rozmyta automatyczna skrzynia biegów, rozmyty antypoślizgowy układ hamulcowy
• CSK, Hitachi – rozpoznawanie pisma ręcznego
• Sony – rozpoznawanie znaków drukowanych
• Ricoh, Hitachi - Rozpoznawanie głosu
Pralki / zmywarki
• Logika rozmyta to już prawie standardowy element do sprawdzenia obciążenia wagi,
czujników brudu i automatycznego ustawiania w kontekście wykorzystania energii, wody i
detergentów.
• Samsung, Toshiba itp.
Haier ESL-T21
Miele WT945 Pralka / Suszarka AEG LL1610
Zanussi ZWF1430W
Logika klasyczna
2 + 2 = 4
Dzień lub noc Tak lub nie
0 lub 1
Białe lub czarne Zdrowy lub chory
Zdać egzamin lub nie zdać egzaminu
Zbiór i przynależność do niego
Zbiór i przynależność do niego
Logika rozmyta
• Nie zawsze da się jednoznacznie ustalić granicę między danymi spełniającymi pewne kryterium a danymi, które tego kryterium nie spełniają.
• Dzięki wprowadzeniu funkcji przynależności – zbiory rozmyte pozwalają na określanie stopnia przynależności elementu do zbioru bądź klasy.
Zmienna lingwistyczna
Zbiór rozmyty - definicja
Zbiorem rozmytym nazwiemy zbiór elementów, które w różnym stopniu do niego należą. Zbiór rozmyty A w niepustej przestrzeni X, A
X opisywany przez zbiór par:} :
)) (
,
{( X X x X
A
A
] 1 , 0 [ );
( x x
Agdzie
Jest funkcją przynależności zbioru rozmytego A
Funkcja przynależności
Funkcja ta każdemu elementowi xX przypisuje jego stopień przynależności do zbioru rozmytego A, przy czym można wyróżnić 3 przypadki:
• A(x)=1 – pełna przynależność do zbioru rozmytego A,
• A(x)=0 – element x nie należy do zbioru rozmytego A,
• 0<A(x)<1 – element x częściowo należy do zbioru rozmytego A.
] 1 , 0 [ : X
ASymboliczny zapis zbioru rozmytego wyrażany jest w postaci:
• Gdy X jest przestrzenią o skończonej liczbie elementów X = {x1,..,xn}
• Lub gdy X jest przestrzenią o nieskończonej liczbie elementów.
n
i
A n
n A
A
x x x
x x
A x
1 1
1 ( ) ( )
) ...
(
x
A
x
A ( x )
Podstawowe pojęcia związane ze zbiorami rozmytymi
• Zbiory rozmyte (przykładowo A i B) są równe wtedy i tylko wtedy, gdy
•
• Zbiór rozmyty A jest podzbiorem zbioru rozmytego B (A B) wtedy i tylko wtedy, gdy:
• Nośnikiem (ang.support) zbioru rozmytego A nazywamy klasyczny zbiór złożony z obiektów, dla których funkcja przynależności jest dodatnia:
• Rdzeniem (ang. core) jest zbiór składający się z elementów, dla których funkcja przynależności jest równa 1:
• Każdy zbiór rozmyty jest jednoznacznie opisany przez swoją funkcję przynależności.
Core (A) = {x X | }
Typowe funkcje przynależności
1. Trójkątna 2. Trapezowa 3. Gaussowska
4. Uogólniona dzwonowa 5. Sigmoidalna
6. Rozmyty singleton 7. Funkcja typu S
8. Funkcja typu Z 9. Funkcja typu
Trójkątna funkcja przynależności
Trapezowa funkcja przynależności
Sinusoidalna funkcja przynależności
• Musimy być w stanie działać na zbiorach rozmytych i umieć opisywać ich przecięcie, sumę, dopełnienia itp.
• Wszystko po to, abyśmy mogli użyć złożonych opisów lingwistycznych w sposób matematyczny.
Np.. pacjent, który jest chory i radosny, należy do zbioru osób chorych ale również do zbioru osób radosnych. „chory radosny” pacjent powinien zatem należeć do zbioru chorych radosnych osób, który jest przecięciem tych zbiorów.
Operacje na zbiorach rozmytych
Operacje na zbiorach rozmytych
Operacje na zbiorach rozmytych
• Suma zbiorów rozmytych A i B jest zbiorem rozmytym C = A B o funkcji przynależności
dla x X
Przecięcie (iloczyn) dwóch zbiorów rozmytych A i B jest zbiorem rozmytym C = A B o funkcji
przynależności
( ), ( )
max )
( x m x m x
m
C
A B
( ), ( )
min )
( x m x m x
m
C
A BLogika dwuwartościowa vs.
wielowartościowa
Zbiór osób NIE średnich
• A – NOT średnie
• NOT średnie to znaczy, że „niskie OR wysokie”
Czy x jest osobą NIE średniego wzrostu?
• Mierzymy wartość funkcji przynależności obiektu x do zbioru A oznaczającego grupę osób o wzroście nie średnim.
0 )
(
0 )
(
1 )
(
x x x
wysokie średnie niskie
1 0
1 )
( 1
)
(x x
NOT
średnie
średnie1 0
1 )
( )
( )
(x x x
NOT
średnie
niskie
wysokieZresztą to samo uzyskamy badając dopełnienie tego zbioru osób:
„1” jako wartość funkcji NOT średnie dla naszej osoby „x” oznacza, że:
Osoba x na pewno nie jest wzrostu średniego, co jest oczywiście prawdą.
Chory radosny pacjent
• µchory(x) = 0.8
• µradosny(x) = 0.9
Wtedy wartość funkcji przynależności byłaby:
0 . 8 , 0 . 9 0 . 8
min
) (
), (
min
) (
pacjent pacjent
pacjent
radosny chory
radosny choryAND
Pacjent który nie jest chory
• To dopełnienie do zbioru pacjentów chorych, a więc 1 – µchory(pacjent)=1 – 0.8 = 0.2
Bardzo, mniej więcej, trochę…
Gdy stopniujemy zmienne lingwistyczne dodając słowa: bardzo, w jakiś sposób, mniej, bardziej, mniej lub więcej, przez co powstają określenia:
bardzo wysoki, nie krótki, blisko średniej musimy użyć odpowiedniego ich przewartościowania na wartości numeryczne:
Stopniowanie rozmywania pojęć
• Pacjent może być „bardzo stary”.
• Jeśli tak jest to zastosowanie tego słowa do opisu rozmytego intuicyjnie powinno dawać odpowiedni efekt wzmacniający dla funkcji przynależności.
50 50 ) )
50 (
1 25 (
0 )
(
1
x x gdy gdy x
A
x
• Jeśli jako A* określimy zbiór
„bardzo stary”, to ten nowy zbiór można zdefiniować jako:
50 50 ) )
50 (
1 25 (
0 )
(
1
x x gdy gdy x
A
x
X x A
A*
( x ) ( ( x ))
2
Short
Very Tall Short Tall
Degree of Membership
150 180 190 200 210
1.0
0.0 0.2 0.4 0.6 0.8
160 170
Height, cm Average
Very Short Very TallTall
Schemat wnioskowania
Schemat wnioskowania
• Rozmywanie (fuzyfikacja) - operacja przekształcająca sygnały wejściowe z dziedziny ilościowej na wielkości jakościowe reprezentowane przez zbiory rozmyte na podstawie określających je funkcji przynależności.
• Wnioskowanie rozmyte - operacja wyznaczania w dziedzinie jakościowej wartości wyjść na podstawie wejść za pomocą zbioru reguł rozmytych.
• Baza reguł - reprezentuje wiedzę jakościową o systemie w postaci zbioru reguł rozmytych w postaci wyrażeń jeśli-to. W przypadku układu MISO mają one postać:
• Wyostrzanie (defuzyfikacja) - operacja przekształcająca sygnały wyjściowe systemu z dziedziny jakościowej na ilościową.
Krok 1: Fuzzyfikacja
Krok 2: Ustalenie konkluzji dla każdej reguły
Krok 3: Agregacja konkluzji
Krok 4: Defuzzyfikacja
Metoda Mamdani
E.H. Mamdani zaproponował następującą metodę wnioskowania:
• Operacja minimum przy łącznikach „AND” w przesłankach reguł oraz jako koniunkcyjną interpretację tych reguł
• Operacja maksimum jako operator agregacji wyników wnioskowania uzyskanych na podstawie pojedynczych reguł
• Metoda środka ciężkości do wyostrzenia wynikowego zbioru rozmytego
Defuzyfikacja - wyostrzanie
Logika rozmyta sprawia, że w procesie rozmywania każda reguła zostaje opatrzona pewną rozmytą wartością i musi potem być powtórnie konwertowana na wartość rzeczywistą.
Przed procesem wyostrzania wszystkie rozmyte wartości wyjściowe są zsumowane za pomocą funkcji max ze zbioru wartości funkcji przynależności:
Metoda środka maksimum
Metoda SM (środka maksimum) jest prosta obliczeniowo, ale uwzględnia tylko wpływ najbardziej zaktywizowanego zbioru i jest mało czuła na zmiany stopnia aktywizacji:
Metoda PM (pierwszego maksimum)
Metoda PM (pierwszego maksimum) przy takim samym stopniu skomplikowania obliczeń jak w SM daje większą czułość na zmiany stopnia aktywizacji:
Metoda OM (ostatniego maksimum)
Metoda OM (ostatniego maksimum) ma podobne wady i zalety jak PM, przy czym dodatkowo można zauważyć pewną nieprawidłowość.
Rozpatrzmy rysunek poniżej. Przy zmniejszaniu aktywizacji zbioru A3 wartość ostra powinna zbliżać się do A2, tymczasem oddala się:
METODA ŚRODKA CIĘŻKOŚCI (SC)
Wynikiem jest środek ciężkości figury ograniczonej wykresem funkcji przynależności i osią. W defuzyfikacji biorą więc udział wszystkie aktywne reguły, ale wymaga to dużego nakładu obliczeniowego.
Ponadto następuje zawężenie zakresu defuzyfikacji, metoda jest nieczuła na aktywizację tylko jednej funkcji przynależności.
U U
du u
udu u
u
0
Przykład wnioskowania
rozmytego
Wiek kierowcy
Wiek kierowcy
𝜇𝑚ł𝑜𝑑𝑦(x) = {1 𝑥 ≤ 30
0 𝑥 ≥ 40
40− 𝑥
40−30 30 < 𝑥 < 40
𝜇ś𝑟𝑒𝑑𝑛𝑖(x) = {
0 𝑥 ≤ 30 𝑙𝑢𝑏 𝑥 ≥ 50
𝑥−30
40−30 30 < 𝑥 < 40
50−𝑥
50−40 40 < 𝑥 < 50
𝜇𝑠𝑡𝑎𝑟𝑦(x) = {
0 𝑥 ≤ 40
1 𝑥 ≥ 50
𝑥−40
50−40 40 < 𝑥 < 50
Moc samochodu
Moc samochodu
𝜇𝑚𝑎ł𝑎(x) = {1 𝑥 ≤ 70
0 𝑥 ≥ 120
120−𝑥
120−70 70 < 𝑥 < 120
𝜇ś𝑟𝑒𝑑𝑛𝑖𝑎(x) = {
0 𝑥 ≤ 70 𝑙𝑢𝑏 𝑥 ≥ 170
𝑥−70
120−70 70 < 𝑥 < 120
170−𝑥
170−120 120 < 𝑥 < 170
𝜇𝑑𝑢ż𝑎(x) = {
0 𝑥 ≤ 120
1 𝑥 ≥ 170
𝑥−120
170−120 120 < 𝑥 < 170
Ryzyko ubezpieczeniowe
Ryzyko ubezpieczeniowe
𝜇𝑛𝑖𝑠𝑘𝑖𝑒(x) = {
1 𝑥 ≤ 5
0 𝑥 ≥ 10
𝑥−10
5−10 5 < 𝑥 < 10
𝜇ś𝑟_𝑛𝑖𝑠𝑘𝑖𝑒(x) = {
0 𝑥 ≤ 5 𝑙𝑢𝑏 𝑥 ≥ 15
𝑥−5
10−5 5 < 𝑥 < 10
15−𝑥
15−10 10 < 𝑥 < 15
𝜇ś𝑟𝑒𝑑𝑛𝑖𝑒(x) = {
0 𝑥 ≤ 10 𝑙𝑢𝑏 𝑥 ≥ 20
𝑥−10
15−10 10 < 𝑥 < 15
20−𝑥
20−15 15 < 𝑥 < 20
𝜇ś𝑟_𝑤𝑦𝑠𝑜𝑘𝑖𝑒(x) = {
0 𝑥 ≤ 15 𝑙𝑢𝑏 𝑥 ≥ 25
𝑥−15
20−15 15 < 𝑥 < 20
25−𝑥
25−20 20 < 𝑥 < 25
𝜇𝑤𝑦𝑠𝑜𝑘𝑖𝑒(x) = {
0 𝑥 ≤ 20
1 𝑥 ≥ 25
𝑥−20
25−20 20 < 𝑥 < 25
Szukamy reguł do uaktywnienia
Szukamy reguł do uaktywnienia
𝜇𝑟𝑦𝑧𝑦𝑘𝑜=𝑤𝑦𝑠𝑜𝑘𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇𝑚ł𝑜𝑑𝑦 33 , 𝜇𝑑𝑢ż𝑎 160 = min 0.7,0.8 = 0.7 𝜇𝑟𝑦𝑧𝑦𝑘𝑜=ś𝑟_𝑤𝑦𝑠𝑜𝑘𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇𝑚ł𝑜𝑑𝑦 33 , 𝜇ś𝑟𝑒𝑑𝑛𝑖𝑎 160 = min 0.7,0.2 = 0.2
𝜇𝑟𝑦𝑧𝑦𝑘𝑜=ś𝑟𝑒𝑑𝑛𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇ś𝑟𝑒𝑑𝑛𝑖 33 , 𝜇ś𝑟𝑒𝑑𝑛𝑖𝑎 160 = min 0.3,0.2 = 0.2 𝜇𝑟𝑦𝑧𝑦𝑘𝑜=ś𝑟_𝑤𝑦𝑠𝑜𝑘𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇ś𝑟𝑒𝑑𝑛𝑖 33 , 𝜇𝑑𝑢ż𝑎 160 = min 0.3,0.8 = 0.3
Operacja minimum przy łącznikach „AND” w przesłankach reguł oraz jako koniunkcyjną interpretację tych reguł
Agregujemy decyzje reguł
𝜇𝑟𝑦𝑧𝑦𝑘𝑜=𝑤𝑦𝑠𝑜𝑘𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇𝑚ł𝑜𝑑𝑦 33 , 𝜇𝑑𝑢ż𝑎 160 = min 0.7,0.8 = 0.7 𝜇𝑟𝑦𝑧𝑦𝑘𝑜=ś𝑟_𝑤𝑦𝑠𝑜𝑘𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇𝑚ł𝑜𝑑𝑦 33 , 𝜇ś𝑟𝑒𝑑𝑛𝑖𝑎 160 = min 0.7,0.2 = 0.2
𝜇𝑟𝑦𝑧𝑦𝑘𝑜=ś𝑟𝑒𝑑𝑛𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇ś𝑟𝑒𝑑𝑛𝑖 33 , 𝜇ś𝑟𝑒𝑑𝑛𝑖𝑎 160 = min 0.3,0.2 = 0.2 𝜇𝑟𝑦𝑧𝑦𝑘𝑜=ś𝑟_𝑤𝑦𝑠𝑜𝑘𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇ś𝑟𝑒𝑑𝑛𝑖 33 , 𝜇𝑑𝑢ż𝑎 160 = min 0.3,0.8 = 0.3
Operacja maksimum jako operator agregacji wyników wnioskowania uzyskanych na podstawie pojedynczych reguł
Agregujemy decyzje reguł
𝜇𝑟𝑦𝑧𝑦𝑘𝑜=ś𝑟_𝑤𝑦𝑠𝑜𝑘𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇𝑚ł𝑜𝑑𝑦 33 , 𝜇ś𝑟𝑒𝑑𝑛𝑖𝑎 160 = min 0.7,0.2 = 0.2 𝜇𝑟𝑦𝑧𝑦𝑘𝑜=ś𝑟_𝑤𝑦𝑠𝑜𝑘𝑖𝑒(𝑤𝑖𝑒𝑘 =33,moc samochodu=160) = min 𝜇ś𝑟𝑒𝑑𝑛𝑖 33 , 𝜇𝑑𝑢ż𝑎 160 = min 0.3,0.8 = 0.3
Gdy kilka reguł dostarcza różnych wartości decyzji agregujemy decyzje metodą MAX:
Operacja maksimum jako operator agregacji wyników wnioskowania uzyskanych na podstawie pojedynczych reguł
defuzyfikacja
• Metoda środka ciężkości
• Metoda średniego maksimum
• Metoda pierwszego maksimum
• Metoda ostatniego maksimum
Metoda środka ciężkości
• COG = 25
0 0,2 0,4 0,6 0,8 1 1,2
0 5 10 15 20 25 30
średnie średnioWysokie wysokie 0.7 0.3 0.2
Metoda średniego maksimum
• 27,5
0 0,2 0,4 0,6 0,8 1 1,2
0 5 10 15 20 25 30
średnie średnioWysokie wysokie 0.7 0.3 0.2
Metoda pierwszego maksimum
• 25
0 0,2 0,4 0,6 0,8 1 1,2
0 5 10 15 20 25 30
średnie średnioWysokie wysokie 0.7 0.3 0.2
Metoda ostatniego maksimum
• 30
0 0,2 0,4 0,6 0,8 1 1,2
0 5 10 15 20 25 30
średnie średnioWysokie wysokie 0.7 0.3 0.2
Graficzna reprezentacja zmiennych lingwistycznych w postaci zbiorów rozmytych