Revision [6543]
This is an old revision of FuzzyLogic made by ToBo on 2008-11-19 01:13:28.
Fuzzy Logic
Vorwort
Als Erfinder wird Lotfi Zadeh genannt.
"A dinner engangement was canceled and I was alone in my parents apartment. ... The concept of the fazzy sets was a flash in my head"
Zitat aus IeeeSignalProcessingMagazine IEEE SignalProcessing MAGAZINE, VOLUME 24 NUMBER 3, MAY 2007
Deutsch: Unscharfe Logik
Literatur:
Stoecker2003, S. 719
1. Begriffe
Linguistische Variable
Niederschlag (Regen), Temperatur, Geschwindigkeit deren Menge aus Linguistischer Werten besteht.
Linguistischer Wert
viel, warm, langsam
Zugehörigkeitswert
Niederschlag ist viel zu 25 %
Temperatur ist warm zu 85 %
Messbare Größe
Spannung in V, Strom in A, Temperatur in Grad Celcius
Zugehörigkeitsfunktion
Liefert einen Zugehörigkeitswert zu einer messbaren Größe
Fuzzifikation
Aus einer messbaren Größe werden Linguistische Werte mit ihren Zugehörigkeitswerten mittels der Zugehörigkeitsfunktionen
Defuzzyfikation
Aus mehreren Linguistischern Werten mit ihren Zugehörigkeitswerten wird eine messbaren Größe. Information geht verloren.
2. Fuzzyfkation
Die Fuzzyfikation wird angewandt, wenn aus eine messbaren Größe (Temperatur in Grad Celcius, Entfernung in Metern) in linguistische Aussagen übersetzt werden soll. Also eine Aussgen, die im Sinne der unscharfen Logik verwertbar sind.
Zu jeder messbaren Größe gibt es einen linguistischen Wert.
Zu jedem linguistischen Wert gibt es mindestens eine Zugehörigkeitsfunktion.
Mit der Zugehörigkeitsfunktion wird die messbaren Größe in eine Zugehörigkeitswert umgewandelt.
(Länge der Strecke). Jeder linguistischen Variable die meist mehrere linguistischer Werte
Die passende Implementierung der beiden Zugehörigkeitsfunktionen zusammen in einer Funktion in Ocatve:
function [lang,kurz] = fuzzy_wanderstrecke(l)
lang = 1/4 * (l - 2);
lang(find(lang>1)) = 1;
lang(find(lang<0)) = 0;
kurz = 1 - lang;
endfunction
lang = 1/4 * (l - 2);
lang(find(lang>1)) = 1;
lang(find(lang<0)) = 0;
kurz = 1 - lang;
endfunction
l [km] | kurz | lang |
---|---|---|
0 | 1 | 0 |
1 | 1 | 0 |
2 | 1 | 0 |
3 | 0.75 | 0.25 |
4 | 0.5 | 0.5 |
5 | 0.25 | 0.75 |
6 | 0 | 1 |
7 | 0 | 1 |
Ist die Wegstrecke also 3 km lang.
So werden nach der Fuzzyfikation zwei linguistische Aussagen getroffen.
Die Strecke ist lang mit der Zugehörigkeit 0.25.
Die Strecke ist kurz mit der Zugehörigkeit 0.75.
3. Verknüpfungen der unscharfen Logik
UND-Verknüpfung | a UND b | minimum(a,b) |
---|---|---|
ODER-Verknüpfung | a OR b | maximum(a,b) |
Invertieren | NICHT a | 1-a |
WENN Länge der Wanderstrecke lang UND Wanderschuhe gut ODER Länge der Wanderstrecke kurz DANN Wanderung empfohlen
Angenommen
- Wanderschuhe gut zu 0.75
- Strecke ist lang mit der Zugehörigkeit 0.25
- Strecke ist kurz mit der Zugehörigkeit 0.75
z ist eine Zwischenvariable
z = minimum(Länge der Wanderstrecke lang, Wanderschuhe gut) = minimum(0.25, 0.75) = 0.25
Wanderung empfohlen = maximum(z, Länge der Wanderstrecke kurz ) = maximum(0.25, 0.75) = 0.75
Wanderung empfohlen zu 0.75