ai – cs364 fuzzy logic fuzzy logic 3 03 rd october 2006 dr bogdan l. vrusias...

27
AI – CS364 AI – CS364 Fuzzy Logic Fuzzy Logic Fuzzy Logic 3 Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias [email protected]

Upload: amari-wilemon

Post on 14-Dec-2015

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Fuzzy Logic 3Fuzzy Logic 3

03rd October 2006

Dr Bogdan L. [email protected]

Page 2: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 2

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

ContentsContents• Fuzzy Inference

• Fuzzification of the input variables

• Rule evaluation

• Aggregation of the rule outputs

• Defuzzification

• Mamdani

• Sugeno

Page 3: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 3

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Fuzzy InferenceFuzzy Inference• 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. He applied a set of fuzzy rules supplied by experienced human operators.

Page 4: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 4

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Mamdani Fuzzy InferenceMamdani Fuzzy Inference• The Mamdani-style fuzzy inference process is performed in four

steps:

1. Fuzzification of the input variables

2. Rule evaluation (inference)

3. Aggregation of the rule outputs (composition)

4. Defuzzification.

Page 5: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 5

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Mamdani Fuzzy InferenceMamdani Fuzzy InferenceWe examine a simple two-input one-output problem that includes three rules:

Rule: 1 Rule: 1IF x is A3 IF project_funding is adequateOR y is B1 OR project_staffing is smallTHEN z is C1 THEN risk is low

Rule: 2 Rule: 2IF x is A2 IF project_funding is marginalAND y is B2 AND project_staffing is largeTHEN z is C2 THEN risk is normal

Rule: 3 Rule: 3IF x is A1 IF project_funding is inadequateTHEN z is C3 THEN risk is high

Page 6: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 6

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 1: FuzzificationStep 1: Fuzzification• The first step is to take the crisp inputs, x1 and y1 (project funding and

project staffing), and determine the degree to which these inputs belong to each of the 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 7: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 7

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 2: Rule EvaluationStep 2: Rule Evaluation• The second step is to take the fuzzified inputs, (x=A1) = 0.5, (x=A2)

= 0.2, (y=B1) = 0.1 and (y=B2) = 0.7, and 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.

Page 8: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 8

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 2: Rule EvaluationStep 2: Rule EvaluationRECAL:

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:

AB(x) = max [A(x), B(x)]

Similarly, in order to evaluate the conjunction of the rule antecedents, we apply the AND fuzzy operation intersection:

AB(x) = min [A(x), B(x)]

Page 9: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 9

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 2: Rule EvaluationStep 2: 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 10: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 10

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 2: Rule EvaluationStep 2: Rule Evaluation• Now the result of the antecedent evaluation can be applied to the

membership function of the consequent.

• There are two main methods for doing so:– Clipping

– Scaling

Page 11: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 11

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 2: Rule EvaluationStep 2: Rule Evaluation• The most common method of correlating the rule consequent with the

truth value of the rule antecedent is to cut the consequent membership function at the level of the antecedent truth. This method is called clipping (alpha-cut).

• Since the top of the membership function is sliced, the clipped fuzzy set loses some information.

• However, clipping is still often preferred because it involves less complex and faster mathematics, and generates an aggregated output surface that is easier to defuzzify.

Page 12: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 12

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 2: Rule EvaluationStep 2: Rule Evaluation• While clipping is a frequently used method, scaling 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.

Page 13: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 13

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 2: Rule EvaluationStep 2: Rule Evaluation

Degree ofMembership1.0

0.0

0.2

Z

Degree ofMembership

Z

C2

1.0

0.0

0.2

C2

clipping scaling

Page 14: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 14

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 3: Aggregation of the rule outputsStep 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.

• The input of the aggregation process is the list of clipped or scaled consequent membership functions, and the output is one fuzzy set for each output variable.

Page 15: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 15

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 3: Aggregation of the rule outputsStep 3: Aggregation 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 16: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 16

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 4: DefuzzificationStep 4: Defuzzification• The last step in the fuzzy inference process is defuzzification.

• 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 aggregate output fuzzy set and the output is a single number.

Page 17: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 17

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 4: DefuzzificationStep 4: Defuzzification• 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

aA

b

aA

dxx

dxxx

COG

Page 18: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 18

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 4: DefuzzificationStep 4: Defuzzification• 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.0

0.2

0.4

0.6

0.8

160 170 180 190 200

a b

210

A

150X

Page 19: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 19

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Step 4: DefuzzificationStep 4: Defuzzification

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 20: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 20

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Sugeno Fuzzy InferenceSugeno Fuzzy Inference• Mamdani-style inference, as we have just seen, requires us 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 singleton, or more precisely 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.

Page 21: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 21

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Sugeno Fuzzy InferenceSugeno Fuzzy Inference• 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 AAND y is BTHEN 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, respectively; and f(x, y) is a mathematical function.

Page 22: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 22

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Sugeno Fuzzy InferenceSugeno Fuzzy Inference• The most commonly used zero-order Sugeno fuzzy model applies

fuzzy rules in the following form:

IF x is AAND y is BTHEN 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.

Page 23: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 23

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Sugeno Rule EvaluationSugeno 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)

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 24: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 24

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Sugeno Aggregation of the Rule OutputsSugeno Aggregation 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 25: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 25

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Sugeno DefuzzificationSugeno Defuzzification

655.02.01.0

805.0502.0201.0

)3()2()1(

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

kkk

kkkkkkWA

Weighted Average (WA)

0 Z

Crisp Outputz1

z1

Page 26: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 26

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

Mamdani or Sugeno?Mamdani or Sugeno?• Mamdani method is widely accepted for capturing expert knowledge.

It allows us to describe the expertise in more intuitive, more human-like manner. However, Mamdani-type fuzzy inference entails a substantial computational burden.

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

Page 27: AI – CS364 Fuzzy Logic Fuzzy Logic 3 03 rd October 2006 Dr Bogdan L. Vrusias b.vrusias@surrey.ac.uk

03rd October 2006 Bogdan L. Vrusias © 2006 27

AI – CS364AI – CS364Fuzzy LogicFuzzy Logic

ClosingClosing

• Questions???

• Remarks???

• Comments!!!

• Evaluation!