Transcript PhoneGap
Fuzzy-Logik Eine Einführung in unscharfe Logik 1 Nils Becker, November 2012 2 von 46 Inhalt Idee Unscharfe Mengen Entscheidungsfindung Fuzzifizierung Regeln Inferenzoperationen Defuzzifizierung Abschluss 3 von 46 Idee 1965: Theorie der unscharfen Mengen, Prof. Lotfi Zadeh, Berkeley Idee: Klassische Mengenlehre bildet menschliche Sprache schlecht ab „Temperatur ist relativ hoch“ 4 von 46 Beispiel: Große Menschen Unscharfe Mengen 1,58m 1,75m 1,80m 1,81m 1,85m 1,95m 5 von 46 Beispiel: Große Menschen – klassische Mengenlehre Unscharfe Mengen nicht große Menschen 1,58m 1,75m große Menschen 1,80m 1,81m >1,80m 1,85m 1,95m 6 von 46 Beispiel: Große Menschen – unscharfe Mengenlehre Unscharfe Mengen μ 1 eher groß kaum groß 0,5 0,35 0,85 1 1,75m 1,80m 1,82m 1 1 0 1,58m 1,85m 1,95m 7 von 46 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 μ 1 0,5 0 G 8 von 46 Darstellungsformen (1) Unscharfe Mengen Geordnete 𝐴= Grundmenge Paare 𝑥 1 , μ1 , 𝑥 1 , μ1 , … Grafisch ∀x ∈ 𝐺 (Kurvenform) μ 1 μ(xi) 0,5 0 G xi A 9 von 46 Darstellungsformen (2) Unscharfe Mengen μ 1 A B μA(xi) μB(xi) 0,5 0 G xi 10 von 46 Darstellungsformen (3) – Venn-Diagramm Unscharfe Mengen μ(x) = 1 G μ(x) > 0 & μ(x) < 1 11 von 46 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 12 von 46 Unscharfe Mengen - Mengenoperationen Vereinigung 𝐴∪𝐵 = 𝑥; μ𝐴 ∪ 𝐵 𝑥 μ𝐴 ∪ 𝐵 𝑥 > 0} ∀𝑥 ∈ 𝐺 𝑚𝑖𝑡 μ𝐴 ∪ 𝐵 𝑥 ≔ max μ𝐴 𝑥 ; μ𝐵 𝑥 ∀𝑥 ∈ 𝐺 Beispiel 1 0,8 0,6 0,4 0,2 0 x µ𝐴(𝑥) µB(𝑥) µA∪B(x) a 0,7 0 0,7 b 0 1 1 c 0,3 0,6 0,6 d 0,2 0,7 0,7 e 0 0,2 0,2 a f 0,5 0 0,5 µA∪B(x) b c d µ𝐴(𝑥) e µB(𝑥) f 13 von 46 Unscharfe Mengen - Mengenoperationen Schnittmenge 𝐴∩𝐵 = 𝑥; μ𝐴 ∩ 𝐵 𝑥 μ𝐴 ∩ 𝐵 𝑥 > 0} ∀𝑥 ∈ 𝐺 𝑚𝑖𝑡 μ𝐴 ∩ 𝐵 𝑥 ≔ min μ𝐴 𝑥 ; μ𝐵 𝑥 ∀𝑥 ∈ 𝐺 Beispiel x µ𝐴(𝑥) µB(𝑥) µA∪B(x) a 0,7 0 0 b 0 1 0 c 0,3 0,6 0,3 d 0,2 0,7 0,2 e 0 0,2 0 f 0,5 0 0 1 0,8 0,6 0,4 0,2 0 a b µA∩B(x) c d µ𝐴(𝑥) e µB(𝑥) f 14 von 46 Unscharfe Mengen - Mengenoperationen Komplement ¬𝐴 = Wichtig: ∀ schließt auch 𝑥 mit μ𝐴 𝑥 = 0 ein 𝑥; μ¬𝐴 𝑥 ∀𝑥 ∈ 𝐺 𝑚𝑖𝑡μ¬𝐴 𝑥 ≔ 1 − μ𝐴 𝑥 ∀𝑥 ∈ 𝐺 Beispiel x µ𝐴(𝑥) µA (𝑥) a 1 0 b 0 1 c 0,3 0,7 d 0,2 0,8 e 0 1 f 0,5 0,5 1 0,8 0,6 0,4 0,2 0 a b c µ𝐴(𝑥) d µ¬𝐴(𝑥) e f 15 von 46 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 16 von 46 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) 17 von 46 Unscharfe Mengen – Logische Operatoren Und-Operator (Beispiel) x µ𝐴(𝑥) µB(𝑥) Minimum Produkt >1 a 0,7 0 0 0 0 b 0 1 0 0 0 c 0,3 0,6 0,3 0,18 0 d e f 0,4 0 0,5 0,7 0,2 0 0,4 0 0 0,28 0 0 0,1 0 0 1 0,8 0,6 0,4 0,2 0 Minumum µ𝐴(𝑥) µB(𝑥) Produkt a b c d e f >1 18 von 46 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 ) 19 von 46 Unscharfe Mengen – Logische Operatoren Oder-Operator (Beispiel) x µ𝐴(𝑥) µB(𝑥) Maximum Summe – Produkt Summe (max. 1) a 0,7 0 0,7 0,7 0,7 b 0 1 1 1 1 c 0,3 0,6 0,6 0,72 0,9 d e f 0,4 0 0,5 0,7 0,2 0 0,7 0,2 0,5 0,82 0,2 0,5 1 0,2 0,5 1 0,8 0,6 0,4 0,2 0 Maximum µ𝐴(𝑥) µB(𝑥) Summe-Produkt a b c d e f Summe (max. 1) 20 von 46 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 0 Schnell 0,4 1 0,1 Sparsam 0,7 0,5 0,3 UND 0,4 0,5 0 γ = 0,5 0,52 0,5 0 170km/h 230km/h 130km/h 21 Fuzzy-Logik 22 von 46 Fuzzy-Logik Übersicht Input Fuzzifizierung Regeln erstellen Inferenz Defuzzifizierung Output 23 von 46 Fuzzy-Logik: Fuzzifizierung Ein-und Ausgangsvariablen Beispiel: Automatisches Bremssystem Eingangsvariablen Geschwindigkeit (km/h) Abstand (m) Ausgangsvariable Bremsdruck (bar) 24 von 46 Fuzzy-Logik: Fuzzifizierung Linguistische Variable: Geschwindigkeit Wertebereich: Linguistische Sehr niedrig Niedrig Mittel Hoch Sehr hoch 0 – 240km/h Terme/Fuzzy Sets: 25 von 46 Fuzzy-Logik: Fuzzifizierung Fuzzy-Sets: Geschwindigkeit 1 0,8 μ 0,6 0,4 0,2 0 0 sehr niedrig 40 80 120 160 200 Geschwindigkeit (km/h) niedrig mittel hoch 240 sehr hoch 26 von 46 Fuzzy-Logik: Fuzzifizierung Linguistische Variable: Abstand Wertebereich: Linguistische klein mittel groß 0 – 300m Terme/Fuzzy Sets: 27 von 46 Fuzzy-Logik: Fuzzifizierung Fuzzy-Sets: Abstand 1 0,8 μ 0,6 0,4 0,2 0 0 75 klein 150 Abstand (m) mittel 225 groß 300 28 von 46 Fuzzy-Logik: Fuzzifizierung Linguistische Variable: Bremsdruck Wertebereich: Linguistische 0 – 3bar Terme/Fuzzy Sets: Sehr schwach Schwach Mittel Stark Sehr stark 29 von 46 Fuzzy-Logik: Fuzzifizierung Fuzzy-Sets: Bremsdruck 1 0,8 μ 0,6 0,4 0,2 0 0 0,5 1 1,5 2 Bremsdruck (bar) sehr schwach schwach stark sehr stark mittel 2,5 3 30 von 46 Fuzzy-Logik Regeln erstellen WENN Geschwindigkeit „sehr niedrig“ ODER Abstand „groß“ DANN bremse „sehr schwach“ WENN Geschwindigkeit „hoch“ UND Abstand „mittel“ DANN bremse „stark“ … 31 von 46 Fuzzy-Logik: Regeln erstellen Regelmatrix Abstand/ Geschwindigkeit Klein Mittel Groß Sehr niedrig UND bremse schwach … ODER bremse sehr schwach Niedrig UND bremse schwach Mittel UND bremse mittel Hoch UND bremse stark Sehr hoch ODER bremse sehr stark UND bremse schwach 32 von 46 Fuzzy-Logik Regel auswählen Beispiel: Geschwindigkeit: 90km/h Abstand: 100m 90km/h 100m 1 0,8 0,6 μ 0,4 0,2 0 0 40 80 120 160 200 240 Geschwindigkeit (km/h) sehr niedrig niedrig hoch sehr hoch mittel 1 0,8 0,6 μ 0,4 0,2 0 0 75 150 225 Abstand (m) klein mittel groß 300 33 von 46 Fuzzy-Logik: Regeln erstellen Regelmatrix Abstand/ Geschwindigkeit Klein Mittel Sehr niedrig UND bremse schwach … 1 Niedrig Mittel ODER bremse sehr 2 schwach UND 4 bremse schwach5 UND bremse 7 mittel 8 Hoch 10 Sehr hoch Groß ODER bremse sehr stark 13 UND bremse stark 11 3 6 9 12 UND 14 bremse schwach 15 34 von 46 Fuzzy-Logik Inferenz: Max/Min-Inferenz Regel 5: 𝜇𝑠𝑐ℎ𝑤𝑎𝑐ℎ 𝑏𝑟𝑒𝑚𝑠𝑒𝑛 = min 𝜇𝑛𝑖𝑒𝑑𝑟𝑖𝑔 90𝑘𝑚 ℎ , 𝜇𝑚𝑖𝑡𝑡𝑒𝑙 100𝑚 = min 0.75, 0.33 = 0.33 Regel 8: 𝜇𝑚𝑖𝑡𝑡𝑒𝑙 𝑏𝑟𝑒𝑚𝑠𝑒𝑛 = min 𝜇𝑚𝑖𝑡𝑡𝑒𝑙 90𝑘𝑚 ℎ , 𝜇𝑚𝑖𝑡𝑡𝑒𝑙 100𝑚 = min 0.25, 0.33 = 0.25 Regel 13: 𝜇𝑠𝑒ℎ𝑟_𝑠𝑡𝑎𝑟𝑘 𝑏𝑟𝑒𝑚𝑠𝑒𝑛 = m𝑎𝑥 𝜇𝑠𝑒ℎ𝑟_ℎ𝑜𝑐ℎ 90𝑘𝑚 ℎ , 𝜇𝑘𝑙𝑒𝑖𝑛 100𝑚 = max 0, 0.67 = 0.67 35 von 46 Fuzzy-Logik: Einschub Inferenzmethoden Max/Min-Inferenz ODER = Minimum; UND = Maximum Max/Prod-Inferenz: ODER = Summe – Produkt; UND = Produkt 36 von 46 Fuzzy-Logik Defuzzifizierung: Flächenschwerpunkt 1 0,8 0,4 0,2 0 0,1 0,25 0,4 0,55 0,7 0,85 1 1,15 1,3 1,45 1,6 1,75 1,9 2,05 2,2 2,35 2,5 2,65 2,8 2,95 μ 0,6 Bremsdruck (bar) Fläche sehr schwach schwach mittel stark sehr stark Flächenschwerpunkt = (2; 0,24) Bremsdruck: 2 bar 37 von 46 Fuzzy-Logik Defuzzifizierung: Flächenschwerpunkt Fläche 1 𝐴= 2 𝑁−1 𝑦𝑖 + 𝑦𝑖+1 ∗ 𝑥𝑖 − 𝑥𝑖+1 𝑖=1 Flächenschwerpunkt 𝑥𝑠 = 1 6𝐴 𝑁−1 𝑥𝑖 + 𝑥𝑖+1 ∗ 𝑥𝑖 ∗ 𝑦𝑖+1 − 𝑥𝑖+1 ∗ 𝑦𝑖 𝑖=1 (xi, yi) sind die Koordinaten welche das Polygon beschreiben 38 von 46 Fuzzy-Logik: Defuzzifizierungsalternative Defuzzifizierung: Singleton 1 0,8 μ 0,6 0,4 0,2 0 0 0,5 sehr schwach 1 1,5 2 Bremsdruck (bar) schwach mittel stark 2,5 3 sehr stark 39 von 46 Fuzzy-Logik: Defuzzifizierungsalternative Defuzzifizierung: Singleton am Beispiel 1 sehr schwach μ 0,5 schwach mittel 0 0 𝑋𝐿 = 0,5 1 1,5 2 2,5 Bremsdruck (bar) 3 stark sehr stark 𝑛 𝑖=1 𝑥𝑖 ∗ 𝜇𝑖 𝑛 𝑖=1 𝜇𝑖 1 ∗ 0,33 + 1.5 ∗ 0,25 + 3 ∗ 0,67 = 0,33 + 0,25 + 0,67 ≈ 2,2 Bremsdruck: 2,2 bar 40 von 46 Fuzzy-Logik Defuzzifizierungsmethoden Flächenschwerpunkt Rechenaufwendig häufig gutes Ergebnis Singleton sehr einfach häufig ausreichendes Ergebnis 41 Hilfsmittel, Anwendung, Literatur 42 von 46 Tools jFuzzyLogic Verwendet FCL Eclipse-Plugin Bibliotheksfunktion Viele andere Tools sind veraltet 43 von 46 Anwendung Bildverarbeitung: Bildstabilisierung Steuerung/Überwachung Industrieanlagen Robotik Expertensysteme von 44 von 46 Vor- und Nachteile Vorteile Nachteile • Nah an der menschlichen Sprache • Nicht lernfähig • Nachvollziehbarkeit und Wartbarkeit • Expertenwissen muss vorhanden sein • Formulierung von Regeln ist einfach • Wahl der besten Methode schwierig (z.B. Defuzzifizierung) • Hardwareumsetzung 45 von 46 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/F uzzyLogic.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) 46 Vielen Dank für die Aufmerksamkeit 47 von 46 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/s 1600/sanyo-35-cup-fuzzy-logic-rice-cooker.jpg Roboter: http://www.decodedscience.com/robots-for-autism-therapy-koalas-fuzzylogic/996