Fuzzy Logic Control: Content

Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

Fuzzy Logic Control

Lect 5 Fuzzy Logic Control

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

Digital Control System Configuration


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).

4. Implementing the controller via, for example, a


microprocessor, and evaluating the performance of the
closed-loop system (again, 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.

ϭϭ

Components of Fuzzy system


• The components of a conventional expert system and
a fuzzy system are the same.
• Fuzzy systems though contain `fuzzifiers
fuzzifiers’’.
– Fuzzifiers convert crisp numbers into fuzzy
numbers,
• Fuzzy systems contain `defuzzifiers',
defuzzifiers',
– Defuzzifiers convert fuzzy numbers into crisp
numbers.

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:

1. Identify the inputs and their ranges and name them.


2. Identify the outputs and their ranges and name them.
3. Create the degree of fuzzy membership function for
each input and output.
4. Construct the rule base that the system will operate
under
5. Decide how the action will be executed by assigning
strengths to the rules
6. Combine the rules and defuzzify the output

ϭϯ

&ƵnjnjLJ>ŽŐŝĐŽŶƚƌŽů
Type of Fuzzy Controllers:
• Mamdani
• Larsen
• TSK (Takagi Sugeno Kang)
• Tsukamoto
• Other methods

ϭϰ
Fuzzy Control Systems

Mamdani
Fuzzy models

Mamdani Fuzzy models


• The most commonly used fuzzy inference
technique is the so-called Mamdani method.

• In 1975, Professor Ebrahim Mamdani of


London University built one of the first fuzzy
systems to control a steam engine and boiler
combination.
z Original Goal: Control a steam engine & boiler
combination by a set of linguistic control rules
obtained from experienced human operators.
ϭϲ
Mamdani fuzzy inference
The Mamdani-style fuzzy inference process is performed
in four steps:
1. Fuzzification of the input variables,

2. Rule evaluation;

3. Aggregation of the rule outputs, and finally

4. Defuzzification.

ϭϳ

Operation of Fuzzy System


Crisp Input

Fuzzification Input Membership Functions

Fuzzy Input

Rule Evaluation Rules / Inferences

Fuzzy Output

Defuzzification Output Membership Functions

Crisp Output 18
,QIHUHQFH
,QSXW )X]]LILHU 'HIX]]LILHU 2XWSXW

/ŶĨĞƌĞŶĐĞŶŐŝŶĞ (QJLQH

)X]]\
.QRZOHGJHEDVH

8VLQJ,I7KHQW\SHIX]]\UXOHV FRQYHUWVWKH
IX]]\LQSXWWRWKHIX]]\RXWSXW

ϭϵ

We examine a simple two-input one-output problem that


includes three rules:
Rule: 1 Rule: 1
IF x is A3 IF project_funding is adequate
OR y is B1 OR project_staffing is small
THEN z is C1 THEN risk is low
Rule: 2 Rule: 2
IF x is A2 IF project_funding is marginal
AND y is B2 AND project_staffing is large
THEN z is C2 THEN risk is normal
Rule: 3 Rule: 3
IF x is A1 IF project_funding is inadequate
THEN z is C3 THEN risk is high
Step 1: Fuzzification
Ŷ Take the crisp inputs, x1 and y1 (project funding and
project staffing)
Ŷ Determine the degree to which these inputs belong to
each of the appropriate fuzzy sets.
Crisp Input Crisp Input
x1 y1

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

project funding project staffing

Step 2: Rule Evaluation


• take the fuzzified inputs, µ(x=A1) = 0.5, µ(x=A2) = 0.2,
µ(y=B1) = 0.1 and µ(y=B2) = 0.7

• apply them to the antecedents of the fuzzy rules.

• If a given fuzzy rule has multiple antecedents, the fuzzy


operator (AND or OR) is used to obtain a single number
that represents the result of the antecedent evaluation.
This number (the truth value) is then applied to the
consequent membership function.

ϮϮ
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)]

Similarly, in order to evaluate the conjunction of the


rule antecedents, we apply the AND fuzzy operation
intersection:
µA ∩B(x) = min [µ
µA (x), µB(x)]
Ϯϯ

Mamdani--style rule evaluation


Mamdani
1 1 1
A3 B1 C1 C2 C3
0.1 OR 0.1
0.0
(max)
0 x1 X 0 y1 Y 0 Z

Rule 1: IF x is A3 (0.0) OR y is B1 (0.1) THEN z is C1 (0.1)


1 1 1
0.7
C1 C2 C3
A2 0.2 B2 AND 0.2
(min)
0 x1 X 0 y1 Y 0 Z
Rule 2: IF x is A2 (0.2) AND y is B2 (0.7) THEN z is C2 (0.2)
1 1
A1 0.5 0.5 C1 C2 C3

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.

Ϯϱ

„ While clipping is a frequently used method, scaling


(0D[3URGXFW &RPSRVLWLRQ offers a better approach
for preserving the original shape of the fuzzy set.

„ The original membership function of the rule


consequent is adjusted by multiplying all its
membership degrees by the truth value of the rule
antecedent.

„ This method, which generally loses less information,


can be very useful in fuzzy expert systems.

Ϯϲ
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

Step 3: Aggregation of The Rule Outputs


• Aggregation is the process of unification of the
outputs of all rules.

• We take the membership functions of all rule


consequents previously clipped or scaled and
combine them into a single fuzzy set.

Ϯϴ
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.

• The input for the defuzzification process is the


aggregated output fuzzy set and the output is a
single 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

ϯϭ

„ Centroid defuzzification method finds a point


representing the centre of gravity of the fuzzy set, A,
on the interval, ab.
„ A reasonable estimate can be obtained by calculating
it over a sample of points.
µ(x)
1.0
0.8
0.6 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ŝƐƐŵĂůůƚŚĞŶŝƐƉŽƐŝƚŝǀĞƐŵĂůů

/ĨyŝƐůĂƌŐĞΘzŝƐůĂƌŐĞƚŚĞŶŝƐƉŽƐŝƚŝǀĞůĂƌŐĞ

ϯϳ

; >@< >@= >@ZLWKPD[PLQ


FRPSRVLWLRQ FHQWURLGGHIX]]LILFDWLRQZHFDQ
GHWHUPLQHWKHRYHUDOOLQSXWRXWSXWVXUIDFH

dǁŽͲŝŶƉƵƚƐŝŶŐůĞŽƵƚƉƵƚĂŶƚĞĐĞĚĞŶƚΘĐŽŶƐĞƋƵĞŶƚD&Ɛ
ϯϴ
KǀĞƌĂůůŝŶƉƵƚͲŽƵƚƉƵƚƐƵƌĨĂĐĞ
ϯϵ

Larsen Fuzzy models


Inference method: Larsen
– product operator(•) for a fuzzy implication
– max-product operator for the composition

ϰϬ
0D[3URGXFW&RPSRVLWLRQLVXVHG
dŚĞZĞĂƐŽŶŝŶŐ^ĐŚĞŵĞ

ϰϭ

Fuzzy Control Systems

Sugeno
Fuzzy Models
^ƵŐĞŶŽ&ƵnjnjLJDŽĚĞůƐ
• $OVRNQRZQDV76.IX]]\PRGHO
– 7DNDJL6XJHQR .DQJ

• *RDO*HQHUDWLRQRIIX]]\UXOHV IURPD
JLYHQLQSXWRXWSXWGDWDVHW

ϰϯ

Sugeno Fuzzy Control


„ Mamdani-style inference, requires to find the centroid of a
two-dimensional shape
„ by integrating across a continuously varying function.
„ In general, this process is not computationally efficient.
„ Michio Sugeno suggested to use a single spike, a singleton,
as the membership function of the rule consequent.
„ A fuzzy singleton, is a fuzzy set with a membership
function that is unity at a single particular point on the
universe of discourse and zero everywhere else.

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

The most commonly used zero-order Sugeno fuzzy


model applies fuzzy rules in the following form:
IF x is A AND y is B
THEN z is k
where k is a constant.

• In this case, the output of each fuzzy rule is constant.


• All consequent membership functions are represented
by singleton spikes.

46
&ƵnjnjLJZƵůĞƐŽĨd^<DŽĚĞů

,Ix LVA DQGy LVB WKHQz = f(x, y)

)X]]\6HWV &ULVS)XQFWLRQ

f(x, y) LVYHU\RIWHQDSRO\QRPLDO
IXQFWLRQZUWx DQGy
ϰϳ

džĂŵƉůĞƐ

5LIX LVVPDOO DQGY LVVPDOO WKHQz = −x +y +1

5LIX LVVPDOO DQGY LVODUJH WKHQz = −y +3

5LIX LVODUJH DQGY LVVPDOO WKHQz = −x +3

5LIX LVODUJH DQGY LVODUJH WKHQz = x + y + 2

ϰϴ
dŚĞZĞĂƐŽŶŝŶŐ^ĐŚĞŵĞ

ϰϵ

Sugeno--style rule evaluation


Sugeno
1 1 1
A3 B1
0.1 OR 0.1
0.0
(max)
0 x1 X 0 y1 Y 0 k1 Z

Rule 1: IF x is A3 (0.0) OR y is B1 (0.1) THEN z is k1 (0.1)


1 1 1
0.7
A2 0.2 B2 AND 0.2
(min)
0 x1 X 0 y1 Y 0 k2 Z
Rule 2: IF x is A2 (0.2) AND y is B2 (0.7) THEN z is k2 (0.2)
1 1
A1 0.5 0.5

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

z is k1 (0.1) z is k2 (0.2) z is k3 (0.5) ¦

Weighted average (WA):


µ(k1) × k1 + µ(k 2) × k 2 + µ(k 3) × k 3 0.1× 20 + 0.2 × 50 + 0.5 × 80
WA = = = 65
µ(k1) + µ(k 2) + µ(k 3) 0.1 + 0.2 + 0.5

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 сLQSXW ∈ [−10, 10]

ϱϯ

5,IX LVVPDOO WKHQY = 0.1X + 6.4


5,IX LVPHGLXP WKHQY = −0.5X + 4
Example 5,IX LVODUJH WKHQY = X – 2

X сLQSXW ∈ [−10, 10]

,IZHKDYHVPRRWKPHPEHUVKLSIXQFWLRQV IX]]\UXOHV WKH


RYHUDOOLQSXWRXWSXWFXUYHEHFRPHVDVPRRWKHURQH
ϱϰ
5LIX LVVPDOO DQGY LVVPDOO WKHQz = −x +y +1
5LIX LVVPDOO DQGY LVODUJH WKHQz = −y +3

Example 5LIX LVODUJH DQGY LVVPDOO WKHQz = −x +3


5LIX LVODUJH DQGY LVODUJH WKHQz = x + y + 2

X, Y ∈ [−5, 5]

ϱϱ

Tsukamoto Fuzzy Model


The consequent of each fuzzy if-then rule:
• a fuzzy set with a monotonical MF.
• Overall output: the weighted average of each rule’s output.
• No defuzzification.
• Not as transparent as mamdani’s or Sugeno’s fuzzy model.
• Not follow strictly the compositional rule of inference: the
output is always crisp.
Example: Tsukamoto Fuzzy Model
Single-input Tsukamoto fuzzy model
If X is small then Y is C1 .
If X is medium then Y is C2 .
If X is large then Y is C3 .

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.

„ Sugeno method is computationally effective and


works well with optimization and adaptive
techniques, which makes it very attractive in control
problems, particularly for dynamic nonlinear
systems.
59

Tuning Fuzzy Systems


1. Review model input and output variables, and if required
redefine their ranges.

2. Review the fuzzy sets, and if required define additional sets on


the universe of discourse.
• The use of wide fuzzy sets may cause the fuzzy system to
perform roughly.

3. Provide sufficient overlap between neighbouring sets.


• It is suggested that triangle-to-triangle and trapezoid-to-
triangle fuzzy sets should overlap between 25% to 50% of
their bases.

60
4. Review the existing rules, and if required add new
rules to the rule base.

5. Adjust the rule execution weights. Most fuzzy logic


tools allow control of the importance of rules by
changing a weight multiplier.

6. Revise shapes of the fuzzy sets. In most cases, fuzzy


systems are highly tolerant of a shape approximation.

61

Steps in Designing a Fuzzy Logic Control System


1. Identify the system input variables, their ranges, and membership
functions.
2. Identify the output variables, their ranges, and membership
functions.
3. Identify the rules that describe the relations of the inputs to the
outputs.
4. Determine the de-fuzzifier method of combining fuzzy rules into
system outputs.

Calculate
Calculate Fuzzy Combine
Inputs Fuzzy Inputs Rule-Base Crisp Output
Memberships Outputs Outputs
value

62
Fuzzification step Defuzzification step
Fuzzification step
EXAMPLES

Building a Fuzzy Expert System: Case Study


ƒ A service centre keeps spare parts and repairs failed
ones.
ƒ A customer brings a failed item and receives a spare of
the same type.
ƒ Failed parts are repaired, placed on the shelf, and thus
become spares.
ƒ The objective here is to advise a manager of the service
centre on certain decision policies to keep the customers
satisfied.

64
Process of Developing a Fuzzy Expert System

1. Specify the problem and define linguistic variables.


2. Determine fuzzy sets.
3. Elicit and construct fuzzy rules.
4. Encode the fuzzy sets, fuzzy rules and procedures to
perform fuzzy inference into the expert system.
5. Evaluate and tune the system.

65

Step 1: Specify the problem and define


linguistic variables
There are four main linguistic variables: average waiting
time (mean delay) m, repair utilisation factor of the
service centre ρ (is the ratio of the customer arrival day
to the customer departure rate), number of servers s, and
initial number of spare parts n .

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

Step 2: Determine Fuzzy Sets

Fuzzy sets can have a variety of shapes. However,


a triangle or a trapezoid can often provide an
adequate representation of the expert knowledge,
and at the same time, significantly simplifies the
process of computation.

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

Fuzzy sets of Number of Servers s


Degree of
Membership
1.0
0.8 S M 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

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

Fuzzy sets of Number of Spares n


Degree of
Membership
1.0
0.8 VS S RS M RL L VL
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 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

The square FAM representation


s

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
ϳϳ

Step 4: Encode the fuzzy sets, fuzzy rules


and procedures to perform fuzzy
inference into the expert system
To accomplish this task, we may choose one of
two options: to build our system using a
programming language such as C/C++, Java, or to
apply a fuzzy logic development tool such as
MATLAB Fuzzy Logic Toolbox or Fuzzy
Knowledge Builder.

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

However, even now, the expert might not be


satisfied with the system performance.

To improve the system performance, we may use


additional sets − Rather Small and Rather Large −
on the universe of discourse Number of Servers,
and then extend the rule base.

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

Cube FAM of Rule Base 3


s
s
VS VS VS L L M RS
VS VS VS
L S S VS
VS VS VS RL RL M RS
VS VS VS
RL S S VS
VS VS VS M M M S
VS VS VS
M VS VS VS
VS VS VS s RS VL RL RS
VS VS VS
RS VS VS VS
VS VS VS ρ L M RS S S VL L M ρ
VS VS VS
S VS VS VS H H
M VS S M
RL M RS S
L m
VS S M
m M RS S VS

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
ϴϮ

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy