Re: Question about "Fuzzy expert system".

WSiler (wsiler@aol.com)
Tue, 6 Oct 1998 01:37:02 +0200 (MET DST)

>> Daniele Benegiamo wrote:
>> "And how I can compute a rule with more consequents?
>>As: if (a is A) then ( (b is B) OR (c is C) )"

The problem here is not trivial, and involves some knowledge of how expert
systems work.

We are now faced with the efficient search of a decision tree, something AIers
have worried about for several decades.

If we are using backward chaining, we advance the hypotheses to be tested and
look for rules to accept or reject these hypotheses, as Will Dwinell points
out. If we are using forward chaining, as apparently the original poster
assumes, things are a little more complicated. Note that forward chaining is
quite capable of emulating backward chaining.

Most all fuzzy expert systems fire their rules in parallel. However, if we wish
to elicit information from a user, when each question to be asked depends on
the answers to previous questions, sequential rule firing with backracking is
usually superior. It is too bad that people who write about fuzzy expert
systems aren't aware of this, and have paid no attention to it.

We would set up three hypotheses: dead battery, no gas and broken starter.
Initially, all these hypotheses would be assigned truth values of 1. This would
make three rules fireable, one for each hypothesis. We would select one of
these rules for firing according to some reasonable scheme, and stack the
other two for backtracking in case our hypothesis turns out to be false. As we
fire each rule other subhypthoses would be advanced, select one rule and stack
the others, and so on until a trouble is located or until the hypothesis turns
out to be false. If the latter, we pop a rule off the stack, rife it and keep
iterating this procedure until either the trouble is found or until our system
fails, having emptied all rule stacks and not found any trouble. This is very
simple-minded old-fashioned AI.

Most all fuzzy expert systems fire their rules in parallel. However, if we wish
to elicit information from a user, when each question to be asked depends on
the answers to previous questions, sequential rule firing with backracking is
usually superior. It is too bad that people who write about fuzzy expert
systems aren't aware of this, and have paid no attention to it.

Eric Gaudet wrote:

>Let's say now :
>IF car make no sound THEN EITHER: 1. no gas OR
>2. starter is broken.
>Each possibility is 1/2 true.

Not true. Initially, possibilites (hypotheses, not facts) would have truth
values assigned, either initially (first-level hypotheses) or by rules. Truth
values of facts would be either zero or unknown (if our system permits a truth
value of "unknown". The truth value of a single possibility has nothing to do
with the number of possibilities.

The theory of approximate reasoning, dominant in fuzzy control and numeric
problems, is of no utility here whatsoever. Instead, our rule consequents
assign values and truth values directly as specified by the rule consequents.
(There is more to this, related to whether we are employing monotonic or
non-monotonic reasoning, but that's too much for this posting.)

William 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