[comp.ai.shells] Survey: how do we really use

timm@runxtsa.runx.oz.au (Tim Menzies) (11/28/90)

Are inheritance hierarchies a good way you represent
knowlege?

I  recently presented a paper  (by  proxy, thanx  Alan) to
the 1990 Australian Joint Artificial Intelligence
conference. In that, I  observed  that in the three years
that  I have been using OO  tools for expert systems, I have
**never** shown  an object  hierarchy to a  expert.  My own
hierarchies were so intiricate, I ended up hiding them
behind interfaces that presented some abstarcted/filtered
view of  networks of instances to the experts.

One of  the comments  after the presentation was that
hierachies **MUST BE** a good  way of representing knowlege
because of the all  the real world knowledge represented as
hierarchies. For example, in biology, the classification of
plants and animals  are all presented hierarchically.  (I
don't agree with this argument BTW, see below).

Now, we could debate this issue, or we subject it  to an
emperical test.  Could  anyone  who has actually built  a
non-trivial object system email me (or  the net) and let me
know how  much of the explicit  business/expert knowledge
was clearly defined in an inheritance hierarchy? If there is
enough interest in this,  I'll post a reply.

As to the above argument re plant/animal classification:
Just what are those  hierarchies used for? Actually expert
processing of significant biologically problems?  Or only as
a learning tool for new biologists?  (I suspect  the
latter.)

My own experience has been that in order  to make an
inheritance hierarchy useful (in some non-trivial sense),
then we need to surround/bury the hierarchy in such an
intricate architecture that the significance/usefulness of
the hierarchy reduces  to zero. Hierarchies, I have found
are useful for  storing programmer knowledge, but not non-
programmer expert knowledge.

--
Tim Menzies (timm@runxtsa.oz)
HiSoft Expert Systems Group,
2-6 Orion Rd Lane Cove, NSW, 2d066 
02 9297729(voice),61 2 4280200(fax)