Fuzzy Logic

Download as pdf or txt
Download as pdf or txt
You are on page 1of 77

Fuzzy Logic

Budditha Hettige

Source: Gao Xinbo, E.E. Dept, Xidian University


WHAT IS FUZZY LOGIC?
Definition of fuzzy
Fuzzy not clear, distinct, or precise;
blurred
Definition of fuzzy logic
A form of knowledge representation suitable
for notions that cannot be defined precisely,
but which depend upon their contexts.
TRADITIONAL
REPRESENTATION OF LOGIC

Slow
Fast
Speed = 0
Speed = 1
bool speed;
get the speed
if ( speed == 0) {
// speed is slow
}
else {
// speed is fast
}
FUZZY LOGIC REPRESENTATION
Slowest
For every problem
[ 0.0 0.25 ]
must represent in
terms of fuzzy sets.
Slow
What are fuzzy [ 0.25 0.50 ]

sets?
Fast
[ 0.50 0.75 ]

Fastest
[ 0.75 1.00 ]
FUZZY LOGIC REPRESENTATION
CONT.

Slowest Slow Fast Fastest


float speed;
get the speed
if ((speed >= 0.0)&&(speed < 0.25)) {
// speed is slowest
}
else if ((speed >= 0.25)&&(speed < 0.5))
{
// speed is slow
}
else if ((speed >= 0.5)&&(speed < 0.75))
{
// speed is fast
}
else // speed >= 0.75 && speed < 1.0
{
// speed is fastest
}
Motivation
The term fuzzy logic refers to a logic of
approximation.
Boolean logic assumes that every fact is either
entirely true or false.
Fuzzy logic allows for varying degrees of truth.
Computers can apply this logic to represent
vague and imprecise ideas, such as hot, tall
or balding.
History
The precision of mathematics owes its success in
large part to the efforts of Aristotle and the
philosophers who preceded him.
Their efforts led to a concise theory of logic and
mathematics.
The Law of the Excluded Middle, states that every
proposition must either be True or False.
There were strong and immediate objections. For
example, Heraclitus proposed that things could be
simultaneously True and not True.
History
Plato laid a foundation for what would become
fuzzy logic, indicating that there was a third
region (beyond True and False) where these
opposites tumbled about.
The modern philosophers, Hegel, Marx, and
Engels, echoed this sentiment.
Lukasiewicz proposed a systematic alternative
to the bi-valued logic of Aristotle.
History
In the early 1900s, Lukasiewicz described a
three-valued logic. The third value can be
translated as the term possible, and he
assigned it a numeric value between True and
False.
Later, he explored four-valued logics, five-valued
logics, and declared that in principle there was
nothing to prevent the derivation of an infinite-
valued logic.
History
Knuth proposed a three-valued logic similar to
Lukasiewiczs.
He speculated that mathematics would become
even more elegant than in traditional bi-valued
logic.
His insight was to use the integral range
[-1, 0 +1] rather than [0, 1, 2].
History
Lotfi Zadeh, at the University of California at
Berkeley, first presented fuzzy logic in the mid-
1960's.
Zadeh developed fuzzy logic as a way of processing
data. Instead of requiring a data element to be either
a member or non-member of a set, he introduced
the idea of partial set membership.
In 1974 Mamdani and Assilian used fuzzy logic to
regulate a steam engine.
In 1985 researchers at Bell laboratories developed
the first fuzzy logic chip.
The World is Vague
Natural language employs many vague and
imprecise concepts.
Translating such statements into more precise
language removes some of their semantic value.
The statement Dan has 100,035 hairs on his head
does not explicitly state that he is balding, nor does
Dans head hair count is 1.6 standard deviations
below the mean head hair count for people of his
genetic pool.
Suppose Dan were actually only 1.559999999
standard deviations below the mean? How does one
determine his genetic pool?
Precision and Significance
Eliminate the Vague?
It might be argued that vagueness is an obstacle to
clarity of meaning.
But there does seem to be a loss of expressiveness
when statements like, Dan is balding are
eliminated from the language.
This is what happens when natural language is
translated into classic logic. The loss is not severe
for accounting programs or computational
mathematics programs, but will appear when the
programming task turns to issues of queries and
knowledge.
What Is Lost
Could Be Significant
Experts are Vague
To design an expert system a major task is to codify
the experts decision-making process.
In a domain there may be precise, scientific tests
and measurements that are used in a fuzzy,
intuitive manner to evaluate results, symptoms,
relationships, causes, or remedies.
While some of the decisions and calculations could
be done using traditional logic, fuzzy systems afford
a broader, richer field of data and manipulations
than do more traditional methods.
Bivalence
Boolean logic assumes that every element is either
a member or a non-member of a given set (never
both). This imposes an inherent restriction on the
representation of imprecise concepts.
For example at 100F a room is hot and at
25F it is cold.
If the room temperature is 75F, it is much more
difficult to classify the temperature as hot or cold.
Boolean logic does not provide the means to identify
an intermediate value.
Introduce Fuzziness
Fuzzy logic extends Boolean logic to handle the
expression of vague concepts.
To express imprecision quantitatively, a set
membership function maps elements to real values
between zero and one (inclusive). The value
indicates the degree to which an element belongs
to a set.
A fuzzy logic representation for the hotness of a
room, would assign100F a membership value of
one and 25F a membership value of zero. 75F
would have a membership value between zero and
one.
Bivalence and Fuzz
Being Fuzzy
For fuzzy systems, truth values (fuzzy logic) or membership
values (fuzzy sets) are in the range [0.0, 1.0], with 0.0
representing absolute falseness and 1.0 representing
absolute truth.
For example,
"Dan is balding."
If Dan's hair count is 0.3 times the average hair count, we might
assign the statement the truth value of 0.8. The statement could
be translated into set terminology as:
"Dan is a member of the set of balding people."
This statement would be rendered symbolically with fuzzy sets as:
mBALDING(Dan) = 0.8
where m is the membership function, operating on the fuzzy set of
balding people and returns a value between 0.0 and 1.0.
Fuzzy Is Not Probability
Fuzzy systems and probability operate over the
same numeric range.
The probabilistic approach yields the natural-
language statement, There is an 80% chance
that Dan is balding. The fuzzy terminology
corresponds to Dan's degree of membership
within the set of balding people is 0.80.
Fuzzy Is Not Probability
The probability view assumes that Dan is or is
not balding (the Law of the Excluded Middle)
and that we only have an 80% chance of
knowing which set he is in.
Fuzzy supposes that Dan is more or less
balding, corresponding to the value of 0.80.
Confidence factors also assume that Dan is or is
not balding. The confidence factor simply
indicates how confident, how sure, one is that he
is in one or the other group.
Sets and Fuzzy Sets
Classical sets either an element belongs to the set or
it does not. For example, for the set of integers,
either an integer is even or it is not (it is odd).
However, either you are in the USA or you are not.
What about flying into USA, what happens as you
are crossing?
Another example is for black and white photographs,
one cannot say either a pixel is white or it is black.
However, when you digitize a b/w figure, you turn all
the b/w and gray scales into 256 discrete tones.
Sets and Fuzzy Sets
Classical sets are also called crisp (sets).
Lists: A = {apples, oranges, cherries, mangoes}
A = {a1,a2,a3 }
A = {2, 4, 6, 8, }
Formulas: A = {x | x is an even natural number}
A = {x | x = 2n, n is a natural number}
Membership or characteristic function

1 if x A
( x)

A 0 if x A


Sets and Fuzzy Sets
Fuzzy sets admits gradation such as all tones
between black and white. A fuzzy set has a
graphical description that expresses how the
transition from one to another takes place. This
graphical description is called a membership
function.
Fuzzy Sets (figure from Klir &Yuan)
Membership functions
(figure from Klir &Yuan)
Fuzzy set (figure from Earl Cox)
The Geometry of Fuzzy Sets (figure
from Klir &Yuan)
Rough Sets
A rough set is basically an approximation of a crisp set A in
terms of two subsets of a crisp partition, X/R, defined on
the universal set X.
Definition: A rough set, R(A), is a given representation of
a classical (crisp) set A by two subsets of X/R, R(A) and R(A)
that approach A as closely as possible from the inside
and outside (respectively) and
R( A) R( A), R( A)
where R(A) and are called the lower and upper
R(A)
approximation of A.
Rough sets
(figure from Klir &Yuan)
Interval Fuzzy Sets
(figure from Klir &Yuan)
Type-2 Fuzzy Sets
(figure from Klir &Yuan)
Operations on Fuzzy Sets:
Intersection (figure from Klir&Yuan)
Operations on Fuzzy Sets: Union and
Complement (figure from Klir&Yuan)
Operations on Fuzzy Numbers: Addition
and Subtraction (figure from Klir&Yuan)
Operations on Fuzzy Numbers: Multiplication
and Division (figure from Klir&Yuan)
Extension Principle
Given a formula f(x) and a fuzzy set A defined by, A(x)
how do we compute the membership function of f(A) ?
How this is done is what is called the extension principle (of
professor Zadeh). What the extension principle says is
that f (A) =f(A( )).
The formal definition is:
[f(A)](y)=supx|y=f(x){ A(x)}
Crisp Logic
Crisp logic is concerned with absolutes-true or false,
there is no in-between.
Example:
Rule:
If the temperature is higher than 80F, it is hot; otherwise, it
is not hot.
Cases:
Temperature = 100F Hot
Temperature = 80.1F Hot
Temperature = 79.9F Not hot
Temperature = 50F Not hot
Membership function of crisp logic

True

HOT
False

0
80F Temperature

If temperature >= 80F, it is hot (1 or true);


If temperature < 80F, it is not hot (0 or false).
Drawbacks of crisp logic
The membership function of crisp logic
fails to distinguish between members of
the same set.
Conception of Fuzzy Logic
Many decision-making and problem-
solving tasks are too complex to be
defined precisely

however, people succeed by using


imprecise knowledge

Fuzzy logic resembles human reasoning in


its use of approximate information and
uncertainty to generate decisions.
Natural Language
Consider:
Joe is tall -- what is tall?
Joe is very tall -- what does this differ from
tall?

Natural language (like most other activities


in life and indeed the universe) is not
easily translated into the absolute terms of
0 and 1.
false true
Fuzzy Logic
An approach to uncertainty that combines
real values [01] and logic operations

Fuzzy logic is based on the ideas of fuzzy


set theory and fuzzy set membership often
found in natural (e.g., spoken) language.
Example: Young
Example:
Ann is 28, 0.8 in set Young
Bob is 35, 0.1 in set Young
Charlie is 23, 1.0 in set Young

Unlike statistics and probabilities, the


degree is not describing probabilities that
the item is in the set, but instead describes
to what extent the item is the set.
Membership function of fuzzy logic

Fuzzy values
DOM
Degree of
Membership
Young Middle Old
1

0.5

0
25 40 55 Age

Fuzzy values have associated degrees of membership in the set.


Crisp set vs. Fuzzy set

A traditional crisp set A fuzzy set


Crisp set vs. Fuzzy set
Benefits of fuzzy logic
You want the value to switch gradually as
Young becomes Middle and Middle
becomes Old. This is the idea of fuzzy
logic.
Fuzzy Set Operations

Fuzzy union (): the union of two fuzzy sets is


the maximum (MAX) of each element from
two sets.
E.g.
A = {1.0, 0.20, 0.75}
B = {0.2, 0.45, 0.50}
A B = {MAX(1.0, 0.2), MAX(0.20, 0.45), MAX(0.75, 0.50)}
= {1.0, 0.45, 0.75}
Fuzzy Set Operations
Fuzzy intersection (): the intersection of
two fuzzy sets is just the MIN of each
element from the two sets.
E.g.
A B = {MIN(1.0, 0.2), MIN(0.20, 0.45),
MIN(0.75, 0.50)} = {0.2, 0.20, 0.50}
Fuzzy Set Operations
The complement of a fuzzy variable with
DOM x is (1-x).
Complement ( _c): The complement of a
fuzzy set is composed of all elements
complement.
Example.
Ac = {1 1.0, 1 0.2, 1 0.75} = {0.0, 0.8,
0.25}
Crisp Relations
Ordered pairs showing connection between two sets:
(a,b): a is related to b
(2,3) are related with the relation <

Relations are set themselves


< = {(1,2), (2, 3), (2, 4), .}
< 1 2
Relations can be expressed as matrices 1
2

Fuzzy Relations
Triples showing connection between two sets:
(a,b,#): a is related to b with degree #

Fuzzy relations are set themselves

Fuzzy relations can be expressed as matrices


Fuzzy Relations Matrices
Example: Color-Ripeness relation for tomatoes

R1(x, y) unripe semi ripe ripe

green 1 0.5 0

yellow 0.3 1 0.4

Red 0 0.2 1
Where is Fuzzy Logic used?
Fuzzy logic is used directly in very few
applications.

Most applications of fuzzy logic use it as


the underlying logic system for decision
support systems.
Fuzzy Expert System
Fuzzy expert system is a collection of
membership functions and rules that are
used to reason about data.

Usually, the rules in a fuzzy expert system


are have the following form:
if x is low and y is high then z is medium
Operation of Fuzzy System
Crisp Input

Fuzzification Input Membership Functions

Fuzzy Input

Rule Evaluation Rules / Inferences

Fuzzy Output

Defuzzification Output Membership Functions

Crisp Output
Building Fuzzy Systems
Fuzzification
Inference
Composition
Defuzzification
Fuzzification
Establishes the fact base of the fuzzy system. It identifies the
input and output of the system, defines appropriate IF THEN
rules, and uses raw data to derive a membership function.
Consider an air conditioning system that determine the best
circulation level by sampling temperature and moisture levels.
The inputs are the current temperature and moisture level.
The fuzzy system outputs the best air circulation level: none,
low, or high. The following fuzzy rules are used:
1. If the room is hot, circulate the air a lot.
2. If the room is cool, do not circulate the air.
3. If the room is cool and moist, circulate the air slightly.
A knowledge engineer determines membership functions that map
temperatures to fuzzy values and map moisture measurements to fuzzy
values.
Inference
Evaluates all rules and determines their truth values.
If an input does not precisely correspond to an IF
THEN rule, partial matching of the input data is used
to interpolate an answer.
Continuing the example, suppose that the system has
measured temperature and moisture levels and mapped them
to the fuzzy values of .7 and .1 respectively. The system now
infers the truth of each fuzzy rule. To do this a simple method
called MAX-MIN is used. This method sets the fuzzy value of
the THEN clause to the fuzzy value of the IF clause. Thus, the
method infers fuzzy values of 0.7, 0.1, and 0.1 for rules 1, 2,
and 3 respectively.
Composition
Combines all fuzzy conclusions obtained by inference
into a single conclusion. Since different fuzzy rules
might have different conclusions, consider all rules.
Continuing the example, each inference suggests a different
action
rule 1 suggests a "high" circulation level
rule 2 suggests turning off air circulation
rule 3 suggests a "low" circulation level.
A simple MAX-MIN method of selection is used where the
maximum fuzzy value of the inferences is used as the final
conclusion. So, composition selects a fuzzy value of 0.7 since
this was the highest fuzzy value associated with the inference
conclusions.
Defuzzification
Convert the fuzzy value obtained from composition
into a crisp value. This process is often complex
since the fuzzy set might not translate directly into a
crisp value.Defuzzification is necessary, since
controllers of physical systems require discrete
signals.
Continuing the example, composition outputs a fuzzy value of
0.7. This imprecise value is not directly useful since the air
circulation levels are none, low, and high. The
defuzzification process converts the fuzzy output of 0.7 into
one of the air circulation levels. In this case it is clear that a
fuzzy output of 0.7 indicates that the circulation should be set
to high.
Defuzzification
There are many defuzzification methods. Two of the
more common techniques are the centroid and
maximum methods.
In the centroid method, the crisp value of the output
variable is computed by finding the variable value of
the center of gravity of the membership function for
the fuzzy value.
In the maximum method, one of the variable values
at which the fuzzy subset has its maximum truth
value is chosen as the crisp value for the output
variable.
Examples
Fuzzification
Two Inputs (x, y) and one output (z)
Membership functions:
low(t) = 1 - ( t / 10 )
high(t) = t / 10

0.68
Low High

0.32
0
Crisp Inputs X=0.32 Y=0.61 t

Low(x) = 0.68, High(x) = 0.32, Low(y) = 0.39, High(y) = 0.61


Create rule base
Rule 1: If x is low AND y is low Then z is high

Rule 2: If x is low AND y is high Then z is low

Rule 3: If x is high AND y is low Then z is low

Rule 4: If x is high AND y is high Then z is high


Inference
Rule1: low(x)=0.68, low(y)=0.39 => Rule strength
high(z)=MIN(0.68,0.39)=0.39

Rule2: low(x)=0.68, high(y)=0.61 =>


low(z)=MIN(0.68,0.61)=0.61

Rule3: high(x)=0.32, low(y)=0.39 =>


low(z)=MIN(0.32,0.39)=0.32

Rule4: high(x)=0.32, high(y)=0.61 =>


high(z)=MIN(0.32,0.61)=0.32
Composition
Low(z) = MAX(rule2, rule3) = MAX(0.61, 0.32) = 0.61
High(z) = MAX(rule1, rule4) = MAX(0.39, 0.32) = 0.39

1
Low High

0.61

0.39

0
t
Defuzzification Max

tf (t )dt
Center of Gravity C Min
Max

f (t )dt
Min
1
Low High

Center of Gravity
0.61

0.39

0
t
Crisp output
A Real Fuzzy Logic System
The subway in Sendai, Japan uses a fuzzy
logic control system developed by Serji
Yasunobu of Hitachi.
It took 8 years to complete and was finally
put into use in 1987.
Control System
Based on rules of logic obtained from train
drivers so as to model real human
decisions as closely as possible

Task: Controls the speed at which the


train takes curves as well as the
acceleration and braking systems of the
train

This system is still not
perfect; humans can do
better because they
can make decisions
based on previous
experience and
anticipate the effects of
their decisions
This led to
Decision Support: Predictive Fuzzy
Control
Can assess the results of a decision and
determine if the action should be taken
Has model of the motor and break to
predict the next state of speed, stopping
point, and running time input variables
Controller selects the best action based on
the predicted states.

The results of the fuzzy logic controller for
the Sendai subway are excellent!!
The train movement is smoother than
most other trains
Even the skilled human operators who
sometimes run the train cannot beat the
automated system in terms of smoothness
or accuracy of stopping
Current Uses of Fuzzy Logic
Widespread in Japan
(multitudes of household appliances)
Emerging applications in the West

You might also like