goodhart@noscvax.UUCP (Curtis L. Goodhart) (03/13/85)
-------
I have been involved, for two years, in a project to apply an existing
expert system development tool to a particular problem that we
have to solve. In this time, starting from scratch as far as AI and
expert systems are considered, I have developed opinions about the advantages
(and disadvantages) of expert systems, as opposed to traditional programming
methods. I would like to hear from people who feel they have qualified comments
regarding this issue.
In preface to a discussion I'd like to provide a few comments based on my
observations and experience.
Often people outside the field of AI see expert systems as some new kind
of magic. In fact it's not new magic or old magic but rather an area of
computer science that one might say provides styles or methods of programming
that prove useful in tackling certain types of problems.
The most valid two claims of advantages of expert systems that I see are:
1) Expert systems provide cost efficient development for software develop-
ments that will undergo an intensely iterative, or test/modify cycle
(ie the exact procedure for problem solution, the algorithm, cannot
be stated in detail and with confidence prior to initiating software
development).
The main basis of this is held to be a structured framework consisting
of partitioned control, domain knowledge (procedural), and global data
base (which includes domain factual or declarative knowledge). It is
the resulting uniformity and modularity that provide the foundation for
an iterative development cycle.
2) Expert systems, by way of recorded production rule firings, which are
often used, provide for explanation of the "reasoning process" used to
generate the solution. This will be of value only if the end user will
benefit from explanation, or if system development is speeded by expla-
nation as opposed to the sole use of debug tools or methods that are
used in non-expert-system developments.
Again, the degree of benefit would vary according to the characteristics of
the particular application, and the benefit increases for those problems that
will require an intensive iterative type of development. Note that point 1
above points to expert systems as a development tool for the right kinds of
prolbems.
Some of the other claimed benefits of expert systems seem less supported to
me. For example, I don't see that reasoning with uncertainty must be unique
to an expert system approach. Another point, if "symbolic computation" (as
opposed to number crunching) is a valid claim it appears to me that its basis
must be in the dynamic memory allocation and list processing capabilities of
Lisp and not neccessarily in an expert system approach.
Finally, since the question of advantages of expert systems always comes up,
are there any good studies with hard numbers that can be referred to. For
example, are there any papers that report on a case where conventional and
expert systems approaches were both used on an actual problem and comparisons
made in order to substantiate the advantages of (eg show that "rapid proto-
typing" saves development time)? Are there any papers that provide a sound,
and convincing basis for the virtues of expert systems, that could be given
to non-AI persons?
To summarize the question, what advantages (or disadvantages) do expert
systems provide over conventional software approaches. And note, I want to
limit the discussion to expert systems and not address the whole field of AI.
Responses can go to the net, AILIST, and/or to myself.
Curt Goodhart (goodhart@nosc -- on the ARPANET)
-------