Fuzzy logicintro by

65
1 Fuzzy Logic and Fuzzy Inference Why use fuzzy logic? Tipping example Fuzzy set theory Fuzzy inference

Transcript of Fuzzy logicintro by

Page 1: Fuzzy logicintro by

1

Fuzzy Logic and Fuzzy Inference

• Why use fuzzy logic?

• Tipping example

• Fuzzy set theory

• Fuzzy inference

Page 2: Fuzzy logicintro by

2

What is fuzzy logic?

• A super set of Boolean logic

• Builds upon fuzzy set theory

• Graded truth. Truth values between True and False. Not everything is either/or, true/false, black/white, on/off etc.

• Grades of membership. Class of tall men, class of far cities, class of expensive things, etc.

• Lotfi Zadeh, UC/Berkely 1965. Introduced FL to model uncertainty in natural language. Tall, far, nice, large, hot, …

• Reasoning using linguistic terms. Natural to express expert knowledge.

If the weather is cold then wear warm clothing

Page 3: Fuzzy logicintro by

3

Fuzzy logic – A Definition

• Fuzzy logic provides a method to formalize reasoning when dealing with vague terms.

• Traditional computing requires finite precision which is not always possible in real world scenarios. Not every decision is either true or false, or as with Boolean logic either 0 or 1.

• Fuzzy logic allows for membership functions, or degrees of truthfulness and falsehoods. Or as with Boolean logic, not only 0 and 1 but all the numbers that fall in between.

Page 4: Fuzzy logicintro by

4

Why use fuzzy logic?

Pros:

• Conceptually easy to understand w/ “natural” maths

• Tolerant of imprecise data

• Universal approximation: can model arbitrary nonlinear functions

• Intuitive

• Based on linguistic terms

• Convenient way to express expert and common sense knowledge

Cons:

• Not a cure-all

• Crisp/precise models can be more efficient and even convenient

• Other approaches might be formally verified to work

Page 5: Fuzzy logicintro by

5

Tipping example

• The Basic Tipping Problem: Given a number between 0 and 10 that represents the quality of service at a restaurant what should the tip be?

Cultural footnote: An average tip for a meal in the U.S. is 15%, which may vary depending on the quality of the service provided.

Page 6: Fuzzy logicintro by

6

Tipping example: The non-fuzzy approach

• Tip = 15% of total bill

• What about quality of service?

Page 7: Fuzzy logicintro by

7

Tipping example: The non-fuzzy approach

• Tip = linearly proportional to service from 5% to 25%tip = 0.20/10*service+0.05

• What about quality of the food?

Page 8: Fuzzy logicintro by

8

Tipping example: Extended

• The Extended Tipping Problem: Given a number between 0 and 10 that represents the quality of service and the quality of the food, at a restaurant, what should the tip be?

How will this affect our tipping formula?

Page 9: Fuzzy logicintro by

9

Tipping example: The non-fuzzy approach

• Tip = 0.20/20*(service+food)+0.05

• We want service to be more important than food quality. E.g., 80% for service and 20% for food.

Page 10: Fuzzy logicintro by

10

Tipping example: The non-fuzzy approach

• Tip = servRatio*(.2/10*(service)+.05) + servRatio = 80%(1-servRatio)*(.2/10*(food)+0.05);

• Seems too linear. Want 15% tip in general and deviation only for exceptionally good or bad service.

Page 11: Fuzzy logicintro by

11

Tipping example: The non-fuzzy approach

if service < 3,

tip(f+1,s+1) = servRatio*(.1/3*(s)+.05) + ...

(1-servRatio)*(.2/10*(f)+0.05);

elseif s < 7,

tip(f+1,s+1) = servRatio*(.15) + ...

(1-servRatio)*(.2/10*(f)+0.05);

else,

tip(f+1,s+1) = servRatio*(.1/3*(s-7)+.15) + ...

(1-servRatio)*(.2/10*(f)+0.05);

end;

Page 12: Fuzzy logicintro by

CS 561, Sessions 20-21 12

Tipping example: The non-fuzzy approach

Nice plot but

• ‘Complicated’ function

• Not easy to modify

• Not intuitive

• Many hard-coded parameters

• Not easy to understand

Page 13: Fuzzy logicintro by

13

Tipping problem: the fuzzy approach

What we want to express is:

1. If service is poor then tip is cheap

2. If service is good the tip is average

3. If service is excellent then tip is generous

4. If food is rancid then tip is cheap

5. If food is delicious then tip is generous

or

1. If service is poor or the food is rancid then tip is cheap

2. If service is good then tip is average

3. If service is excellent or food is delicious then tip is generous

We have just defined the rules for a fuzzy logic system.

Page 14: Fuzzy logicintro by

14

Tipping problem: fuzzy solution

Decision function generated using the 3 rules.

Page 15: Fuzzy logicintro by

15

Tipping problem: fuzzy solution

• Before we have a fuzzy solution we need to find out

a) how to define terms such as poor, delicious, cheap, generous etc.

b) how to combine terms using AND, OR and other connectives

c) how to combine all the rules into one final output

Page 16: Fuzzy logicintro by

16

Fuzzy sets

• Boolean/Crisp set A is a mapping for the elements of S to

the set {0, 1}, i.e., A: S {0, 1}

• Characteristic function:

A(x) = { 1 if x is an element of set A

0 if x is not an element of set A

• Fuzzy set F is a mapping for the elements of S to the interval

[0, 1], i.e., F: S [0, 1]

• Characteristic function: 0 F(x) 1

• 1 means full membership, 0 means no membership and anything in between, e.g., 0.5 is called graded membership

Page 17: Fuzzy logicintro by

17

Fuzzy Sets (contd.)

• fuzzy set A

• A = {(x, µA(x))| x Є X} where µA(x) is called the membership

function for the fuzzy set A. X is referred to as the universe of discourse.

• The membership function associates each element x Є X with a value in the interval [0,1].

Page 18: Fuzzy logicintro by

18

Example: Crisp set Tall

• Fuzzy sets and concepts are commonly used in natural language

John is tallDan is smartAlex is happyThe class is hot

• E.g., the crisp set Tall can be defined as {x | height x > 1.8 meters}

But what about a person with a height = 1.79 meters?

What about 1.78 meters?

What about 1.52 meters?

Page 19: Fuzzy logicintro by

19

Example: Fuzzy set Tall

• In a fuzzy set a person with a height of 1.8 meters would be considered tall to a high degreeA person with a height of 1.7 meters would be considered tall to a lesser degree etc.

• The function can changefor basketball players,Danes, women, children etc.

Page 20: Fuzzy logicintro by

20

Membership functions: S-function

• The S-function can be used to define fuzzy sets

• S(x, a, b, c) =

• 0 for x a

• 2(x-a/c-a)2 for a x b

• 1 – 2(x-c/c-a)2 for b x c

• 1 for x c

a b c

Page 21: Fuzzy logicintro by

21

Membership functions of one dimension

• These membership functions are some of the commonly used membership functions in the fuzzy inference systems.

• Triangle(x; a, b, c) = 0 if x a;

= (x-a)/(b-a) if a x b;

= (c-b)/(c-b) if b x c;

= 0 if c x.

• Trapezoid(x; a, b, c, d) = 0 if x a;

= (x-a)/(b-a) if a x b;

= 1 if b x c;

= (d-x)/(d-c) 0 if c x d;

= 0, if d x.

• Sigmoid(x; a, c) = 1/(1 + exp[-a(x-c)]) where a controls slope at the crossover point x = c.

Page 22: Fuzzy logicintro by

22

Membership functions of two dimensions

• One dimensional fuzzy set can be extended to form its cylindrical extension on second dimension

• Fuzzy set A = “(x,y) is near (3,4)” is

• µA(x,y) = exp[- ((x-3)/2)2 -(y-4)2 ]

= exp[- ((x-3)/2)2 ] exp -(y-4)2 ]

=gaussian(x;3,2)gaussian(y;4,1)

• This is a composite MF since it can be decomposed into twogaussian MFs

Page 23: Fuzzy logicintro by

23

Membership functions: P-Function

• P(x, a, b) =

• S(x, b-a, b-a/2, b) for x b

• 1 – S(x, b, b+a/2, a+b) for x b

E.g., close (to a)

b-a b+a/2b-a/2 b+a

a

a

Page 24: Fuzzy logicintro by

24

Simple membership functions

• Piecewise linear: triangular etc.

• Easier to represent and calculate saves computation

Page 25: Fuzzy logicintro by

25

Other representations of fuzzy sets

• A finite set of elements:

F = 1/x1 + 2/x2 + … n/xn

+ means (Boolean) set union

• For example:

TALL = {0/1.0, 0/1.2, 0/1.4, 0.2/1.6, 0.8/1.7, 1.0/1.8}

Page 26: Fuzzy logicintro by

26

Fuzzy sets with a discrete universe

• Let X = {0, 1, 2, 3, 4, 5, 6} be a set of numbers of children a family may possibly have.

• fuzzy set A with “sensible number of children in a family” may bedescribed by

• A = {(0, 0.1), (1, 0.3), (2, 0.7), (3, 1), (4, 0.7), (5, 0.3), (6, 0.1)}

Page 27: Fuzzy logicintro by

27

Fuzzy sets with a continuous universe

• X = R+ be the set of possible ages for human beings.

• fuzzy set B = “about 50 years old” may be expressed as

• B = {(x, µB(x)) | x Є X}, where

• µB(x) = 1/(1 + ((x-50)/10)4)

Page 28: Fuzzy logicintro by

28

We use the following notation to describe fuzzy sets.

• A = Σ xi Є X µA(xi)/ xi, if X is a collection of discrete objects,

• A = ∫X µA(x)/ x, if X is a continuous space.

Page 29: Fuzzy logicintro by

29

Fuzzy set operators

• EqualityA = BA (x) = B (x) for all x X

• ComplementA’A’ (x) = 1 - A(x) for all x X

• ContainmentA BA (x) B (x) for all x X

• UnionA BA B (x) = max(A (x), B (x)) for all x X

• IntersectionA BA B (x) = min(A (x), B (x)) for all x X

Page 30: Fuzzy logicintro by

30

• Support(A) is set of all points x in X such that

• {(x, µA(x)) | µA(x) > 0 }

• core(A) is set of all points x in X such that

• {(x, µA(x)) | µA(x) =1 }

• Fuzzy set whose support is a single point in X with µA(x) =1 is

called fuzzy singleton

Page 31: Fuzzy logicintro by

31

• Crossover point of a fuzzy set A is a point x in X such that

• {(x, µA(x)) | µA(x) = 0.5 }

• α-cut of a fuzzy set A is set of all points x in X such that

• {(x, µA(x)) | µA(x) ≥ α }

Page 32: Fuzzy logicintro by

32

Example fuzzy set operations

A’

A B A B

A B

A

Page 33: Fuzzy logicintro by

33

Linguistic Hedges

• Modifying the meaning of a fuzzy set using hedges such as very, more or less, slightly, etc.

• Concentration or Con operator

• Very F = F2

• Dilation or Dil operator

• More or less F = F1/2

• more or less tall

= DIL(old);

• extremely tall

= CON(CON(CON(old)))

• etc.

tall

More or less tallVery tall

Page 34: Fuzzy logicintro by

34

Fuzzy inference

• Fuzzy logical operations

• Fuzzy rules

• Fuzzification

• Implication

• Aggregation

• Defuzzification

Page 35: Fuzzy logicintro by

35

Fuzzy logical operations

• AND, OR, NOT, etc.

• NOT A = A’ = 1 - A(x)

• A AND B = A B = min(A (x), B (x))

• A OR B = A B = max(A (x), B (x))

A B A and B

0 0 0

0 1 0

1 0 0

1 1 1

A B A or B

0 0 0

0 1 1

1 0 1

1 1 1

A not A

0 1

1 0

1-Amax(A,B)min(A,B)

From the following

truth tables it is

seen that fuzzy

logic is a superset

of Boolean logic.

Page 36: Fuzzy logicintro by

36

If-Then Rules

• Use fuzzy sets and fuzzy operators as the subjects and verbs of fuzzy logic to form rules.

if x is A then y is B

where A and B are linguistic terms defined by fuzzy sets on the sets X and Y respectively.

This reads

if x == A then y = B

Page 37: Fuzzy logicintro by

37

Evaluation of fuzzy rules

• In Boolean logic: p qif p is true then q is true

• In fuzzy logic: p qif p is true to some degree then q is true to some degree.

0.5p => 0.5q (partial premise implies partially)

• How?

Page 38: Fuzzy logicintro by

CS 561, Sessions 20-21 38

Evaluation of fuzzy rules (cont’d)

• Apply implication function to the rule

• Most common way is to use min to “chop-off” the consequent(prod can be used to scale the consequent)

Page 39: Fuzzy logicintro by

39

Summary: If-Then rules

1. Fuzzify inputsDetermine the degree of membership for all terms in the premise.If there is one term then this is the degree of support for the consequent.

2. Apply fuzzy operatorIf there are multiple parts, apply logical operators to determine the degree of support for the rule.

3. Apply implication methodUse degree of support for rule to shape output fuzzy set of the consequent.

How do we then combine several rules?

Page 40: Fuzzy logicintro by

40

Multiple rules

• We aggregate the outputs into a single fuzzy set which combines their decisions.

• The input to aggregation is the list of truncated fuzzy sets and the output is a single fuzzy set for each variable.

• Aggregation rules: max, sum, etc.

• As long as it is commutative then the order of rule exec is irrelevant.

Page 41: Fuzzy logicintro by

41

max-min rule of composition

• Given N observations Ei over X and hypothesis Hi over Y we have N rules:

if E1 then H1

if E2 then H2

if EN then HN

• H = max[min(E1), min(E2), … min(EN)]

Page 42: Fuzzy logicintro by

42

Defuzzify the output

• Take a fuzzy set and produce a single crisp number that represents the set.

• Practical when making a decision, taking an action etc.

I x

I

Center of largest area

Center of gravity

I=

Page 43: Fuzzy logicintro by

CS 561, Sessions 20-21 43

Tip = 16.7 %

Result of defuzzification

(centroid)

Fu

zzy i

nfe

ren

ce o

verv

iew

Page 44: Fuzzy logicintro by

44

Limitations of fuzzy logic

• How to determine the membership functions? Usually requires fine-tuning of parameters

• Defuzzification can produce undesired results

Page 45: Fuzzy logicintro by

45

Fuzzy tools and shells

• Matlab’s Fuzzy Toolbox

• FuzzyClips

• Etc.

Page 46: Fuzzy logicintro by

46

General Fuzzified Applications

• Quality Assurance

• Error Diagnostics

• Control Theory

• Pattern Recognition

Page 47: Fuzzy logicintro by

47

Specific Fuzzified Applications

• Otis Elevators

• Vacuum Cleaners

• Hair Dryers

• Air Control in Soft Drink Production

• Noise Detection on Compact Disks

• Cranes

• Electric Razors

• Camcorders

• Television Sets

• Showers

Japan, Korea, China were the early adapters of

Fuzzy Logic into industrial applications

Page 48: Fuzzy logicintro by

48

Expert Fuzzified Systems

• Medical Diagnosis

• Legal

• Stock Market Analysis

• Mineral Prospecting

• Weather Forecasting

• Economics

• Politics

Page 49: Fuzzy logicintro by

49

References

• Slides from CS 561 (Intro to AI) course, Sessions 20-21 of Paolo Pirjanian

• Slides from OperMgt 345 course of Mitch Pence, Boise State University

• Slides from CS623-Lec11-4Sept06, S.G.Sanjeevi of IIT Bombay.

• Fuzzy Logic. Fuzzy Logic - a powerful new technology.http://www.austinlinks.com/Fuzzy/

• FuzzyNet On-line. Automatic Transmission http://www.aptronix.com/fuzzynet/applnote/transmis.htm

• Garner, Martin. Weird Water and Fuzzy Logic: More notes of a Fringe Watcher.

• Generation 5. An Introduction to Fuzzy Logic. http://www.generation5.org/fuzzyintro.shtml

• Sowell, Thomas . FUZzy Logic For “Just Plain Folks” .

• You Fuzzin’ with me? http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol1/sbaa/article1.html

• Zadeh, Lotfi A. http://http.cs.berkeley.edu/People/Faculty/Homepages/zadeh.html

• Zadeh, L. (1965), "Fuzzy sets", Information and Control, 8: 338-353

• Jang J.S.R., (1997): ANFIS architecture. In: Neuro-fuzzy and Soft Computing (J.S. Jang, C.-T. Sun, E. Mizutani, Eds.), Prentice Hall, New Jersey

Page 50: Fuzzy logicintro by

50

An Example

The following, illustrates a basic “fuzzy” automatic transmission system. The transmission uses four fuzzy sensor inference inputs to control the best gear selection for the given conditions. The inputs are throttle, vehicle speed, engine speed and engine load.

Page 51: Fuzzy logicintro by

51

An Example (cont.)

Labels and Membership Functions of Throttle.

Page 52: Fuzzy logicintro by

52

An Example (cont.)

Labels and Membership Functions of vehicle speed.

Page 53: Fuzzy logicintro by

53

An Example (cont.)

Labels and Membership Functions of engine speed.

Page 54: Fuzzy logicintro by

54

An Example (cont.)

Labels and Membership Functions of engine load.

Page 55: Fuzzy logicintro by

55

An Example (cont.)

Labels and Membership Functions of shift.

Page 56: Fuzzy logicintro by

56

An Example (cont.)

Using the labels as defined in the previous slides, rules can be written for the fuzzy interface unit shown earlier. The rules provide a tangible knowledge base required for the decision process and are represented as English like if-then statements.

Page 57: Fuzzy logicintro by

57

An Example (cont.)

To create the fuzzy interface unit, rules such as the following would be developed to facilitate the automatic shifting of the vehicle.

If vehicle speed is low, variation of vehicle speed is small, slope resistance is positive large and accelerator is medium then mode is steep uphill mode.

If vehicle speed is medium, variation of vehicle speed is small, slope resistance is negative large and accelerator is small then mode is gentle downhill mode.

Page 58: Fuzzy logicintro by

58

An Example (cont.)

If Mode is Steep uphill mode, the Shift is No. 2

If Mode is Gentle downhill mode, then Shift is No. 3

The previous slides illustrate how fuzzy logic can provide a powerful tool when addressing complex situations that are not feasible using conventional approaches. By employing fuzzy logic, we have the ability to include additional variables and rules to take into account factors that might improve the behavior of the control system.

* See reference (see notes): http://www.aptronix.com/fuzzynet/applnote/transmis.htm

Page 59: Fuzzy logicintro by

59

Binary fuzzy relation

• A binary fuzzy relation is a fuzzy set in X × Y which maps eachelement in X × Y to a membership value between 0 and 1. If X and

Y are two universes of discourse, then

• R = {((x,y), R(x, y)) | (x,y) Є X × Y } is a binary fuzzy relation in X× Y.

• X × Y indicates cartesian product of X and Y

Page 60: Fuzzy logicintro by

60

Fuzzy Rules

• Fuzzy rules are useful for modeling human thinking, perception and judgment.

• A fuzzy if-then rule is of the form “If x is A then y is B” where A and B are linguistic values defined by fuzzy sets on universes of discourse X and Y, respectively.

• “x is A” is called antecedent and “y is B” is called consequent.

Page 61: Fuzzy logicintro by

61

Fuzzy relations

• A fuzzy relation for N sets is defined as an extension of the crisp relation to include the membership grade.

R = {R(x1, x2, … xN)/(x1, x2, … xN) | xi X, i=1, … N}

which associates the membership grade, R , of each tuple.

• E.g.

Friend = {0.9/(Manos, Nacho), 0.1/(Manos, Dan),0.8/(Alex, Mike), 0.3/(Alex, John)}

Page 62: Fuzzy logicintro by

62

Fuzzy intersection and Union

• AB = T(A(x), B(x)) where T is T-norm operator. There are somepossible T-Norm operators.

• Minimum: min(a,b)=a ٨ b

• Algebraic product: ab

• Bounded product: 0 ٧ (a+b-1)

Page 63: Fuzzy logicintro by

63

• C(x) = AB = S(A(x), B(x)) where S is called S-norm operator.

• It is also called T-conorm

• Some of the T-conorm operators

• Maximum: S(a,b) = max(a,b)

• Algebraic sum: a+b-ab

• Bounded sum: = 1 ٨(a+b)

Page 64: Fuzzy logicintro by

64

Examples, for such a rule are

• If pressure is high, then volume is small.

• If the road is slippery, then driving is dangerous.

• If the fruit is ripe, then it is soft.

Page 65: Fuzzy logicintro by

65

• The fuzzy rule “If x is A then y is B” may be abbreviated as A→ Band is interpreted as A × B.

• A fuzzy if then rule may be defined (Mamdani) as a binary fuzzyrelation R on the product space X × Y.

• R = A→ B = A × B =∫X×Y A(x) T-norm B(y)/ (x,y).