Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What is a Fuzzy Expert System?

0 views
Skip to first unread message

Erik Horstkotte

unread,
Jan 18, 1993, 9:50:26 PM1/18/93
to
This is the second part in a three-part series of introductory articles on
the fuzzy field. The preceding article was titled "What is Fuzzy Logic?",
and the next article will be titled "What is Fuzzy Control?".

One point I didn't make in my previous article, "What is Fuzzy Logic", is that
in practice, the terms fuzzy subset and membership function get used nearly
interchangeably. I'll probably slip up and swap back and forth some - my
apologies in advance.


What is a Fuzzy Expert System?
------------------------------

Put as simply as possible, a fuzzy expert system is an expert system that uses
fuzzy logic instead of Boolean logic. In other words, a fuzzy expert system is
a collection of membership functions and rules that are used to reason about
data. Unlike conventional expert systems, which are mainly symbolic reasoning
engines, fuzzy expert systems are oriented toward numerical processing.

The rules in a fuzzy expert system are usually of a form similar to the
following:

if x is low and y is high then z = medium

where x and y are input variables (names for know data values), z is an output
variable (a name for a data value to be computed), low is a membership function
(fuzzy subset) defined on x, high is a membership function defined on y, and
medium is a membership function defined on z. The part of the rule between
the "if" and "then" is the rule's _premise_ or _antecedent_. This is a fuzzy
logic expression that describes to what degree the rule is applicable. The
part of the rule following the "then" is the rule's _conclusion_ or
_consequent_. This part of the rule assigns a membership function to each of
one or more output variables. Most tools for working with fuzzy expert systems
allow more than one conclusion per rule.

A typical fuzzy expert system has more than one rule. The entire group of
rules is collectively known as a _rulebase_ or _knowledge base_.

The Inference Process
---------------------

With the definition of the rules and membership functions in hand, we now need
to know how to apply this knowledge to specific values of the input variables
to compute the values of the output variables. This process is referred to
as _inferencing_. In a fuzzy expert system, the inference process is a
combination of four subprocesses: _fuzzification_, _inference_, _composition_,
and _defuzzification_. The defuzzification subprocess is optional.

For the sake of example in the following discussion, assume that the variables
x, y, and z all take on values in the interval [ 0, 10 ], and that we have the
following membership functions and rules defined.

low(t) = 1 - t / 10
high(t) = t / 10

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

Notice that instead of assigning a single value to the output variable z, each
rule assigns an entire fuzzy subset (low or high).

Notes:

1. In this example, low(t)+high(t)=1.0 for all t. This is not required, but
it is fairly common.

2. The value of t at which low(t) is maximum is the same as the value of t at
which high(t) is minimum, and vice-versa. This is also not required, but
fairly common.

3. The same membership functions are used for all variables. This isn't
required, and is also *not* common.

Fuzzification
-------------

In the fuzzification subprocess, the membership functions defined on the
input variables are applied to their actual values, to determine the degree
of truth for each rule premise. The degree of truth for a rule's premise
is sometimes referred to as its _alpha_. If a rule's premise has a nonzero
degree of truth (if the rule applies at all...) then the rule is said to
_fire_.

For example:

x y low(x) high(x) low(y) high(y) alpha1 alpha2 alpha3 alpha4
------------------------------------------------------------------------------
0.0 0.0 1.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0
0.0 3.2 1.0 0.0 0.68 0.32 0.68 0.32 0.0 0.0
0.0 6.1 1.0 0.0 0.39 0.61 0.39 0.61 0.0 0.0
0.0 10.0 1.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0
3.2 0.0 0.68 0.32 1.0 0.0 0.68 0.0 0.32 0.0
6.1 0.0 0.39 0.61 1.0 0.0 0.39 0.0 0.61 0.0
10.0 0.0 0.0 1.0 1.0 0.0 0.0 0.0 1.0 0.0
3.2 3.1 0.68 0.32 0.69 0.31 0.68 0.31 0.32 0.32
3.2 3.3 0.68 0.32 0.67 0.33 0.67 0.33 0.32 0.32
10.0 10.0 0.0 1.0 0.0 1.0 0.0 0.0 0.0 1.0

Inference
---------

In the inference subprocess, the truth value for the premise of each rule is
computed, and applied to the conclusion part of each rule. This results in
one fuzzy subset to be assigned to each output variable for each rule.

I've only seen two _inference methods_ or _inference rules_: _MIN_ and
_PRODUCT_. In MIN inferencing, the output membership function is clipped off
at a height corresponding to the rule premise's computed degree of truth.
This corresponds to the traditional interpretation of the fuzzy logic AND
operation. In PRODUCT inferencing, the output membership function is scaled
by the rule premise's computed degree of truth.

Due to the limitations of posting this as raw ASCII, I can't draw you a
decent diagram of the results of these methods. Therefore I'll give the
example results in the same functional notation I used for the membership
functions above.

For example, let's look at rule 1 for x = 0.0 and y = 3.2. As shown in the
table above, the premise degree of truth works out to 0.68. For this rule,
MIN inferencing will assign z the fuzzy subset defined by the membership
function:

rule1(z) = { z / 10, if z <= 6.8
0.68, if z >= 6.8 }

For the same conditions, PRODUCT inferencing will assign z the fuzzy subset
defined by the membership function:

rule1(z) = 0.68 * high(z)
= 0.068 * z

Note: I'm using slightly nonstandard terminology here. In most texts, the
term "inference method" is used to mean the combination of the things I'm
referring to separately here as "inference" and "composition." Therefore,
you'll see terms such as "MAX-MIN inference" and "SUM-PRODUCT inference" in
the literature. They mean the combination of MAX composition and MIN
inference, or SUM composition and PRODUCT inference respectively, to use my
terminology. You'll also see the reverse terms "MIN-MAX" and "PRODUCT-SUM" -
these mean the same things as the reverse order. I think it's clearer to
describe the two processes separately.

Composition
-----------

In the composition subprocess, all of the fuzzy subsets assigned to each
output variable are combined together to form a single fuzzy subset for each
output variable.

I'm familiar with two _composition rules_: _MAX composition_ and _SUM
composition_. In MAX composition, the combined output fuzzy subset is
constructed by taking the pointwise maximum over all of the fuzzy subsets
assigned to the output variable by the inference rule. In SUM composition,
the combined output fuzzy subset is constructed by taking the pointwise
sum over all of the fuzzy subsets assigned to the output variable by the
inference rule. Note that this can result in truth values greater than
one! For this reason, SUM composition is only used when it will be followed
by a defuzzification method, such as the CENTROID method, that doesn't have
a problem with this odd case.

For example, assume x = 0.0 and y = 3.2. MIN inferencing would assign the
following four fuzzy subsets to z:

rule1(z) = { z / 10, if z <= 6.8
0.68, if z >= 6.8 }

rule2(z) = { 0.32, if z <= 6.8
1 - z / 10, if z >= 6.8 }

rule3(z) = 0.0

rule4(z) = 0.0

MAX composition would result in the fuzzy subset:

fuzzy(z) = { 0.32, if z <= 3.2
z / 10, if 3.2 <= z <= 6.8
0.68, if z >= 6.8 }


PRODUCT inferencing would assign the following four fuzzy subsets to z:

rule1(z) = 0.068 * z
rule2(z) = 0.32 - 0.032 * z
rule3(z) = 0.0
rule4(z) = 0.0

SUM composition would result in the fuzzy subset:

fuzzy(z) = 0.32 + 0.036 * z

Defuzzification
---------------

Sometimes it is useful to just examine the fuzzy subsets that are the result
of the composition process, but more often, this _fuzzy value_ needs to be
converted to a single number - a _crisp value_. This is what the
defuzzification subprocess does.

There are more defuzzification methods than you can shake a stick at. A
couple of years ago, Mizumoto did a short paper that compared roughly thirty
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. There are several
variations of the MAXIMUM method that differ only in what they do when there
is more than one variable value at which this maximum truth value occurs.
One of these, the AVERAGE-OF-MAXIMA method, returns the average of the
variable values at which the maximum truth value occurs.

For example, go back to our previous examples. Using MAX-MIN inferencing
and AVERAGE-OF-MAXIMA defuzzification results in a crisp value of 8.4 for z.
Using PRODUCT-SUM inferencing and CENTROID defuzzification results in a
crisp value of 6.7 for z.

Note: sometimes the composition and defuzzification processes are combined,
taking advantage of mathematical relationships that simplify the process of
computing the final output variable values.

After all this ...

Where are Fuzzy Expert Systems Used?
------------------------------------

To date, fuzzy expert systems are the most common use of fuzzy logic. They
are used in several wide-ranging fields, including:

o Linear and nonlinear control.
o Pattern recognition.
o Financial systems.

and many others I can't think of. It's late. I'm going home! :-)
---
Erik Horstkotte, Togai InfraLogic, Inc.
The World's Source for Fuzzy Logic Solutions (The company, not me!)
er...@til.com, gordius!til!erik - (714) 975-8522
in...@til.com for info, fuzzy-...@til.com for fuzzy mail-server

Prahladavaradan Sampath

unread,
Jan 28, 1993, 6:38:52 AM1/28/93
to

I also would like a copy of the first article "What is Fuzzy logic".

I would be grateful if someone could mail this to me.

Thanks in advance

P.Sampath

Mike Gallo

unread,
Jan 28, 1993, 10:54:25 PM1/28/93
to

Please sign me up, too.
--
"I am not mad! I am a sane man fighting for my soul!"

S P RANGASWAMY

unread,
Jan 31, 1993, 4:58:40 PM1/31/93
to

Boy I would like to know too

rvs...@ritvax.isc.rit.edu

unread,
Feb 1, 1993, 2:14:41 PM2/1/93
to
Please include me too in the mailing list for the Paper.

Thanks!

Glen C. Perkins

unread,
Feb 2, 1993, 3:22:32 PM2/2/93
to
Erik, it looks like you have a candidate for your FAQs.
--
+-----------------------+---------------------------------------------------+
|--- Glen C. Perkins ---| |
| <gper...@netcom.com> | "Don't forget, your mind |
| Native Guide Software | only *simulates* logic." |
| Palo Alto, California | |
+-----------------------+---------------------------------------------------+

Teng-Wen Chang

unread,
Feb 2, 1993, 9:18:52 PM2/2/93
to
Hi, there, I would like to know too

Thanks

A Kashko

unread,
Feb 4, 1993, 9:11:13 AM2/4/93
to
In article <C1sFB...@cs.dal.ca> ha...@open.dal.ca (Dave Hazen) writes:

>In article <1993Jan29....@psg.com> mi...@psg.com (Mike Gallo) writes:
>>In article <C1KB...@brunel.ac.uk> cs9...@brunel.ac.uk (Prahladavaradan Sampath) writes:
>>>
>>> I also would like a copy of the first article "What is Fuzzy logic".
>>>
>>> I would be grateful if someone could mail this to me.
>>>
>>> Thanks in advance
>>>
>>> P.Sampath
>>
>>Please sign me up, too.
>
>and me!
>
>dave
>
>
>--
>Dave Hazen BitNet: ha...@open.dal.ca
>Dept. of Oceanography Telemail: dalhousie.ocean
>Dalhousie University Voice: (902) 494-3396
>Halifax, NS CANADA B3H 4J1 FAX: (902) 494-3877

Newsgroups: comp.ai.fuzzy,sci.engr.control
Subject: Re: What is a Fuzzy Expert System?
Summary:
Expires:
References: <C1KB...@brunel.ac.uk > <1993Jan29....@psg.com> <C1sFB...@cs.dal.ca>
Sender:
Followup-To:
Distribution:
Organization: Edinburgh University
Keywords:

In article <C1sFB...@cs.dal.ca > ha...@open.dal.ca (Dave Hazen) writes:


>In article <1993Jan29....@psg.com> mi...@psg.com (Mike Gallo) writes:
>>In article <C1KB...@brunel.ac.uk> cs9...@brunel.ac.uk (Prahladavaradan Sampath) writes:
>>>
>>> I also would like a copy of the first article "What is Fuzzy logic".
>>>
>>> I would be grateful if someone could mail this to me.
>>>
>>> Thanks in advance
>>>
>>> P.Sampath
>>
>>Please sign me up, too.
>

>and me!
>
>dave
>
>
>--
>Dave Hazen BitNet: ha...@open.dal.ca
>Dept. of Oceanography Telemail: dalhousie.ocean
>Dalhousie University Voice: (902) 494-3396
>Halifax, NS CANADA B3H 4J1 FAX: (902) 494-3877

Newsgroups: comp.ai.fuzzy,sci.engr.control
Subject: Re: What is a Fuzzy Expert System?
Summary:
Expires:
References: <C1KB...@brunel.ac.uk > <1993Jan29....@psg.com> <C1sFB...@cs.dal.ca>
Sender:
Followup-To:
Distribution:
Organization: Edinburgh University
Keywords:

In article <C1sFB...@cs.dal.ca > ha...@open.dal.ca (Dave Hazen) writes:


>In article <1993Jan29....@psg.com> mi...@psg.com (Mike Gallo) writes:
>>In article <C1KB...@brunel.ac.uk> cs9...@brunel.ac.uk (Prahladavaradan Sampath) writes:
>>>
>>> I also would like a copy of the first article "What is Fuzzy logic".
>>>
>>> I would be grateful if someone could mail this to me.
>>>
>>> Thanks in advance
>>>
>>> P.Sampath
>>
>>Please sign me up, too.
>

>and me!
>
>dave
>
>
>--
>Dave Hazen BitNet: ha...@open.dal.ca
>Dept. of Oceanography Telemail: dalhousie.ocean
>Dalhousie University Voice: (902) 494-3396
>Halifax, NS CANADA B3H 4J1 FAX: (902) 494-3877


Me Too


Alex Kashko, 92/6 Craighouse Gardens, Edinburgh, EH10-5LW Scotland
(I am a freelance translator gettign quite a bit on control theory and related
topics)

Patrick Wunsch

unread,
Feb 5, 1993, 2:23:13 PM2/5/93
to
In article <C1sFB...@cs.dal.ca>, ha...@open.dal.ca (Dave Hazen) writes:
|> In article <1993Jan29....@psg.com> mi...@psg.com (Mike Gallo) writes:
|> >In article <C1KB...@brunel.ac.uk> cs9...@brunel.ac.uk (Prahladavaradan Sampath) writes:
|> >>
|> >> I also would like a copy of the first article "What is Fuzzy logic".
|> >>
|> >> I would be grateful if someone could mail this to me.
|> >>
|> >> Thanks in advance
|> >>
|> >> P.Sampath
|> >
|> >Please sign me up, too.
|>
|> and me!
|>
|> dave
|>

and me too, please!

Patrick

------------------------------------------------------------------
Patrick Wunsch
Department of Computer and Information Science
University of Florida
Gainesville, FL 32601

p...@cis.ufl.edu
------------------------------------------------------------------

Andrew William Jackson

unread,
Feb 6, 1993, 6:02:23 PM2/6/93
to
In article <1993Feb5.1...@r-node.pci.on.ca> zi...@r-node.pci.on.ca (Adrian Buss Sys-op) writes:

>In article <1993Jan31....@ncsu.edu> spra...@eos.ncsu.edu (S P RANGASWAMY) writes:
>>
>>Boy I would like to know too
>
>Yes that would be most interesting. Fuzzy logic seems to be all the rage
>out there for plc's and stuff yet I as of yet have to hear someone who
>can give me a good explaination......Then again logic has alwayes been
>rather fuzzy so whats new? :)
>
>adrian


There is an article in the back of this months Scientific American that
talks about fuzzy logic. It didn't seem too revolutionary to me and
was in-fact kind of obvious.

I always thought fuzzy logic is a name someone made up for neural
network type processing.??

Please someone fill me in.


ajac...@ernie.princeton.edu


Rajeev K. Saraf

unread,
Feb 8, 1993, 11:52:10 AM2/8/93
to
Please include me on the list of people to receive the copy of
Fuzzy expert system . i am intertested in it too.
----
Rajeev saraf
sar...@vuse.vanderbilt.edu

John P

unread,
Feb 11, 1993, 6:26:25 AM2/11/93
to
In article <1993Feb11.1...@nuscc.nus.sg> isc2...@nusunix1.nus.sg (CHAY JOON KEONG) writes:
Rajeev K. Saraf (sar...@vuse.vanderbilt.edu) wrote:
: Please include me on the list of people to receive the copy of
Me too! (again)
aLvin.
isc2...@nusunix1.nus.sg
And me!
--
John Pallister pal...@elec.canterbury.ac.nz
Dept. of Electrical & Electronic Engineering
University of Canterbury, Christchurch, New Zealand
"Who can possibly rule, if no-one who wants to can be allowed to?" - THHGTG

CHAY JOON KEONG

unread,
Feb 11, 1993, 7:19:24 AM2/11/93
to
Rajeev K. Saraf (sar...@vuse.vanderbilt.edu) wrote:
: Please include me on the list of people to receive the copy of

Piotr Kolodziejski

unread,
Feb 11, 1993, 10:54:22 AM2/11/93
to

Rajeev K. Saraf (sar...@vuse.vanderbilt.edu) wrote:
: Please include me on the list of people to receive the copy of
: Fuzzy expert system . i am intertested in it too.
: ----
: Rajeev saraf
: sar...@vuse.vanderbilt.edu


Me too! (again)
Piotr
************************************************************
Piotr Kolodziejski
Luleo University, Kiruna br.
981 85 KIRUNA
tel. +46 980 184 35 of
+46 980 809 58 ho
fax. +46 980 137 31
e-mail Piotr.Kol...@sm.luth.se
*************************************************************

isc2...@nusunix1.nus.sg

D.I....@lut.ac.uk

unread,
Feb 18, 1993, 6:55:26 AM2/18/93
to
In article <C252u...@vuse.vanderbilt.edu> sar...@vuse.vanderbilt.edu (Rajeev K. Saraf) writes:
>Please include me on the list of people to receive the copy of
>Fuzzy expert system . i am intertested in it too.
>----
>Rajeev saraf
>sar...@vuse.vanderbilt.edu

Please include me in the list as well.
Thanxs in advance...

Dipesh Patel,
Dept. of Electronic / Electrical Engineering
Loughborough University,
Loughborough,
Leics. LE11 3TU.
el...@lut.ac.uk for email.

0 new messages