# Soft Computing by QyNzbnF

VIEWS: 0 PAGES: 216

• pg 1
```									Soft Computing
Fuzzy logic is part of soft
computing
Congress of Computational Intelligence

Neural Nets   Evolutionary Algorithms

Computational
Intelligence

Fuzzy
Logic
Fuzzy Logic and Functions
Constructive
Induction
Decision Trees
and other
Evolutionary
Algorithms      Fuzzy logic   Learning

Neural Nets
The Definition of Fuzzy Logic
Membership Function
• A person's height
membership function
graph is shown next
with linguistic values
of the degree of
membership as very
tall, tall, average,
short and very short
being replaced by
0.85, 0.65, 0.50, 0.45
and 0.15.
•   In traditional logic, statements can be
either true or false, and sets can
either contain an element or not.
•   These logic values and set
memberships are typically
represented with number 1 and 0.
logic by allowing statements to be
somewhat true, partially true, etc.
•   Likewise, sets can have full members,     tall
partial members, and so on.
•   For example, a person whose height is
5’ 9” might be assigned a                        medium
membership of 0.6 in the fuzzy set
“tall people”.
•   The statement “Joe is tall” is 60%
true of Joe is 5’9”.
•   Fuzzy logic is a set of “if--then”
statements based on combining fuzzy
sets. (Beale & Demuth..Fuzzy Systems
Toolbox.)
Fuzzy Sets, Statements, and
Rules
• A crisp set is simply a collection of objects taken from
the universe of objects.
• Fuzzy refers to linguistic uncertainty, like the word
“tall”.
• Fuzzy sets allow objects to have membership in more
than one set:
– e.g. 6’ 0” has grade 70% in the set “tall” and grade 40% in the
set “medium”.
• A fuzzy statement describes the grade of a fuzzy
variable with an expression:
– e.g. Pick a real number greater than 3 and less than 8.
The Definition of Fuzzy
Logic Rules
• A fuzzy logic system uses fuzzy logic rules, as in an
expert system where there are many if-then rules.
– A fuzzy logic rule uses membership functions as
variables.
• A fuzzy logic rule is defined as an if variable(s) and
then output fuzzy variable(s).
• Fuzzy logic variables are connected together like
binary equations with the variables separated with
operators of AND, OR, and NOT.
Contents
•   Review of classical logic and reasoning systems
•   Fuzzy sets
•   Fuzzy logic
•   Fuzzy logic systems applications
•   Fuzzy Logic Minimization and Synthesis
•   Practical Examples
•   Approaches to fuzzy logic decomposition
•   Our approach to decomposition
•   Combining methods and future research
Outline
•be introduced to the topics of:
– fuzzy sets,
– fuzzy operators,
– fuzzy logic
– and come to terms with the technology
•learn how to represent concepts using fuzzy logic
•understand how fuzzy logic is used to make deductions
•familiarise yourself with the `fuzzy' terminology
• One of the main aims of logic is to
provide rules which can be
employed to determine whether a
particular argument is correct or not.
• The language of logic is based on
mathematics and the reasoning
process is precise and
unambiguous.
Logical arguments
• Any logical argument consists of
statements.
• A statement is a sentence which
unambiguously either holds true or
holds false.
–Example:Today is Sunday
Predicates
• Example: Seven is an even number
– This example can be written in a mathematical form
as follows:
• 7  {x| x is an even number}
– or in a more concise way:
• 7  {x|P(x)}
– where | is read as such that and P(x) stands for `x
has property P' and it is known as the predicate.
– Note that a predicate is not a statement until some
particular x-value is specified.
– Once a x value is specified then the predicate
becomes a statement whose truth or falsity can be
worked out.
For All Quantifier
• For all x and y, x2-y2 is the same as (x+y)*(x-
y)
– This example can be written in a mathematical
form as well:
•  x,y ((x,yR) (x2-y2)=(x+y)*(x-y))
• where the is interpreted as 'for all',  is the
logical operator AND, and R represents what
is termed as the universe of discourse.
Universe of Discourse
• Using the universe of discourse one
assures that a statement is evaluated for
relevant values.
– The above predicate is then true only for real
numbers.
• Similarly for the first example the universe
of discourse is most likely to be the set of
natural numbers rather than buildings,
rivers, or anything else.
– Hence, using the concept of the universe of
discourse any logical paradoxes can not arise.
Existential Quantifier
• Another type of quantifier is the
existential quantifier ().
• The existential quantifier is
interpreted as 'there exists' or 'for
some' and describes a statement as
being true for at least one element of
the set.
• For example, (x)
((river(x)name(Amazon))
Connectives and their truth tables
• A number of connectives exist.
– Their sole purpose is to allow us to join together
predicates or statements in order to form more
complicated ones.
• Such connectives are NOT (~), AND (), OR ().
– Strictly speaking NOT is not a connective since it only
applies to a single predicate or statement.
• In traditional logic the main tools of reasoning
are tautologies, such as the modus ponens
(A(AB))B ( means implies).
Truth Tables
And        Or            Not
A          B           AÙB         AÚB        ~A
True       True        True        True       False
True       False       False       True       False
False      True        False       True       True
False      False       False       False      True

This everything will hold true, we will just
do a small modification to the material on
logic from the last quarter
Identities of Fuzzy Logic
• The form of identities used in fuzzy variables are the same as elements in
fuzzy sets.
• The definition of an element in a fuzzy set, {(x,u a(x))}, is the same as a fuzzy
variable x and this form will be used in the remainder of the paper.
• Fuzzy functions are made up of fuzzy variables.
The identities for fuzzy algebra are:

Idempotency:    X + X = X, X * X = X
Commutativity:  X + Y = Y + X, X * Y = Y * X
Associativity:  (X + Y) + Z = X + (Y + Z),
(X * Y) * Z = X * (Y* Z)
Absorption:      X + (X * Y) = X, X * (X + Y) = X
Distributivity:  X + (Y * Z) = (X + Y) * (X + Z),
X * (Y + Z) = (X * Y) + (X * Z)
Complement:      X’’ = X
DeMorgan's Laws: (X + Y)’ = X’ * Y’, (X * Y)’ = X’ + Y’
Transformations of Fuzzy
Logic Formulas
Some transformations of fuzzy sets with examples follow:
x’b + xb = (x + x’)b  b
xb + xx’b = xb(1 + x’) = xb
x’b + xx’b = x’b(1 + x) = x’b
a + xa = a(1 + x) = a
a + x’a = a(1 + x’) = a
a + xx’a = a
a+0=a
x+0=x
x*0=0
x+1=1
x*1=x
Examples:
a + xa + x’b + xx’b = a(1 + x) + x’b(1 + x) = a + x’b
a + xa + x’a + xx’a = a(1 + x + x’ + xx’) = a
Differences Between Boolean
Logic and Fuzzy Logic
•     In Boolean logic the value
of a variable and its inverse are
always disjoint (X * X’ = 0)
and (X + X’ = 1) because the
values are either zero or one.
•     Fuzzy logic membership
functions can be either disjoint
or non-disjoint.
•     Example of a fuzzy non-
linear and linear membership
function X is shown (a) with
its inverse membership
function shown in (b).
Fuzzy Intersection and Union
• From the membership
functions shown in the top in
(a), and complement X’ (b) the
intersection of fuzzy variable
X and its complement X’ is
shown bottom in (a).

• From the membership
functions shown in the top in
(a), and complement X’ (b) the
union of fuzzy variable X and
its complement X’ is shown
bottom in (b).

Fuzzy          Fuzzy union
intersection
Validation of Fuzzy Functions
valid
inconsistent

• Two fuzzy functions are valid iff the function outputs are  0.5 under all
possible assignments.
• This is like doing EXOR of two binary functions shown in (b) which is the
same as union.
• Two fuzzy functions are inconsistent iff the function output is  0.5 under all
possible assignments. Thus, if the output of the two fuzzy functions is < 0.5
then the two fuzzy functions are inconsistent.
• This is like exnor of two binary functions of shown in (a) which is the same
as intersection.
Fuzzy Logic
• The concept of fuzzy logic was introduced
by L.A Zadeh in a 1965 paper.
• Aristotelian concepts have been useful and
applicable for many years.
• But these traditional approaches present us
with certain problems:
– Cannot express ambiguity
– Lack of quantifiers
– Cannot handle exceptions
– Cannot express ambiguity:
• Consider the predicate `X is tall'.
• Providing a specific person we can turn the predicate into
a statement.
• But what is the exact meaning of the word `tall'?
• What is `tall' to some people is not tall to others.
– Lack of quantifiers:
• Another problem is the lack of being able to express
statements such as `Most of the goals came in the first
half '.
• The `most' quantifier cannot be expressed in terms of the
universal and/or existential quantifiers.
– Cannot handle exceptions:
• Another limitation of traditional predicate logic is
expressing things that are sometimes, but not
always true.
• In order to represent a set we use curly brackets {}.
• Within the curly brackets we enclose the names of the
items, separating them from each other by commas.
• The items within the curly brackets are referred to as
the elements of the set.
– Example: Set of vowels in the English alphabet = {a,e,i,o,u}
• When dealing with numerical elements we may replace
any number of elements using 3 dots.
– Example: Set of numbers from 1 to 100 = {1,2,3,...,100}
– Set of numbers from 23 to infinity = {23,24,25,...}
• Rather than writing the description of a set
all the time we can give names to the set.
• The general convention is to give sets names
in capital letters.
– Example:
• V = set of vowels in the English alphabet.
• Hence any time we encounter V implies the set {a, e, i, o, u}.

– For finite size sets a diagrammatic representation
can be employed which can be used to assist in
their understanding.
• These are called the cloud diagrams
Cloud Diagrams
A cloud diagram
V={a,e,i,o,u}

a
u
e

oi
Set order
• The order in which the elements are
written down is not important.
– Example: V = {a,e,i,o,u} = {u,o,i,e,a} = {a,o,e,u,i}
• The names of the elements in a set must
be unique.
– Example:
• V = {a,a,e,i,o,u}
• If two elements are the same then there is no point
writing them down twice (waste of effort)
• but if different then we must introduce a way to tell
them apart.
Set membership
• Given any set, we can test if a certain
thing is an element of the set or not.
• The Greek symbol, , indicates an
element is a member of a set.
• For example, xA means that x is an
element of the set A.
• If an element is not a member of a set, the
symbol  is used, as in A.
Set equality & subsets
• Two sets A and B are equal, (A= B) if every
element of A is an element of B and every
element of B is an element of A.

• A set A is a subset of set B, (A  B) if every
element of A is an element of B.

• A set A is a proper subset of set B, (A  B) if
A is a subset of B and the two sets are not
equal.
Set equality & subsets
• Two sets A and B are disjoint, (A  b) if and only
if their intersection is the empty set.
• There are a number of special sets. For instance:
–   Boolean B={True, False}
–   Natural numbers N={0,1,2,3,...}
–   Integer numbers Z={...,-3,-2,-1,0,1,2,3,...}
–   Real numbers R
–   Characters Char
–   Empty set  or {}
–   The empty set is not to be confused with {0} which is a
set which contains the number zero as its only
element.
Set operations
• We have a number of possible operators acting
on sets.
• The intersection ( ), the union ( ), the difference
(/), the complement (').
– Intersection results in a set with the common elements
of two sets.
– Union results in a set which contains the elements of
both sets.
– The difference results in a set which contains all the
elements of the first set which do not appear in the
second set.
– The complement of a set is the set of all element not in
that set.
Set operations example
• Using as an example the two following sets A and
B the mathematical representation of the
operations will be given.
– A = {cat, dog, ferret, monkey, stoat}
– B = {dog, elephant, weasel, monkey}
• C = A  B = {x e u | (x e A) (x e B)}={dog, monkey}
• C = A  B = {x e u | (x e A) (x e B)}={cat, ferret,
stoat, dog, elephant, weasel, monkey}
• C = A / B = {x e u | (x e A)  ~(x e B)}={cat, ferret,
stoat}
• C = A‘ = {x e u | ~(x e A)}
Set operations example using
Venn diagrams
Intersection        Union

A        B           A           B

Difference         om ent
C plem

A    B
A       A'
Soft
Computing and
Fuzzy Theory
What is fuzziness
• The concept of fuzzy logic was introduced in a 1965 paper by
• Professor Zadeh was motivated by his realization of the fact
that people base their decisions on imprecise, non-numerical
information.
• Fuzzification should not be regarded as a single theory but as
a methodology
– It generalizes any specific theory from a discrete to a continuous
form.
• For instance:
–    from Boolean logic to fuzzy logic,
–   from calculus to fuzzy calculus,
–    from differential equations to fuzzy differential equations,
–   and so on.
What is fuzziness
• Fuzzy logic is then a superset of
conventional Boolean logic.
• In Boolean logic propositions take a
value of either completely true or
completely false
• Fuzzy logic handles the concept of
partial truth, i.e., values between the
two extremes.
What is fuzziness
• For example, if pressure takes values
between 0 and 50 (the universe of
discourse) one might label the range 20 to
30 as medium pressure (the subset).
• Medium is known as a linguistic variable.
• Therefore, with Boolean logic 15.0 (or
even 19.99) is not a member of the
medium pressure range.
• As soon as the pressure equals 20, then
it becomes a member.
Boolean Medium Pressure
1
following Figure shows the membership function
The0.9
using Boolean logic.
0.8
0.7
0.6
0.5
0.4   Not-Member   Member    Not-Member
0.3
0.2
0.1
0                                             Pressure
10     20       30     40     50
What is fuzziness
• Contrast with the Figure of the next page
which shows the membership function using
fuzzy logic.
• Here, a value of 15 is a member of the medium
pressure range with a membership grade of
• Measurements of 20, 25, 30, 40 have grade of
memberships of 0.5, 1.0, 0.8, and 0.0
respectively.
• Therefore, a membership grade progresses
from non-membership to full membership and
again to non-membership.
Fuzzy Medium Pressure
1
0.9
0.8
0.7
0.6
Not-Member   Member        Not-Member
0.5
0.4
0.3
0.2
0.1
0                                                 Pressure
10     20       30     40         50
Fuzzy
Sets
Fuzzy Sets
• Fuzzy logic is based upon the notion of fuzzy sets.
– Recall from the previous section that an item is an
element of a set or not.
– With traditional sets the boundaries are clear cut.
– With fuzzy sets partial membership is allowed.
– Fuzzy logic involves 3 primary processes :
• Fuzzification
• Rule evaluation
• Defuzzification
– With fuzzy logic the generalised modus ponens is
employed which allows A and B to be characterised by
fuzzy sets.
Fuzzy Set Theory
Fuzzy Sets
•   Definition
•   Operations
•   Identities
•   Transformations
• Traditional sets, influenced from the
Aristotelian view of two-valued logic, have only
two possible truth values, namely TRUE or
FALSE, 1 or 0, yes or no etc.
• Something either belongs to a particular set or
does not.
• The characteristic function or alternatively
referred to as the discrimination function is
defined below in terms of a functional
mapping:
• In fuzzy sets, something may belong
partially to a set.
• Therefore it might be very true or
somewhat true, 0.2 or 0.9 in numerical
terms.
• The membership function using fuzzy
sets defined in terms of a functional
mapping is as shown below:
• Fuzzy logic allows you to violate the laws of
noncontradiction since an element can be a
member of more than one set.
• More set operations are available
• The excluded middle is not applicable, i.e.,
the intersection of a set with its complement
does not necessarily result to an empty set.
• Rule based systems using fuzzy logic in
some cases might increase the amount of
computation required in comparison with
systems using classical binary logic.

• If fuzzy membership grades are restricted to
{0,1} then Boolean sets are recovered.
• For instance, consider the Set Union
operator which states that the truth value of
two arguments x and y is their maximum:
– truth(x or y) = max(truth(x), truth(y)).

• If truth grades are either 0 or 1 then
following table is found:
– x y truth
–000
–011
–101
–111
• which is the same truth table as in the Boolean logic.
• So, every crisp set is fuzzy, but not
conversely.
Definition of Fuzzy Set
• A fuzzy set, defined as A, is a subset of a universe of discourse
U, where A is characterized by a membership function uA(x).

• The membership function uA(x) is associated with each point in
U and is the “grade of membership” in A.

• The membership function uA(x) is assumed to range in the
interval [0,1], with value of 0 corresponding to the non-
membership, and 1 corresponding to the full membership.

• The ordered pairs form the set {(u,uA(x))} to represent the
fuzzy set member and the grade of membership.
Operations on Fuzzy Sets
• The fuzzy set operations are defined as follows.
– Intersection operation of two fuzzy sets uses the symbols: , *, , AND, or min.
– Union operation of two fuzzy sets uses the symbols: , , +, OR, or max.

• Equality of two sets is defined as A = B  u a(x) = u b(x) for all x  X.

• Containment of two sets is defined as A subset B,
A  B  u a(x)  u b(x) for all x  X.

• Complement of a set A is defined as A’, where u a’(x) = 1 – u a(x) for all x  X.

• Intersection of two sets is defined as A  B
where u a  b (x) = min{(u a(x),u b(x))} for all x  X.
Where C  A, C  B then C  A  B.

• Union of two sets is defined as A  B where u a  b(x) = max{(u a(x), u b (x))}
for all x  X where D  A, D  B then D  A  B.
Fuzzy sets, logic, inference, control
– This is the appropriate place to clarify not what
the terms mean but their relationship.
– This is necessary because different authors and
researchers use the same term either for the
same thing or for different things.
– The following have become widely accepted:
• Fuzzy logic system
– anything that uses fuzzy set theory
• Fuzzy control
– any control system that employs fuzzy logic
• Fuzzy associative memory
– any system that evaluates a set of fuzzy if-then rules uses fuzzy
inference. Also known as fuzzy rule base or fuzzy expert
system
• Fuzzy inference control
– a system that uses fuzzy control and fuzzy inference
Fuzzy sets
• A traditional set can be considered as a special
case of fuzzy sets.
• A fuzzy set has 3 principal properties:

– the range of values over which the set is mapped

– the degree of membership axis that measures a domain
value's membership in the set

– the surface of the fuzzy set - the points that connect the
degree of membership with the underlying domain
Fuzzy sets
• Therefore, a fuzzy set in a universe of discourse U is
characterised by the membership function µx, which takes
values in the interval [0,1] namely µx:U[0,1].
– A fuzzy set X in U may be represented as a set of ordered pairs of a
generic element u and its grade of membership µx as
X={u,µX(u)/u _ U},
• i.e., the fuzzy variables u take on fuzzy values µx(u).
– When a fuzzy set, say X, is discrete and finite it may expressed as
X=µx(u1)/u1+...+µx(un)/un
• where `+' is not the summation symbol but the union operator, the `/’
does not denote division but a particular membership function to a
value on the universe of discourse.
Fuzzy set
1.5
1
0.5
0
0

3

6

9
Fuzzy sets
• As an example consider:
– the universe of discourse U={0,1,2,...,9}
– and a fuzzy set X1, `young generation decade'.
• A possible presentation now follows:
– X1={1.0/0+1.0/1+0.85/2+0.7/3+0.5/4+0.3/5+0.15/6+
0.0/7+0.0/8+0.0/9.
– The set is also shown in a graphical form
below.
1.5
1
0.5
0

0

3

6

9
Fuzzy set
• Another set, X2 might be `mid-age
generation decade. In discrete form this can
be depicted as
X2={0.0/0+0.0/1+0.5/2+0.8/3+1.0/4+0.7/5+0.3/6
1
+0.0/7+0.0/8+0.0/9. 0.9
0.8
0.7
0.6
0.4
0.3
0.2
0.1
0
0   1   2   3   4   5    6   7   8   9
– Support of a fuzzy set:                 Support, Crossover,
• The support of a fuzzy set is the
set of all elements of the               Singleton
universe of discourse that their
than zero.
• For X2 the support is {2,3,4,5,6}.
• Additionally, a fuzzy set has
compact support if its support
1
is finite.                                 0.9
0.8
– Crossover point:                              0.7
0.6
• The element of a fuzzy set that      Grade 0.5
0.4
has a grade of membership                  0.3
equal to 0.5 is known as the               0.2
0.1
crossover point.                             0
0   1   2   3   4   5    6   7   8   9
• For X2 the crossover point is 2.                                 Decade
– Fuzzy singleton:
Support, Crossover,
• The fuzzy set whose support is a
single point in the universe of
Singleton
membership equal to one is
known as the fuzzy singleton.
–   -Level sets:
• The fuzzy set that contains the
elements which have a grade of             1
0.9
membership greater than the -            0.8
0.7
level set is known as the -Level         0.6
set.                                     0.4
0.3
• For X2 the -Level set when               0.2
0.1
=0.6 is {3,4,5}.                          0
0   1   2   3   4   5    6   7   8   9

• Whereas for X2 the -Level set                                  Decade

when =0.4 is {2,3,4,5}.
Popular
Membership
Functions
Popular Membership Functions
• Membership Functions are used in order to return
the degree of membership of a numerical value for
a particular set.
– Fuzzy membership functions can have different shapes,
depending on someone's experience or even
preference.
– Here we review some of the membership functions used
in order to capture the modeler's sense of fuzzy
numbers.
– Membership functions can be drawn using:
• Subjective evaluation and elicitation
– (Experts specify at the end of an elicitation phase the appropriate
membership functions) or
– (One can draw from a set of given different curves.
Popular Membership Functions
• This simplifies the problem, for example to
– 1. choosing just the central value and the slope on
either side)
– 2. Converted frequencies (Information from a frequency
histogram can be used as the basis to construct a
membership function
• For example, let us consider the fuzzy
membership function of the linguistic variable
Tall.
• The following function can be one presentation:
Popular Membership Functions
0 if height(x) < 5 feet
height(x) - 5
Tall(x) =               if 5 feet  height(x)  7 feet
2
1 if height(x) > 7 feet

• Given the above definition the membership grade for an
expression like `Dimitris is Tall' can be evaluated.
Assuming a height of 6' 11'' the membership grade is 0.54
• Other popular shapes used are triangles and trapezoidals.
The S-Function
         0 for x  
                2
  x  
 2           for  x  
  
S ( x; ,  ,  )              
                2
1  2 x    for   x  


    
        

          1 for x
S-
The S-Function
1
function
0 .9

0 .8

0 .7

0 .6

0 .5

0 .4

0 .3

0 .2

0 .1

0                 x
a   b   g
The S-Function
• As one can see the S-function is flat at a value of 0
for xa and at 1 for xg. In between a and g the S-
function is a quadratic function of x.
– To illustrate the S-function we shall use the fuzzy
proposition Dimitris is tall.
– We assume that:
• The universe of discource are normal people
– (i.e., excluding the extremes of basketball players etc.)
– then we may assume that anyone less than 5 feet is not
tall (i.e., a=5) and anyone more than 7 feet is tall (i.e.,
g=7).
• Hence, b=6.
• Anyone between 5 and 7 feet has a membership function which
increases monotonically with his height.
S-Function
      0 for x  5

  x 5 
2

  2  for5 x  6
S ( x;5,6,7)           
  x  7 2
1   2  for6 x  7
         
       1 for x7
Hence the membership of 6 feet tall people is 0.5,
whereas for 6.5 feet tall people increases to 0.9.
S-
1
function
0 .9

0 .8

0 .7

0 .6

0 .5

0 .4

0 .3

0 .2

0 .1

0

5             6            7          Heigh
t
P-Function

                    
  S ( x;   ,   ,  ) for x  
( x;  ,  )                      2

1  S ( x; ,   ,    ) for x  
                  2
P-Function
-function
P
1

0.9

0.8

0.7

0.6

0.5                         b
0.4

0.3

0.2

0.1

0                                         x
g-b   g-(b/2)   g   g+(b/2)   g+b
P-Function
• The P-function goes to zero at  < , and the
0.5 point is at  = (/2).
• Notice that the  parameter represents the
bandwidth of the 0.5 points.
P-Function
-function
P
1

0.9

0.8

0.7

0.6

0.5                       6
0.4

0.3

0.2

0.1

0                                            x
1    4         7         10       13

 S ( x;1,4,7) for x  7
( x;6,7)  
1  S ( x;7,10,13) for x  7
Many argument
Fuzzy
Operations
Operations
• An example of fuzzy operations: X = { 1, 2, 3, 4, 5} and
fuzzy sets A and B.
• A = {(3,0.8), (5,1), (2,0.6)} and
B = {(3,0.7), (4,1), (2,0.5)} then
• A  B = {(3, 0.7), (2, 0.5)}
• A  B = {(3, 0.8), (4, 1), (5, 1), (2, 0.6)}
• A’ = {(1, 1), (2, 0.4), (3, 0.2), (4, 1), (5,0)}
Fuzzy operators
• What follows is a summary of some fuzzy set
operators in a domain X.
• For illustration purposes we shall use the following
membership sets:
– A= 0.8/2 + 0.6/3 + 0.2/4, and B = 0.8/3 + 0.2/5
– as well as X1 and X2 from above.
• Set equality:
– A=B if A(x)=B(x) for all xX
• Set complement:
– A' A' (x)=1-A (x) for all xX.
– This corresponds to the logic `NOT' function.
– A' (x) = 0.2/2 + 0.4/3 + 0.8/4
Fuzzy operators
• Subset: AB if and only if A(x)B(x) for all xX

• Proper Subset:
– AB if A(x)B(x) and A(x) B(x) for at least one xX

• Set Union:
– AB AB(x)=(A(x),B(x)) for all xX where  is the
join operator and means the maximum of the
arguments.
• This corresponds to the logic `OR' function.
– AB(x) = 0.8/2 + 0.8/3 + 0.2/4 + 0.2/5
Fuzzy Union Diagram
X1
1.2
1                              X2
0.8                              Union
0.4
0.2
0
0 1   2 3    4 5     6 7   8 9

– AB(x) = 0.8/2 + 0.8/3 + 0.2/4 + 0.2/5
Fuzzy operators
• Set Intersection:
– AB  AB(x)=( A(x),  B(x)) for all xX where  is
the meet operator and means the minimum of the
arguments.
• This corresponds to the logic `AND' function.
–  AB(x) = 0.6/3
• Set product:
– AB AB(x)=A(x)B(x)

• Power of a set:
– AN AN (x)=(A(x))N
Fuzzy Intersection diagram

X1
1.2
X2
1
0.8                              Inter.
0.4
0.2
0
0 1   2 3    4 5     6 7   8 9
Fuzzy operators
• Bounded sum or bold union: AB
– AB(x)=(1,(A(x)+B(x))) where is minimum and + is
• Bounded product or bold intersection: AB
– AB(x)=(0,(A(x)+B(x)-1)) where  is maximum and + is
• Bounded difference: A - B
– A- B(x)=(0,(A(x)-B(x)))
• where  is maximum and - is the arithmetic minus operator.
– This operation represents those elements that are more
in A than B.
Single argument
Fuzzy
Operations
Concentration set operator
• CON(A) CON(A)=(A(x))2
– This operation reduces the membership grade
of elements that have small membership
• If TALL=-.125/5+0.5/6+0.875/6.5+1/7+1/7.5+1/8
then
• VERY TALL =
0.0165/5+0.25/6+0.76/6.5+1/7+1/7.5+1/8
since VERY TALL=TALL2.
Concentration set operator
1
0.9
0.8           Original
0.7
0.6
0.5
0.4
0.3
Concentration
0.2
0.1
0
0   2         4    6        8      10   12   14
Dilation set operator
• DIL(A) DIL(A)=(A(x))0.5
– This operation increases the membership grade of
elements that have small membership grades.
– It is the inverse of the concentration operation.
• If TALL=-.125/5+0.5/6+0.875/6.5+1/7+1/7.5+1/8
then
• MORE or LESS TALL =
0.354/5+0.707/6+0.935/6.5+1/7+1/7.5+1/8 since
MORE or LESS TALL=TALL0.5.
Dilation set operator
1
0.9
0.8
Dilation
0.7
0.6
0.5
0.4
Original
0.3
0.2
0.1
0
0     2        4      6       8   10   12   14
Intensification set operator
• This operation raises the membership grade of
those elements within the 0.5 points and
• This operation reduces the membership grade of
those elements outside the crossover (0.5) point.
• Hence, intensification amplifies the signal within
the bandwidth while reducing the `noise'.
– If TALL = -.125/5+0.5/6+0.875/6.5+1/7+1/7.5+1/8 then
– INT(TALL) = 0.031/5+0.5/6+0.969/6.5+1/7+1/7.5+1/8.

 2(  A ( x)) 2 for 0   A ( x)  0.5
 INT ( A) ( x)  
1  2(1   A ( x)) for 0.5   A ( x)  1
2
Intensification set operator
1
0.9       intensification
Intensificatio
n
0.8
0.7
0.6
0.5                             Original
0.4
0.3
0.2
0.1
0
0         2           4     6        8   10   12   14
Normalization set operator
• NORM(A)(x)=A(x)/max{A(x)} where the
max function returns the maximum
membership grade for all elements of x.
– If the maximum grade is <1, then all
– If the maximum is 1, then the membership
• NORM(TALL) = TALL since the
maximum is 1
Hedges –
language related
operators
• The above diagram shows the relationship between
linguistic variables, term sets and fuzzy representations.
– Cold, cool, warm and hot are the linguistic values of the linguistic
variable temperature.
– In general a value of a linguistic variable is a composite term u = u1,
u2,...,un where each un is an atomic term.

linguistic            Temperature
Hedges
variable

Cold            Cool          Warm       Hot

term set

fuzzy set
representation
Hedges
• From one atomic term by employing
hedges we can create more terms.
• Hedges     such as very, most, rather,
slightly, more or less etc.
• Therefore, the purpose of the hedge is to
create a larger set of values for a
linguistic variable from a small collection
of primary atomic terms.
Hedges
– This is achieved using the processes of:
• normalisation,
• intensifier,
• concentration, and
• dilation.
– For example, using concentration very u
is defined by :
very u = u2 and
very very u = u4.
Hedges
– Let us assume the following definition for linguistic
variable slow (first is membership function, second
speed):
– u= 1.0/0 + 0.7/20 + 0.3/40 + 0.0/60 + 0.0/80 + 0.0/100.
– Then,
• Very slow = u2 = 1.0/0 + 0.49/20 + 0.09/40 + 0.0/60 +
0.0/80 + 0.0/100
• Very Very slow = u4 = 1.0/0 + 0.24/0 + 0.008/40 +
0.0/60 + 0.0/80 + 0.0/100
• More or less slow = u0.5 = 1.0/0 + 0.837/20 + 0.548/40
+ 0.0/60 + 0.0/80 + 0.0/100
membership
Hedges
1

0.9

0.8
more or less
0.7

0.6                              slow
0.5

0.4

0.3                                 very slow
0.2                                                  Speed

0.1

0       very very
0     slow20    40         60          80     100
Hedge rather
– The hedge rather is a linguistic modifier that moves each
membership by an appropriate amount C.
• Setting C to unity we get.
• Rather slow = 0.7/0 + 0.3/20 + 0.0/40 + 0.0/60 + 0.0/80
– The slow but not very slow is a modification which is using the
connective but, which in turn is an intersection operator.
– The membership function in its discrete form was found as follows:
•   slow = 1.0/0 + 0.7/20 + 0.3/40 + 0.0/60 + 0.0/80 + 0.0/100
•   very slow = 1.0/0 + 0.49/20 + 0.09/40 + 0.0/60 + 0.0/80 + 0.0/100
•   not very slow = 0.0/0 + 0.51/20 + 0.91/40 + 1.0/60 + 1.0/80 + 1.0/100
•   slow but not very slow = min(slow, not very slow) = 0.0/0 + 0.51/20 +
0.3/40 + 0.0/60 + 0.0/80 + 0.0/100
Hedges slow but not very slow and rather
slow
1

0.9

0.8

0.7
slow

0.6
slow but not very slow
0.5

0.4

0.3

0.2

0.1           rather slow

0
0           20    40                60            80   100
Hedge slightly
– The slightly hedge is the fuzzy set operator for
intersection acting on the fuzzy sets Plus slow
and Not (Very slow).
– Slightly slow = INT(NORM(PLUS slow and NOT
VERY slow) where Plus slow is slow to the power
of 1.25, and is the intersection operator.
• slow = 1.0/0 + 0.7/20 + 0.3/40 + 0.0/60 + 0.0/80 + 0.0/100
• plus slow = 1.0/0 + 0.64/20 + 0.222/40 + 0.0/60 + 0.0/80 +
0.0/100
• not very slow = 0.0/0 + 0.51/20 + 0.91/40 + 1.0/60 + 1.0/80
+ 1.0/100
• plus slow and not very slow = min(plus slow, not very
slow) = 0.0/0 + 0.51/20 + 0.222/40 + 0.0/60 + 0.0/80 +
0.0/100
Hedges
• norm (plus slow and not very slow) = (plus
slow and not very slow/max) = 0.0/0 + 1.0/20 +
0.435/40 + 0.0/60 + 0.0/80 + 0.0/100
– slightly slow = int (norm) = 0.0/0 + 1.0/20 +
0.87/40 + 0.0/60 + 0.0/80 +0.0/100.
Hedges
1
0.9
not very
0.8
slow
0.7
0.6
0.5
0.4
slightly slow
0.3
0.2
plus slow
0.1
0
0   20          40   60              80    100
Hedges
• Now we are in a better position to understand the
meaning of the syntactic and semantic rule.
– A syntactic rule defines, in a recursive fashion, more
term sets by using a hedge.
– For instance T(slow)={slow, very slow, very very
slow,...}.
– The semantic rule defines the meaning of terms such as
very slow which can be defined as very slow = (slow)2.
– One is obviously allowed either to generate new hedges
or to modify the meaning of existing ones
Linguistic
variables
Linguistic variables
• Looking at the production rules of either a expert system
or a fuzzy expert system one can not see any differences
– except that the fuzzy system is employing linguistic descriptors
rather than absolute numerical values.
– However, both parts of fuzzy rules have associated `levels of belief'
something lacking in traditional production rules.
• Secondly, with traditional production rules even when
more than one rule applies only one executes.
– With fuzzy rules all applicable rules contribute in calculating the
resulting output.
• All in all, fuzzy expert systems require fewer production rules
Linguistic variables
• A major reason behind using fuzzy logic is
the use of linguistic expressions.
• A linguistic variable consists of:
– the name of the variable (u),
– the term set of the variable (T(u)),
– its universe of discourse (U) in which the fuzzy
sets are defined,
– a syntactic rule for generating the names of
values of u, and
– a semantic rule for associating with each value
its meaning.
Linguistic variables

• For example:
• if u is temperature,
• then its term set T(temperature) could be:
– T(temperature)={cold, cool, warm, hot} over a
universe of discourse U=[0,300].
Linguistic variables
linguistic            Temperature
variable

Cold            Cool          Warm   Hot

term set

fuzzy set
representation
Fuzzy Set Definitions

We can have either continuous or
discrete definition of a fuzzy set
Linguistic Variable
• …. Terms, Degree of Membership, Membership
Function, Base Variable…..
Recap AI and Expert
Systems.
Fuzzy logic in this
framework
Overview of AI
– The realization by the Artificial Intelligence
community during the 1960's of the weakness
of general purpose problem solvers led to the
development of expert systems.
– Expert systems held the greatest promise for
capturing intelligence and have received more
attention than any other sub-discipline of
Artificial Intelligence.
• The term knowledge-based systems is used
interchangeably to avoid the mis-understandings
and mis-interpretations of the word 'expert'.
Expert Systems
– Irrespective of the adjective, each such system is
designed to operate in one of a variety of narrow areas.
knowledge of human experts.
– One might wonder what makes expert systems different
from conventional ones. One might remark that in some
sense, any computer program is expert at something.
• A payroll program incorporates knowledge about accountancy,
but it is not included in the expert class.
– The differences originate from the type of programming language
employed.
– Additionally, expert systems can reason using incomplete data and
can generate explanations and justifications, even during
execution of their actions.
Components of ES
– Knowledge-base module:
• this is the essential component of any
system.
• It contains a representation in a variety of
forms of knowledge elicited from a human
expert
– Inference engine module:
• the inference engine utilizes the contents
of the knowledge base in conjunction with
the data given by the user in order to
achieve a conclusion.
Components of ES
– Working memory module:
• this is where the user's responses and the system's
conclusions for each session are temporarily stored.
– Explanation module:
• this is an important aspect of an expert system.
• Answers from a computer are rarely accepted
unquestioningly.
• This is particularly true for responses from an expert
system.
• Any system must be able to explain how it reached its
conclusions and why it has not reached a particular
result.
Components of ES
– Justification module:
• using this module the system provides the user
with justification(s) of why some piece of
information is required.
– User interface module:
• the user of an expert system asks questions,
enters data, examines the reasoning etc.
• The input-output interface, using menus or
restricted language, enables the user to
communicate with the system in a simple and
uncomplicated way.
Methods of inference
• Much of the power of an expert system comes from the
knowledge embedded in it.
• In addition, the way the system infers conclusions is of
equal importance.
– Most expert systems apply forward and/or backward chaining.
• The mode of chaining describes the way in which the production
rules are activated.
• With forward chaining the user of the expert system asks what
conclusions can be made when this data is true.
• The expert system might or might not ask for further data.
• With backward chaining the user of the expert system asks what
• The expert system will ask the user for data.
Methods of inference
– To illustrate the two modes consider the
following situation.
– As you are driving you notice that behind you is
a police car with its lights and siren on.
– So the data is `light is on' and `siren is on'.
• The expert system will come to a conclusion such as
`stop the car' and `someone else to stop the car'.
• Obviously, the system can not make a hard decision
– You suddenly realise that the policeman in the car
is waving at you.
– This third piece of data `policeman is waving at
me' suggests to the system that they want you to
stop the car rather than someone else.
Methods of inference
– The previous scenario describes the forward chaining of
your expert system which in this case happens to be
– Now, the system starts applying backward chaining.
• There are numerous conclusions of why the police want you to
stop.
• For instance, 50 miles in a 30-mile zone, not-working brake light,
stolen plate number, turning to a one-way street etc.
• Therefore, your system starts collecting data to support any of
the hypothesised reasons.
• Since you just passed your MOT, know that this is your car, it is
not a one-way street the system deduces that you were
overspeeding.
Control Strategies
• This refers to how the expert system comes
to a conclusion, i.e., the mode of reasoning
describes the way in which the system as a
whole is organised.
– For instance, the order of looking at the rules;
– how to use meta-rules in order to check for
outstanding queries, of a completed goal and the
initiation of the evaluation of rules.
– The order of looking at the rules usually is in
lexical order viz. when scanning rules it will first
look at rule 1, and then rule 2 etc.
• When it searches, it inspects each rule to see if the left
hand conditions are true.
Control Strategies
• This is achieved by either reading the
working memory or by asking questions or
by generating further subgoals.
• In most cases the system continues to the
next rule until all rules have inspected.
– All rules that can execute are placed in a conflict
set and one of the rules is selected.
– The selected rule then executes. This is what is
known as the match, select and execute cycle.
Fuzzy Logic
Principles and
Learning
Fuzzy Logic Principles
• Fuzzy control produces actions using a set
of fuzzy rules based on fuzzy logic
 This involves:
 fuzzifying: mapping sensor readings into a set
of fuzzy inputs
 fuzzy rule base: a set of IF-THEN rules
 fuzzy inference: maps fuzzy sets onto other
fuzzy sets using membership fncts.
 defuzzifying: mapping a set of fuzzy outputs
onto a set of crisp output commands
Fuzzy Control
• Fuzzy logic allows for specifying
behaviors as fuzzy rules
 Such behaviors can be smoothly blended
together (e.g., Flakey robot)
 Fuzzy rules can be learned
Industrial Application of
Fuzzy Logic Control
History, State of the Art, and Future
Development
Uncertainty
Types of Uncertainty and the Modeling
of Uncertainty
• Stochastic Uncertainty:
– The Probability of Hitting the Target is 0.8

Lexical Uncertainty:
Methods of inference under
uncertainty
• This is very important to consider when using
expert systems since sometimes data is uncertain
(i.e., ambiguous, incomplete, noisy etc.).
• A number of theories have been devised to deal
with uncertainty.
– These include classical probability, Bayesian
probability, Shannon theory, Dempster-Shafer theory
among others.
– A popular method of dealing with uncertainty uses
certainty factors
Methods of inference under
uncertainty
• The certainty factor indicates the net belief in the
conclusion and premises of a rule based on some
evidence.
• Certainty factors are hand-crafted by asking
potential users questions such as `How much do
you believe that opening valve x will start a
flooding' and `How much do you disbelieve that
opening valve x will start a flooding'.
• The degree of certainty is the difference between
the two responses.
Production Rules
• Assuming that the knowledge-base
module contains knowledge represented
in the the format of production rules the
following    sections    introduce    the
following:
• the concept of a production rule
• the concept of linguistic variables
• the fuzzy inference concept
• the concept of fuzzification and how to
accomplish the crisp to fuzzy transformation
• the concept of defuzzification and how to
accomplish the fuzzy to crisp transformation
Knowledge presentation using
production rules
• From a philosophical point the concept of knowledge is highly
ambiguous and debatable
– knowledge-base builders treat knowledge from a narrower point of
view.
• This way the knowledge is easier to model and understand.
• It remains diverse including:
–    rules,
–   facts,
–   truths,
–   reasons,
–   defaults and
–    heuristics.
• The knowledge engineer needs some technique for capturing
what is known about the application.
Knowledge presentation using
production rules
• The technique should provide expressive adequacy
and notational efficacy.
• Knowledge representation is very much under
constant research.
• Several schemes have been suggested in the
literature, namely:
– semantic nets,
– frames and
– logic.
• Production rules have also been suggested and are
the most popular way of representing knowledge.
Knowledge presentation using
production rules
• Production rules are small chunks of knowledge
expressed in the form of if..then statements.
– The left hand side (IF) represents the antecedent or conditional
part.
– The right hand side (THEN) represents the conclusion or
action part.
– A number of rules collectively define a modularized know-how
system.
– The principal use of production rules is in the encoding of
empirical associations between incoming patterns of data and
actions that the system should perform as a consequence.
– The production rules are either expressed by an expert of the
field, or derived using induction.
Fuzzy Logic Control
• Fuzzy controller design consist of turning
intuitions, and any other information about how
to control a system, into set of rules.
• These rules can then be applied to the system.
• If the rules adequately control the system, the
design work is done.
• If the rules are inadequate, the way they fail
provides information to change the rules.
Control a Plant
A valve in an
internal
combustion
pressure            steam turbine                               engine that
temperature              system                         throttle    regulates the
amount of
vaporized
fuel entering
the cylindres
Rules presentation of ...
An Expert system       A fuzzy system
If temperature > 680      if temperature is hot
and pressure < 25        and pressure is low
then throttle is 165     then throttle is positive
medium
Using Fuzzy Logic for
Autonomous Vehicle Motion
Planning
• Findings of Stanford Research
Institute (SRI)
• Based on the performance of the robot
“Flakey” circa 1993
and path planning in an uncertain
environment
• Paper: “Using Fuzzy Logic for
Autonomous Vehicle Motion
Planning”
Difficulties of this problem
Flakey

• Autonomous operation of a mobile robot in a real-
world unstructured environment poses a series of
problems:
– knowledge about the environment is usually:
• incomplete
• uncertain, and
• approximate
– Perceptually acquired information is not reliable:
• noise introduces uncertainty and imprecision
• limited range and visibility introduces incompleteness
• errors in interpretation
More Difficulties with this
Problem                                           Flakey

• Real world environments have complex and
largely unpredictable dynamics
– objects can move
– the environment may be modified
– features may change
• – Vehicle action execution is not reliable:
• the results produced by sending a given command to an
effector can only be approximately estimated
• action execution may fail entirely
Robot Architecture using Fuzzy
Controller                           Flakey
Map
of the
LPS                    rooms

Key is “Local
Perceptual
Space”:

LPS is data structure
providing
geometric
picture around
vehicle                          Camera,etc
The Fuzzy Controller                               Flakey

• Physical motion based on complex fuzzy
controller
– Provides a layer of robust high-level motor skills.
• Basic building block of controller is a
“behavior”:
• A behavior is defined as implementing an atomic
motor skill aimed at achieving or maintaining a give
goal situation
– – e.g. follow a wall.
Implementing Behaviors                            Flakey

• Each behavioral skill is represented by means
of a “desirability function” that expresses
preferences over possible actions with
reference to the goal:
– e.g. a behavior aimed at following a given wall
prefers actions that keep the agent parallel to the
wall at a safe distance
Behavior through Fuzzy Rules
Flakey
• Each behavior was implemented by a set of fuzzy rules of
the form
– IF A THEN C
• A is composed of fuzzy predicates and connectives, and
• C is a fuzzy set of control vectors
– An example of a “keep off” behavior rule is:
IF obstacle-close-in-front AND NOT obstacle-
close-on-left THEN turn-sharp-left

Last slide used
Fast Reactive
Flakey

Behaviors
• Purely reactive behaviors, intended to provide quick
simple reactions to potential dangers typically use
sensor data that has undergone little or no
interpretation.
• Since quick response is necessary to avoid disaster,
little processing can be done.
Control Structures                                                          Flakey

• Purposeful behavior like attempting to reach a certain
location must take explicit goals into consideration.
• Goals represented in the LPS by means of control
structures.
• Control structure is a triple
– S = (A,B,C)
• A is a virtual object (artifact) in the LPS
• B is a behavior that specifies the way to react to the presence of this object,
and
• C is a fuzzy predicate expressing the context where the control structure is
relevant
Control Structure Example
S = (A,B,C)                                                                      Flakey
A is a virtual object (artifact) in the LPS
B is a behavior that specifies the way to react to the presence of this object, and
C is a fuzzy predicate expressing the context where the control structure is relevant

• An example control structure is
– S1=(CP1, go-to-CP, near(CP1)
• CP1 is a control-point (marker for a location), together with a heading and a
velocity
• go-to-CP reacts to the presence of S1 in the LPS by generating the
commands to reach the location, heading and velocity specified by CP1.
• go-to-CP includes rules like:
– IF facing(CP1) AND too-slow-for(CP1) THEN
accelerate-smooth-positive
Blending of Behaviors                               Flakey

• Many behaviors can be simultaneously active
• Fuzzy controller selects the controls that best
satisfy the active behaviors
• Satisfaction is weighted by each behavior’s
relevance to the current situation.
– e.g. can’t follow a wall if there isn’t one
• Context dependent blending of behaviors is
implemented by combining the output of all the
behaviors using context rules
Generating a plan:
S = (A,B,C)
A is a virtual object (artifact) in the LPS
B is a behavior that specifies the way to react to the presence of this object, and
C is a fuzzy predicate expressing the context where the control structure is relevant
Flakey
• simple goal-regressing planner used:
– based on a topological map annotated with approximate measurements (no
obstacles) working backwards from goal.
• An example plan might be:
S1 = (Obstacle, keep-off, near(Obstacle))
S2 = (Corr1, follow,~near(obstacle) AND at(Corr2) AND
~near(Corr2))
S3 = (Corr2, follow,~near(obstacle) AND at(Corr2) AND
~near(Door5))
S4 = (Door5, cross,~near(Obstacle) AND near(Door5))
Control structure
Executing the Plan                                  Flakey

•   S1 = (Obstacle, keep-off, near(Obstacle))
•   S2 = (Corr1, follow,~near(obstacle) AND at(Corr2) AND
•       ~near(Corr2))
•   S3 = (Corr2, follow,~near(obstacle) AND at(Corr2) AND
•      ~near(Door5))
•   S4 = (Door5, cross,~near(Obstacle) AND near(Door5))
More FUZZY LOGIC
SYSTEMS
APPLICATIONS
• 1. Discuss a Fuzzy Logic Control System
• 2. Steps in Designing a Fuzzy Logic Control System
• 3. Design of a Fuzzy Logic Control System:
– Input membership function,
– Fuzzy logic rules table,
– Output membership function.
Components of Fuzzy system:
• The components of a conventional
expert system and a fuzzy system are
the same.
• Fuzzy      systems though    contain
`fuzzifiers’.
– Fuzzifiers convert crisp numbers into
fuzzy numbers,
• Fuzzy systems contain `defuzzifiers',
– Defuzzifiers convert fuzzy numbers into
crisp numbers.
Fuzzification
• The function of the fuzzification component
is to convert crisp numbers to equivalent
fuzzy sets.
• Please notice that the inputs might require
some pre-processing in order to fit the
range of the fuzzy system.
Defuzzification
• The output of the combined
operation is defuzzified before being
• This implies the conversion of a
fuzzy set to a crisp number.
• There are several techniques of
defuzzification.
Conventional vs Fuzzy system
Components of a ...
conventional expert    fuzzy
system                    system
precise value
physical                       physical
device                          device
fuzzy
fuzzifier     value
precise
precise               precise
value
value                 value
fuzzy
model
knowledge
model
fuzzy
defuzzifier
value
Sections of a Fuzzy Logic Control
System

• Fuzzifier section
– System inputs with range of values
– Mapped to membership function can be non-linear in correspondence
• Fuzzy control section
– Input fuzzy values
– Through fuzzy rules
– Produce the fuzzy output values
• De-fuzzifier section
– Fuzzy output values are combined together in values needed for output
Steps in Designing a Fuzzy Logic Control System
1.     Identify the system input variables, their ranges, and
membership functions.
2.     Identify the output variables, their ranges, and membership
functions.
3.     Identify the rules that describe the relations of the inputs to
the outputs.
4.     Determine the de-fuzzifier method of combining fuzzy rules
into system outputs.
Calculate
Calculate                               Fuzzy     Combine
Inputs                      Fuzzy Inputs   Rule-Base                       Crisp        Output
Memberships                              Outputs   Outputs
value

Fuzzification step                                           Defuzzification step
Fuzzification step
Example design of a Fuzzy Logic
Control System – Cruise Control
The block diagram of the intelligent cruise
control system.
Input membership functions

The three input membership functions
Fuzzy Logic Rules Table
cruise    slow / distance from car ahead     fast / distance from car ahead
speed    15    30      45     60     75    15       30     45      60     75
+10     0.15 0.15    0.15   0.15   0.15   0.15    0.15   0.15    0.15   0.15

+5      0.15 0.15    0.35   0.35   0.35   0.15    0.15   0.15    0.35   0.35

0      0.15 0.50    0.50   0.50   0.50   0.15    0.15   0.35    0.50   0.50

-5      0.35 0.65    0.65   0.85   0.85   0.15    0.35   0.50    0.65   0.85

-10     0.35 0.65    0.85   0.85   0.85   0.15    0.50   0.65    0.85   0.85
Output membership function
The output is the
accelerator percentage
change needed to keep
the car a safe distance
and to keep the car at
cruising speed.
Fuzzy Inference: creating fuzzy
output
• At the end of the fuzzification step the working
memory module contains the values of the
fuzzified input.
– Each production rule is examined and all the rules that
have their premises satisfied `fire'.
– Hence, the only rules which do not fire are those that at
least one of their premises has a membership degree of
zero.
– In the case that more than one rule fires, this is common
and desirable, the system generates a single fuzzy
output.
• This is achieved by combining all fuzzy outputs.
– The single fuzzy output is then passed to the
defuzzification module which generates a crisp value.
• Then the system is ready to start the entire process all over
again.
SIMPLE EXAMPLE: a four-rule
system
• Assumptions
– Let X,Y and Z be the linguistic variables.
– Let the membership functions be low and
high.
– Let the membership functions be the
same for all linguistic variables.
– Define the membership functions as:
• low(linguistic) = 1 - t
• high(linguistic) = t
– where t is a value in the interval [0,1].
A Simple Example (Membership
Functions)

LOW
HIGH
A Simple Example (Rules)

• The rule base contains the following four
rules:
– if X is low and Y is low then Z is high (rule-1)
– if X is low and Y is high then Z is low (rule-2)
– if X is high and Y is low then Z is low (rule-3)
– If X is high and Y is high then Z is high (rule-4)
A Simple Example (Calculations)

• Next assume that the inputs are 0 and 0.32 for
the linguistic variables X and Y respectively.
– The problem then is to find if Z is high or low and
its crisp value.
• The next steps are followed:
– Step-1: Find the membership grade for the
premises of each rule. We have 8 premises but
due to replication only 4 are needed.
•   Low(X) = 1- t = 1-0 = 1
•   Low(Y) = 1- t = 1-0.32 = 0.68
•   High(X) = t = 0
•   High(Y) = t = 0.32
A Simple Example (Calculations)
– Step-2: Identify the rules
that can fire. In our case
only the first two rules can
fire since the last two
rules have a premise with
a     zero      degree    of                        1

membership.
– Step-3: For each rule that           X
0.68

can fire find the strength
0.68
of the firing.
Z
• Rule-1 = min(1,0.68) = 0.68
• Rule-2 = min(1,0.32) = 0.32   Y
.

• Note that min is used
because the premises are
connected with a logical
AND.
A Simple Example
1

.

X
0.32

Z

0.32

•Rule-2 = min(1,0.32) = 0.32

Y
A Simple Example (Calculations)

– Step-4: All the fuzzy outputs are
combined together to form a single
fuzzy subset.
– One way is to take the pointwise
maximum value over all fuzzy outputs.
– In our case we have two fuzzy outputs,
so for each point we take the maximum
value.
A Simple Example                  •   The rule base contains the following four
rules:
–   if X is low and Y is low then Z is high (rule-1)
–   if X is low and Y is high then Z is low (rule-2)
–   if X is high and Y is low then Z is low (rule-3)
–   If X is high and Y is high then Z is high (rule-4)

MAX

In our case we have two fuzzy outputs, so for each point we take the maximum value.
A Simple Example (Calculations)
– Step-5: The fuzzy combined output needs to
be converted to a single crisp value.
– Using one method which takes the Average-
of-Maxima. With this method one finds the
maximum peak of the fuzzy combined output -
in our case this is 0.68.
– Then one collects all the t values for which the
maximum value occurs - in our case there are
42 cases.
– Finally, the crisp value is the average of such
variables - in our case 0.84.
Development
Cycle
Do not discuss in the class – this is home reading
Development Cycle
Define model's functional                      Define post-model
and operational characteristics                   normalisation and data
flow
Define fuzzy sets

Define rules

Define acceptable limits
Define method of
defuzzification               for performance

Run simulation
of system

Tune and validate the                              Connect to production
system                                             systems
Development Cycle
– Step 1: The goal is to establish the characteristics
of the system, and also to define the specific
operating properties of the proposed fuzzy model.
• Traditional systems analysis and knowledge engineering
techniques can be employed at this stage. The designer
must identify the relevant and appropriate inputs to the
system; the basic transformations, if any, that are performed
on the inputs,; and what output is expected from the system.
• The designer must also decide if the fuzzy system is a
subsystem of a `global' system and if so to define where the
fuzzy subsystem fits into the `global architecture', or if it is
the `global' system itself.
• The numerical ranges of inputs and outputs must also be
specified. This step applies to the development of all
systems. Be prepared to throw away original versions at this
stage.
Development Cycle
– Step 2:     The goal is to decompose each control
variable (i.e., inputs and outputs) into fuzzy sets and
to give unique names to them.
• It has been reported in the literature that the number of
labels associated with a control variable should generally be
odd and between five and nine.
• Also, in order to obtain a smooth transition from a state to
another each label should overlap somewhat with its
neighbours. Overlapping of 10 to 50 percent is advised.
• Finally, the density of the fuzzy sets should be highest
around the optimal control point of the system and should
thin out as the distance from that point increases.
Development Cycle
• If possible begin with an exhaustive list of
production rules
• Deal with redundant, impossible and
implausible rules and/or conditions later.
– When the number of rules increases
dramatically, may be several rule-bases
might be constructed.
– Each rule-base to deal with a particular
situation/condition of the system to be
modelled.
Development Cycle
– Step 3: The goal is to obtain the production
rules that tie the input values to the output
values.
– Since each production rule `declares' a small
chunk of knowledge, the order in the
knowledge base is unimportant.
– Nevertheless, in order to maintain the
knowledge base one should group the
production rules by their premise variable.
– How many rules is obviously dependent on
the application and is related to the number
of control variables.
Development Cycle
– Step 4: The goal is to decide on the way that is going to
be used in order to convert a an output fuzzy set into a
crisp solution variable.
– As already indicated in another section there are many
ways to perform the conversion but by and large,
process control applications use the centroid technique.
– The rest of the steps are similar to any modelling
exercise. For instance, at the end of the fuzzy system
construction the process of simulation commences. The
model is compared against known test cases and the
results are validated. When the results are not as
desired changes are made until the desired performance
is achieved.
Popular Fuzzy
Inference
Methods
Popular Fuzzy Inference Methods
• Under the fuzzy inference process the grade of
each premise is found and applied to the
conclusion part of each rule.
– MIN or PRODUCT are two popular inference
methods.
– With MIN inferencing the output of the conclusion
part is clipped off at a height equal to the rule's
degree of firing.
• This was used in the simple example before and the MIN
inference for the first rule is re-shown below
• (Recall that the rule's degree of firing was 0.68):
MIN
1                         Original High
0.9
0.68
0.8
0.7                         MIN
0.6
0.5
0.4
0.3
0.2
0.1
0
0          0.5   1
PRODUCT
• With PRODUCT inferencing the output
membership function is scaled by the rule's
degree of firing.
• Using the first rule of the simple example
and the PRODUCT inference we get the
following
Product
1                      Original High
0.9
0.8
0.7
Product
0.6
0.5
0.4
0.3
0.2
0.1
0
0    0.5      1
Popular
methods for
combining
outputs
Popular methods for
combining outputs
• Under the combining outputs process all
outputs are combined together to produce a
single fuzzy output.
– MAX and SUM are two popular techniques for
combining outputs.
– With MAX the pointwise maximum for all fuzzy
outputs is taken.
– For the first rule of the simple example we used
the MAX techniques which resulted in the
following diagram:
1
Max
0.9
0.8
0.7                                   MAX
0.6
0.5
0.4
0.3                      Rule 2
0.2
0.1       Rule 1

0
0            0.5            1
SUM
• With SUM the pointwise sum for all fuzzy outputs
is taken.
• Again for the first rule of the simple example we
get:             1
0.9                                SUM
0.8
0.7
0.6
0.5                       Rule 1
0.4
0.3
0.2
0.1              Rule 2

0
0          0.5                 1
Popular defuzzification methods
• Under the defuzzification process a fuzzy output is
converted to a crisp number.
– Two of the more popular techniques are the MAXIMUM and the
CENTROID.
– With MAXIMUM one selects the maximum value of the fuzzy output
as the crisp value.
– There are several variations to the MAXIMUM theme.
• One such variation is the AVERAGE-OF-MAXIMA which was used in
the simple example and gave us a crisp value of 0.84.

• With the CENTROID method, the center of gravity of the
fuzzy output gives the crisp value.
• Using PRODUCT inferencing and the SUM combination the
CENTROID results in a crisp value of 0.56.
Example of calculation
of Maximum
n
 fuzzy point * strength of point
i 1
n
 fuzzy point
i 1

where n is the total number of fuzzy points (strips).
Calculating
the output of a
rule
Ways of Combining Fuzzy Logic
Output Values
There are four different
techniques to combine the
fuzzy logic rules output
values.

They are:
• Maximizer
• Average
• Centroid
• Singleton
Calculating the output of a
rule

• Rules have promises which are usually
combined together by the connective and.
• The output is calculated by taking the
degree of membership of the lesser of all
premises as the value of the combination
and truncating the output fuzzy set at that
level.
Calculating the output of a rule

Output
Premise-1   0.45

Truncated at
0.45            0.2

Premise-2
0.2
Combining rule outputs
• When all rules have been evaluated a
single fuzzy set is calculated by
combining all outputs.
• The combination involves the
connective or.
• The single output is calculated by taking
the maximum of their respective output
fuzzy sets grades at each point along
the horizontal axis.
Combining rule outputs
Output-1                                   Combined Output
0.2

0.8
Output-2

Think about the set of fuzzy rules as a
network with fuzzy literals and operators
MIN, MAX, etc. In primary inputs you have
Shifted        fuzzification, in primary outputs you have
horizontally   defuzzification. The network analogy is very
logic, or any other kind of data structure to
store knowledge.

Do in class a complete example of designing a fuzzy logic network
for a simple robot control with about 6 rules. Discuss various
operators and fuzzifiers, defuzzifiers.
STATIC,
ORGANISING
SYSTEMS
ORGANISING SYSTEMS
• Up to now we have seen that fuzzy logic supports
the task of designing a control system.
– What we examined in previous sections is known as the
`static' fuzzy system.
– In such a system, conventional techniques are
employed in order to elicit or induce production rules.
– Such a system, receives inputs which are then
normalised and converted to fuzzy representations, the
knowledge base is executed, an output fuzzy set is
generated which is then converted to a crisp value.
static' fuzzy system.
Input

Normalisation and
fuzzification

Execution of rules   Output fuzzy
set
Inference engine

Production rules

Fuzzy sets

Defuzzification

Output
ORGANISING SYSTEMS
– The rules do not change, except if modified by the hand of the
designer, for all the knowledge base lifetime.
– Static systems are fine for applications in which the environment is
known and predictable.
• But because they can not adapt to gradual changes in their
environments they can lead to disaster when the assumptions upon
which they are built are violated.
• This means that such a system modifies:
–    the charactersitics of the rules,
–   the topology of the fuzzy sets, and
–    the method of defuzzification
–    among others.
Input
Buffer       Performance
metric
Normalisation and
fuzzification

Output fuzzy
Execution of rules
set
Inference engine

Production rules
machine
Fuzzy sets

Defuzzification

Output
ORGANISING SYSTEMS
•  A performance metric, often another expert system or
an algorithm, compares the current and the stored array
of past solutions and the comparison result is passed
• The adaptation machine, often another expert system,
decides what changes to make in the underlying fuzzy
model.
– For instance:
• the contribution weights connected with each rule can be modified
or
• the membership functions re-drawn.
Misconceptions
concepts
Fuzziness is not Vague
• we shall have a look at some propositions.

• Dimitris is six feet tall
– The first proposition (traditional) has a crisp truth value
of either TRUE or FALSE.

• He is tall
– The second proposition is vague.
– It does not provide sufficient information for us to
make a decision, either fuzzy or crisp.
– We do not know the value of the pronoun.
– Is it Dimitris, John or someone else?
Fuzziness is not Vague
• Andrei is tall
– The third proposition is a fuzzy
proposition.
– It is true to some degree depending in
the context, i.e., the universe of
discourse.
– It might be SomeWhat True if we are
referring to basketball players or it
might be Very True if we are referring to
horse-jockeys.
Fuzziness is not Multi-valued
logic
– The limitations of two-valued logic were recognised very early.
– A number of different logic theories based on multiple values of
truth have been formulated through the years.
– For example, in three-valued logic three truth values have been
employed.
– These are TRUTH, FALSE, and UNKNOWN represented by 1, 0 and
0.5 respectively.

– In 1921 the first N-valued logic was introduced.
– The set of truth values Tn were assumed to be evenly divided over
the closed interval [0,1].
– Fuzzy logic may be considered as an extension of multi-valued
logic but they are somewhat different.
– Multi-valued logic is still based on exact reasoning whereas fuzzy
logic is approximate reasoning.
Fuzziness is not
Probability
• This is better explained using an example.
• Let X be the set of all liquids (i.e., the universe of
discourse) .
• Let L be a subset of X which includes all suitable for
drinking liquids.
• Suppose now that you find two bottles, A and B.
• The labels do not provide any clues about the contents.
• Bottle A label is marked as membership of L is 0.9.
• The label of bottle B is marked as probability of L is 0.9.
• Given that you have to drink from the one you choose,
the problem is of how to interpret the labels.
Fuzziness is not
Probability
• Well, membership of 0.9 means that the contents of A
are fairly similar to perfectly potable liquids.
• If, for example, a perfectly liquid is pure water then
bottle A might contain, say, tonic water.
• Probability of 0.9 means something completely
different.
• You have a 90% chance that the contents are potable
and 10% chance that the contents will be unsavoury,
some kind of acid maybe.
• Hence, with bottle A you might drink something that
is not pure but with bottle B you might drink
something deadly. So choose bottle A.
Fuzziness is not
Probability
• Opening both bottles you observe beer (bottle A) and
hydrochloric acid (bottle B).
• The outcome of this observation is that the membership stays the
same whereas the probability drops to zero.
• All in all:
– probability measures the likelihood that a future event will occur,
– fuzzy logic measures the ambiguity of events that have already occurred.
• In fact, fuzzy sets and probability exist as parts of a greater
Generalized Information Theory.
• This theory also includes:
– Dempster-Shafer evidence theory,
– possibility theory,
– and so on.
Applications of
Fuzzy concepts
Where is fuzzy logic
used?
– Fuzzy logic is a powerful problem-solving methodology.
• It is used directly and indirectly in a number of applications.
– Fuzzy logic is now being applied all over Japan, Europe
and more recently in the United States of America.
– It is true though that all we ever hear about is Japanese fuzzy logic.
– Products such as:
•   the Panasonic rice cooker,
•   Hitachi's vacuum cleaner,
•   Minolta's cameras,
•   Sony's PalmTop computer,
•   and so on.
– This is not unexpected since Japan adopted the
technology first.
Where is fuzzy logic
used?
– whereas in the West companies might keep
their fuzzy development secret because of
the implication of the word `fuzzy',
– or because companies want to preserve
– or because fuzzy logic is embedded in
– Most applications of fuzzy logic use it as
the concealed logic system for expert
systems.
Where is fuzzy logic
used?
• The areas of potential fuzzy implementation are
numerous and not just for control:
–   Speech recognition,
–   fault analysis,
–   decision making,
–   image analysis,
–   scheduling
–   and many more are areas where fuzzy thinking can
help.
• Hence, fuzzy logic is not just control but can be
utilized for other problems.
Where is fuzzy logic used?
• One business problem, namely that of fraud detection,
was recently addressed using fuzzy logic.
• The system detects probable fraudulent behavior:
– by evaluating all the characteristics of a provider's claim data in
parallel,
– against the normal behavior of a small ( in demographic terms )
community.
• An all-American success story is the use of fuzziness on keeping a
commercial refrigerator thermally controlled (0.1 C).
– The excitement comes due to the fact that this refrigerator has
flown on several space shuttle flights.
Where is fuzzy logic used?
• Another interesting application has been reported by Aptronix
Inc.
• Fuzzy logic was there used as a means of determining correct
focus distance for cameras with automatic focusing system.
• Traditionally, such a camera focuses at the middle of the view
finder.
• This can be inaccurate though when the object of interest is not
at the center.
• Using fuzzy logic, three distances are measured from the view
finder; left, center and right.
• For each measurement a plausibility value is calculated and the
measurement with the highest plausibility is deemed as the
place where the object of interest is located.
When to use Fuzzy Logic?
• If the system to be modelled is a
linear   system     which   can    be
represented by a mathematical
equation or by a series of rules then
straightforward techniques should be
used.
• Alternatively, if the system is
complex, fuzzy logic may be the
technique to follow.
When to use Fuzzy Logic?
• We define a complex system :
– when it is nonlinear, time-variant, ill-
defined;
– when variables are continuous;
– when a mathematical model is either too
difficult to encode or does not exist or is
too complicated and expensive to be
evaluated;
– when noisy inputs;
– and when an expert is available who can
specify the rules underlying the system
behavior.
Summary
• Fuzzy logic captures intuitive, human
expressions.
• Fuzzy sets, statements, and rules are the
basis of control.
• The technique is extremely powerful, and
appears in mills at a growing rate.
• It is combined with other methods and is
the base of soft computing
• Used much in Intelligent Robotics
Sources
• Paul and Mildred Burkey
• Weilin Pan
• Xuekun Kou
• A. Ferworn
• Kevin Morris
• Dr Dimitris Tsaptsinos
Kingston University, Mathematics
http://www.kingston.ac.uk/~ma_s435
ma_s435@kingston.ac.uk

```
To top