F Fuzzy Rendszerek R d k 2. előadás – Fuzzy következtető rendszerek
Ballagi Áron egyetemi adjunktus Széchenyi István Egyetem, Automatizálási Tsz.
1
Fuzzy következtető rendszer Fuzzy következtető Szabálybázis Fuzzifikáló
Defuzzifikáló
2
Vi-1.1
1
Nyelvi változók z
Nyelvi változó az a nyelvi értékekből (fuzzy számok) álló halmaz mely alkalmas valamely értelmezési tartomány leírására.
z
Egy nyelvi változót öt jellemzővel határozhatunk meg: – a változó neve (pl.: víz hőmérséklet) – a nyelvi értékek nevének előállítási szintaxisa – a szemantikai tik i jelentés j l té (a ( nyelvi l i érték é ték és é a fuzzy f szám á egymáshoz rendelése) – az értelmezési tartomány (pl.: 0 - 100C) – a nyelvi értékek nevei (pl.: hideg, langyos, meleg, forró). 3
Nyelvi változók Víz hőmérséklet μx 1
0
hideg
10
langyos
20
meleg
40
forró
60
100 x [°C] 4
Vi-1.1
2
Szabályok – szabálybázis z
A szakértői ismereteket szokásosan HA...AKKOR... (IF...THEN...) típusú szabályokkal lehet legegyszerűbben kifejezni.
pl: Ha vízhőfok = hideg és levegőhőfok = hideg akkor fűtés := max
z
A szabálybázis a szabályok halmaza: a szakértői ismereteket magába foglaló nyelvi változókkal megfogalmazott kijelentések. 5
Fuzzy szabályok z
általában természetes nyelvi elemekkel kifejezett szabályok R : Ha x = A akkor y = B ahol x ∈ X a bemeneti változó y ∈ Y a kimeneti ki ti változó ált ó
pl: Ha vízhőfok = hideg és levegőhőfok = hideg akkor fűtés := max
6
Vi-1.1
3
Fuzzy szabálybázis z
Többdimenziós szabályok – ha n bemenet és m kimenet van, akkor az i-edik szabály általánosan
Ri : Ha x = Ai akkor y = Bi ahol
x = x1 ,… , xn
x j ∈ X j , X = X1 ×
Ai = A1i ,… , Ani
Ai ∈ X
y = y1 ,… , ym
y j ∈ Y j , Y = Y1 ×
Bi = B1i ,… , Bni
Bi ∈ Y
× Xn × Ym
i ∈ [1, r ] ahol r a szabályok száma
7
Fuzzy szabálybázis Ri : Ha xi = A1,i és … és xn = An ,1 akkor y = Bi Ri → { R1,i ,… , Rm ,i } ahol R1,i : Ha xi = A1,i és … és xn = An ,1 akkor y1 = B1,i Rm ,i : Ha xi = A1,i és … és xn = An,1 akkor ym = Bm ,i
8
Vi-1.1
4
A szabályok forrása és származtatása z
A szakértői ismeretek és a mérnöki tapasztalat – szakmai leírások, üzemeltetési könyvek – kérdőív
z
A kezelő személyzet beavatkozásainak megfigyelése
z
A folyamat fuzzy modelljének (leírásának) felállítása
z
Tanuló rendszerek felépítése
9
A következtető rendszer z
A szabálybázis szabályait és az adatbázis adatait felhasználva meghatározza a bemenő megfigyeléshez tartozó fuzzy következtetéseket. A következtetés eredménye szintén egy fuzzy halmaz, amelynek tagsági függvényét a fuzzy logikai következtetés többféle elve szerint s-normák és tnormák felhasználásával lehet meghatározni. g
10
Vi-1.1
5
A Zadeh következtetési módszer μ R : X × Y → [ 0,1] A* : X × X → [ 0,1]
Ri Y
B* = A* R
μx
A*
Ai 170
190
210
X 11
A Mamdani következtetési módszer z
A Mamdani féle következtetési módszer szerint, ha az X illetve az Y univerzumokon meghatározott A és B olyan két fuzzy halmaz, amelyeket egy reláció köt össze, akkor a következtetés eredménye az X × Y tartományon meghatározott R fuzzy halmaz lesz, amelyet a következő összefüggés szerint határozunk meg: g
{
}
R ( x1 ,… , xn , y ) = max min { A1,i ( x1 ) ,… , An ,i ( xn ) , B ( y )} r
{
i =1
x, y
}
R ( x , y ) = max min { Ai ( x1 ) , B ( y )} r
i =1
x,y
12
Vi-1.1
6
Fuzzy következtető rendszer Fuzzy következtető Szabálybázis Fuzzifikáló
Defuzzifikáló
13
Fuzzifikáció z
Illeszkedési mértéket meghatározó egység, crisp bemenetek egyes tagsági értékeit határozza meg a tüzelő szabályokban. μx
„magas”
1
μ180 = 0.6
170
180
190
210
testmagasság (cm)
14
Vi-1.1
7
Defuzzifikáció z
A defuzzifikáció folyamata nem más mint a logikai következtetések alapján egy kimeneti értelmezési tartományon születő fuzzy beavatkozások (következtetések) leképezése egy éles értékeket tartalmazó halmazra.
15
Defuzzifikáció – MAX z
A maximális tagsági fokkal rendelkező alaphalmazbeli elem megkeresése
μ x ( xm ) = max μ x ( x) x∈X
xm ∈ X
μx 1
xm
x 16
Vi-1.1
8
Defuzzifikáció – FoM, Lo LoM z
Az eelső ső (uto (utolsó) só) maximum a u hely e y módszerek óds e e ((FoM, o , LoM) o ) olyan fuzzy halmazok esetén használhatók , a MAX módszer bizonytalanságának feloldására, ahol több maximumhely van, illetve ahol a maximális tagsági fok egy platón helyezkedik el és nem egy egyedülálló pont. μx 1
FoM
LoM
x
17
Defuzzifikáció – MoM MoM z
A maximum átlagoló módszer a maximális tagsági fokú elemek átlagát választja a fuzzy halmazra legjellemzőbb elemnek. n xmi ∑ μ x ( xmi ) = max μ x ( x) i =1 x∈X MoM = n μx xmi ∈ X 1
MoM
Vi-1.1
x
18
9
Defuzzifikáció – CoG z
A fuzzy halmaz legjellemzőbb eleméül a halmaz elemeinek tagsági fokával súlyozott átlagát választja. n
CoG = μx
∑ μ(x )x i =1 n
i
i
∑ μ(x ) i =1
i
1
CoG
x
19
Fuzzy következtető rendszer z
A rendszer felépítésének és elemeinek bemutatása egy példa alapján (Matlab borravaló példa): – Az átlag borravaló 15 %, eltérés (5-5 %) a kiszolgálás és az étel minősőgének függvényében történik. A minőség 0 és 10 között pontozott, 10 a legjobb, 0 a pocsék. Kérdés: mennyi borravalót adjak?
20
Vi-1.1
10
Klasszikus megközelítés servRatio=0.8; if service<3, tip=((0.10/3)*service+0.05)*servRatio + ... (1-servRatio)*(0.20/10*food+0.05); elseif service<7, tip=(0.15)*servRatio + ... ((1-servRatio)*(0.20/10*food+0.05); ) ( ); else, tip=((0.10/3)*(service-7)+0.15)*servRatio + ... (1-servRatio)*(0.20/10*food+0.05); end
21
Fuzzy megközelítés 1. 2. 3.
If service is poor or the food is rancid, then tip is cheap If service is good, then tip is average If service is excellent or food is delicious, then tip is generous
22
Vi-1.1
11
Fuzzy következtetés koncepciója
23
Fuzzifikáció z
A fuzzifikálás során egy (pl. állapotváltozó méréséből eredő) éles (pontos, határozott) érték fuzzy halmazokká alakul át, azaz nyelvi kifejezéséhez tagsági függvények értékei társulnak .
24
Vi-1.1
12
Fuzzy leképezés
25
Fuzzy leképezés
26
Vi-1.1
13
Aggregáció
27
A fuzzy következtetés
28
Vi-1.1
14
Sugeno féle fuzzy következtetés
29
A fuzzy következtetés
30
Vi-1.1
15
Zárthurkú irányítási rendszerek Folyamat teljesítményindex
z
Hagyományos rendszerek
z
Szakértői rendszerek
z
Lágy programozási rendszerek – Fuzzy logika – Neurális hálók – stb.
Irányító (döntéshozó)
31
Fuzzy szabályozás FIS
Input
Skálázás Normalizálás
Fuzzy halmazok
Szabálybázis
Fuzzyfikáció
Következteto rendszer
Defuzzifikáció
Skálázás Normalizálás
Szenzor
Folyamat
Output
32
Vi-1.1
16
Fuzzy szabályozás előnye
hátránya
•Könnyen implementálható technológia
•Stabilitás vizsgálat nem megoldott
•Emberi tudás könnyen leképezhető
•Hangolás nagy tapasztalatot, sok megfigyelést igényel
•Nem kell matematikai modell a folyamatról
•Nagy számítási igény
•Könnyen átalakítható
•Esetenként lassú
•Nemlineáris rendszerek szabályozása
•Hardver támogatottsága kicsi
•Imprecíz, zajos adatok feldolgozása •Robusztus szabályozás
33
IEEE fuzzy szabályozások felmérése [1996] z
Több mint 1100 sikeres fuzzy alkalmazás lett publikálva (kb. 5%-a a működő alkalmazásoknak)
z
A legtöbb alkalmazás nem érinti a hagyományos szabályozásokat (PID, stb.), hanem a több-változós ill. felügyeleti rendszerek
z
Az alkalmazások 28%-a beágyazott gy rendszer, 62%-a ipari automatizálás és 10%-a folyamatirányítás
z
A megkérdezettek 90%-a radikális csökkenést látott a fejlesztési időben és 97,5%-a mondta, hogy használni fogja még a fuzzy logikát 34
Vi-1.1
17
Fuzzy Kontroll Measured Variables (Linguistic Values)
2. Fuzzy-Inference
Command Variables (Linguistic Values)
Linguistic Level Numerical Level
3. Defuzzification
1. Fuzzification
Measured Variables (Numerical Values)
Plant
Command Variables (Numerical Values)
35
Fuzzy Kontroll pl.: z
Konténer daru vezérlése
36
Vi-1.1
18
Fuzzy Kontroll pl.: Angle, Distance (Numerical Values)
Power
2. Fuzzy-Inference
(Linguistic Variable)
Linguistic Level 3. Defuzzification
1. Fuzzification
Numerical Level
Container Crane
Angle, Distance
Power (Numerical Values)
(Numerical Values)
37
Fuzzy Kontroll pl.: 1. fuzzyfikáció Nyelvi változó és érték definíció: Distance := {far, medium, close, zero, neg_close} Angle := {pos_big, pos_small, zero, neg_small, neg_big} Power := {pos_high, pos_medium, zero, neg_medium, neg_high} Tagsági függvény definíció: µ neg_big
1
zero neg_small pos_small
µ pos_big
neg_close zero
close
medium
far
1
0.9
0.8
0.2 0
Vi-1.1
0.1 -90°
-45°
0° 4° Angle
45°
90°
0
-10
0
10 12m Distance [yards]
20
30
38
19
Fuzzy Kontroll pl.: 2. következtetés „„If – Then” szabályok y kiértékelése (Mamdani, ( , min-max): ) #1: IF Distance = medium AND Angle = pos_small THEN Power = pos_medium #2: IF Distance = medium AND Angle = zero THEN Power = zero #3: IF Distance = far AND Angle = zero THEN Power = pos_medium
"Power": pos_high hi h pos_medium zero neg_medium neg_high
#1: min{ 0.9, 0.8 } = 0.8 #2: min{ 0.9, 0.2 } = 0.2 #3: min{ 0.1, 0.2 } = 0.1
with ith the th d degree 00.0 0 with the degree 0.8 ( = max{ 0.8, 0.1 } ) with the degree 0.2 with the degree 0.0 with the degree 0.0 39
Fuzzy Kontroll pl.: 3. defuzzifikálás “Center-of-Gravity”: Center of Gravity :
µ
neg_high
neg_medium zero pos_medium
pos_high
1
0
Vi-1.1
-30
-15
0 Power [Kilowatts]
15
30
6.4 KW
40
20
Tervezési lépések z
Következtető rendszer tervezése – hogyan kapcsolódnak a kimenetek a bemenetekhez – szabálybázis tervezése
z
Nyelvi változók definiálása – univerzum meghatározása – az univerzum felosztása nyelvi értékekkel (fuzzy halmazokkal)
z
Kezdeti rendszer felépítése az összes ismert szabályból
z
Off – line tesztelés, ellenőrzés és hangolás
z
On – line tesztelés és hangolás 41
Fuzzy szabályozók típusai z
Direkt kontroll Command Variables
IF temp=low AND P=high THEN A=med
Plant
IF ...
Fuzzification
Inference
Defuzzification
Measured Variables
42
Vi-1.1
21
Fuzzy szabályozók típusai z
Felügyeleti kontroll
IF temp=low AND P=high THEN A=med
PID
Set Values
PID IF ...
Fuzzification
Inference
Plant
PID
Defuzzification
Measured Variables
43
Fuzzy szabályozók típusai z
PID adaptív
Set Point Variable
IF temp=low AND P=high THEN A=med
P I D
IF ...
Fuzzification
Inference
Command Variable
PID
Plant
Defuzzification
Measured Variable
44
Vi-1.1
22
Fuzzy szabályozók típusai z
Fuzzy - PID hibrid párhuzamos
Set Point Variable
IF temp=low AND P=high THEN A=med
Command Variable
IF ...
Fuzzification
Inference
Defuzzification
Plant
PID
Measured Variable
45
Köszönöm a figyelmet! Kérdések?
46
Vi-1.1
23