## Fuzzy Logic

```Many popular descriptions claim that "fuzzy logic" represents a
significant shift in outlook, i.e., a "new way of thinking" about
the world, and that this enables a new set of solutions to problems
that have traditionally been treated with old-fashioned "unfuzzy"
logic.  But are the ideas and practices comprising "fuzzy logic"
really new, and how precisely are they applied to the solution of
practical problems?

The applications of fuzzy logic most often mentioned are in the
area of controls theory.  One actual practitioner of "fuzzy logic"
is OMRON Electronics, which produces a wide variety of control
systems for industrial and commercial products.  Their literature
includes an exposition (dated 1991) entitled "Fuzzy Logic, A 21st
Century Technology: An Introduction to Fuzzy Logic and Its Application
in Control Systems", which gives a forthright explanation of precisely
what they call "fuzzy logic" and how it's actually implemented in a
practical control system.

Suppose you're given three real-valued input signals X(t), Y(t),
Z(t), and based on these inputs you need to control a real-valued
output signal Q(t).  You first assign an intuitive verbal
characterization to each of a set of values for each parameter,
such as
-20 = Very Negative       (VN)
-10 = Somewhat Negative   (SN)
0 = Near Zero           (NZ)
+10 = Somewhat Positive   (SP)
+20 = Very Positive       (VP)

You, as the control engineer or system operator, are free to define
the categories for each parameter in accordance with your knowledge
of the system and what you think are the significant ranges.  (The
design process is definitely fuzzy here.)

For simplicity, let's assume you have chosen the above five categories
for all three inputs and for the output variable.  Then the "control
laws" are defined in the form of logical if-then statements.  For
example, we might define the following three laws for our system:

1. IF [X is Very Negative].AND.[Z is Slightly Positive]
THEN [Q should be Very Positive]

2. IF [Y is Sightly Positive].AND.[Z is Very Negative]
THEN [Q should be Slightly Negative]

3. IF [X is Near Zero].AND.[Y is Near Zero]
THEN [Q should be Near Zero]

The main advantages claimed for expressing control laws in this way
are (1) it is more intuitive than differential equations, and enables
you to capture your knowledge of how the system should work in everyday
linguistic terms, and (2) the laws are naturally broken down into
individual if-then statements that lend themselves to parallel
processing.

Anyway, for each input variable you construct an interpolation table
as shown below:

VN          SN        NZ          SP        VP
1.0
/\          /\        /\          /\        /\
/    \      /    \    /    \      /    \    /    \
/        \  /        \/        \  /        \/        \
/           /\        /  \        /\        /  \         \
/           /    \    /      \    /    \    /      \         \
0.0          /        \/          \/        \/          \         \
----------------------------------------------------------------
-20       -10          0        +10         +20

At any given moment, each input variable falls somewhere along the
horizontal scale, so you can determine the "degree of membership" of
that variable in each of the five catagories.  For example, if X=+7,
then its degrees of membership are VN=0.0, SN=0.0, NZ=0.3, SP=0.7, and
VP=0.0.  Now you insert all the degrees of membership for X,Y,Z into
the control laws, and compute what Q "should be" based on each
individual law.  The 'AND' operation is performed by simply selecting
the minimum of all the degrees of membership in the IF clause.

So let's say we've determined from our three laws that the degree of
membership of Q in the five categories "should be"

VP = 0.7 (from law 1)
SP = 0.0  (not used)
NZ = 0.1  (from law 3)
SN = 0.0  (from law 2)
VN = 0.0  (not used)

To determine the actual value of Q at this instant, we draw the
membership interpolation curves for Q, but we truncate each category
at its membership level.  For our example this is illustrated below:

VN          SN        NZ          SP        VP
1.0
0.7
________
/         \
0.1                     /             \
________              /                 \
0.0   _________________/          \__________/                     \
----------------------------------------------------------------
-20       -10          0        +10         +20

Now we compute the "center of gravity" of these combined trapezoids to
give the final value of Q at this instant.  (It looks like it would be

That's it.  To be honest, my initial reaction to this method was
that it's just a collection of simple interpolations supported by
informal verbal rationalizations that attempt to achieve effective
control without having to work with differential equations and
"really understand" the system.  On further reflection, I suppose
my definition of "really understanding" is biased toward the
differential equation view, while in fact there may well be situations
in which DIFEQs are not the optimum mode of description (such as
system with many non-linearities and discontinuities).  Also, from
a pragmatic point of view, if people prefer this verbal/categorical
approach, and if they can make it work (which they evidently can, at
least in some applications), then I suppose it shouldn't be dismissed
out of hand.  Whether a fuzzy approach could achieve the same level
of design efficiency as the difeq approach in a given application is
debateable, since the criterion for judging control system response
is often somewhat subjective.

In any case, the techniques described above are not really new,
since the use of ad hoc interpolation schemes has been common
practice in the design of control systems throughout history.
By the way, the fact that the people who originally invented and
applied these techniques had never heard of "fuzzy logic", and
believed they were practicing "ordinary logic", seems to suggest
that these techniques do not represent an essentially new or
"different" way of thinking about the world, but that a new name
has been given to old ideas.

Also, I disagree with the report on one specific point.  It says the
fact that the individual control laws act independently, and the
results are combined only at the last stage to form Q, makes these
control systems easier to test and verify, because it can be done
piece-meal.  In my view, one of the major DISadvantages of this
approach is that the use of so much arbitrary non-linear truncation
and jagged interpolation makes the resulting overall system highly
resistent to any concise mathematical analysis or characterization,
and the results of piece-meal testing would not necessarily reveal
all the potential operating characteristic of the entire system.

In a conventional system based on difeqs or discrete transforms we
can determine the stability characteristics of the system throughout
the entire operating envelope.  With a fuzzy system, my impression
is that you just "try it and see".  Since it's impractical to "try"
every possible dynamic condition the control might encounter during
its life, it would be difficult to give absolute assurance that such
a control system would be well-behaved in all cases.  Absolute
assurance may not be important for the control of, say, a toaster
oven, but it's definitely an issue for things like flight controls
where in-appropriate response could be hazardous.
```