Sunteți pe pagina 1din 114

FUZZY CONTROL:

Mamdani & Takagi-Sugeno Controllers

Khurshid Ahmad,
Professor of Computer Science,
Department of Computer Science
Trinity College,
Dublin-2, IRELAND
1
October 29/Nov 5th, 2010
https://www.cs.tcd.ie/Khurshid.Ahmad/Teaching/Teaching.html
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 9
Cybernetics. Volume No. SMC-15 (No.1) pp 116-132.
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 two-
dimensional 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 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. 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
Rule 1 : x is m1 ( x) THEN y  p0  p1 x
COMPOSITIO N
m1 ( x) *[ p0  p1 x]
y
m1 ( x)
y1  p0  p1 x1
There are two
unknowns: p0 and y2  p0  p1 x2
p1. So we need
y1  y2
two simultaneous p1  ;
equations for two x1  x2
values of x, say x1
and x2, and two y1  y2
p0  y1 
values of y – y1 and x1  x2 16
A solution for the coefficients of the
consequent in TSK Systems
Consider a two rule system:

Rule 1 : x is m1 ( x) THEN y  p01  p11x


Rule 2 : x is m 2 ( x) THEN y  p02  p12 x

COMPOSITIO N
m ( x) * [ p01  p11 x]  m 2 ( x) *[ p02  p12 x]
y 1
m1 ( x)  m 2 ( x)
m1 ( x) *[ p01  p11x]  m 2 ( x) * [ p02  p12 x]
mˆ1 ( x) 
m1 ( x)  m 2 ( x)
 y  mˆ1 ( x) * [ p01  p11x]  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

Four values of 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  p11x]  mˆ 2 ( x) *[ p02  p12 x]
Four values of 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 ) mˆ 2 ( x1 ) mˆ 2 ( x1 ) mˆ1 ( x1 ) * x1  mˆ 2 ( x1 ) * x1   p01 
 y   mˆ ( x )
 2   1 2 mˆ 2 ( x2 ) mˆ 2 ( x2 ) mˆ1 ( x2 ) * x1  mˆ 2 ( x2 ) * x2   p02 
 y3   mˆ1 ( x3 ) mˆ 2 ( x3 ) mˆ 2 ( x3 ) mˆ1 ( x3 ) * x3  mˆ 2 ( x3 ) * x3   p11 
    
 y4   mˆ1 ( x4 ) 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 ) mˆ 2 ( x1 ) mˆ1 ( x1 ) * x1 mˆ 2 ( x1 ) * x1   p01 


 y   mˆ ( x ) mˆ 2 ( x2 ) mˆ1 ( x2 ) * x1 mˆ 2 ( x2 ) * x2  p 
 2   1 2  02 
 y3   mˆ1 ( x3 ) mˆ 2 ( x3 ) mˆ1 ( x3 ) * x3 mˆ 2 ( x3 ) * x3   p11 
     
 y4   mˆ1 ( x4 ) mˆ 2 ( x4 ) mˆ1 ( x4 ) * x4 mˆ 2 ( x4 ) * x4   p21 
Y   X T P
P  [ X T X ]1X T Y 
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 ) mˆ 2 ( x1 ) mˆ1 ( x1 ) * x1 mˆ 2 ( x1 ) * x1   p01 


 y   mˆ ( x ) mˆ 2 ( x2 ) mˆ1 ( x2 ) * x1 mˆ 2 ( x2 ) * x2  p 
 2   1 2  02 
 y3   mˆ1 ( x3 ) mˆ 2 ( x3 ) mˆ1 ( x3 ) * x3 mˆ 2 ( x3 ) * x3   p11 
     
 y4   mˆ1 ( x4 ) mˆ 2 ( x4 ) mˆ1 ( x4 ) * x4 mˆ 2 ( x4 ) * x4   p21 
Y   X  P T

P  [ X T X ]1X T Y  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 air-
conditioner 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 air-
conditioner 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 THEN SPEED is


MEDIUM
RULE#4: IF 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 air-
conditioner 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 air-
conditioner 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+ k4 T

RULE#5: IF TEMP is HOT THENSPEED =k5


29
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example

Temperature Fuzzy Sets

1
0.9
0.8 Cold
Truth Value

0.7
0.6
Cool
0.5 Pleasent
0.4
0.3 Warm
0.2 Hot
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
' COLD ' m COLD (T ) 
1 0  T  10;
10
T
' COOL ' m COOL (T )  0  T  12.5
12.5
T
m COOL (T )   3.5 12.5  T  17.5;
5
T
' PLEASENT ' m PLEA (T )   6 15  T  17.5
2.5
T
m PLEA (T )   8 17.5  T  20;
2.5
T
'WARM ' ' m W ARM (T )   3.5 17.5  T  22.5
5
T
m W ARM (T )   5.5 22.5  T  27.5
5
T
' HOT ' m HOT (T )   11 25  T  30
2.5 31
m HOT (T )  1 T  30
FUZZY LOGIC & FUZZY SYSTEMS
Knowledge Representation & Reasoning: The Air-conditioner Example

Speed Fuzzy Sets For FLC of Mamdani type

1
0.8 MINIMAL
Truth Value

0.6 SLOW
MEDIUM
0.4 FAST
0.2 BLAST
0
0 10 20 30 40 50 60 70 80 90 100
Speed
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;
' SLOW ' m SLOW (V )  1 V  30
MEDIUM ' m MED (V )  1 V  50
' FAST ' m FAST (V )  1 V  70
' BLAST ' m BLAST (V )  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
0.9
0.8
Membership Function

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 100 120 140
Speed
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 0 0.3 0.4 0 0

Fire Rule (#) (#1) (#2) (#3) (#4) (#5)


yes/no no yes yes no 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

0.45
Membership Function (alpha-cut)

0.4
0.35
0.3 MINIMAL
0.25 SLOW
MEDIUM
0.2
FAST
0.15 BLAST
0.1
0.05
0
0 20 40 60 80 100 120
Speed
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
  y m
output
( y)
m
output x 1...... xn

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 output
( y)
  x1 ...... xn

 mx
output

1...... xn
( y)

 SLOW * m (.)  MEDIUM * m x ''


__________ __________
SLOW MEDIUM
_ _ (.)
 x'

m (.)  m x ''
SLOW MEDIUM
_
x'
_ (.)
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 (.)  MEDIUM * m x ''


__________ __________
SLOW MEDIUM
_ _ (.)
 x'

m (.)  m x ''
SLOW MEDIUM
_
x'
_ (.)
(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 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.
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.

SPEED SLOW MEDIUM OUTPUT OF 2 RULES WEIGHTED SPEED

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

The
22.5 0.3 0 0.3 6.75

25 0.3 0 0.3 7.5

27.5

30
0.3

0.3
0

0
0.3

0.3
8.25

9
speed
32.5

35
0.3

0.3
0

0
0.3

0.3
9.75

10.5
is
36.91
37.5 0.3 0 0.3 11.25

40 0.3 0 0.3 12

42.5

45
0.3

0.25
0.25

0.4
0.3

0.4
12.75

18
RPM
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

SUM 5.925 218.6875 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:

Takagi- Mamdani
Controller Sugeno (RPM)
(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 Error


Controller Takagi-Sugeno Mamdani
(RPM) (RPM)
Centre of Area 12% 0%
Mean of Maxima 35% 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 N Z P
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 N Z P
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
relationships between e and Δe and Δu. 49
FUZZY CONTROL
FUZZY CONTROLLERS- An example
A zero-order Takagi-Sugeno Controller

e(k)
N Z P
e(k) N 1 2 3
Z 4 5 6
P 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 Z P
e(k) N 1e+ß1 e +δ1 2e+ß2 e+ δ2 3e+ß3 e+ δ3
Z 4e+ß4 e +δ4 5e+ß5 e+ δ5 6e+ß6 e+ δ6
P 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),….. Fuzzy sets with linear membership functions


mA(x1) 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


satisfies the premise. 52
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 Big1 Big2
0 1 1 0 0
1 0.938 0.875 0 0
2 0.875 0.75 0 0
3 0.813 0.625 0 0.125
4 0.75 0.5 0 0.25
5 0.688 0.375 0 0.375
6 0.625 0.25 0 0.5
7 0.563 0.125 0 0.625
8 0.5 0 0 0.75
9 0.438 0 0 0.875
10 0.375 0 0 1
11 0.313 0 0.1 1
12 0.25 0 0.2 1
13 0.188 0 0.3 1
14 0.125 0 0.4 1
15 0.063 0 0.5 1
16 0 0 0.6 1
17 0 0 0.7 1
18
19
0
0
0
0
0.8
0.9
1
1 59
20 0 0 1 1
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
0.8
Membership Function

0.7
Small1
0.6
0.5
Small2
0.4
0.3 Big1
0.2
0.1 Big2
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


given proposition. 61
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:

Small1 Small2 Big1 Big2


x 1= 12 0.25 0 0.2 1
x 2= 5 0.6875 0.375 0 0.375

62
FUZZY CONTROL
FUZZY CONTROLLERS – Takagi-Sugeno Controllers An example
INFERENCE & CONSEQUENCE:
x1 = 12 & x2 = 5

Truth Value
Min (Premise 1 & Premise2)
Rule Premise 1 Premise 2 Consequenc
e
R1 Small1 ( x1 ) Small2 ( x2 ) y(1)= x1 + x2 Min(0.25, 0.375)=0.25
= 0.25 = 0.375 =12+5

R2 Big1 ( x1 ) y(2)= 2x1 0.2


= 0.2 = 24

R3 Big2 ( x2 ) y(3)= 3x2 0.375


= 0.375 = 15

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:

 y  y (i )
* y (i )
i 1,3
y 
 y  y (i )
i 1,3
0.25 *17  0.2 * 24  0.375 *15
y   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 time-
consuming 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 66
Cybernetics. Volume No. SMC-15 (No.1) pp 116-132.
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 Z P
e(k) N N N Z
Z N Z P
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 rule-
base 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 71
n n
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 & B2is  B THEN C is  C
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 ( yi ) yi
y*  i 1 82
 F ( yi )
FUZZY CONTROL
FUZZY CONTROLLERS- An example
Example
FLC of Takagi-Sugeno type:

e(k)
N Z P
e(k) N 1e+ß1 e+δ1 2e+ß2 e+δ2 3e+ß3 e+δ3
Z 4e+ß4 e+δ4 5e+ß5 e+δ5 6e+ß6 e+δ6
P 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 k4 k5 k6
P 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 N Z P
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:

 0 e0
 e2
m negative
error
(e)  2e0
 e  2
 1
 0 e0
 e2
m error
positive(e)  0e2
 e  2
 1
 0 e  2 & e  2

 e
m zero
error
(e)  1  2e 2
 2
  1 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

1
0.9
Membership Function

0.8
0.7
0.6 Negative
0.5 Zero
0.4 Positive
0.3
0.2
0.1
0
-3 -2 -1 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:

 0 e  0

m error change
negative (e)   2e  1 / 2  e  0
 e  1 / 2
 1
 0 e  0

m error change
positive (e)  2e 0  e  1
2
 e  1 2
 1
 0 e   1 2 & e  1
2

m error change
zero (e)   2 e  1  1 2  e  1 2
 e  0
 1

89
FUZZY CONTROL
FUZZY CONTROLLERS
The reference fuzzy set for the change in error e is given as:

Reference Fuzzy Sets for Error Change

1
0.9
Membership Value

0.8
0.7
0.6 Negative
0.5 Zero
0.4 Positive
0.3
0.2
0.1
0
-1 -0.5 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 u  0
controlchange 
mnegative (  u )    1 3 u  3  u  0
 u   3
 1
 0 u  0
change 
m error
positive ( u )   13 u 0  u  3
 u  3
 1
 0 u   3 & u  3
errorchange
 u
m zero ( u )   3  1  3  u  3
 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

0.9
Membership Values

0.8

0.7

0.6 Negative
0.5 Zero
0.4 Positive
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 THEN u(k) is NEGATIVE
2.IF e(k) is NEGATIVE & e(k) is ZERO THEN u(k) is NEGATIVE
3.IF e(k) is NEGATIVE & e(k) is POSITIVE THEN u(k) is ZERO
4.IF e(k) is ZERO & e(k) is NEGATIVE THEN u(k) is NEGATIVE
5.IF e(k) is ZERO & e(k) is ZERO THEN u(k) is ZERO
6.IF e(k) is ZERO & e(k) is POSITIVE THEN u(k) is POSITIVE
7.IF e(k) is POSITIVE & e(k) is NEGATIVE THEN u(k) is ZERO
8.IF e(k) is POSITIVE & e(k) is ZERO THEN u(k) is POSITIVE
9.IF e(k) is POSITIVE & e(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 Zero Negative Zero Positive Zero Positive Positive
u D1 D2 D3 D4 D5 D6 D7 D8 D9
-6 1 1 0 1 0 0 0 0 0
-4.5 1 1 0 1 0 0 0 0 0
-3 1 1 0 1 0 0 0 0 0
-1.5 0.5 0.5 0.5 0.5 0.5 0 0.5 0 0
0 0 0 1 0 1 0 1 0 0
1.5 0 0 0.5 0 0.5 0.5 0.5 0.5 0.5
3 0 0 0 0 0 1 0 1 1
4.5 0 0 0 0 0 1 0 1 1
6 0 0 0 0 0 1 0 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:

 0 e0
 e2
m error
negative (e)  2 e  0
 e  2
 1
m error
negative ( 2.1)  1

 0 e  0

m error  change
positive (e)  2e 0  e  12
 1 e  12

m error  change
positive (0.5) 1

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:

 0 e0
 e2
m error
negative (e)  2 e  0
 e  2
 1
m error
negative ( 2.1)  1

 0 e  0

m error  change
positive (e)  2e 0  e  12
 1 e  12

m error  change
positive (0.5) 1 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:

e & e  (=min {e, e})


Negative Zero Positive Negative Zero Positive Output

Rule1 1 & 0 0
Rule2 1 & 0 0
Rule3 1 & 1 1
Rule4 0 & 0 0
Rule5 0 & 0 0
Rule6 0 & 1 0
Rule7 0 & 0 0
Rule8 0 & 0 0
Rule9 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 [ 1 1 1 0.5 0 0 0 0 0 ] 0
D2 [ 1 1 1 0.5 0 0 0 0 0 ] 0
D3 [ 0 0 0 0.5 1 0.5 0 0 0 ] 1
D4 [ 1 1 1 0.5 0 0 0 0 0 ] 0
D5 [ 0 0 0 0.5 1 0.5 0 0 0 ] 0
D6 [ 0 0 0 0 0 0.5 1 1 1 ] 0
D7 [ 0 0 0 0.5 1 0.5 0 0 0 ] 0
D8 [ 0 0 0 0 0 0.5 1 1 1 ] 0
D9 [ 0 0 0 0 0 0.5 1 1 1 ] 0
103
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 [ 0 0 0 0 0 0 0 0 0 ]
F2=D22 [ 0 0 0 0 0 0 0 0 0 ]
F3=D33 [ 0 0 0 0.5 1 0.5 0 0 0 ]
F4=D44 [ 0 0 0 0 0 0 0 0 0 ]
F5=D55 [ 0 0 0 0 0 0 0 0 0 ]
F6=D66 [ 0 0 0 0 0 0 0 0 0 ]
F7=D77 [ 0 0 0 0 0 0 0 0 0 ]
F8=D88 [ 0 0 0 0 0 0 0 0 0 ]
F9=D99 [ 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) =[ 0 0 0 0.5 1 0.5 0 0 0]
u =[ -6 -4.5 -3 -1.5 0 1.5 3 4.5 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 ( yi ) 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) =[ 0 0 0 0.5 1 0.5 0 0 0]
u =[ -6 -4.5 -3 -1.5 0 1.5 3 4.5 6]
Defuzzifie d 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]
u (k ) 
[0  0  0  0.5  1  0.5  0  0  0]
u (k )  0 / 2  0
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:
e & e  (=min {e, e})
Negative Zero Positive Negative Zero Positive Output

Rule1 0.45 & 0 0


Rule2 0.45 & 0.6 0.45
Rule3 0.45 & 0.4 0.4
Rule4 0.55 & 0 0
Rule5 0.55 & 0.6 0.55
Rule6 0.55 & 0.4 0.4
Rule7 0 & 0 0
Rule8 0 & 0.6 0
Rule9 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 0 1 0 0 0 0 0 0
1 1 0 1 0 0 0 0 0 0.45
1 1 0 1 0 0 0 0 0 0.4
0.5 0.5 0.5 0.5 0.5 0 0.5 0 0 0
0 0 1 0 1 0 1 0 0 0.55
0 0 0.5 0 0.5 0.5 0.5 0.5 0.5 0.4
0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 1 0 1 1 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 [ 0 0 0 0 0 0 0 0 0 ]
F2=D22 [ 0.45 0.45 0.45 0.45 0 0 0 0 0 ]
F3=D33 [ 0 0 0 0.4 0.4 0.4 0 0 0 ]
F4=D44 [ 0 0 0 0 0 0 0 0 0 ]
F5=D55 [ 0 0 0 0.5 0.55 0.5 0 0 0 ]
F6=D66 [ 0 0 0 0 0 0.4 0.4 0.4 0.4 ]
F7=D77 [ 0 0 0 0 0 0 0 0 0 ]
F8=D88 [ 0 0 0 0 0 0 0 0 0 ]
F9=D99 [ 0 0 0 0 0 0 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) =[ 0.45 0.45 0.45 0.5 0.55 0.5 0.4 0.4 0.4 ]


u =[ -6 -4.5 -3 -1.5 0 1.5 3 4.5 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) =[ 0.45 0.45 0.45 0.5 0.55 0.5 0.4 0.4 0.4 ]


u =[ -6 -4.5 -3 -1.5 0 1.5 3 4.5 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 Takagi-
Sugeno 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 Takagi-
Sugeno, 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

S-ar putea să vă placă și