# Re: Question about "Fuzzy expert system".

WSiler (wsiler@aol.com)
Tue, 6 Oct 1998 03:09:32 +0200 (MET DST)

Eric Gaudet wrote, quoting Will Dwinell:

>> would not be "1/2 true", but both would be completely true, but
>> pursued as separate lines of inference. This is where the messy
>> part comes in: with even a modest number of splits like this, the
>> number of lines of inference being pursued in parallel will
>> increase rapidly.
>
>You're right : my mistake. But what's fuzzy then ?

There is nothing fuzzy about firing or not firing a rule. That is a binary
proposition - you do or you don't.

The rule itself may be crisp or fuzzy. If it is crisp, the data have truth
values 0 or 1. If it is fuzzy, the data may have values in the 0-1 interval,
the antecedent may have truth values from 0-1, and any consequent values
created or modified may have truth values from 0-1.

Our program for diagnosing why an auto won't start is crisp - we don't have any
fuzzy data in it. Other problems, such as medical diagnosis and alarm systems,
may have lots, even perhaps exclusively fuzzy data. But in all these systems
rules either fire or don't fire.

The auto problem differes from the fuzzy problems not only in the crisp data
but also in the rule-firing protocol.

The auto problem fires its rules sequentially, one at a time; any other
fireable rules that are not selected for firing are stacked for backtracking.
After every rule is fired, the data are scanned to see if any rules are newly
fireable. If not, a rule is popped off the backtracking stack and fired; if a
rule or rules are newly fireable, one is selected for firing and the rest
pushed onto the backtracking stack. This is a depth-first search of the
decision tree,

Most of the fuzzy systems fire their rules in parallel. All fireable rules are
fired, and any conflicts for memory mediated. Since all fireable rules are
fired, a rule-backtracking stack is not needed. This is a breadth-first search
of the decision tree.

The difference is that most of the fuzzy problems do not require asking
questions of a user when the next question to be asked depends on the answer to
the previous question. If we have to do this, we had better go to sequential
rule firing. It is best if our system can switch between rule-firing modes,
using whichever is appropriate to a particular stage in developing our
solution.

Willliam Siler

Odium ignorantem est odium infantem,
sed odium savantem est odium ferentem!

############################################################################
This message was posted through the fuzzy mailing list.
(1) To subscribe to this mailing list, send a message body of
"SUB FUZZY-MAIL myFirstName mySurname" to listproc@dbai.tuwien.ac.at
(2) To unsubscribe from this mailing list, send a message body of
"UNSUB FUZZY-MAIL" or "UNSUB FUZZY-MAIL yoursubscription@email.address.com"
to listproc@dbai.tuwien.ac.at
(3) To reach the human who maintains the list, send mail to
fuzzy-owner@dbai.tuwien.ac.at
(4) WWW access and other information on Fuzzy Sets and Logic see
http://www.dbai.tuwien.ac.at/ftp/mlowner/fuzzy-mail.info
(5) WWW archive: http://www.dbai.tuwien.ac.at/marchives/fuzzy-mail/index.html