Anda di halaman 1dari 65

CS 561, Sessions 20-21

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

CS 561, Sessions 20-21
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
CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
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


CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
6
Tipping example: The non-fuzzy approach
Tip = 15% of total bill
What about quality of service?
CS 561, Sessions 20-21
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?
CS 561, Sessions 20-21
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?

CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
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;

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
CS 561, Sessions 20-21
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.

CS 561, Sessions 20-21
14
Tipping problem: fuzzy solution
Decision function generated using the 3 rules.
CS 561, Sessions 20-21
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
CS 561, Sessions 20-21
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 s
F
(x) s 1
1 means full membership, 0 means no membership and anything in
between, e.g., 0.5 is called graded membership
CS 561, Sessions 20-21
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].
CS 561, Sessions 20-21
18
Example: Crisp set Tall
Fuzzy sets and concepts are commonly used in natural language

John is tall
Dan is smart
Alex is happy
The 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?
CS 561, Sessions 20-21
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 degree
A person with a height of 1.7 meters would be considered tall to a
lesser degree etc.


The function can change
for basketball players,
Danes, women,
children etc.

CS 561, Sessions 20-21
20
Membership functions: S-function
The S-function can be used to define fuzzy sets
S(x, a, b, c) =
0 for x s a
2(x-a/c-a)
2
for a s x s b
1 2(x-c/c-a)
2
for b s x s c
1 for x > c

a b c
CS 561, Sessions 20-21
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 s a;
= (x-a)/(b-a) if a s x s b;
= (c-b)/(c-b) if b s x s c;
= 0 if c s x.

Trapezoid(x; a, b, c, d) = 0 if x s a;
= (x-a)/(b-a) if a s x s b;
= 1 if b s x s c;
= (d-x)/(d-c) 0 if c s x s d;
= 0, if d s x.
Sigmoid(x; a, c) = 1/(1 + exp[-a(x-c)]) where a controls slope at
the crossover point x = c.
CS 561, Sessions 20-21
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 two
gaussian MFs




CS 561, Sessions 20-21
23
Membership functions: HFunction
H(x, a, b) =
S(x, b-a, b-a/2, b) for x s b
1 S(x, b, b+a/2, a+b) for x > b


E.g., close (to a)
b-a b+a/2 b-a/2 b+a
a
a
CS 561, Sessions 20-21
24
Simple membership functions
Piecewise linear: triangular etc.
Easier to represent and calculate saves computation
CS 561, Sessions 20-21
25
Other representations of fuzzy sets
A finite set of elements:

F =
1
/x
1
+
2
/x
2
+
n
/x
n


+ 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}
CS 561, Sessions 20-21
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 be
described by
A = {(0, 0.1), (1, 0.3), (2, 0.7), (3, 1), (4, 0.7), (5, 0.3), (6, 0.1)}
CS 561, Sessions 20-21
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
)
CS 561, Sessions 20-21
28
We use the following notation to describe fuzzy sets.
A =
xi X

A
(x
i
)/ x
i
, if X is a collection of discrete objects,
A =
X

A
(x)/ x, if X is a continuous space.
CS 561, Sessions 20-21
29
Fuzzy set operators
Equality
A = B

A
(x)

=
B
(x) for all x e X
Complement
A

A
(x)

= 1 -
A
(x)

for all x e X
Containment
A _ B

A
(x)

s
B
(x) for all x e X
Union
A B

A B

(x) = max(
A
(x),

B
(x)) for all x e X
Intersection
A B

A B

(x) = min(
A
(x),

B
(x)) for all x e X

CS 561, Sessions 20-21
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

CS 561, Sessions 20-21
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) }



CS 561, Sessions 20-21
32
Example fuzzy set operations
A
A B

A B

A

B

A
CS 561, Sessions 20-21
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 = F
2
Dilation or Dil operator
More or less F = F
1/2
more or less tall
= DIL(old);
extremely tall
= CON(CON(CON(old)))
etc.
tall
More or less tall
Very tall
CS 561, Sessions 20-21
34
Fuzzy inference
Fuzzy logical operations
Fuzzy rules
Fuzzification
Implication
Aggregation
Defuzzification
CS 561, Sessions 20-21
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-A max(A,B) min(A,B)
From the following
truth tables it is
seen that fuzzy
logic is a superset
of Boolean logic.
CS 561, Sessions 20-21
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
CS 561, Sessions 20-21
37
Evaluation of fuzzy rules
In Boolean logic: p q
if p is true then q is true

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

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

How?
CS 561, Sessions 20-21
38
Evaluation of fuzzy rules (contd)
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)


CS 561, Sessions 20-21
39
Summary: If-Then rules
1. Fuzzify inputs
Determine 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 operator
If there are multiple parts, apply logical operators to determine the
degree of support for the rule.

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

How do we then combine several rules?
CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
41
max-min rule of composition
Given N observations E
i
over X and hypothesis H
i
over Y we have N
rules:

if E
1
then H
1

if E
2
then H
2


if E
N
then H
N


H
= max[min(
E1
), min(
E2
), min(
EN
)]
CS 561, Sessions 20-21
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.


E
I
x
E
I

Center of largest area
Center of gravity
I=
CS 561, Sessions 20-21
43
Tip = 16.7 %
Result of defuzzification
(centroid)
F
u
z
z
y

i
n
f
e
r
e
n
c
e

o
v
e
r
v
i
e
w

CS 561, Sessions 20-21
44
Limitations of fuzzy logic
How to determine the membership functions? Usually requires fine-
tuning of parameters

Defuzzification can produce undesired results



CS 561, Sessions 20-21
45
Fuzzy tools and shells
Matlabs Fuzzy Toolbox
FuzzyClips
Etc.
CS 561, Sessions 20-21
46
General Fuzzified Applications
Quality Assurance

Error Diagnostics

Control Theory

Pattern Recognition
CS 561, Sessions 20-21
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
CS 561, Sessions 20-21
48
Expert Fuzzified Systems
Medical Diagnosis

Legal

Stock Market Analysis

Mineral Prospecting

Weather Forecasting

Economics

Politics
CS 561, Sessions 20-21
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
CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
51
An Example (cont.)
Labels and Membership Functions of Throttle.
CS 561, Sessions 20-21
52
An Example (cont.)
Labels and Membership Functions of vehicle speed.
CS 561, Sessions 20-21
53
An Example (cont.)
Labels and Membership Functions of engine speed.
CS 561, Sessions 20-21
54
An Example (cont.)
Labels and Membership Functions of engine load.
CS 561, Sessions 20-21
55
An Example (cont.)
Labels and Membership Functions of shift.
CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
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
CS 561, Sessions 20-21
59
Binary fuzzy relation
A binary fuzzy relation is a fuzzy set in X Y which maps each
element 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

CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
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
(x
1
, x
2
, x
N
)/(x
1
, x
2
, x
N
) | x
i
e 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)}


CS 561, Sessions 20-21
62
Fuzzy intersection and Union

AB
= T(
A
(x),
B
(x)) where T is T-norm operator. There are some
possible T-Norm operators.
Minimum: min(a,b)=a b
Algebraic product: ab
Bounded product: 0 (a+b-1)


CS 561, Sessions 20-21
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)
CS 561, Sessions 20-21
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.
CS 561, Sessions 20-21
65
The fuzzy rule If x is A then y is B may be abbreviated as A B
and is interpreted as A B.
A fuzzy if then rule may be defined (Mamdani) as a binary fuzzy
relation R on the product space X Y.
R = A B = A B =
XY

A
(x) T-norm
B
(y)/ (x,y).

Anda mungkin juga menyukai