November_Lecture_6_Takagi_Sugeno

advertisement
FUZZY CONTROL:
Mamdani & Takagi-Sugeno Controllers
Khurshid Ahmad,
Professor of Computer Science,
Department of Computer Science
Trinity College,
Dublin-2, IRELAND
October 29/Nov 5th, 2010
https://www.cs.tcd.ie/Khurshid.Ahmad/Teaching/Teaching.html
1
1
FUZZY CONTROL
Control Theory?
•The term control is
generally defined as a
mechanism used to guide
or regulate the operation of
a machine, apparatus or
constellations of machines
and apparatus.
2
FUZZY CONTROL
Control Theory?
An Input/Output Relationship
3
FUZZY CONTROL
Control Theory?
An Input/Output Relationship IDENTIFIED using Fuzzy Logic
4
FUZZY CONTROL
Control Theory?
An Input/Output Relationship IDENTIFIED using Fuzzy Logic
5
FUZZY CONTROL
Control Theory?
•Typically, rules contain membership functions for
both antecedents and consequent.
•Argument is that the consequent membership
function can be simplified – this argument is
based on a heuristic that operators in a control
environment divide the variable space (say, error,
change in error and change in control) into
PARTITIONS;
• Within each partition the output variable is a
simple, often linear function of the input variables
and not membership functions
6
FUZZY CONTROL
Control Theory?
•Typically, rules contain membership functions for both
antecedents and consequent.
Mamdani Controller
If e(k) is positive(e) and Δe(k) is positive(Δe)
then Δu(k) is positive (Δu)
Takagi-Sugeno Controllers:
If e(k) is positive(e) and Δe(k) is positive(Δe) then Δu(k)
=e(k)+ß Δe(k)+δ;
• , ß and δ are obtained from empirical
observations by relating the behaviour of the errors
and change in errors over a fixed range of changes
7
in control
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
According to Yager and Filev, ‘a known disadvantage
of the linguistic modules is that they do not contain
in an explicit form the objective knowledge about the
system if such knowledge cannot be expressed
and/or incorporated into fuzzy set framework'
(1994:192).
Typically, such knowledge is available often: for
example in physical systems this kind of knowledge is
available in the form of general conditions imposed
on the system through conservation laws, including
energy mass or momentum balance, or through
limitations imposed on the values of physical
constants.
8
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Tomohiro Takagi and Michio Sugeno recognised two
important points:
1. Complex technological processes may be described in
terms of interacting, yet simpler sub processes. This is
the mathematical equivalent of fitting a piece-wise
linear equation to a complex curve.
2. The output variable(s) of a complex physical system,
e.g. complex in the sense it can take a number of input
variables to produce one or more output variable, can
be related to the system's input variable in a linear
manner provided the output space can be subdivided
into a number of distinct regions.
Takagi, T., & Sugeno, M. (1985). ‘Fuzzy Identification of Systems and its
Applications to Modeling and Control’. IEEE Transactions on Systems, Man and
Cybernetics. Volume No. SMC-15 (No.1) pp 116-132.
9
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Takagi-Sugeno fuzzy models
have been widely used to identify
the structures and parameters of
unknown or partially known
plants, and to control nonlinear
systems.
10
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Mamdani style inference:
The Good News: This method is regarded widely ‘for
capturing expert knowledge’ and facilitates an
intuitively-plausible description of knowledge;
The Bad News: This method involves the computation of
a two-dimensional shape by summing, or more
accurately integrating across a continuously varying
function. The computation can be expensive.
11
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Mamdani style inference:
The Bad News: This method involves the computation of a twodimensional shape by summing, or more accurately integrating
across a continuously varying function. The computation can be
expensive.
For every rule we have to find the membership functions for the
linguistic variables in the antecedents and the consequents;
For every rule we have to compute, during the inference,
composition and defuzzification process the membership functions
for the consequents;
Given the non-linear relationship between the inputs and the
output, it is not easy to identify the membership functions for the
linguistic variables in the consequent
12
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Literature on conventional control systems has
suggested that a complex non-linear system can
be described as a collection of subsystems that
were combined based on a logical (Boolean)
switching system function.
In realistic situations such disjoint (crisp)
decomposition is impossible, due to the inherent
lack of natural region boundaries in the system,
and also due to the fragmentary nature of
available knowledge about the system.
13
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Takagi and Sugeno (1985) have argued
that in order to develop a generic and
simple mathematical tool for computing
fuzzy implications one needs to look at a
fuzzy partition of fuzzy input space.
In each fuzzy subspace a linear inputoutput relation is formed. The output of
fuzzy reasoning is given by the values
inferred by some implications that were
applied to an input.
14
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Takagi and Sugeno have
described a fuzzy implication R
as:
R: if (x1 is mA(x1),… xk is mA(xk))
then y = g(x1, …, xk)
15
A solution for the coefficients of the
consequent in TSK Systems
Rule1 : x is m1 ( x)
THEN y  p0  p1 x
COMPOSITION
m1 ( x) *[ p0  p1 x]
y
m1 ( x)
There are two
unknowns: p0 and
p1. So we need
two simultaneous
equations for two
values of x, say x1
and x2, and two
values of y – y1 and
y1  p0  p1 x1
y2  p0  p1 x2
y1  y2
p1 
;
x1  x2
y1  y2
p0  y1 
x1  x2
16
A solution for the coefficients of the
consequent in TSK Systems
Consider a two rule system:
Rule1 : x is m1 ( x)
THEN y  p01  p11 x
Rule2 : x is m 2 ( x)
THEN y  p02  p12 x
COMPOSITION
m1 ( x) *[ p01  p11 x]  m 2 ( x) *[ p02  p12 x]
y
m1 ( x)  m 2 ( x)
m1 ( x) *[ p01  p11 x]  m 2 ( x) *[ p02  p12 x]
mˆ1 ( x) 
m1 ( x)  m 2 ( x)
 y  mˆ1 ( x) * [ p01  p11 x]  mˆ 2 ( x) *[ p02  p12 x]
17
A solution for the coefficients of the
consequent in TSK Systems
There are 4 unknowns p01, p11,
p02, p12, so we need 4
equations. And, these can be obtained from 4
observations comprising 4 diffierent values of
and

y 4mˆ ( x) * [ p  p x]  mˆ ( x) * [ p  p x]
1
01
11
2
02
12
Fourvaluesof x  x1 , x2 , x3 , x4 and for each x, will haveavalue
y1  mˆ1 ( x1 ) * p01  mˆ 2 ( x1 ) * p02  mˆ1 ( x1 ) * x1 * p11  mˆ 2 ( x1 ) * x1 * p11
....................................................
....................................................
y4  mˆ1 ( x4 ) * p01  mˆ 2 ( x4 ) * p02  mˆ1 ( x4 ) * x4 * p11  mˆ 2 ( x4 ) * x4 * p11
18
A solution for the coefficients of the
consequent in TSK Systems
There are 4 unknowns p01, p11,
p02, p12, so we need 4
equations. And, these can be obtained from 4
observations comprising 4 diffierent values of
and 4
 y  mˆ1 ( x) *[ p01  p11 x]  mˆ 2 ( x) *[ p02  p12 x]
Fourvaluesof x  x1 , x2 , x3 , x4 and for each x, will haveavalue
y1  mˆ1 ( x1 ) * p01  mˆ 2 ( x1 ) * p02  mˆ1 ( x1 ) * x1 * p11  mˆ 2 ( x1 ) * x1 * p11
 y1   mˆ1 ( x1 )
 y   mˆ ( x )
 2   1 2
 y3   mˆ1 ( x3 )
  
 y4   mˆ1 ( x4 )
mˆ 2 ( x1 ) mˆ 2 ( x1 ) mˆ1 ( x1 ) * x1  mˆ 2 ( x1 ) * x1   p01 
mˆ 2 ( x2 ) mˆ 2 ( x2 ) mˆ1 ( x2 ) * x1  mˆ 2 ( x2 ) * x2   p02 
mˆ 2 ( x3 ) mˆ 2 ( x3 ) mˆ1 ( x3 ) * x3  mˆ 2 ( x3 ) * x3   p11 
 
mˆ 2 ( x4 ) mˆ 2 ( x4 ) mˆ1 ( x4 ) * x4  mˆ 2 ( x4 ) * x4   p21 
19
A solution for the coefficients of the
consequent in TSK Systems
There are 4 unknowns p01, p11,
p02, p12, so we need 4 equations.
 y1   mˆ1 ( x1 )
 y   mˆ ( x )
 2   1 2
 y3   mˆ1 ( x3 )
  
 y4   mˆ1 ( x4 )
mˆ 2 ( x1 )
mˆ 2 ( x2 )
mˆ 2 ( x3 )
mˆ 2 ( x4 )
mˆ1 ( x1 ) * x1
mˆ1 ( x2 ) * x1
mˆ1 ( x3 ) * x3
mˆ1 ( x4 ) * x4
mˆ 2 ( x1 ) * x1 
mˆ 2 ( x2 ) * x2 
mˆ 2 ( x3 ) * x3 

mˆ 2 ( x4 ) * x4 
Y   X T P
P  [ X T X ]1X T Y 
 p01 
p 
 02 
 p11 
 
 p21 
20
A solution for the coefficients of the
consequent in TSK Systems
Takagi and Sugeno have (a) generalised the method to an
n-rule, m-parameter system; and (b) claim that ‘this
method of identification enables us to obtain just the same
parameters as the original system, if we have a sufficient
number of noiseless output data for identification’ (Takagi
and Sugeno, 1985:119).
 y1   mˆ1 ( x1 )
 y   mˆ ( x )
 2   1 2
 y3   mˆ1 ( x3 )
  
 y4   mˆ1 ( x4 )
mˆ 2 ( x1 )
mˆ 2 ( x2 )
mˆ 2 ( x3 )
mˆ 2 ( x4 )
mˆ1 ( x1 ) * x1
mˆ1 ( x2 ) * x1
mˆ1 ( x3 ) * x3
mˆ1 ( x4 ) * x4
mˆ 2 ( x1 ) * x1 
mˆ 2 ( x2 ) * x2 
mˆ 2 ( x3 ) * x3 

mˆ 2 ( x4 ) * x4 
Y   X T P
P  [ X T X ]1X T Y 
 p01 
p 
 02 
 p11 
 
 p21 
21
A solution for the coefficients of the
consequent in TSK Systems
In order to determine the values of the parameters p in the
consequents, one solves the LINEAR system of algebraic
equations and tries to minimize the difference between the
ACTUAL output of the system (Y) and the simulation
[X]T[P] :
Y  X  P  
T
22
A solution for the coefficients of the
consequent in TSK Systems
In order to determine the values of the parameters p in the
consequents, one solves the LINEAR system of algebraic
equations and tries to minimize the difference between the
ACTUAL output of the system (Y) and the simulation
[X]T[P] :
Y  X  P  
T
23
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Takagi and Sugeno have described a fuzzy implication R as:
R: if (x1 is mA(x1),… xk is mA(xk)) then y = g(x1, …, xk), where:
A zero order Takagi-Sugeno Model will
be given as
R: if (x1 is mA(x1),… xk is mA(xk)) then y = k
24
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
Consider the problem of controlling
an air-conditioner (again). The rules
that are used to control the airconditioner can be expressed as a
cross product:
CONTROL = TEMP ×SPEED
25
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
The rules can be expressed as a cross product of two term sets:
Temperature and Speed.
CONTROL
=
TEMP ×
SPEED
Where the set of linguistic values of the term sets is given as
TEMP = COLD + COOL + PLEASANT + WARM + HOT
SPEED = MINIMAL + SLOW + MEDIUM + FAST + BLAST
26
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
A Mamdani Controller
Recall that the rules governing the airconditioner are as follows:
RULE#1:
IF
TEMP is COLD THEN SPEED is MINIMAL
RULE#2:
IF
TEMP is COOL THEN SPEED is SLOW
RULE#3:
IF
TEMP is PLEASENT
RULE#4:
IF
THEN SPEED is
MEDIUM
TEMP is WARM THEN SPEED is FAST
RULE#5:
IF
TEMP is HOT
THEN SPEED is BLAST
27
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
A Zero-order Takagi-Sugeno Controller
Recall that the rules governing the airconditioner are as follows:
RULE#1: IF
TEMP is COLD
THEN SPEED =k1
RULE#2: IF
TEMP is COOL
THEN SPEED = k2
RULE#3: IF
TEMP is PLEASENT
THEN SPEED =k3
RULE#4: IF
TEMP is WARM
THEN SPEED =k4
RULE#5: IF
TEMP is HOT
THEN SPEED =k5
28
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
A First-order Takagi-Sugeno Controller
Recall that the rules governing the airconditioner are as follows:
RULE#1:
IF
TEMP is COLD
THENSPEED =j1+k1*T
RULE#2:
IF
TEMP is COOL
THENSPEED = j2+k2*T
RULE#3:
IF
TEMP is PLEASENT
THENSPEED =k3
RULE#4:
IF
TEMP is WARM
THENSPEED = j4+
RULE#5:
IF
TEMP is HOT
THENSPEED =k5
k4 T
29
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
Temperature Fuzzy Sets
1
Truth Value
0.9
Cold
Cool
Pleasent
Warm
Hot
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
5
10
15
20
25
30
Temperature Degrees C
30
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
The analytically expressed membership for the reference fuzzy subsets for the
temperature are:
T
1
10
T
' COOL'
m COOL (T ) 
1 2.5
T
m COOL (T ) 
 3.5
5
T
' PLEAS ENT'
m PLEA (T ) 
 6
2.5
T
m PLEA (T ) 
 8
2.5
T
'WARM ' '
m WARM (T ) 
 3.5
5
T
m WARM (T ) 
 5.5
5
T
' HOT '
m HOT (T ) 
 11
2.5
m HOT (T )  1
' COLD'
m COLD (T ) 
0  T  1 0;
0  T  1 2.5
1 2.5  T  1 7.5;
1 5  T  1 7.5
1 7.5  T  2 0;
1 7.5  T  2 2.5
2 2.5  T  2 7.5
25  T  30
T  30
31
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
Speed Fuzzy Sets
For FLC of Mamdani type
Truth Value
1
0.8
MINIMAL
SLOW
MEDIUM
FAST
BLAST
0.6
0.4
0.2
0
0
10 20
30 40
50
Speed
60 70
80 90 100
32
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
The zero-order speed control just takes one
SINGLETON value at fixed values of the velocity;
for all other values the membership function is
defined as zero
' MINIMAL' m MINIMAL (V )  1
V  0;
m SLOW (V ) 
MEDIUM' m MED (V ) 
' FAST'
m FAST (V ) 
' BLAST'
m BLAST (V ) 
V  30
' SLOW '
1
1
V  50
1
V  70
1
V  100
33
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
Let the temperature be 5 degrees centigrade:
Fuzzification: 5 degrees means that it can be
COOL and COLD;
Inference: Rules 1 and 2 will fire:
Composition:
The temperature is ‘COLD’ with a truth value of
μ COLD=0.5  the SPEED will be k1
The temperature is ‘COOL’ with a truth value of
μCOOL =0.5  the SPEED will be k2
‘DEFUZZIFICATION’: CONTROL speed is
(μ COLD*k1+ μCOOL *k2)/(μ COLD+ μCOOL)=
(0.5*0+0.5*30)/(0.5+0.5)=15 RPM
34
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
Zero Order Takagi Sugeno Controller
1
Membership Function
0.9
0.8
0.7
MINIMAL
0.6
SLOW
0.5
MEDIUM
0.4
FAST
0.3
BLAST
0.2
0.1
0
0
20
40
60
80
Speed
100
120
140
35
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
FUZZIFICATION: Consider that the temperature is 16oC
and we want our knowledge base to compute the speed.
The fuzzification of the the crisp temperature gives the
following membership for the Temperature fuzzy set:
mCOLD mCOOL mPLEASENT mWAR mHOT
M
Temp=16
Fire Rule (#)
yes/no
0
(#1)
no
0.3
(#2)
yes
0.4
(#3)
yes
0
0
(#4)
no
(#5)
no
36
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
INFERENCE: Consider that the
temperature is 16oC and we want our
knowledge base to compute the speed. Rule
#2 & 3 are firing and are essentially the
fuzzy patches made out of the cross products
of
COOL x SLOW
PLEASANT x MEDIUM
37
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
COMPOSITION: The COOL and PLEASANT sets have an output of 0.3 and
0.4 respectively. The singleton values for SLOW and MEDIUM have to be given an
alpha-level cut for these output values respectively:
Zero-order Takagi-Sugeno Model
Membership Function (alpha-cut)
0.45
0.4
0.35
MINIMAL
SLOW
MEDIUM
0.3
0.25
0.2
FAST
BLAST
0.15
0.1
0.05
0
0
20
40
60
Speed
80
100
120
38
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
DEFUZZIFICATION: The problem of finding a
single, crisp value is no longer a problem for a
Takagi-Sugeno controller. All we need is the
weighted average of the singleton values of SLOW
& MEDIUM.
Recall the Centre of Area computation for the
Mamdani controller
 
1
m
output
x 1..... . xn
( y)
y m
output
x 1..... . xn
( y)
39
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
DEFUZZIFICATION: For Takagi-Sugeno, the
computation for η is restricted to the singleton values of the
SPEED linguistic variable – we do not need to sum over all
values of the variable y:
 
y m

x1 ..... . xn
output
 mx
1..... . xn
 SLOW * m
__________
output
( y)
SLOW
_
(.)  MEDIUM * m x ''
__________
MEDIUM
_
x'
SLOW
m
( y)
_
x'
(.)  m x ''
MEDIUM
_
(.)
(.)
40
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
DEFUZZIFICATION: For Takagi-Sugeno, the
computation for η is restricted to the singleton values of the
SPEED linguistic variable – we do not need to sum over all
values of the variable y:
 SLOW * m
__________

SLOW
_
(.)  MEDIUM * m x ''
MEDIUM
_
x'
SLOW
m
__________
_
x'
(.)  m x ''
MEDIUM
_
(.)
(.)
(0.3 * 30  0.4 * 50)

 41.42857
(0.3  0.4)
41
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
DEFUZZIFICATION: Recall the case of the
Mamdani equivalent of the fuzzy airconditioner – where we had fuzzy sets for
the linguistic variables SLOW and
MEDIUM: The ‘Centre of Area’ (COA)
computations involved a weighted sum over
all values of speed between 12.5 and 57.5
RPM: in the Takagi-Sugeno case we only
had to consider values for speeds 30RPM
and 50 RPM.
42
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
DEFUZZIFICATION: Recall the case of the Mamdani equivalent of the fuzzy air-conditioner – where we had fuzzy sets for the linguistic
variables SLOW and MEDIUM: The ‘Centre of Area’ (COA) computations involved a weighted sum over all values of speed between 12.5 and
57.5 RPM: in the Takagi-Sugeno case we only had to consider values for speeds 30RPM and 50 RPM.
OUTPUT OF 2 RULES
WEIGHTED SPEED
SPEED
SLOW
MEDIUM
12.5
0.125
0
0.125
1.5625
15
0.25
0
0.25
3.75
17.5
0.3
0
0.3
5.25
20
0.3
0
0.3
6
22.5
0.3
0
0.3
6.75
25
0.3
0
0.3
7.5
27.5
0.3
0
0.3
8.25
30
0.3
0
0.3
9
32.5
0.3
0
0.3
9.75
35
0.3
0
0.3
10.5
37.5
0.3
0
0.3
11.25
40
0.3
0
0.3
12
42.5
0.3
0.25
0.3
12.75
45
0.25
0.4
0.4
18
47.5
0.125
0.4
0.4
19
50
0
0.4
0.4
20
52.5
0
0.4
0.4
21
55
0
0.4
0.4
22
57.5
0
0.25
0.25
14.375
5.925
218.6875
SUM
The
speed
is
36.91
RPM
43
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
DEFUZZIFICATION:
For Mean of Maxima for the Mamdani controller, we had
to have an alpha-level cut of 0.4, and the summation ran
between 45-57.5 RPM, leading to a speed of 50 RPM. We
get the same result for Takagi-Sugeno controllers:
η= (0.4*50)/0.4=50 RPM
44
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
DEFUZZIFICATION: Comparing the results of
two model identification exercises – Mamdani and
Takagi-Sugeno- we get the following results:
Controller
TakagiSugeno
(RPM)
Mamdani
(RPM)
Centre of
Area
41.43
36.91
Mean of
Maxima
50.00
50.00
45
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
DEFUZZIFICATION: Comparing the results of
two model identification exercises – Mamdani and
Takagi-Sugeno- we get the following results:
Mamdani Controller and the use of COA is the
best result
Controller
Centre of Area
Mean of Maxima
Error
Takagi-Sugeno
Mamdani
(RPM)
(RPM)
12%
35%
0%
35%
46
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
A formal derivation
Consider a domain where all fuzzy sets are associated with
linear membership functions.
Let us denote the membership function of a fuzzy set A as
mA(x), x X. All the fuzzy sets are associated with linear
membership functions. Thus, a membership function is
characterised by two parameters giving the greatest grade
1 and the least grade 0.
The truth value of a proposition “x is mA and y is mB” is
expressed as
x is μ A
and
y is μB

μ A  μB
47
FUZZY CONTROL
FUZZY CONTROLLERS- An example
A worked example
Consider an FLC of Mamdani type:
e(k)
N
Z
P
e(k) N
N
N
Z
Z
P
N
Z
P
Z
P
P
which expresses rules like:
Rule 1: If e(k) is negative AND e(k) is negative then u(k) is negative
ALSO
Rule 9: If e(k) is positive AND e(k) is positive then u(k) is positive
48
FUZZY CONTROL
FUZZY CONTROLLERS- An example
A worked example
Consider an FLC of Mamdani type:
e(k)
N
Z
P
e(k) N
N
N
Z
Z
P
N
Z
P
Z
P
P
The nine rules express the dependence of (change) in the value of control
output on the error (the difference between expected and output values)
and the change in error).
This dependence will capture some very complex non-linear, and linear
49
relationships between e and Δe and Δu.
FUZZY CONTROL
FUZZY CONTROLLERS- An example
A zero-order Takagi-Sugeno Controller
e(k)
N
Z
P
e(k) N
1
2
3
Z
P
4
5
6
7
8
9
which expresses rules like:
Rule 1:If e(k) is negative AND e(k) is negative then u(k) =1
Rule 9:If e(k) is positive AND e(k) is positive then u(k) = 9
50
FUZZY CONTROL
FUZZY CONTROLLERS- An example
A first-order Takagi-Sugeno Controller
e(k)
N
e(k)
N
Z
P
Z
P
1e+ß1 e +δ1
2e+ß2 e+ δ2
3e+ß3 e+ δ3
4e+ß4 e +δ4
5e+ß5 e+ δ5
6e+ß6 e+ δ6
7e+ß7 e+ δ7
8e+ß8 e+ δ8
9e+ß9 e+ δ9
which expresses rules like:
Rule 1:If e(k) is negative AND e(k) is negative then u(k) =1e+ß1 e+δ1
Rule 9:If e(k) is positive AND e(k) is positive then u(k) =9e+ß9 e+δ9
51
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Takagi and Sugeno have described a fuzzy implication R is of the
format:
R: if (x1 is mA(x1),… xk is mA(xk)) then y = g(x1, …, xk), where:
y
Variable of the consequence whose value is
inferred
x1, …, xk
Variables of the premise that appear also in the
part of the consequence
mA(x1),…..
mA(x1)
Fuzzy sets with linear membership functions
representing a fuzzy subspace in which the
implication R can be applied for reasoning.
f
Logical function connects the propositions in the
premise.
g
Function that implies the value of y when x1,…. xk
52
satisfies the premise.
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
In the premise if μA(xi) is equal
to Xi for some i where Xi is the
universe of discourse of xi, this
term is omitted; xi is
unconditioned; otherwise xi
is regarded as conditioned.
53
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
In the premise if mA(xi) is equal to Xi for some i where Xi is the
universe of discourse of xi, this term is omitted; xi is unconditioned.
The following example will help in clarifying the argumentation
related to 'conditioned' and 'unconditioned' terms in a given
implication:
R: if x1 is small and x2 is big then y = x1 + x2 + 2x3.
The above implication comprises two conditioned premises, x1 and
x2, and one unconditioned premise, x3.
The implication suggests that if x1 is small and x2 is big, then the
value of y would depend upon and be equal to the sum of x1, x2, and
2x3., where x3 is unconditioned in the premise.
54
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Typically, for a Takagi-Sugeno controller, an implication is
written as:
R: if x1 is m1 and … and xk is mk
then y = p0 + p1x1 + … + pkxk.
The assumption here is that only ‘and’ connectives are used in
the antecedants or premises of the rules. And, that the
relationship between the output and inputs is strictly a
LINEAR (weighted average) relationship. (The weights here
are p0
,p1….. pk).
55
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Reasoning Algorithm
Recall the arguments related to the membership
functions of the union and intersection of fuzzy sets.
The intersection of sets A and B is given as:
mAB = min (mA, mB)
We started this discussion by noting that we will
explore the problems of multivariable control
(MultipleInputSingleOutput). Usually, the rule base in
a fuzzy control system comprises a number of rules;
in the case of multivariable control the relevant rules
have to be tested for what they imply.
56
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Consider a system with n implications (rules); the variable of
consequence, y, will have to be notated for each of these implications,
leading to yi variables of consequence. There are three stages of
computations in Takagi-Sugeno controllers:
FUZZIFICATION: Fuzzify the input. For all input variables compute the
implication for each of the rules;
INFERENCE or CONSEQUENCES: For each implication compute the
consequence for a rule which fires. Compute the output y for the rule by
using the linear relationship between the inputs and the output (y = p0 +
p1x1 + … + pkxk.).
AGGREGATE (& DEFUZZIFICATION): The final output y is inferred
from n-implications and given as an average of all individual implications
yi with weights |y= yi |:
y = ( |y= yi | * yi )/  |y= yi |
where |y= yi | stands for the truth value of a given proposition.
57
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Consider the following fuzzy implications (or rules) R1,R2,
R3 used in the design of a Takagi-Sugeno controller:
R1  If
x1 is small1 & x2 is small2
then y(1) =x1+x2
R2
If x1 is big1
then y(2) = 2x1
R3
If x2 is big2
then y(3) =3x2
where y (i) refers to the consequent variable for each rule
labelled Ri and x1 and x2 refer to the input variables that
appear in premise of the rules.
58
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
The membership function for small1, small2, big1 and
big2 are given as follows
x
Sm all1 Sm all2
0
1
1
1 0.938
0.875
2 0.875
0.75
3 0.813
0.625
4
0.75
0.5
5 0.688
0.375
6 0.625
0.25
7 0.563
0.125
8
0.5
0
9 0.438
0
10 0.375
0
11 0.313
0
12
0.25
0
13 0.188
0
14 0.125
0
15 0.063
0
16
0
0
17
0
0
18
0
0
19
0
0
20
0
0
Big1
0
0
0
0
0
0
0
0
0
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Big2
0
0
0
0.125
0.25
0.375
0.5
0.625
0.75
0.875
1
1
1
1
1
1
1
1
1
1
1
59
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
The membership function for small1, small2, big1 and big2 are
given as follows
Takagi-Sugeno Example pp 117
1
0.9
Membership Function
0.8
0.7
Small1
0.6
0.5
Small2
0.4
0.3
Big1
0.2
Big2
0.1
0
0
5
10
Input x
15
20
60
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers An example
Let us compute the FINAL OUTPUT y for
the following values:
x1 = 12 & x2 = 5
using Takagi and Sugeno’s formula:
y = (Σ |y= yi | * yi )/ Σ |y= yi |
where |y= yi | stands for the truth value of a
61
given proposition.
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers An example
FUZZUFICATION: We have the following values of the
membership functions for the two values x1 = 12 & x2 = 5:
x 1=
x 2=
Small1 Small2
12
0.25
0
5 0.6875 0.375
Big1
0.2
0
Big2
1
0.375
62
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers An example
INFERENCE & CONSEQUENCE:
x1 = 12 & x2 = 5
Truth Value
Rule
Consequenc
e
Min (Premise 1 & Premise2)
Premise 1
Premise 2
R1
Small1 ( x1 )
= 0.25
Small2 ( x2 )
= 0.375
R2
Big1 ( x1 )
= 0.2
y(2)= 2x1
= 24
0.2
R3
Big2 ( x2 )
= 0.375
y(3)= 3x2
= 15
0.375
y(1)= x1 + x2
=12+5
Min(0.25, 0.375)=0.25
63
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers An example
AGGREGATION (&DEFUZZIFICATION):
x1 = 12 & x2 = 5
y = ( |y= yi | * yi )/  |y= yi |
Using a Centre of Area computation for y we get:
(i )
(i )
y

y
*
y

y

i 1,3
(i )
y

y

i 1,3
y

0.25 *17  0.2 * 24  0.375 *15
 17.8
0.25  0.2  0.375
64
FUZZY CONTROL
FUZZY CONTROLLERS
Key difference between a Mamdani-type fuzzy system and the
Takagi-Sugeno-Kang System?
A zero-order Sugeno fuzzy model can be viewed as a special
case of the Mamdani fuzzy inference system in which each rule
is specified by fuzzy singleton or a pre-defuzzified consequent.
In Sugeno’s model, each rule has a crisp output, the overall
input is obtained by a weighted average – this avoids the timeconsuming process of defuzzification required in a Mandani
model. The weighted average operator is replaced by a
weighted sum to reduce computation further. (Jang, Sun,
Mizutani (1997:82)).
65
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
X
X
X
X
X
Takagi, T., & Sugeno, M. (1985). ‘Fuzzy Identification of Systems and its
Applications to Modeling and Control’. IEEE Transactions on Systems, Man and
Cybernetics. Volume No. SMC-15 (No.1) pp 116-132.
66
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers
Takagi and Sugeno (1985) have argued
that in order to develop a generic and
simple mathematical tool for computing
fuzzy implications one needs to look at a
fuzzy partition of fuzzy input space. In
each fuzzy subspace a linear input-output
relation is formed. The output of fuzzy
reasoning is given by the values inferred
by some implications that were applied to
an input.
67
FUZZY CONTROL
FUZZY CONTROLLERS
A fuzzy logic controller (FLC) with a rule base is defined by the matrix:
e(k)
N
e(k) N
Z
P
Z
N
N
Z
P
N
Z
P
Z
P
P
where the matrix interrelates the error value e(k) at a given time k, e(k) denotes
the change in error (= e(k) - e(k-1)), and the control change u(k) is defined as
the difference between u(k) and u(k-1). The term-sets of the input and output
variables of the FLC error e, error change e and control change u by the
linguistic labels negative (N), approximately zero (Z) and positive (P). The
68
above FLC matrix can equivalent antecedent/consequent rule set
FUZZY CONTROL
FUZZY CONTROLLERS
A fuzzy logic controller (FLC) can be described as a function
of a number of variables - an FLC helps us to see how the
variables are related to each other.
This relationship uses rules (of thumb) involving vague
predicates like:
e is approximately zero
u is positive
e is negative
69
FUZZY CONTROL
FUZZY CONTROLLERS
Consider a fuzzy rule base comprising an n-rule rulebase inputs A&B and output C. Let χAm and χBm and χCm
denote the linguistic values represented as fuzzy subsets
of the respective universes of discourse α (for A), β (for
B), and κ (for C):
IF A is  A & B is  B THEN C is  C
1
1
1
IF A is  A & B is  B THEN C is  C
2
2
2
2

IF A is  An & B is  B THEN C is  C
n
n 70
FUZZY CONTROL
FUZZY CONTROLLERS
The rule-base in itself is a DISJUNCTION in that given an
input value for A and B, all rules will be tested and whilst
some will fire and others will fail to fire. The degree of
firing or level of firing of the ith rule with respect to input
values A=α1 and B=β1
τi= (χAi Λ χBi)≈ min(χAi,χBi)
will be chosen. This looks like an OR operation over all the
rules.
IF A is  A & B is  B THEN C is  C
1
1
1
IF A is  A & B is  B THEN C is  C
2
2
2
2

IF A is  An & B is  B THEN C is  C
n
n
71
FUZZY CONTROL
FUZZY CONTROLLERS
Note that the degree of firing or level of firing of the ith rule
with respect to input values A=α1 and B=β1
τi= (χAi Λ χBi)≈ min(χAi,χBi)
Takes value from the unit interval and the DOF
‘characterises the truthfulness of the antecedent part of the
ith rule, different values of τi that are related to different
levels of relevance between the measured values α1 and β1,
and the conditions associated with the linguistic variables
χAi,χBi. (Yager & Filev 1994:118-119).
72
FUZZY CONTROL
FUZZY CONTROLLERS
Another way of writing a fuzzy rule-base is as
follows
IF A is  A & B is  B THEN C is  C
1
1
1
ALSO
IF A is  A & B is  B THEN C is  C
2
2
2
2

ALSO
IF A is  An & B is  B THEN C is  C
n
n
The chaining operator ALSO has disjunctive reading 73
FUZZY CONTROL
FUZZY CONTROLLERS
Next individual rule outputs are to be
determined and will be denoted by Fi(κ): The
DOF τi interacts with the consequent, C of χCi, of
the ith rule to provide the output Fi(κ).
This interaction is also referred to as fuzzy implication.
Typically in the fuzzy control system a method of for
inferring the rule output AND-ing χCi and the DOF τi
interact to produce the output Fi(κ).
Fi   i  Ci
74
FUZZY CONTROL
FUZZY CONTROLLERS
Next we have to look at the aggregation of the
output of all the rules for finally generating an
output: The overall system output is given as
F ( )   i Fi ( )
or
F ( )   i ( i   i ( ))
75
FUZZY CONTROL
FUZZY CONTROLLERS
Defuzzification
Finally output of the system is defuzzified.
76
FUZZY CONTROL
FUZZY CONTROLLERS
A CONTROL PROCEDURE
FIND the firing level of each of the rules FUZZIFICATION
FIND the output of each of the rules INFERENCE
AGGREGATE the individual rule outputs to obtain the overall system output
COMPOSITION
OBTAIN a crisp value to be input to the controlled system
 DEFUZZIFICATION
77
FUZZY CONTROL
FUZZY CONTROLLERS
The level of matching: between the linguistic label Bi1 and
the input value x1 is determined by the membership
grade of x1* in the fuzzy set representing Bi1: Bi1(x1*)
as the level of matching for the first antecedant.
Similarly Bi2(x2*) is the level of matching for the
second antecedant.
1.
The level or degree of firing for a rule set of the type
Rule: If U1 is Bi1 AND U2 is Bi2 THEN V is Di
which has a conjunctive connection.
The degree of firing (DOF) of the ith rule with
respect to input values U1 is x1* and U2 is x2* is given
as i:
i = Bi1(x1*)  Bi2(x2*)
 min(Bi1(x1*), Bi2(x2*))
78
FUZZY CONTROL
FUZZY CONTROLLERS
EXAMPLE
U1  error e(k)
U2  change of error e(k)
and
V  change of control u
B11  positive
B32  approximately zero
Given the inputs to an FLC are the values U1 = x1*
and U2 = x2*, then we are faced with the problem
of determining the appropriate value of the
variable V.
79
FUZZY CONTROL
FUZZY CONTROLLERS
2.
The output of individual rule (Fi(y)) depends on the
interaction between the DOF) (i) and the consequent
of the rule (Di).
The MAMDANI method suggests that:
Fi(y) = i  Di
 min (i, Di)
80
FUZZY CONTROL
FUZZY CONTROLLERS
3.
The aggregation of the individual rule outputs to
obtain the overall control system output (Fy).
The rules are ‘chained’ through ALSO thus
individual rule outputs are aggregated using the
disjunctive connective ALSO. The overall system
output is:
(Fy) = ViFi(y) = Vi(iDi(y))
OR connective
Recall
IF U1 is B11 AND U2 is B12 then U is D1
ALSO
IF U1 is Bm1 AND V2 is Bm2 then V is Dm
81
FUZZY CONTROL
FUZZY CONTROLLERS
4.
The extraction of a crisp output value:
The output fuzzy set cannot be used directly as input
to the controlled system. We need to select one
element y* from the universe Y (e.g., u* from all
possible values of u - the change of control). So we
should defuzzify: typically used methods of
defuzzification include the so-called centre of area
method.
Let the output Y be a finite universe of discourse and
F(y) be a DISCRETE membership
function:
n
 F ( y i ) yi
y*  i 1
 F ( yi )
82
FUZZY CONTROL
FUZZY CONTROLLERS- An example
Example
FLC of Takagi-Sugeno type:
e(k)
N
e(k)
N
Z
P
Z
P
1e+ß1 e+δ1
2e+ß2 e+δ2
3e+ß3 e+δ3
4e+ß4 e+δ4
5e+ß5 e+δ5
6e+ß6 e+δ6
7e+ß7 e+δ7
8e+ß8 e+δ8
9e+ß9 e+δ9
which expresses rules like:
Rule 1: If e(k) is negative AND e(k) is negative then u(k) =1e+ß1 e+δ1
Rule 9: If e(k) is positive AND e(k) is positive then u(k) =9e+ß9 e+δ9
83
FUZZY CONTROL
FUZZY CONTROLLERS- An example
Example
FLC of Takagi-Sugeno type:
e(k)
N
Z
P
e(k) N
k1
k2
k3
Z
P
k4
k5
k6
k7
k6
k0
which expresses rules like:
Rule 1: If e(k) is negative AND e(k) is negative then u(k) =k1
Rule 9: If e(k) is positive AND e(k) is positive then u(k) =9
84
FUZZY CONTROL
FUZZY CONTROLLERS- An example
Example
FLC of Mamdani type:
e(k)
N
Z
P
e(k) N
N
N
Z
Z
P
N
Z
P
Z
P
P
which expresses rules like:
Rule 1: If e(k) is negative AND e(k) is negative then u(k) is negative
ALSO
Rule 9: If e(k) is positive AND e(k) is positive then u(k) is positive
85
FUZZY CONTROL
FUZZY CONTROLLERS- Mamdani Controlers
A worked example
Consider an FLC of Mamdani type:
A source for MATLAb FILES FOR BUILDING Mamdani Controllers is
http://ist.psu.edu/yen/FLtext/matlab/FuzzyControl/
86
FUZZY CONTROL
FUZZY CONTROLLERS- An example
The membership functions for the three elements of the term set for the
error e are given as:
error
m negative
( e)
m error
positive (e)
error
m zero
(e)





0
e2





0
e2
1
1
0


e

 1 
2


1


e0
2e0
e  2
e0
0e2
e  2
e  2 & e  2
2e 2
e0
87
FUZZY CONTROL
FUZZY CONTROLLERS
The reference fuzzy set for the error for a specific case is given as:
Reference Fuzzy Sets for Error e
Membership Function
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-3
-2
-1
Negative
Zero
Positive
0
1
2
3
Error Value
88
FUZZY CONTROL
FUZZY CONTROLLERS- An example
The membership functions for the three elements of the term set for the
change in error e are given as:
m
m
m
error  change
negative
error  change
positive
error  change
zero
( e)
( e)
( e)










0
 2e
e  0
 1 / 2  e  0
1
e  1 / 2





0
 2 e  1
e   1 2 & e 
 1 2  e  1 2
1
e  0
0
e  0
2e
1
0  e 
e  1 2
1
2
1
2
89
FUZZY CONTROL
FUZZY CONTROLLERS
The reference fuzzy set for the change in error e is given as:
Reference Fuzzy Sets for Error Change
Membership Value
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-1
-0.5
Negative
Zero
Positive
0
0.5
1
Error Change
90
FUZZY CONTROL
FUZZY CONTROLLERS- An example
The membership functions for the three elements of the term set for the
change in control u are given as:
0


controlchange
mnegative
( u )   13 u

1

u  0
 3  u  0
u  3
change
m error
( u )
positive
0


   1 3 u

1

u  0
0  u  3
u  3
errorchange
m zero
( u )
0
u  3 & u  3


u
 3  u  3
  3  1

1
u  0

91
FUZZY CONTROL
FUZZY CONTROLLERS
The reference fuzzy set for the change in control u is given as:
Reference Fuzzy Sets for Change of Control
1
Membership Values
0.9
0.8
0.7
Negative
Zero
Positive
0.6
0.5
0.4
0.3
0.2
0.1
0
-5
-4
-3
-2
-1
0
1
2
3
4
5
Change of Control
92
FUZZY CONTROL
FUZZY CONTROLLERS – An example
Recall that there are nine rules in all:
1.IF e(k) is NEGATIVE & e(k) is NEGATIVE
2.IF e(k) is NEGATIVE & e(k) is ZERO
3.IF e(k) is NEGATIVE & e(k) is POSITIVE
4.IF e(k) is ZERO
& e(k) is NEGATIVE
5.IF e(k) is ZERO
& e(k) is ZERO
6.IF e(k) is ZERO
& e(k) is POSITIVE
7.IF e(k) is POSITIVE & e(k) is NEGATIVE
8.IF e(k) is POSITIVE & e(k) is ZERO
9.IF e(k) is POSITIVE & e(k) is POSITIVE
THEN u(k) is NEGATIVE
THEN u(k) is NEGATIVE
THEN u(k) is ZERO
THEN u(k) is NEGATIVE
THEN u(k) is ZERO
THEN u(k) is POSITIVE
THEN u(k) is ZERO
THEN u(k) is POSITIVE
THEN u(k) is POSITIVE
93
FUZZY CONTROL
FUZZY CONTROLLERS – An example
94
FUZZY CONTROL
FUZZY CONTROLLERS – An example
95
FUZZY CONTROL
FUZZY CONTROLLERS – An example
96
FUZZY CONTROL
FUZZY CONTROLLERS – An example
97
FUZZY CONTROL
FUZZY CONTROLLERS – An example
98
FUZZY CONTROL
FUZZY CONTROLLERS – An example
We need the the membership functions for the output in a discrete form.
By equidistant discretization of the universe Y
Y=[-6,-4.5,-3,-1.5,0,1.5,3,4.5,6])
we have:
Negative Negative
u
D1
-6 1
-4.5 1
-3 1
-1.5 0.5
0 0
1.5 0
3 0
4.5 0
6 0
Zero
Negative
Zero
Positive
Zero
Positive Positive
D2
D3
D4
D5
D6
D7
D8
D9
1
1
1
0.5
0
0
0
0
0
0
0
0
0.5
1
0.5
0
0
0
1
1
1
0.5
0
0
0
0
0
0
0
0
0.5
1
0.5
0
0
0
0
0
0
0
0
0.5
1
1
1
0
0
0
0.5
1
0.5
0
0
0
0
0
0
0
0
0.5
1
1
1
0
0
0
0
0
0.5
1
1
1
99
FUZZY CONTROL
FUZZY CONTROLLERS – An example
Consider the case where e(k)= -2.1 and e(k)= 0.5. The fuzzification of the
input leads to two observations:
m error
negat ive(e)





0
e2
1
e0
2 e 0
e  2
m error
negat ive( 2.1)  1
 change
m error
(e)
positive
 0

 2e
 1

 change
m error
(0.5)
positive
1
e  0
0  e  12
e  12
100
FUZZY CONTROL
FUZZY CONTROLLERS – An example
Consider the case where e(k)= -2.1 and e(k)= 0.5. The fuzzification of the
input leads to two observations:
m error
negat ive(e)





0
e2
1
e0
2 e 0
e  2
m error
negat ive( 2.1)  1
 change
m error
(e)
positive
 0

 2e
 1

 change
m error
(0.5)
positive
1
e  0
0  e  12
e  12
101
FUZZY CONTROL
FUZZY CONTROLLERS – An example
For the case where e(k)= -2.1 and e(k)= 0.5, the level or degree of firing for
the 9-rule rule set:
Negative
Rule1
1
Rule2
1
Rule3
1
e
&
e
Zero
Positive
Rule4
0
Rule5
0
Rule6
0
Rule7
0
Rule8
0
Rule9
0
Negative
&
&
&
&
&
&
&
&
&
 (=min {e, e})
Zero
Positive
0
Output
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
0
102
FUZZY CONTROL
FUZZY CONTROLLERS – An example
The output of individual rule (Fi(y)) depends on the
interaction between the degree (level) of firing (DOF or i)
and the consequent of the rule (Di). We are considering the
case where e(k)= -2.1 and e(k)= 0.5.

D1
D2
D3
D4
D5
D6
D7
D8
D9
[
[
[
[
[
[
[
[
[
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0.5
0.5
0.5
0.5
0.5
0
0.5
0
0
0
0
1
0
1
0
1
0
0
0
0
0.5
0
0.5
0.5
0.5
0.5
0.5
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
1
]
]
]
]
]
]
]
]
]
103
0
0
1
0
0
0
0
0
0
FUZZY CONTROL
FUZZY CONTROLLERS – An example
The MAMDANI method suggests that:
Fi(y) = i  Di  min (i, Di)
We are considering the case where e(k)= -2.1 and e(k)= 0.5.
F1=D11
F2=D22
F3=D33
F4=D44
F5=D55
F6=D66
F7=D77
F8=D88
F9=D99
[
[
[
[
[
[
[
[
[
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0.5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
]
]
]
]
]
]
]
]
]
104
FUZZY CONTROL
FUZZY CONTROLLERS – An example
The aggregation of the individual rule outputs to obtain the
overall control system output (Fy). The rules are ‘chained’
through ALSO thus individual rule outputs are aggregated
using the disjunctive connective ALSO.
F ( y)   F ( y )   (  D ( y))
i i
i i
i
The overall system output for the inputs e(k)= -2.1 and
e(k)= 0.5 is:
F(  u)
u
=[
=[
0
0
-6 -4.5
0 0.5
-3 -1.5
1 0.5
0 1.5
0
0
3 4.5
0]
6]
105
FUZZY CONTROL
FUZZY CONTROLLERS – An example
The extraction of a crisp output value: The output fuzzy set
cannot be used directly as input to the controlled system.
We need to select one element y* from the universe Y (e.g.,
u* from all possible values of u - the change of control).
So we should defuzzify: typically used methods of
defuzzification include the so-called centre of area method.
Let the output Y be a finite universe of discourse and F(y)
be a DISCRETE membership
function:
n
 F ( y i ) yi
y*  i 1
 F ( yi )
106
FUZZY CONTROL
FUZZY CONTROLLERS – An example
The extraction of a crisp output value: Centre of Area
Computation:
The weighted average of the output fuzzy set with the
corresponding value of the membership function for each of
the change in control u for the inputs e(k)= -2.1 and e(k)=
0.5 is:
F(  u)
u
=[
=[
0
0
-6 -4.5
0 0.5
-3 -1.5
1 0.5
0 1.5
0
0
3 4.5
0]
6]
Defuzzified value of
[0 * (6)  0 * (4.5)  0 * (3)  0.5 * (1.5)  1 * 0  0.5 *1.5  0 * 3  0 * 4.5  0 * 6]
[0  0  0  0.5  1  0.5  0  0  0]
u (k )  0 / 2  0
u (k ) 
107
FUZZY CONTROL
FUZZY CONTROLLERS – Another example
For the case where e(k)= -0.9 and e(k)= 0.2, the level or degree of firing for
the 9-rule rule set:
Negative
Rule1
0.45
Rule2
0.45
Rule3
0.45
Zero
Rule4
0.55
Rule5
0.55
Rule6
0.55
e
&
e
Positive
Rule7
0
Rule8
0
Rule9
0
Negative
&
&
&
&
&
&
&
&
&
Zero
 (=min {e, e})
Positive
0
Output
0
0.6
0.45
0.4
0
0.4
0
0.6
0.55
0.4
0
0.4
0
0.6
0
0.4
0
108
FUZZY CONTROL
FUZZY CONTROLLERS – Another example
The output of individual rule (Fi(y)) depends on the
interaction between the degree (level) of firing (DOF or i)
and the consequent of the rule (Di). We are considering the
case where e(k)= -0.9 and e(k)= 0.2
Negative Negative
Zero
Negative
Zero
Positive
Zero
Positive Positive
D1
D2
D3
D4
D5
D6
D7
D8
D9
Output
1
1
1
0.5
0
0
0
0
0
1
1
1
0.5
0
0
0
0
0
0
0
0
0.5
1
0.5
0
0
0
1
1
1
0.5
0
0
0
0
0
0
0
0
0.5
1
0.5
0
0
0
0
0
0
0
0
0.5
1
1
1
0
0
0
0.5
1
0.5
0
0
0
0
0
0
0
0
0.5
1
1
1
0
0
0
0
0
0.5
1
1
1
0
0.45
0.4
0
0.55
0.4
0
0
0
109
FUZZY CONTROL
FUZZY CONTROLLERS – Another example
The MAMDANI method suggests that:
Fi(y) = i  Di  min (i, Di)
We are considering the case where e(k)= -0.9 and e(k)= 0.2.
F1=D11
F2=D22
F3=D33
F4=D44
F5=D55
F6=D66
F7=D77
F8=D88
F9=D99
[
0
0
0
0
0
[ 0.45 0.45 0.45 0.45
0
[
0
0
0 0.4 0.4
[
0
0
0
0
0
[
0
0
0 0.5 0.55
[
0
0
0
0
0
[
0
0
0
0
0
[
0
0
0
0
0
[
0
0
0
0
0
0
0
0.4
0
0.5
0.4
0
0
0
0
0
0
0
0
0.4
0
0
0
0
0
0
0
0
0.4
0
0
0
0
0
0
0
0
0.4
0
0
0
]
]
]
]
]
]
]
]
]
110
FUZZY CONTROL
FUZZY CONTROLLERS – Another example
The aggregation of the individual rule outputs to obtain the
overall control system output (Fy). The rules are ‘chained’
through ALSO thus individual rule outputs are aggregated
using the disjunctive connective ALSO.
F ( y)   F ( y )   (  D ( y))
i i
i i
i
The overall system output for the inputs e(k)= -0.9 and
e(k)= 0.2 is:
F(  u)
u
=[ 0.45 0.45 0.45 0.5 0.55
=[
-6 -4.5
-3 -1.5
0
0.5
1.5
0.4
3
0.4
4.5
0.4 ]
6]
111
FUZZY CONTROL
FUZZY CONTROLLERS – Another example
The extraction of a crisp output value: Centre of Area
Computation:
The weighted average of the output fuzzy set with the
corresponding value of the membership function for each of
the change in control u for the inputs e(k)= -0.9 and e(k)=
0.2 is:
F(  u)
u
=[ 0.45 0.45 0.45 0.5 0.55
=[
-6 -4.5
-3 -1.5
0
0.5
1.5
0.4
3
0.4
4.5
0.4 ]
6]
The defuzzified value of u is
u =
-0.67
/
4.1 =
-0.16
112
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
Takagi-Sugeno model is an approximation of
a Mamdani controller – in that the TakagiSugeno model ignores the fuzziness of
linguistic variables in the consequent, but
accounts for the fuzziness of variables in the
antecedants; whereas Mamdani controller
takes into the fuzziness of variables appearing
both in the antecdents and the consequent.
113
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example
Model Identification: Given a choice between
two models, say Mamdani and TakagiSugeno, we have to first identify why to chose
a fuzzy logic system (will a crisp description
not work as it is simpler to compute) and
second whether to use an elaborate model (say
Mamdani) rather than an approximation to
the model (say, Takagi-Sugeno).
The choice can be based on the relative
performance of the two models
114
Related documents
Download