Eine Einführung in unscharfe Logik Fuzzy-Logik Eine Einführung in unscharfe Logik Nils Becker, November 2012
Inhalt Idee Unscharfe Mengen Entscheidungsfindung Abschluss Fuzzifizierung Regeln Inferenzoperationen Defuzzifizierung Abschluss
Idee 1965: Theorie der unscharfen Mengen, Prof. Lotfi Zadeh, Berkeley Klassische Mengenlehre bildet menschliche Sprache schlecht ab „Temperatur ist relativ hoch“
Beispiel: Große Menschen Unscharfe Mengen
Beispiel: Große Menschen – klassische Mengenlehre Unscharfe Mengen nicht große Menschen große Menschen 1,58m 1,75m 1,80m 1,81m 1,85m 1,95m >1,80m
Beispiel: Große Menschen – unscharfe Mengenlehre Unscharfe Mengen eher groß μ kaum groß 1 0,35 0,85 1 1 1 0,5 1,58m 1,75m 1,80m 1,82m 1,85m 1,95m
Definition Unscharfe Mengen Zugehörigkeitsgrad μ: ( Elemente gehören zu gewissem Grad zur Menge μteuer(Porsche 911) = 0.99 = 99% μteuer(VW Polo) = 0.10 = 10% Zugehörigkeitsfunktion: Definiert Zugehörigkeitsgrad Wir verwenden normalisierte Mengen: Zugehoerigkeitsgrad von 0 bis 1 0,5 1 μ G
Darstellungsformen (1) Unscharfe Mengen Geordnete Paare Grafisch (Kurvenform) Grund-menge 𝐴= 𝑥1,μ1 , 𝑥1,μ1 , … ∀x∈𝐺 0,5 1 μ G μ(xi) xi A
Darstellungsformen (2) Unscharfe Mengen 0,5 1 μ G A B μA(xi) μB(xi) xi
Darstellungsformen (3) – Venn-Diagramm Unscharfe Mengen μ(x) = 1 G μ(x) > 0 & μ(x) < 1
Darstellungsformen (3) – Venn-Diagramm Unscharfe Mengen Xi mit μA(Xi) = 1 & μB(Xi) > 0 μA(x) = 1 μB(x) = 1 G μA(x) > 0 & μA (x) < 1 μB(x) > 0 & μB (x) < 1
Unscharfe Mengen - Mengenoperationen Vereinigung 𝐴∪𝐵= 𝑥;µ𝐴∪𝐵 𝑥 µ𝐴∪𝐵 𝑥 >0} ∀𝑥∈𝐺 𝑚𝑖𝑡 µ𝐴∪𝐵 𝑥 ≔ max µ𝐴 𝑥 ;µ𝐵 𝑥 ∀𝑥∈𝐺 Beispiel x µ𝐴(𝑥) µB(𝑥) µA∪B(x) a 0,7 b 1 c 0,3 0,6 d 0,2 e f 0,5
Unscharfe Mengen - Mengenoperationen Schnittmenge 𝐴∩𝐵= 𝑥;µ𝐴∩𝐵 𝑥 µ𝐴∩𝐵 𝑥 >0} ∀𝑥∈𝐺 𝑚𝑖𝑡 µ𝐴∩𝐵 𝑥 ≔ min µ𝐴 𝑥 ;µ𝐵 𝑥 ∀𝑥∈𝐺 Beispiel x µ𝐴(𝑥) µB(𝑥) µA∪B(x) a 0,7 b 1 c 0,3 0,6 d 0,2 e f 0,5
Unscharfe Mengen - Mengenoperationen Komplement Wichtig: ∀ schließt auch 𝑥 mit µ𝐴 𝑥 = 0 ein ¬𝐴= 𝑥;µ¬𝐴 𝑥 ∀𝑥∈𝐺 𝑚𝑖𝑡µ¬𝐴 𝑥 ≔ 1− µ𝐴 𝑥 ∀𝑥∈𝐺 Beispiel x µ𝐴(𝑥) µA (𝑥) a 1 b c 0,3 0,7 d 0,2 0,8 e f 0,5
Unscharfe Mengen - Mengenoperationen Eigenschaften Distributivgesetze sind erfüllt, d.h. es gilt: Theorem von De Morgan ist erfüllt: 𝐴∩ 𝐵∪𝐶 =(𝐴∩𝐵)∪(𝐴∩𝐶) 𝐴∪ 𝐵∩𝐶 =(𝐴∪𝐵)∩(𝐴∪𝐶) ¬(𝐴∪𝐵)=¬𝐴∩¬𝐵 ¬(𝐴∩𝐵)=¬𝐴∪¬𝐵 Beweise u.a.: „Einführung in die Fuzzy-Logik“, Dirk H. Traeger, 1994, S.18ff
Unscharfe Mengen – Logische Operatoren Und-Operator Minimum-Operator (=== Schnittmenge) 𝜇𝐴 𝑈𝑁𝐷𝜇B = min(𝜇𝐴 x ;𝜇𝐵 x ) Produkt-Operator 𝜇𝐴 𝑈𝑁𝐷𝜇B = 𝜇𝐴 x ∗𝜇𝐵 x Summe größer 1 𝜇𝐴 𝑈𝑁𝐷𝜇B = max(0; 𝜇𝐴 x +𝜇𝐵 x −1)
Unscharfe Mengen – Logische Operatoren Und-Operator (Beispiel) x µ𝐴(𝑥) µB(𝑥) Minimum Produkt > 1 a 0,7 b 1 c 0,3 0,6 0,18 d 0,4 0,28 0,1 e 0,2 f 0,5
Unscharfe Mengen – Logische Operatoren Oder-Operator Maximum-Operator (=== Vereinigung) 𝜇𝐴 𝑂𝐷𝐸𝑅𝜇B = max(𝜇𝐴 x ;𝜇𝐵 x ) Summe - Produkt 𝜇𝐴 𝑂𝐷𝐸𝑅 𝜇B =𝜇𝐴 x +𝜇𝐵 x −𝜇𝐴 x ∗𝜇𝐵 x Summe (max. 1) 𝜇𝐴 𝑂𝐷𝐸𝑅 𝜇B = min(1; 𝜇𝐴 x +𝜇𝐵 x )
Unscharfe Mengen – Logische Operatoren Oder-Operator (Beispiel) x µ𝐴(𝑥) µB(𝑥) Maximum Summe –Produkt Summe (max. 1) a 0,7 b 1 c 0,3 0,6 0,72 0,9 d 0,4 0,82 e 0,2 f 0,5
Unscharfe Mengen – Kompensatorische Operatoren Gamma-Operator 𝜇 𝐴𝛾𝐵 (𝑥)=( 𝜇 𝐴 (𝑥) ∗𝜇 𝐵 (𝑥)) 1−𝛾 ∗ (1−(1− 𝜇 𝐴 𝑥 )∗(1− 𝜇 𝐴 𝑥 )) 𝛾 UND γ=0 Keine Kompensation ODER γ=1 Volle Kompensation SUV Sportwagen Oldtimer Dunkel 1 0,5 Schnell 0,4 0,1 Sparsam 0,7 0,3 UND γ = 0,5 0,52 170km/h 230km/h 130km/h
Fuzzy-Logik
Fuzzy-Logik Übersicht Input Fuzzifizierung Regeln erstellen Inferenz Defuzzifizierung Output
Fuzzy-Logik: Fuzzifizierung Ein-und Ausgangsvariablen Beispiel: Automatisches Bremssystem Eingangsvariablen Geschwindigkeit (km/h) Abstand (m) Ausgangsvariable Bremsdruck (bar)
Fuzzy-Logik: Fuzzifizierung Linguistische Variable: Geschwindigkeit Wertebereich: 0 – 240km/h Linguistische Terme/Fuzzy Sets: Sehr niedrig Niedrig Mittel Hoch Sehr hoch
Fuzzy-Logik: Fuzzifizierung Fuzzy-Sets: Geschwindigkeit
Fuzzy-Logik: Fuzzifizierung Linguistische Variable: Abstand Wertebereich: 0 – 300m Linguistische Terme/Fuzzy Sets: klein mittel groß
Fuzzy-Logik: Fuzzifizierung Fuzzy-Sets: Abstand
Fuzzy-Logik: Fuzzifizierung Linguistische Variable: Bremsdruck Wertebereich: 0 – 3bar Linguistische Terme/Fuzzy Sets: Sehr schwach Schwach Mittel Stark Sehr stark
Fuzzy-Logik: Fuzzifizierung Fuzzy-Sets: Bremsdruck
Fuzzy-Logik Regeln erstellen WENN Geschwindigkeit „sehr niedrig“ ODER Abstand „groß“ DANN bremse „sehr schwach“ WENN Geschwindigkeit „hoch“ UND Abstand „mittel“ DANN bremse „stark“ … Regeln meist intuitiv basierend auf Erfahrung Experte mit Erfahrung notwendig
Fuzzy-Logik: Regeln erstellen Regelmatrix Abstand/ Geschwindigkeit Klein Mittel Groß Sehr niedrig UND bremse schwach … ODER bremse sehr schwach Niedrig UND bremse mittel Hoch UND bremse stark Sehr hoch ODER bremse sehr stark
Fuzzy-Logik Regel auswählen Beispiel: Geschwindigkeit: 90km/h Abstand: 100m 90km/h 100m μ niedrig(90km/h) = 0,75 μ mittel(90km/h) = 0,25 μ klein(100m) = 0,67 μ mittel(100m) = 0,33
Fuzzy-Logik: Regeln erstellen Regelmatrix Abstand/ Geschwindigkeit Klein Mittel Groß Sehr niedrig UND bremse schwach … ODER bremse sehr schwach Niedrig UND bremse mittel Hoch UND bremse stark Sehr hoch ODER bremse sehr stark 1 2 3 4 5 6 1 fliegt raus, da UND-verknuepft 4,5,7,8 da beides zutrifft! 13 da ODER-verknuepft Naechste Folie An der Tafel vorrechnen 7 8 9 10 11 12 13 14 15
Fuzzy-Logik Inferenz: Max/Min-Inferenz Regel 5: Regel 8: Regel 13: 𝜇 𝑠𝑐ℎ𝑤𝑎𝑐ℎ 𝑏𝑟𝑒𝑚𝑠𝑒𝑛 = min 𝜇 𝑛𝑖𝑒𝑑𝑟𝑖𝑔 90𝑘𝑚 ℎ , 𝜇 𝑚𝑖𝑡𝑡𝑒𝑙 100𝑚 =min 0.75, 0.33 =0.33 𝜇 𝑚𝑖𝑡𝑡𝑒𝑙 𝑏𝑟𝑒𝑚𝑠𝑒𝑛 = min 𝜇 𝑚𝑖𝑡𝑡𝑒𝑙 90𝑘𝑚 ℎ , 𝜇 𝑚𝑖𝑡𝑡𝑒𝑙 100𝑚 =min 0.25, 0.33 =0.25 𝜇 𝑠𝑒ℎ𝑟_𝑠𝑡𝑎𝑟𝑘 𝑏𝑟𝑒𝑚𝑠𝑒𝑛 = m𝑎𝑥 𝜇 𝑠𝑒ℎ𝑟_ℎ𝑜𝑐ℎ 90𝑘𝑚 ℎ , 𝜇 𝑘𝑙𝑒𝑖𝑛 100𝑚 =max 0, 0.67 =0.67
Fuzzy-Logik: Einschub Inferenzmethoden Max/Min-Inferenz ODER = Minimum; UND = Maximum Max/Prod-Inferenz: ODER = Summe – Produkt; UND = Produkt Inferenz beschreibt in der Linguistik wie in der Logik eine Schlussfolgerung.
Fuzzy-Logik Defuzzifizierung: Flächenschwerpunkt Bremsdruck: 2 bar
Fuzzy-Logik Defuzzifizierung: Flächenschwerpunkt 𝐴= 1 2 𝑖=1 𝑁−1 𝑦 𝑖 + 𝑦 𝑖+1 ∗ 𝑥 𝑖 − 𝑥 𝑖+1 𝑥 𝑠 = 1 6𝐴 𝑖=1 𝑁−1 𝑥 𝑖 + 𝑥 𝑖+1 ∗ 𝑥 𝑖 ∗ 𝑦 𝑖+1 − 𝑥 𝑖+1 ∗ 𝑦 𝑖 Fuer ys einfach im vordereren Teil x und y vertauschen (xi+xi+1) -> (yi+yi+1) (xi, yi) sind die Koordinaten welche das Polygon beschreiben
Fuzzy-Logik: Defuzzifizierungsalternative Defuzzifizierung: Singleton
Fuzzy-Logik: Defuzzifizierungsalternative Defuzzifizierung: Singleton am Beispiel Ein gewichteter Mittelwert 𝑋 𝐿 = 𝑖=1 𝑛 𝑥 𝑖 ∗ 𝜇 𝑖 𝑖=1 𝑛 𝜇 𝑖 = 1∗0,33+1.5∗0,25+3∗0,67 0,33+0,25+0,67 ≈2,2 Bremsdruck: 2,2 bar
Fuzzy-Logik Defuzzifizierungsmethoden Flächenschwerpunkt Rechenaufwendig häufig gutes Ergebnis Singleton sehr einfach häufig ausreichendes Ergebnis
Hilfsmittel, Anwendung, Literatur
Tools jFuzzyLogic Viele andere Tools sind veraltet Verwendet FCL Eclipse-Plugin Bibliotheks- funktion Viele andere Tools sind veraltet Fuzzy Control Language (IEC Standard)
Anwendung Bildverarbeitung: Bildstabilisierung Steuerung/Überwachung von Industrieanlagen Robotik Expertensysteme
Vor- und Nachteile Vorteile Nachteile Nah an der menschlichen Sprache Nachvollziehbarkeit und Wartbarkeit Formulierung von Regeln ist einfach Hardwareumsetzung Nachteile Nicht lernfähig Expertenwissen muss vorhanden sein Wahl der besten Methode schwierig (z.B. Defuzzifizierung)
Literatur und Websites Einführung in die Fuzzy-Logik, Traeger Neuronale Netze & Fuzzy-Logik, Seraphin Fuzzy Logic, Müller, http://www.gerhardmueller.de/docs/FuzzyLogic/FuzzyLogic.html Grundlagen der Fuzzy-Logik, Reinarz, http://reinarz.org/dirk/fuzzykugel/fuzzy.html Diese Präsentation: http://nilsbecker.net/thm/fuzzy.pdf (bald verfügbar)
Vielen Dank für die Aufmerksamkeit
Bildquellen Foto Zadeh: http://www.cs.tu-dortmund.de/nps/Medienpool/Home/Lotfi_A__Zadeh_2004_.jpg HighTech Fuzzy Logic: http://www.ujf.biz/texte/HT_FuzzL3.JPG Stickman: http://sustainablecoastlineshawaii.files.wordpress.com/2012/02/stickman.gif Schwarzes Auto: http://www.mazda.de/assets/master/cars/cx-5/exterior/colours/1/car-black-mica.png Rotes Auto: http://imgs.mi9.com/uploads/car/445/red-cool-car-of-choice_422_6920.jpg Weisses Auto: http://grabbaggraphics.com/wp-content/uploads/2012/05/White-Car-Psd.png Precision vs Significance: http://radio.feld.cvut.cz/matlab/toolbox/fuzzy/signific.gif Bremssystem: http://auto.701pages.com/article_gallery/281.jpg Reiskocher: http://3.bp.blogspot.com/_SmrT6OptGzU/TRqnj76fQrI/AAAAAAAAA94/dM_PCx0678M/s1600/sanyo-35-cup-fuzzy-logic-rice-cooker.jpg Roboter: http://www.decodedscience.com/robots-for-autism-therapy-koalas-fuzzy-logic/996