[mod.ai] Non-trivial expert systems and decision trees - THE RESPONSES!

psc@lzaz.UUCP (05/09/86)

<submitted to mod.ai (aka AIList) and net.ai>

How pleasant!  I got several thoughtful replies to my comments
on experts systems and decision trees.  I'd like to thank all
the people who sent me mail.  I've summarized the responses
below.  I never got what I was *really* looking for, namely, a
good benchmark expert system.  More on that after the summary.

The general consensus is that rule based expert systems offer no
more power than decision trees, in just exactly the same way
<your favorite programming language> offers no more power than a
Turing machine.  Of course, there are advantages. . . .

===== discussing the problem off the net, I wrote:

My "crisis of faith" has two prongs on it.  First, it seems you could
write a production compiler to generate the decision tree from the
productions.  The compiler would need a lot of resources, but the
resulting "compiled" expert system would run quickly and in very little
memory.  (Other, tougher objections:  user can't direct search,
uncertainty hard to track, and only works with forward chaining.)

[Note:  going over some other mail I'd received, I discoved an
expert system shell named Radian does just this.  It translates
a set of rules into a decision tree implemented as a C program!
The resulting program can explain itself.  psc]

Second and more disturbing, *every* example "expert system" I've ever
seen uses productions was written by someone who *first* drew a decision
tree!  That's clearly missing the point.  I'm looking for systems that
are "non-trivial", not in the sense that they have a lot of rules, but
in the sense aren't just solving a problem that's *better* solved by a
straightforward decision tree.  Know of any?

===== Dale Skran (ihnp4!mtgzz!dls):

In general all expert systems can be reduced to
tree searches which can be mapped into pattern matching
operations. . . .  The real savings of rule based systems
is that you just add rules and skip the tree.

===== dchandra@TRILLIAN.ARPA identified five kinds of rules:

a) rules for strategy (meta rules)

b) rules for inheritance between objects.

c) rules for normal inference (equivalent to decision tree)

d) rules which create new rules (we have built a rule shell
called IMST which provides this feature. ) We have a system
called CDLII which uses this feature to post constraints.

e) rules can exist in packets and can communicate
through global and local blackboards. Decision trees
do not have a notion of private and global databases.
	
Decision trees emulate only part (c) above. . . .

Consider this statement: All non-lisp machine AI programs get
compiled into assembly language. So what is so great about lisp. 

LISP IS A DATA ABSTRACTION ABOVE ASSEMBLY.

RULEBASED SYSTEMS ARE A ABSTRACTION ABOVE DECISION TREES OR
OTHER LOW LEVEL STUFF.

===== Jean-Francois Lamy <ihnp4!utcsri!lamy%utai>

It does seem to turn out that once you have written down all the
rules and got the system to work the way you want you now
understand the problem well enough that you don't need the fancy
and inefficient AI solution anymore.

One has to realize that not all problems are amenable to
formulation using the brain-damaged OPS5-like production rules
systems.  In particular, problems which require a HUGE amount of
implicit knowledge about the world don't quite fit.  Consider
story understanding or finding causal relationships in data that
requires multiple forms of reasoning (e.g. heart physical
malfunction, electrical malfunction, chemical unbalance).

===== Bruce Morlan (pur-ee!rutabaga) goes out on a limb for trees:

At risk of being burned for heresy, I would claim (in my dissertation
I will claim) that there is no significant difference between the
following three systems:

  (0) rule-based expert systems,

  (1) production systems,

  (2) decision trees.

This is consistent with results documented in many places, and I would
refer first to Vol I of "The Encyclopedia of AI" for my first support.
This claim extends to experts systems with uncertainty, such as of
the MYCIN or PROSPECTOR class.  In my research I have concluded that
the collection of rules from an expert must result in an data suitable
for use in a Markovian decision process.

Whether this applies to _all_ expert systems remains to be seen, and
I would be very interested in hearing about a system that didn't fit
this mold (as you alluded to in your posting).

===== Ehud Reiter (ihnp4!seismo!harvard!reiter):

Decision trees are both very useful and non-trivial to program
if you want to do it "right" (backward chaining, truth
maintainance, interactive graphical tree editing, multiple
solutions, explanations, etc.  - I know because I've tried to
implement one).  Whether marketing calls the program a "decision
tree" (which they should) or an "expert system" (which means
more sales) is irrelevant - it's still a useful but complex piece
of code.

===== Donald R. Tveter (ihnp4!bradley!drt) takes a useful step backwards:

     In going thru graduate school and taking some AI courses,
it came to me that what I was seeing in AI courses, I had seen
before.   I found the principles in an old Psychology book, I 
had once read:  Psychology, by William James, first published in
the 1890's.  In his chapter on Association, he showed how people
think.  A careful comparison between what he said then and what
people do now in their expert systems, shows up no significant
differences.

===== Mark R. Leeper (ihnp4!mtgzz!leeper):

Don't YOU make your diagnostic inferences by a decision tree?
It may not be a binary tree, but then expert systems don't have
to use binary trees either.

=====
Only Dale Skran suggested a benchmark expert system:  the
"monkeys and bananas" problem.  Usually shown in OPS5, this
system has a hungry monkey, a locked vault on the ceiling with
bananas, another locked vault with the key to the first, and a
ladder.  (I may have forgotten a vault or key or two).

I'm not at all sure that the PC-based expert systems I'll be
reviewing can handle that problem!  The difficulty is keeping
track of changing values (the monkey and the ladder move a
*lot*!)  The one system I'm using now doesn't get past the
monkey's first move (in a very simplified version.)  Of course,
if a particular expert system shell can't handle this problem,
that's useful information, too!

As a brute-force synthetic benchmark, I'm going to have the
expert system traverse a network of nodes equivalent to the
Towers of Hanoi puzzle, with some "cuts" (forbidden moves) that
force it to make twice as many moves as necessary.  (In fact, it
must do the equivalent of moving the disks to the middle peg
first.)  Both the cuts and resulting network are symmetrical,
keeping the comparison fair for forward- and backward-chaining
systems.  A picture is worth a few thousand words:  see Figure
2-2, page 82, in Nilsson's PROBLEM SOLVING METHODS IN ARTIFICIAL
INTELLIGENCE.

And I'll use the travel advisory system in the latest issue of
PC, if that doesn't require access to a full database system
(which only Guru has.)

I'm still not satisfied; any suggestions for benchmarks?

Thanks again for your comments.
---
       -Paul S. R. Chisholm, UUCP {ihnp4,cbosgd,pegasus,mtgzz}!lznv!psc
       AT&T Mail !psrchisholm, Internet mtgzz!lznv!psc@topaz.rutgers.edu
       The above opinions may not be shared by any telecomm company.
AT&T Transaction Services - the right choice for point-of-sale networking.