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