[comp.ai] Fuzzy Logic, Anyone?

loren@tristan.llnl.gov (Loren Petrich) (10/06/90)

	Has anyone around here used Fuzzy Logic?

	My understanding of it is that, in it, predicates may not only
be "true" or "false" but anywhere in between. If 0 is false and 1 is
true, then the truth-value of a predicate will lie between 0 and 1
inclusive of the two limits.

	It turns out that one can define the operations "not", "and"
and "or"; one can even define several pairs of the latter two
operations.

	It is said to be used extensively in Japan, and it appears to
outperform decision systems based on predicate values being only 0 or
1. For instance a fuzzy-logic train controller is said to give a very
smooth ride there.

	Is this going to be another field in which the Japanese are
going to leave us behind?

	Has anyone thought of developing fuzzy-logic expert systems?


$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Loren Petrich, the Master Blaster: loren@sunlight.llnl.gov

Since this nodename is not widely known, you may have to try:

loren%sunlight.llnl.gov@star.stanford.edu

PLai@cup.portal.com (Patrick L Faith) (10/08/90)

Loren asked if any one uses fuzy logic for expert systems:

Well I think there is a big difference between off the shelf expert systems
and custom ones.  Also seems to me that the logic/words people use in
school tend to blend together when you get programmers actually coding the
stuff.  I start off with an understanding of fuzzy systems but end up with
a bunch of tricks which to make things work.  Using networks where the nodes
are scored seems to be fairly standard to me, so I guess a lot of people use
fuzy logic without calling it fuzzy logic.  Of course I write ai engines
using C and FORTRAN that operate upon data files, are time critical, and
can't mess up - while I think most people working on AI are using some one
elses engine/prolog etc ... and don't have option of mixing and matching
differing AI approaches depending on the problem.

                                  PLai

BKort@bbn.com (Barry Kort) (10/12/90)

In article <69385@lll-winken.LLNL.GOV> loren@tristan.llnl.gov (Loren 
Petrich) writes:

> Has anyone around here used Fuzzy Logic?
> 
>         My understanding of it is that, in it, predicates may not only
> be "true" or "false" but anywhere in between. If 0 is false and 1 is
> true, then the truth-value of a predicate will lie between 0 and 1
> inclusive of the two limits.
> 
>         It turns out that one can define the operations "not", "and"
> and "or"; one can even define several pairs of the latter two
> operations.

A few years ago, Debby Guerrera and I used continuous-valued logic in 
precisely the way you outline above as part of a prototype diagnostic 
expert system.  The diagnostic subsystem entertained a collection of 
hypotheses regarding possible fault conditions in a complex system.  
Evidence for and against each hypothesis was accumulated and integrated 
into a "degree of belief".  If a particular fault condition was indeed 
present, the preponderance of confirmatory evidence would eventually push 
the degree of belief close enough to 1 to justify a postiive diagnosis.

We built the underlying model in Smalltalk and used Prolog for the expert 
system.  In retrospect, there was no real need to use Prolog to do the 
diagnostic reasoning, but we wanted to learn more about rule-based and 
goal-directed expert systems.

There is nothing inherently msyterious or difficult about 
continuous-valued logic.  The real challenge is to recognize the tell-tale 
clues from the observable behavior of the system when various fault 
conditions are present, and weave those clues into the calculations.  
After that, one has to run the model for extended periods to prove that 
that the diagnostic system can reliably detect all reasonable combinations 
of fault conditions.


Barry Kort
Visiting Scientist
BBN Labs
Cambridge, MA