Fuzzy Logic Control: Content
Fuzzy Logic Control: Content
Fuzzy Logic Control: Content
Content
• Classical Control
• Fuzzy Logic Control
• The Architecture of Fuzzy Inference Systems
• Fuzzy Control Model
– Mamdani Fuzzy models
– Larsen Fuzzy Models
– Sugeno Fuzzy Models
– Tsukamoto Fuzzy models
• Examples
Ϯ
CONVENTIONAL CONTROL
• Open-loop control is ‘blind’ to actual output
• Closed-loop control takes account of actual output
and compares this to desired output
Desired
Output Input Output
Controller/ Process
+ Amplifier Dynamics
-
Measurement
CONVENTIONAL CONTROL
Example: design a cruise control system
After gaining an intuitive understanding of the plant’s
dynamics and establishing the design objectives, the control
engineer typically solves the cruise control problem by doing
the following:
1. Developing a model of the automobile dynamics (which
may model vehicle and power train dynamics and tire, the
effect of road grade variations, etc.).
2. Using the mathematical model, or a simplified version of
it, to design a controller (e.g., via a linear model, develop a
linear controller with techniques from classical control).
CONVENTIONAL CONTROL
3. Using the mathematical model of the closed-loop system
and mathematical or simulation-based analysis to study its
performance (possibly leading to redesign).
ϲ
CONVENTIONAL CONTROL
Mathematical model of the plant:
– never perfect
– an abstraction of the real system
– “is accurate enough to be able to design a controller that
will work.”!
– based on a system of differential equations
&ƵnjnjLJŽŶƚƌŽů
Fuzzy control provides a formal methodology for
representing, manipulating, and implementing a human’s
heuristic knowledge about how to control a system.
ϴ
&ƵnjnjLJ^LJƐƚĞŵƐ
,QIHUHQFH
,QSXW )X]]LILHU 'HIX]]LILHU 2XWSXW
(QJLQH
)X]]\
.QRZOHGJHEDVH
&ƵnjnjLJŽŶƚƌŽů^LJƐƚĞŵƐ
,QSXW
,QIHUHQFH
)X]]LILHU 'HIX]]LILHU 3ODQW 2XWSXW
(QJLQH
)X]]\
.QRZOHGJHEDVH
ϭϬ
Fuzzy Logic Control
• Fuzzy controller design consist of turning
intuitions, and any other information about how to
control a system, into set of rules.
• These rules can then be applied to the system.
• If the rules adequately control the system, the
design work is done.
• If the rules are inadequate, the way they fail
provides information to change the rules.
ϭϭ
12
In order to process the input to get the output
reasoning there are six steps involved in the
creation of a rule based fuzzy system:
ϭϯ
&ƵnjnjLJ>ŽŐŝĐŽŶƚƌŽů
Type of Fuzzy Controllers:
• Mamdani
• Larsen
• TSK (Takagi Sugeno Kang)
• Tsukamoto
• Other methods
ϭϰ
Fuzzy Control Systems
Mamdani
Fuzzy models
2. Rule evaluation;
4. Defuzzification.
ϭϳ
Fuzzy Input
Fuzzy Output
Crisp Output 18
,QIHUHQFH
,QSXW )X]]LILHU 'HIX]]LILHU 2XWSXW
/ŶĨĞƌĞŶĐĞŶŐŝŶĞ (QJLQH
)X]]\
.QRZOHGJHEDVH
8VLQJ,I7KHQW\SHIX]]\UXOHV FRQYHUWVWKH
IX]]\LQSXWWRWKHIX]]\RXWSXW
ϭϵ
1 1 B1 B2
A1 A2 A3 0.7
0.5
0.2 0.1
0 0
x1 X y1 Y
µ (x = A1) = 0.5 µ (y = B1) = 0.1
µ (x = A2) = 0.2 µ (y = B2) = 0.7
ϮϮ
Step 2: Rule Evaluation
To evaluate the disjunction of the rule antecedents,
we use the OR fuzzy operation. Typically, fuzzy
expert systems make use of the classical fuzzy
operation union:
µA ∪B(x) = max [µ
µA (x), µB(x)]
0 x1 X 0 Z
Rule 3: IF x is A1 (0.5) THEN z is C3 (0.5)
• Now the result of the antecedent evaluation can be
applied to the membership function of the
consequent.
• The most common method is to cut the consequent
membership function at the level of the antecedent
truth.
• This method is called clipping (0D[0LQ &RPSRVLWLRQ .
• The clipped fuzzy set loses some information.
• Clipping is still often preferred because:
• it involves less complex and faster mathematics
• it generates an aggregated output surface that is
easier to defuzzify.
Ϯϱ
Ϯϲ
Clipped and scaled membership functions
Degree of Degree of
Membership Membership
1.0 1.0
C2 C2
0.2 0.2
0.0 0.0
Z Z
0D[0LQ&RPSRVLWLRQ 0D[3URGXFW&RPSRVLWLRQ
Ϯϴ
Aggregation of the rule outputs
1 1 1
C1 C2 C3
0.5 0.5
0.2 0.2
0.1 0.1
0 Z 0 Z 0 Z 0 Z
z is C 1 (0.1) z is C 2 (0.2) z is C 3 (0.5) ¦
^ƚĞƉϰ͗ĞĨƵnjnjŝĨŝĐĂƚŝŽŶ
• Fuzziness helps us to evaluate the rules, but the
final output of a fuzzy system has to be a crisp
number.
ϯϬ
There are several defuzzification methods, but
probably the most popular one is the centroid
technique.
It finds the point where a vertical line would slice
the aggregate set into two equal masses.
Mathematically this centre of gravity (COG) can
be expressed as: b
³ µ (x ) x dx
a
A
COG = b
³ µ (x ) dx
a
A
ϯϭ
0.4
0.2
a b
0.0 X
150 160 170 180 190 200 210
ϯϮ
Centre of gravity (COG):
( 0 + 10 + 20 ) × 0.1 + (30 + 40 + 50 + 60 ) × 0 .2 + (70 + 80 + 90 + 100 ) × 0 .5
COG = = 67 .4
0 . 1 + 0 .1 + 0 .1 + 0 .2 + 0 . 2 + 0 .2 + 0 .2 + 0 . 5 + 0 .5 + 0 .5 + 0 .5
Degree of
Membership
1.0
0.8
0.6
0.4
0.2
0.0
0 10 20 30 40 50 60 70 80 90 100
67.4 Z
0D[0LQ&RPSRVLWLRQLVXVHG
dŚĞZĞĂƐŽŶŝŶŐ^ĐŚĞŵĞ
ϯϰ
Examples for Mamdani Fuzzy Models
džĂŵƉůĞηϭ
^ŝŶŐůĞŝŶƉƵƚƐŝŶŐůĞŽƵƚƉƵƚDĂŵĚĂŶŝĨƵnjnjLJŵŽĚĞů
ǁŝƚŚϯƌƵůĞƐ͗
/ĨyŝƐƐŵĂůůƚŚĞŶzŝƐƐŵĂůů→
→ Zϭ
/ĨyŝƐŵĞĚŝƵŵƚŚĞŶzŝƐŵĞĚŝƵŵ→ → ZϮ
/ƐyŝƐůĂƌŐĞƚŚĞŶzŝƐůĂƌŐĞ→
→ Zϯ
yсŝŶƉƵƚ∈ ∈ ͲϭϬ͕ϭϬzсŽƵƚƉƵƚ∈
∈Ϭ͕ϭϬ
hƐŝŶŐĐĞŶƚƌŽŝĚĚĞĨƵnjnjŝĨŝĐĂƚŝŽŶ͕ǁĞŽďƚĂŝŶƚŚĞ
ĨŽůůŽǁŝŶŐŽǀĞƌĂůůŝŶƉƵƚͲŽƵƚƉƵƚĐƵƌǀĞ
ϯϱ
^ŝŶŐůĞŝŶƉƵƚƐŝŶŐůĞŽƵƚƉƵƚĂŶƚĞĐĞĚĞŶƚΘĐŽŶƐĞƋƵĞŶƚD&Ɛ
ϯϲ
2YHUDOOLQSXWRXWSXWFXUYH
džĂŵƉůĞηϮ;DĂŵĚĂŶŝ&ƵnjnjLJŵŽĚĞůƐͿ
dǁŽŝŶƉƵƚƐŝŶŐůĞͲŽƵƚƉƵƚDĂŵĚĂŶŝĨƵnjnjLJŵŽĚĞů
ǁŝƚŚϰƌƵůĞƐ͗
/ĨyŝƐƐŵĂůůΘzŝƐƐŵĂůůƚŚĞŶŝƐŶĞŐĂƚŝǀĞůĂƌŐĞ
/ĨyŝƐůĂƌŐĞΘzŝƐƐŵĂůůƚŚĞŶŝƐƉŽƐŝƚŝǀĞƐŵĂůů
/ĨyŝƐůĂƌŐĞΘzŝƐůĂƌŐĞƚŚĞŶŝƐƉŽƐŝƚŝǀĞůĂƌŐĞ
ϯϳ
dǁŽͲŝŶƉƵƚƐŝŶŐůĞŽƵƚƉƵƚĂŶƚĞĐĞĚĞŶƚΘĐŽŶƐĞƋƵĞŶƚD&Ɛ
ϯϴ
KǀĞƌĂůůŝŶƉƵƚͲŽƵƚƉƵƚƐƵƌĨĂĐĞ
ϯϵ
ϰϬ
0D[3URGXFW&RPSRVLWLRQLVXVHG
dŚĞZĞĂƐŽŶŝŶŐ^ĐŚĞŵĞ
ϰϭ
Sugeno
Fuzzy Models
^ƵŐĞŶŽ&ƵnjnjLJDŽĚĞůƐ
• $OVRNQRZQDV76.IX]]\PRGHO
– 7DNDJL6XJHQR .DQJ
• *RDO*HQHUDWLRQRIIX]]\UXOHV IURPD
JLYHQLQSXWRXWSXWGDWDVHW
ϰϯ
44
Sugeno-style fuzzy inference is very similar to the
Mamdani method.
Sugeno changed only a rule consequent. Instead of a
fuzzy set, he used a mathematical function of the
input variable.
The format of the Sugeno-style fuzzy rule is
IF x is A AND y is B
THEN z is f (x, y)
• where x, y and z are linguistic variables
• A and B are fuzzy sets on universe of discourses X and Y
• f (x, y) is a mathematical function
45
46
&ƵnjnjLJZƵůĞƐŽĨd^<DŽĚĞů
)X]]\6HWV &ULVS)XQFWLRQ
f(x, y) LVYHU\RIWHQDSRO\QRPLDO
IXQFWLRQZUWx DQGy
ϰϳ
džĂŵƉůĞƐ
ϰϴ
dŚĞZĞĂƐŽŶŝŶŐ^ĐŚĞŵĞ
ϰϵ
0 x1 X 0 k3 Z
Rule 3: IF x is A1 (0.5) THEN z is k3 (0.5)
Sugeno--style aggregation of the rule outputs
Sugeno
1 1 1 1
0.5 0.5
0.2
0.1 0.2 0.1
0 k1 Z 0 k2 Z 0 k3 Z 0 k1 k2 k3 Z
Sugeno--style defuzzification
Sugeno
0 z1 Z
Crisp Output
z1
5,IX LVVPDOO WKHQY = 0.1X + 6.4
5,IX LVPHGLXP WKHQY = −0.5X + 4
Example 5,IX LVODUJH WKHQY = X – 2
ϱϯ
X, Y ∈ [−5, 5]
ϱϱ
ZĞǀŝĞǁ&ƵnjnjLJDŽĚĞůƐ
,IDQWHFHGHQFH! WKHQFRQVHTXHQFH!
7KHVDPHVW\OHIRU 'LIIHUHQWVW\OHVIRU
0DPGDQL)X]]\0RGHOV 0DPGDQL)X]]\0RGHOV
/DUVHQ)X]]\0RGHOV /DUVHQ)X]]\0RGHOV
6XJHQR)X]]\0RGHOV 6XJHQR)X]]\0RGHOV
7VXNDPRWR)X]]\0RGHOV 7VXNDPRWR)X]]\PRGHOV
ϱϴ
How to make a decision on which method
to apply − Mamdani or Sugeno?
Mamdani method is widely accepted for capturing
expert knowledge.
It allows us to describe the expertise in human-
like manner.
60
4. Review the existing rules, and if required add new
rules to the rule base.
61
Calculate
Calculate Fuzzy Combine
Inputs Fuzzy Inputs Rule-Base Crisp Output
Memberships Outputs Outputs
value
62
Fuzzification step Defuzzification step
Fuzzification step
EXAMPLES
64
Process of Developing a Fuzzy Expert System
65
66
Linguistic variables and their ranges
Linguistic Variable: Mean Delay, m
Linguistic Value Notation Numerical Range (normalised)
Very Short VS [0, 0.3]
Short S [0.1, 0.5]
Medium M [0.4, 0.7]
Linguistic Variable: Number of Servers, s
Linguistic Value Notation Numerical Range (normalised)
Small S [0, 0.35]
Medium M [0.30, 0.70]
Large L [0.60, 1]
Linguistic Variable: Repair Utilisation Factor, ρ
Linguistic Value Notation Numerical Range
Low L [0, 0.6]
Medium M [0.4, 0.8]
High H [0.6, 1]
Linguistic Variable: Number of Spares, n
Linguistic Value Notation Numerical Range (normalised)
Very Small VS [0, 0.30]
Small S [0, 0.40]
Rather Small RS [0.25, 0.45]
Medium M [0.30, 0.70]
Rather Large RL [0.55, 0.75]
Large L [0.60, 1]
Very Large VL [0.70, 1]
67
68
Fuzzy sets of Mean Delay m
Degree of
Membership
1.0
0.8 VS S M
0.6
0.4
0.2
0.0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Mean Delay (normalised)
69
70
Fuzzy sets of Repair Utilisation Factor ρ
Degree of
Membership
1.0
0.8 L M H
0.6
0.4
0.2
0.0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Repair Utilisation Factor
71
0.4
0.2
0.0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Number of Spares (normalised)
72
Step 3: Elicit and construct fuzzy rules
To accomplish this task, we might ask the expert to
describe how the problem can be solved using the
fuzzy linguistic variables defined previously.
Required knowledge also can be collected from
other sources such as books, computer databases,
flow diagrams and observed human behavior.
The matrix form of representing fuzzy rules is called
fuzzy associative memory (FAM).
73
L M S VS
M RL RS S
S VL L M
VS S M m
74
The rule table
Rule m s ρ n Rule m s ρ n Rule m s ρ n
1 VS S L VS 10 VS S M S 19 VS S H VL
2 S S L VS 11 S S M VS 20 S S H L
3 M S L VS 12 M S M VS 21 M S H M
4 VS M L VS 13 VS M M RS 22 VS M H M
5 S M L VS 14 S M M S 23 S M H M
6 M M L VS 15 M M M VS 24 M M H S
7 VS L L S 16 VS L M M 25 VS L H RL
8 S L L S 17 S L M RS 26 S L H M
9 M L L VS 18 M L M S 27 M L H RS
75
Rule Base 1
1. If (utilisation_factor is L) then (number_of_spares is S)
2. If (utilisation_factor is M) then (number_of_spares is M)
3. If (utilisation_factor is H) then (number_of_spares is L)
4. If (mean_delay is VS) and (number_of_servers is S) then (number_of_spares is VL)
5. If (mean_delay is S) and (number_of_servers is S) then (number_of_spares is L)
6. If (mean_delay is M) and (number_of_servers is S) then (number_of_spares is M)
7. If (mean_delay is VS) and (number_of_servers is M) then (number_of_spares is RL)
8. If (mean_delay is S) and (number_of_servers is M) then (number_of_spares is RS)
9. If (mean_delay is M) and (number_of_servers is M) then (number_of_spares is S)
10. If (mean_delay is VS) and (number_of_servers is L) then ( number_of_spares is M)
11. If (mean_delay is S) and (number_of_servers is L) then ( number_of_spares is S)
12. If (mean_delay is M) and (number_of_servers is L) then ( number_of_spares is VS)
76
Cube FAM of Rule Base 2
s
s
VS VS VS L RL M RS
VS VS VS
L S S VS
VS VS VS M M M S
VS VS VS
M VS VS VS
VS VS VS ρ S VL L M ρ
VS VS VS
S VS VS VS H H
M VS S M
L s
VS S M m
L M RS S
m
M RS S VS
S S VS VS
M
VS S M
s
m
L S S VS
M VS VS VS
S VS VS VS
L
VS S M
m
ϳϳ
78
Step 5: Evaluate and Tune the System
The last task is to evaluate and tune the system.
We want to see whether our fuzzy system meets
the requirements specified at the beginning.
Several test situations depend on the mean delay,
number of servers and repair utilisation factor.
The Fuzzy Logic Toolbox can generate surface to
help us analyse the system’s performance.
79
80
Modified Fuzzy Sets of Number of Servers s
Degree of
Membership
1.0
0.8 S RS M RL L
0.6
0.4
0.2
0.0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Number of Servers (normalised)
81
s RS S VS VS
L S S VS S S VS VS
M
VS S M
RL S S VS
m
M VS VS VS
RS VS VS VS
S VS VS VS
L
VS S M
m
ϴϮ