fuzzy inference - comp.utm.my ai (1)/fuzzy2... · fuzzy inference is the process of formulating the...

59
FUZZY INFERENCE Siti Zaiton Mohd Hashim, PhD

Upload: vuduong

Post on 23-May-2018

229 views

Category:

Documents


1 download

TRANSCRIPT

FUZZY INFERENCE

Siti Zaiton Mohd Hashim, PhD

9/29/2011 2

Fuzzy Inference

IntroductionIntroduction MamdaniMamdani--style inferencestyle inference SugenoSugeno--style inferencestyle inference Building a fuzzy expert systemBuilding a fuzzy expert system

9/29/2011 3

IntroductionIntroduction Fuzzy inference is the process of formulating the Fuzzy inference is the process of formulating the

mapping from a given input to an output using fuzzy mapping from a given input to an output using fuzzy theory of fuzzy sets. theory of fuzzy sets.

The process of fuzzy inference: The process of fuzzy inference: membership functions, membership functions, fuzzy logic operators, and fuzzy logic operators, and fuzzy iffuzzy if--then rules.then rules.

Two known types of fuzzy inference systems (in the Two known types of fuzzy inference systems (in the Fuzzy Logic Toolbox): Fuzzy Logic Toolbox): MamdaniMamdani--typetype SugenoSugeno--type.type.

9/29/2011 4

IntroductionIntroduction Fuzzy inference systems have been successfully Fuzzy inference systems have been successfully

applied in fields:applied in fields: automatic control, automatic control, data classification, data classification, decision analysis, decision analysis, expert systems, and expert systems, and computer vision. computer vision.

9/29/2011 5

IntroductionIntroduction Because of its multidisciplinary nature, fuzzy inference Because of its multidisciplinary nature, fuzzy inference

systems are associated with a number of names:systems are associated with a number of names: fuzzyfuzzy--rulerule--based systems, based systems, fuzzy expert systems, fuzzy expert systems, fuzzy modeling, fuzzy modeling, fuzzy associative memory, fuzzy associative memory, fuzzy logic controllers, and fuzzy logic controllers, and simply (and ambiguously) fuzzy systems.simply (and ambiguously) fuzzy systems.

9/29/2011 6

Mamdani’s Fuzzy InferenceMamdani’s Fuzzy Inference

Mamdani's fuzzy inference method is the most Mamdani's fuzzy inference method is the most commonly seen fuzzy methodology and was among the commonly seen fuzzy methodology and was among the first control systems built using fuzzy set theory. first control systems built using fuzzy set theory.

It was proposed in 1975 by Ebrahim Mamdani It was proposed in 1975 by Ebrahim Mamdani [Mam75] as an attempt to control a steam engine and [Mam75] as an attempt to control a steam engine and boiler combination by synthesizing a set of linguistic boiler combination by synthesizing a set of linguistic control rules obtained from experienced human control rules obtained from experienced human operators. operators.

Mamdani's effort was based on Lotfi Zadeh's 1973 Mamdani's effort was based on Lotfi Zadeh's 1973 paper on fuzzy algorithms for complex systems and paper on fuzzy algorithms for complex systems and decision processes [Zad73]. decision processes [Zad73].

9/29/2011 7

MamdaniMamdani’s Fuzzy Inference’s Fuzzy Inference

MamdaniMamdani--type inference process is performed in four type inference process is performed in four steps:steps:1.1. FuzzificationFuzzification of the of the input and output input and output variablesvariables2.2. Fuzzy logical operationsFuzzy logical operations3.3. Implication methodImplication method4.4. AggregationAggregation5.5. DefuzzificationDefuzzification

MamdaniMamdani--type inferencetype inference expects the expects the outputoutputmembership functions to be membership functions to be fuzzy setsfuzzy sets. .

9/29/2011 8

We examine a simple twoWe examine a simple two--input oneinput one--output problem that includes output problem that includes three rules:three rules:RuleRule:: 11 RuleRule:: 11IFIF xx isis AA33 IFIF project_fundingproject_funding isis adequateadequateOROR yy isis BB11 OROR project_staffingproject_staffing isis smallsmallTHENTHEN zz isis CC11 THENTHEN riskrisk isis lowlow

RuleRule:: 22 RuleRule:: 22IFIF xx isis AA22 IFIF project_fundingproject_funding isis marginalmarginalANDAND yy isis BB22 ANDAND project_staffingproject_staffing isis largelargeTHENTHEN zz isis CC22 THENTHEN riskrisk isis normalnormal

RuleRule:: 33 RuleRule:: 33IFIF xx isis AA11 IFIF project_fundingproject_funding isis inadequateinadequateTHENTHEN zz isis CC33 THENTHEN riskrisk isis highhigh

Sample problemSample problem

9/29/2011 9

FuzzificationFuzzificationThe first step is to take the crisp inputs, The first step is to take the crisp inputs, xx1 and 1 and yy1 1 ((project fundingproject funding and and project staffingproject staffing), and determine ), and determine the degree to which these inputs belong to each of the the degree to which these inputs belong to each of the appropriate fuzzy sets.appropriate fuzzy sets.

Crisp Inputy1

0.1

0.71

0 y1

B1 B2

Y

Crisp Input

0.20.5

1

0

A1 A2 A3

x1

x1 X (x = A1) = 0.5 (x = A2) = 0.2

(y = B1) = 0.1 (y = B2) = 0.7

9/29/2011 10

Fuzzy logical operation /Fuzzy logical operation /Rule evaluationRule evaluation

After fuzzification, we know the degree to which each After fuzzification, we know the degree to which each part of the antecedent has been satisfied for each rule. part of the antecedent has been satisfied for each rule.

If the antecedent of a given rule has more than one If the antecedent of a given rule has more than one part, the part, the fuzzy operatorfuzzy operator is applied to obtain one is applied to obtain one number that represents the result of the antecedent for number that represents the result of the antecedent for that rule. that rule.

This number will then be applied to the output This number will then be applied to the output function. function. The input to the fuzzy operator is two or more The input to the fuzzy operator is two or more

membership values from fuzzified input variables. membership values from fuzzified input variables. The output is a single truth value.The output is a single truth value.

9/29/2011 11

•• As an example, take the As an example, take the fuzzifiedfuzzified inputs, inputs, ((xx==AA1)1) = = 0.5, 0.5, ((xx==AA2)2) = 0.2, = 0.2, ((yy==BB1)1) = 0.1 and = 0.1 and ((yy==BB2)2) = 0.7, and = 0.7, and apply them to the antecedents of the fuzzy rules. apply them to the antecedents of the fuzzy rules.

•• If a given fuzzy rule has multiple antecedents, the If a given fuzzy rule has multiple antecedents, the fuzzy operator (AND or fuzzy operator (AND or OROR) is used to ) is used to obtain a single obtain a single number that represents the resultnumber that represents the result of the antecedent of the antecedent evaluation. This number (the truth value) is then evaluation. This number (the truth value) is then applied to the consequent membership function.applied to the consequent membership function.

Fuzzy logical operation Fuzzy logical operation

9/29/2011 12

To evaluate the To evaluate the disjunctiondisjunction of the rule antecedents, we of the rule antecedents, we use the use the OROR fuzzy operationfuzzy operation. Typically, fuzzy expert . Typically, fuzzy expert systems make use of the classical fuzzy operation systems make use of the classical fuzzy operation unionunion::

AABB((xx)) == maxmax [[AA((xx),), BB((xx)])]

Similarly,Similarly, inin orderorder toto evaluateevaluate thethe conjunctionconjunction ofof thetherulerule antecedents,antecedents, wewe applyapply thethe ANDAND fuzzyfuzzy operationoperationintersectionintersection::

AABB((xx)) == minmin [[AA((xx),), BB((xx)])]

Fuzzy logical operation Fuzzy logical operation

9/29/2011 13

MamdaniMamdani--style style RULE EVALUATIONRULE EVALUATION

A31

0 X

1

y10 Y0.0

x1 0

0.1C1

1C2

Z

1

0 X

0.2

0

0.2 C11

C2

Z

A2

x1

Rule 3:

A11

0 X 0

1

Zx1

THEN

C1 C2

1

y1

B2

0 Y

0.7

B10.1

C3

C3

C30.5 0.5

OR(max)

AND(min)

OR THENRule 1:

AND THENRule 2:

IF x is A3 (0.0) y is B1 (0.1) z is C1 (0.1)

IF x is A2 (0.2) y is B2 (0.7) z is C2 (0.2)

IF x is A1 (0.5) z is C3 (0.5)

9/29/2011 14

Implication methodImplication method

Implication method is the process to determine the Implication method is the process to determine the output of each fuzzy rule’s consequentoutput of each fuzzy rule’s consequent

Before applying the implication method, we must take care of Before applying the implication method, we must take care of the rule's weight. the rule's weight. Every rule has a Every rule has a weightweight (a number between 0 and 1), which (a number between 0 and 1), which

is applied to the number given by the antecedent. Generally is applied to the number given by the antecedent. Generally this weight is 1 (as it is for this example) and so it has no this weight is 1 (as it is for this example) and so it has no effect at all on the implication process. From time to time effect at all on the implication process. From time to time you may want to weight one rule relative to the others by you may want to weight one rule relative to the others by changing its weight value to something other than 1.changing its weight value to something other than 1.

9/29/2011 15

Implication methodImplication method

Implication method is the process of reshaping the Implication method is the process of reshaping the consequent part of each fuzzy rules.consequent part of each fuzzy rules.

The consequent is reshaped using a function associated with the antecedent (a single number).

Before applying the implication method, we must take Before applying the implication method, we must take care of the rule's weight. care of the rule's weight. Every rule has a Every rule has a weightweight (a number between 0 and (a number between 0 and

1), which is applied to the number given by the 1), which is applied to the number given by the antecedent. antecedent.

Generally this weight is 1 (as it is for this example) and so it Generally this weight is 1 (as it is for this example) and so it has no effect at all on the implication process.has no effect at all on the implication process.

9/29/2011 16

Implication methodImplication method

A consequent is a fuzzy set represented by a membership function, which weights appropriately the linguistic characteristics that are attributed to it.

The implication process is implemented for each rule : The input : a single number given by the

antecedent The output : fuzzy set.

Two built-in methods are supported: min (minimum), which truncates the output fuzzy

set prod (product), which scales the output fuzzy set.

9/29/2011 17

•• Now the result of the antecedent evaluation can be applied to the Now the result of the antecedent evaluation can be applied to the membership function of the consequent.membership function of the consequent.

The most common method of correlating the rule consequent with The most common method of correlating the rule consequent with the truth value of the rule antecedent is to cut the consequent the truth value of the rule antecedent is to cut the consequent membership function at the level of the antecedent truth. This membership function at the level of the antecedent truth. This method is called method is called clippingclipping. Since the . Since the toptop of the membership of the membership function function is slicedis sliced, the clipped fuzzy set , the clipped fuzzy set loses some informationloses some information. . However, clipping is still often preferred because it involves less However, clipping is still often preferred because it involves less complex and faster mathematics, and generates an aggregated complex and faster mathematics, and generates an aggregated output surface that is easier to output surface that is easier to defuzzifydefuzzify..

ClippingClippingmembership functionsmembership functions

9/29/2011 18

While clipping is a frequently used method, While clipping is a frequently used method, scalingscalingoffers a better approach foroffers a better approach for preserving preserving the original the original shape of the fuzzy set. The original membership shape of the fuzzy set. The original membership function of the rule consequent is adjusted by function of the rule consequent is adjusted by multiplymultiplying all its ing all its membership degrees by the truth membership degrees by the truth valuevalue of the rule antecedentof the rule antecedent. This method, which . This method, which generally generally loses less informationloses less information, can be very useful , can be very useful in fuzzy expert systems.in fuzzy expert systems.

(i.e. 0.2 *(x1=10), 0.2*(y1=30))== 2,6(i.e. 0.2 *(x1=10), 0.2*(y1=30))== 2,6

ScalingScalingmembership functionsmembership functions

9/29/2011 19

Clipped and scaled Clipped and scaled membership functionsmembership functions

Degree ofMembership1.0

0.0

0.2

Z

Degree ofMembership

Z

C2

1.0

0.0

0.2

C2

9/29/2011 20

Aggregation of the rule outputsAggregation of the rule outputsAggregation is the process of Aggregation is the process of unification of the unification of the outputs of all rulesoutputs of all rules. We take the membership . We take the membership functions of all rule consequents previously clipped or functions of all rule consequents previously clipped or scaled and combine them scaled and combine them into a single fuzzy setinto a single fuzzy set. . The input of the aggregation process is the list of The input of the aggregation process is the list of clipped or scaled consequent membership functions, clipped or scaled consequent membership functions, and the output is one fuzzy set for each output and the output is one fuzzy set for each output variable.variable.

9/29/2011 21

Aggregation of the rule outputsAggregation of the rule outputs

00.1

1C1

Cz is 1 (0.1)

C2

00.2

1

Cz is 2 (0.2)

0

0.5

1

Cz is 3 (0.5)ZZZ

0.2

Z0

C30.50.1

9/29/2011 22

The last step in the fuzzy inference process is The last step in the fuzzy inference process is defuzzificationdefuzzification. Fuzziness helps us to evaluate the . Fuzziness helps us to evaluate the rules, but the rules, but the final output of a fuzzy system has to be final output of a fuzzy system has to be a crisp numbera crisp number. The input for the . The input for the defuzzificationdefuzzificationprocess is the aggregate output fuzzy set and the process is the aggregate output fuzzy set and the output is output is a single numbera single number..

DefuzzificationDefuzzification

9/29/2011 23

There are several There are several defuzzificationdefuzzification methods, but probably methods, but probably the most popular one is the the most popular one is the centroidcentroid techniquetechnique. It . It finds the finds the pointpoint where a vertical line would where a vertical line would slice the slice the aggregate set into two equal massesaggregate set into two equal masses. Mathematically . Mathematically this this centre of gravity (COG)centre of gravity (COG) can be expressed as:can be expressed as:

b

aA

b

aA

dxx

dxxx

COG

Defuzzification method: COGDefuzzification method: COG

9/29/2011 24

CentroidCentroid defuzzificationdefuzzification method finds a point representing the method finds a point representing the centre of gravity of the fuzzy set, centre of gravity of the fuzzy set, AA, , on the interval, on the interval, abab..

A reasonable estimate can be obtained by calculating it over a A reasonable estimate can be obtained by calculating it over a sample of points.sample of points.

( x )1.0

0.0

0.2

0.4

0.6

0.8

160 170 180 190 200

a b

210

A

150X

Centre of gravity (COG):Centre of gravity (COG):

9/29/2011 25

Centre of gravity (COG):Centre of gravity (COG):

4.675.05.05.05.02.02.02.02.01.01.01.0

5.0)100908070(2.0)60504030(1.0)20100(

COG

1.0

0.0

0.2

0.4

0.6

0.8

0 20 30 40 5010 70 80 90 10060Z

Degree ofMembership

67.4

9/29/2011 26

MamdaniMamdani--style inference, as we have just seen, style inference, as we have just seen, requires us to find the requires us to find the centroidcentroid of a twoof a two--dimensional dimensional shape by integrating across a continuously varying shape by integrating across a continuously varying function. In general, this process is function. In general, this process is not not computationally efficientcomputationally efficient..

MichioMichio SugenoSugeno suggested to use a suggested to use a single spikesingle spike, a , a singletonsingleton, as the membership function of the , as the membership function of the rule rule consequentconsequent. A . A singletonsingleton, or more precisely a , or more precisely a fuzzy fuzzy singletonsingleton, is a fuzzy set with a membership , is a fuzzy set with a membership function that is function that is unity at a single particular point on unity at a single particular point on the universe of discourse and zero everywhere elsethe universe of discourse and zero everywhere else..

SugenoSugeno fuzzy inferencefuzzy inference

9/29/2011 27

SugenoSugeno--style fuzzy inference is very similar to the style fuzzy inference is very similar to the MamdaniMamdani method. method. SugenoSugeno changed only a rule changed only a rule consequentconsequent. Instead of a fuzzy set, he used a . Instead of a fuzzy set, he used a mathematical function mathematical function of the input variable. The of the input variable. The format of the format of the SugenoSugeno--style fuzzy rulestyle fuzzy rule isis

IFIF xx isis AAANDAND yy isis BBTHENTHEN zz isis ff ((x,x, yy))

where where xx, , yy and and zz are linguistic variables; are linguistic variables; AA and and BB are are fuzzy sets on universe of discourses fuzzy sets on universe of discourses XX and and YY, , respectively; and respectively; and f f ((x, yx, y) is a mathematical function.) is a mathematical function.

SugenoSugeno fuzzy inferencefuzzy inference

9/29/2011 28

The most commonly used The most commonly used zerozero--order order SugenoSugeno fuzzy fuzzy modelmodel applies fuzzy rules in the following form:applies fuzzy rules in the following form:

IFIF xx isis AAANDAND yy isis BBTHENTHEN zz isis kk

where where kk is a constant.is a constant.

In this case, the output of each fuzzy rule is constant. In this case, the output of each fuzzy rule is constant. All consequent membership functions are represented All consequent membership functions are represented by singleton spikesby singleton spikes..

SugenoSugeno fuzzy inferencefuzzy inference

9/29/2011 29

A31

0 X

1

y10 Y

0.0

x1 0

0.1

1

Z

1

0 X

0.2

0

0.2

1

Z

A2

x1

IF x is A1 (0.5) z is k3 (0.5)Rule 3:

A11

0 X 0

1

Zx1

THEN

1

y1

B2

0 Y

0.7

B10.1

0.5 0.5

OR(max)

AND(min)

OR y is B1 (0.1) THEN z is k1 (0.1)Rule 1:

IF x is A2 (0.2) AND y is B2 (0.7) THEN z is k2 (0.2)Rule 2:

k1

k2

k3

IF x is A3 (0.0)

SugenoSugeno--style rule evaluationstyle rule evaluation

9/29/2011 30

SugenoSugeno--style style aggregation of aggregation of the rule outputsthe rule outputs

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

1

0.1Z 0

0.5

1

Z00.2

1

Zk1 k2 k3 0

1

0.1Zk1 k2 k3

0.20.5

9/29/2011 31

Weighted average (WA):Weighted average (WA):

655.02.01.0

805.0502.0201.0)3()2()1(

3)3(2)2(1)1(

kkkkkkkkkWA

0 Z

Crisp Outputz1

z1

SugenoSugeno--style style defuzzificationdefuzzification

9/29/2011 32

How to make a decision on which method How to make a decision on which method to apply to apply Mamdani or Sugeno?Mamdani or Sugeno?

Mamdani method is widely accepted for capturing Mamdani method is widely accepted for capturing expert knowledge. It allows us to describe the expert knowledge. It allows us to describe the expertise in more intuitive, more humanexpertise in more intuitive, more human--like like manner. However, Mamdanimanner. However, Mamdani--type fuzzy inference type fuzzy inference entails a substantial computational burden. entails a substantial computational burden.

On the other hand, Sugeno method is On the other hand, Sugeno method is computationally effective and works well with computationally effective and works well with optimisation and adaptive techniques, which makes optimisation and adaptive techniques, which makes it very attractive in control problems, particularly it very attractive in control problems, particularly for dynamic nonlinear systems.for dynamic nonlinear systems.

9/29/2011 33

EXERCISE: Building EXERCISE: Building a fuzzy expert a fuzzy expert system case study(use fuzzy toolbox)system case study(use fuzzy toolbox) A service centre keeps spare parts and repairs failed A service centre keeps spare parts and repairs failed

ones. ones. A customer brings a failed item and receives a spare A customer brings a failed item and receives a spare

of the same type. of the same type. Failed parts are repaired, placed on the shelf, and Failed parts are repaired, placed on the shelf, and

thus become spares. thus become spares. The The objectiveobjective here is here is to advise a manager of the to advise a manager of the

service centre on certain decision policies service centre on certain decision policies to keep to keep the customers satisfied.the customers satisfied.

9/29/2011 34

Process of developing an Process of developing an fuzzy expert systemfuzzy expert system

1. Specify the problem and define linguistic variables.1. Specify the problem and define linguistic variables.

2. Determine fuzzy sets (for 2. Determine fuzzy sets (for fuzzificationfuzzification process).process).

3. Elicit and construct fuzzy rules.3. Elicit and construct fuzzy rules.

4. Encode the fuzzy sets, fuzzy rules and procedures 4. Encode the fuzzy sets, fuzzy rules and procedures to perform fuzzy inference into the expert system.to perform fuzzy inference into the expert system.

5. Evaluate and tune the system.5. Evaluate and tune the system.

9/29/2011 35

Step Step 11: Specify the problem and define: Specify the problem and definelinguistic variableslinguistic variables

There are four main linguistic There are four main linguistic variablesvariables: average : average waiting time (mean delay) waiting time (mean delay) mm, repair utilisation , repair utilisation factor of the service centre factor of the service centre , number of servers , number of servers ss, , and initial number of spare parts and initial number of spare parts nn..

Input~ Input~ m,sm,s and pand pOutput~nOutput~n

9/29/2011 36

Linguistic variables and their rangesLinguistic variables and their rangesLinguistic Variable: Mean Delay, m

Linguistic Value Notation Numerical Range (normalised)Very ShortShortMedium

VSSM

[0, 0.3][0.1, 0.5][0.4, 0.7]

Linguistic Variable: Number of Servers, sLinguistic Value Notation Numerical Range (normalised)

SmallMediumLarge

SML

[0, 0.35][0.30, 0.70]

[0.60, 1]Linguistic Variable: Repair Utilisation Factor,

Linguistic Value Notation Numerical RangeLowMediumHigh

LMH

[0, 0.6][0.4, 0.8][0.6, 1]

Linguistic Variable: Number of Spares, nLinguistic Value Notation Numerical Range (normalised)

Very SmallSmallRather SmallMediumRather LargeLargeVery Large

VSS

RSMRLL

VL

[0, 0.30][0, 0.40]

[0.25, 0.45][0.30, 0.70][0.55, 0.75]

[0.60, 1][0.70, 1]

Linguistic Variable: Mean Delay, m

Linguistic Variable: Number of Servers, s

Linguistic Variable: Repair Utilisation Factor,

Linguistic Variable: Number of Spares, n

9/29/2011 37

Step Step 22: Determine fuzzy sets: Determine fuzzy setsFuzzy setsFuzzy sets can have a variety of shapes. However, can have a variety of shapes. However, a triangle or a trapezoid can often provide an a triangle or a trapezoid can often provide an adequate representation of the expert knowledge, adequate representation of the expert knowledge, and at the same time, significantly simplifies the and at the same time, significantly simplifies the process of computation.process of computation.

9/29/2011 38

Fuzzy sets of Fuzzy sets of Mean Delay mMean Delay m

0.10

1.0

0.0

0.2

0.4

0.6

0.8

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Mean Delay (normalised)

SVS M

Degree of Membership

9/29/2011 39

Fuzzy sets of Fuzzy sets of Number of Servers sNumber of Servers s

0.10

1.0

0.0

0.2

0.4

0.6

0.8

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

M LS

Degree of Membership

Number of Servers (normalised)

9/29/2011 40

Fuzzy sets of Fuzzy sets of Repair Utilisation Factor Repair Utilisation Factor

0.10

1.0

0.0

0.2

0.4

0.6

0.8

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Repair Utilisation Factor

M HL

Degree of Membership

9/29/2011 41

Fuzzy sets of Fuzzy sets of Number of Spares nNumber of Spares n

0.10

1.0

0.0

0.2

0.4

0.6

0.8

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

S RSVS M RL L VL

Degree of Membership

Number of Spares (normalised)

9/29/2011 42

Step Step 33: Elicit and construct fuzzy rules: Elicit and construct fuzzy rules

To accomplish this task, we might ask the To accomplish this task, we might ask the expert to expert to describe how the problem can be solved describe how the problem can be solved using the using the fuzzy linguistic variables defined previously.fuzzy linguistic variables defined previously.

Required knowledge also can be collected from Required knowledge also can be collected from other sources other sources such as books, computer databases, such as books, computer databases, flow diagrams and observed human behaviour. flow diagrams and observed human behaviour.

9/29/2011 43

The square FAM representationThe square FAM representation

m

s

M

RL

VL

S

RS

L

VS

S

M

VS S M

L

M

S

9/29/2011 44

The rule tableThe rule tableRule 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

9/29/2011 45

Rule Base 1Rule Base 11. 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)

9/29/2011 46

Cube FAM of Rule Base 2Cube FAM of Rule Base 2

VS VS VSVS VS VS

VS VS VSVL L M

HS

VS VS VSVS VS VS

VS VS VSM

VS VS VSVS VS VS

S S VSL

s

LVS S M

m

MH

VS VS VSLVS S M

S

m

VS VS VSM

S S VSL

s

S VS VSMVS S M

m

VS S M

m

S

RS S VSM

M RS SL

s

S

M M SM

RL M RSL

s

9/29/2011 47

Step Step 44: Encode the fuzzy sets, fuzzy rules: Encode the fuzzy sets, fuzzy rulesand procedures to perform fuzzyand procedures to perform fuzzyinference into the expert systeminference into the expert system

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

9/29/2011 48

Step Step 55: Evaluate and tune the system: Evaluate and tune the systemThe last, and the most laborious, task is to The last, and the most laborious, task is to evaluateevaluateand and tune the systemtune the system. We want to see whether our . We want to see whether our fuzzy system meets the requirements specified at fuzzy system meets the requirements specified at the beginning. the beginning.

Several test situations depend on the mean delay, Several test situations depend on the mean delay, number of servers and repair utilisation factor. number of servers and repair utilisation factor.

The Fuzzy Logic Toolbox can generate surface to The Fuzzy Logic Toolbox can generate surface to help us analyse the system’s performance.help us analyse the system’s performance.

9/29/2011 49

ThreeThree--dimensional plots for dimensional plots for Rule Base 1Rule Base 1

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.2

0.3

0.4

0.5

0.6

number_of_serversmean_delay

num

ber_

of_s

pare

s

9/29/2011 50

ThreeThree--dimensional plots for dimensional plots for Rule Base 1Rule Base 1

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.2

0.3

0.4

0.5

0.6

utilisation_factormean_delay

num

ber_

of_s

pare

s

9/29/2011 51

ThreeThree--dimensional plots for dimensional plots for Rule Base 2Rule Base 2

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.15

0.2

0.25

0.3

0.35

number_of_serversmean_delay

num

ber_

of_s

pare

s

9/29/2011 52

ThreeThree--dimensional plots for dimensional plots for Rule Base 2Rule Base 2

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.2

0.3

0.4

utilisation_factormean_delay

num

ber_

of_s

pare

s

0.5

9/29/2011 53

However, even now, the expert might not be However, even now, the expert might not be satisfied with the system performance. satisfied with the system performance.

To improve the system performance, we may use To improve the system performance, we may use additional sets additional sets Rather SmallRather Small and and Rather LargeRather Large on the universe of discourse on the universe of discourse Number of ServersNumber of Servers, , and then extend the rule base.and then extend the rule base.

9/29/2011 54

Modified fuzzy sets of Modified fuzzy sets of Number of Servers sNumber of Servers s

0.10

1.0

0.0

0.2

0.4

0.6

0.8

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Number of Servers (normalised)

RS M RL LS

Degree of Membership

9/29/2011 55

Cube FAM of Rule Base 3Cube FAM of Rule Base 3

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

VS VS VS

S S VS

S S VS

VL L M

VL RL RS

M M S

RL M RS

L M RS

HS

M

RL

L

RS

s

LVS S Mm

MH

VS VS VS

VS VS VS

VS VS VS

S S VS

S S VS

LVS S M

S

M

RL

L

RS

m

s

S VS VS

S VS VS

RS S VS

M RS S

M RS S

MVS S Mm

VS S Mm

S

M

RL

L

RS

s

S

M

RL

L

RS

s

9/29/2011 56

ThreeThree--dimensional plots for dimensional plots for Rule Base 3Rule Base 3

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.15

0.2

0.25

0.3

0.35

number_of_serversmean_delay

num

ber_

of_s

pare

s

9/29/2011 57

ThreeThree--dimensional plots for dimensional plots for Rule Base 3Rule Base 3

00.2

0.40.6

0.81

0

0.2

0.4

0.6

0.2

0.3

0.4

utilisation_factormean_delay

num

ber_

of_s

pare

s

0.5

9/29/2011 58

Tuning fuzzy systems Tuning fuzzy systems 1.1. Review model input and output variables, and ifReview model input and output variables, and if

required redefine their ranges.required redefine their ranges.2.2. Review the fuzzy sets, and if required defineReview the fuzzy sets, and if required define

additional sets on the universe of discourse.additional sets on the universe of discourse.The use of wide fuzzy sets may cause the fuzzyThe use of wide fuzzy sets may cause the fuzzysystem to perform roughly.system to perform roughly.

3.3. Provide sufficient overlap between neighbouring Provide sufficient overlap between neighbouring sets. It is suggested that trianglesets. It is suggested that triangle--toto--triangle and triangle and trapezoidtrapezoid--toto--triangle fuzzy sets should overlap triangle fuzzy sets should overlap between 25% to 50% of their bases.between 25% to 50% of their bases.

9/29/2011 59

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

5.5. Examine the rule base for opportunities to write Examine the rule base for opportunities to write hedge rules to capture the pathological behaviour hedge rules to capture the pathological behaviour of the system.of the system.

6.6. Adjust the rule execution weights. Most fuzzy Adjust the rule execution weights. Most fuzzy logic tools allow control of the importance of rules logic tools allow control of the importance of rules by changing a weight multiplier.by changing a weight multiplier.

7.7. Revise shapes of the fuzzy sets. In most cases, Revise shapes of the fuzzy sets. In most cases, fuzzy systems are highly tolerant of a shape fuzzy systems are highly tolerant of a shape approximation.approximation.