Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence:...

67
Fuzzy Expert Systems

Transcript of Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence:...

Page 1: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

Fuzzy Expert Systems

Page 2: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

2

Fuzzy Logic

Four types of fuzzy logics Classic logic

• Crisp setence: Height(John, 180) → Weight(John, 60) • Crisp data: Height(John, 180)

Truth-functional multi-valued logic (Fuzzy knowledge base)

• Fuzzy sentence: Height(John, tall) → Weight(John, heavy) • Crisp data: Height(John, 180)

Possibilistic logic (Uncertain knowledge base)• Crisp sentence: Height(John, 180) → Weight(John, 60) • Fuzzy data: Height(John, tall)

Uncertain fuzzy knowledge base• Fuzzy sentence: Height(John, tall) → Weight(John, heavy)

• Fuzzy data: Height(John, tall)

Page 3: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

3

fuzzy operators

Page 4: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

4

fuzzy operators

Page 5: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

5

Matrices of Truth Values

Page 6: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

6

T-Norms and t-Conorms: Fuzzy AND and OR Operators

Page 7: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

7

T-Norms and t-Conorms: Fuzzy AND and OR Operators

Page 8: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

8

T-Norms and t-Conorms: Fuzzy AND and OR Operators

Page 9: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

9

APPROXIMATE REASONING

Page 10: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

10

APPROXIMATE REASONING

Page 11: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

11

Hedges that Create Fuzzy Numbers

Page 12: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

12

Hedges that Create Fuzzy Numbers

Page 13: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

13

FUZZY PROPOSITIONS

Page 14: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

14

Fuzzy rule-based models

Page 15: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

15

Mamdani model

Linguistic rules

Input form

Matching degree of rule i, condition j

Aggregation of outputs from all rules

If speed is med and distance is small then force is negativeIf speed is zero and distance is large then force is positive…

Page 16: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

16

TSK model

Linguistic rules

output

To reduce the number of rules

Page 17: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

17

TSK model (example)

Page 18: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

18

Standard Additive Model

Linguistic rules

Output

Page 19: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

19

Y

x is A’Y

A

X

w

A’ B

B’

A’

Xy is B’

fuzzy reasoning

Page 20: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

20

A B

T-norm

X Y

w

A’ B’ C2

Z

C’

Z

X Y

A’ B’

x is A’ y is B’ z is C’

fuzzy reasoning

Page 21: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

21

fuzzy reasoningA1 B1

A2 B2

T-norm

X

X

Y

Y

w1

w2

A’

A’ B’

B’ C1

C2

Z

Z

C’

ZX Y

A’ B’

x is A’ y is B’ z is C’

Page 22: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

22

Fuzzy inferenceFuzzy inference

The most commonly used fuzzy inference technique The most commonly used fuzzy inference technique is the so-called Mamdani method. In 1975, is the so-called Mamdani method. In 1975, Professor Professor Ebrahim MamdaniEbrahim Mamdani of London University of London University built one of the first fuzzy systems to control a steam built one of the first fuzzy systems to control a steam engine and boiler combination. He applied a set of engine and boiler combination. He applied a set of fuzzy rules supplied by experienced human fuzzy rules supplied by experienced human operators.operators.

Page 23: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

23

Mamdani fuzzy inferenceMamdani fuzzy inference

The Mamdani-style fuzzy inference process is The Mamdani-style fuzzy inference process is performed in four steps:performed in four steps: fuzzification of the input variables, fuzzification of the input variables, rule evaluation; rule evaluation; aggregation of the rule outputs, and finallyaggregation of the rule outputs, and finally defuzzification.defuzzification.

Page 24: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

24

We examine a simple two-input one-output problem that We examine a simple two-input one-output problem that includes three rules:includes three rules:

Rule: 1Rule: 1 Rule: 1Rule: 1IFIF xx is is AA33 IFIF project_fundingproject_funding is is adequateadequateOROR yy is is BB11 OROR project_staffingproject_staffing is is smallsmallTHEN THEN zz is is CC11 THEN THEN riskrisk is is lowlow

Rule: 2Rule: 2 Rule: 2Rule: 2IFIF x x is is AA22 IFIF project_fundingproject_funding is is marginalmarginalAND AND yy is is BB22 ANDAND project_staffingproject_staffing is is largelargeTHEN THEN zz is is CC22 THEN THEN riskrisk is is normalnormal

Rule: 3Rule: 3 Rule: 3Rule: 3IFIF xx is is AA11 IFIF project_fundingproject_funding is is inadequateinadequateTHEN THEN zz is is CC33 THEN THEN riskrisk is is highhigh

Page 25: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

25

Step 1: FuzzificationStep 1: Fuzzification

The 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

0y1

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

Page 26: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

26

Step 2: Rule EvaluationStep 2: Rule Evaluation

The second step is to take the fuzzified inputs, The second step is to take the fuzzified 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, = 0.7,

and apply them to the antecedents of the fuzzy rules. and 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 OR) is used to obtain a single fuzzy operator (AND or OR) is used to obtain a single number that represents the result of the antecedent number that represents the result 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.

Page 27: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

27

To evaluate the disjunction of the rule antecedents, we To evaluate the disjunction of the rule antecedents, we use the use the OR fuzzy operationOR fuzzy 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, in order to evaluate the conjunction of the Similarly, in order to evaluate the conjunction of the rule antecedents, we apply the rule antecedents, we apply the AND fuzzy operationAND fuzzy operation intersectionintersection::

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

Step 2: Rule EvaluationStep 2: Rule Evaluation

Page 28: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

28

Mamdani-style rule evaluationMamdani-style rule evaluation

A3

1

0 X

1

y10 Y

0.0

x1 0

0.1C1

1

C2

Z

1

0 X

0.2

0

0.2C1

1

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)

Page 29: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

29

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

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

Page 30: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

30

While clipping is a frequently used method, While clipping is a frequently used method, scalingscaling offers a better approach for preserving the original offers a better approach for preserving 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 multiplying all its membership degrees by the truth multiplying all its membership degrees by the truth value of the rule antecedent. This method, which value of the rule antecedent. This method, which generally loses less information, can be very useful generally loses less information, can be very useful in fuzzy expert systems.in fuzzy expert systems.

Page 31: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

31

Clipped and scaled membership functionsClipped and scaled membership functions

Degree ofMembership1.0

0.0

0.2

Z

Degree ofMembership

Z

C2

1.0

0.0

0.2

C2

Page 32: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

32

Step 3: Aggregation of the rule outputsStep 3: Aggregation of the rule outputs

Aggregation is the process of unification of the Aggregation is the process of unification of the outputs of all rules. We take the membership outputs of all rules. We take the membership functions of all rule consequents previously clipped or functions of all rule consequents previously clipped or scaled and combine them into a single fuzzy set. scaled and combine them into 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.

Page 33: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

33

Aggregation of the rule outputsAggregation of the rule outputs

00.1

1C1

Cz is 1 (0.1)

C2

0

0.2

1

Cz is 2 (0.2)

0

0.5

1

Cz is 3 (0.5)

ZZZ

0.2

Z0

C30.5

0.1

Page 34: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

34

Step 4: DefuzzificationStep 4: Defuzzification

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

Page 35: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

35

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

b

aA

b

aA

dxx

dxxx

COG

Step 4: Defuzzification…Step 4: Defuzzification…

Page 36: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

36

Mean of maximum (MOM) Calculates the average of those

output values that have the highest possibility degrees

Step 4: Defuzzification…Step 4: Defuzzification…

Page 37: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

37

Center of area (COA) Calculate the center-of-gravity (the weighted

sum of the results)

Step 4: Defuzzification…Step 4: Defuzzification…

Page 38: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

38

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

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

( x )

1.0

0.0

0.2

0.4

0.6

0.8

160 170 180 190 200

a b

210

A

150X

Step 4: Defuzzification…Step 4: Defuzzification…

Page 39: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

39

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 10060

Z

Degree ofMembership

67.4

Page 40: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

40

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

Michio SugenoMichio Sugeno suggested to use a single spike, a suggested to use a single spike, a singletonsingleton, , as the membership function of the rule consequent. A as the membership function of the rule consequent. A singletonsingleton, or more precisely a , or more precisely a fuzzy singletonfuzzy singleton, is a fuzzy , is a fuzzy set with a membership function that is unity at a single set with a membership function that is unity at a single particular point on the universe of discourse and zero particular point on the universe of discourse and zero everywhere else.everywhere else.

Sugeno fuzzy inferenceSugeno fuzzy inference

Page 41: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

41

Sugeno-style fuzzy inference is very similar to the Mamdani Sugeno-style fuzzy inference is very similar to the Mamdani method. Sugeno changed only a rule consequent. Instead of method. Sugeno changed only a rule consequent. Instead of a fuzzy set, he used a mathematical function of the input a fuzzy set, he used a mathematical function of the input variable. The format of the variable. The format of the Sugeno-style fuzzy ruleSugeno-style fuzzy rule is is

IFIF xx is is AAANDAND yy is is BBTHEN THEN zz is is f f ((x, yx, y))

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

Sugeno fuzzy inferenceSugeno fuzzy inference

Page 42: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

42

The most commonly used The most commonly used zero-order Sugeno fuzzy modelzero-order Sugeno fuzzy model applies fuzzy rules in the following form:applies fuzzy rules in the following form:

IFIF xx is is AAANDAND yy is is BBTHEN THEN zz is is kk

where where kk is a constant. is a constant.

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

Sugeno fuzzy inferenceSugeno fuzzy inference

Page 43: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

43

Sugeno-style rule evaluationSugeno-style rule evaluation

A3

1

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)

Page 44: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

44

Sugeno-style Sugeno-style aggregation of the rule outputsaggregation of the 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

Z0

0.2

1

Zk1 k2 k3 0

1

0.1Zk1 k2 k3

0.20.5

Page 45: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

45

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

655.02.01.0

805.0502.0201.0

)3()2()1(

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

kkk

kkkkkkWA

0 Z

Crisp Outputz1

z1

Sugeno-style Sugeno-style defuzzificationdefuzzification

Page 46: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

46

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

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

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

Page 47: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

47

Building a fuzzy expert system: case studyBuilding a fuzzy expert system: case study

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 objective here is to advise a manager of the The objective here is to advise a manager of the service centre on certain decision policies to keep service centre on certain decision policies to keep the customers satisfied.the customers satisfied.

Page 48: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

48

Process of developing a fuzzy expert systemProcess of developing a fuzzy expert system

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

2. Determine fuzzy sets.2. Determine fuzzy sets.

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.

Page 49: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

49

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

There are four main linguistic variables: average There are four main linguistic variables: 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..

Page 50: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

50

Linguistic variables and their rangesLinguistic variables and their ranges

Page 51: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

51

Step Step 22: Determine fuzzy sets: Determine fuzzy sets

Fuzzy sets can have a variety of shapes. However, Fuzzy sets 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.

Page 52: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

52

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

Page 53: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

53

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)

Page 54: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

54

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

Page 55: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

55

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)

Page 56: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

56

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

To accomplish this task, we might ask the expert to To accomplish this task, we might ask the expert to describe how the problem can be solved using the describe how the problem can be solved 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 such as books, computer databases, other sources such as books, computer databases, flow diagrams and observed human behaviour. flow diagrams and observed human behaviour.

Page 57: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

57

The rule tableThe rule table

Page 58: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

58

Rule Base 1Rule Base 1

Page 59: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

59

Step Step 44: Encode the fuzzy sets, fuzzy rules and : Encode the fuzzy sets, fuzzy rules and procedures to perform fuzzyprocedures to perform fuzzy inference into the inference into the expert systemexpert system

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

Page 60: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

60

Step Step 55: Evaluate and tune the system: Evaluate and tune the system

The last, and the most laborious, task is to evaluate The last, and the most laborious, task is to evaluate and tune the system. We want to see whether our and tune the system. 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.

Page 61: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

61

Three-dimensional plots for Rule Base 1Three-dimensional plots for Rule 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

number_of_spares

Page 62: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

62

Three-dimensional plots for Rule Base 1Three-dimensional plots for Rule 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

number_of_spares

Page 63: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

63

Three-dimensional plots for Rule Base 2Three-dimensional plots for Rule 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

number_of_spares

Page 64: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

64

Three-dimensional plots for Rule Base 2Three-dimensional plots for Rule 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

number_of_spares

0.5

Page 65: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

65

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.

Page 66: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

66

Tuning fuzzy systems Tuning fuzzy systems

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

2.2. Review the fuzzy sets, and if required define Review 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 fuzzy system to perform roughly.system to perform roughly.

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

Page 67: Fuzzy Expert Systems. 2 Fuzzy Logic Four types of fuzzy logics Classic logic Crisp setence: Height(John, 180) → Weight(John, 60) Crisp data: Height(John,

67

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.

Tuning fuzzy systems Tuning fuzzy systems