From: Mott Given
Subject: When to use LISP
Date: 
Message-ID: <383@dsacg1.UUCP>
 I would like to when it is more appropriate to use LISP to develop an
 expert system application than an expert system shell such as M.1 from
 Teknowledge?  Also, when is it better to use an expert system shell instead
 of LISP to develop an application?

   
-- 
Mott Given @ Defense Logistics Agency ,DSAC-TMP, P.O. Box 1605,
	    Systems Automation Center, Columbus, OH 43216-5002
UUCP:        {cbosgd,gould,cbatt!osu-cis}!dsacg1!mgiven
Phone:       614-238-9431

From: Jorge Gautier
Subject: Re: When to use LISP
Date: 
Message-ID: <5388@spool.cs.wisc.edu>
In article <···@dsacg1.UUCP> ·······@dsacg1.UUCP (Mott Given) writes:
> I would like to when it is more appropriate to use LISP to develop an
> expert system application than an expert system shell such as M.1 from
> Teknowledge?  Also, when is it better to use an expert system shell instead
> of LISP to develop an application?

I am not familiar with the more expensive shells such as M.1, but from
my students' and my own experiences I can tell you that it may be better to
use LISP when you need to do meta-level inferencing.  For example,
explaining the system's reasoning, giving a best guess, influencing
rule applications, handling user initiative in a questioning process,
minimizing the number of questions asked by the program:
in these situations you might want to "step back" and examine the rules
themselves to decide on the best course of action.  The problem with some
shells and languages (e.g., OPS5) is that rules are opaque to the
program, they are not objects in the language and therefore can't be
examined.  Using LISP gives you more flexibility because your rules can
be LISP objects or lists and can be examined by the main inference
engine as well as by other subroutines.  Of course, there's the extra effort
to design and build an inference engine, but it is not very difficult to do
(unless your rule language is very powerful) and it is a one-time task.
Some shells may actually allow these kinds of things, but my experience
(with a few cheap ones) is that most of them have their own idea of the
kinds of inferencing that you want to perform and are not very flexible
for implementing other kinds of inferencing.

[Any opinions expressed are my own, but if you want them, you can buy them
 for ten cents a word. :-]
---
Jorge Gautier @ Wisconsin, ·······@cs.wisc.edu

"The fact that my internal arrangement differs from yours, doctor,
 pleases me without end."
From: Mott Given
Subject: Re: When to use LISP
Date: 
Message-ID: <387@dsacg1.UUCP>
in article <····@spool.cs.wisc.edu>, ·······@ai.cs.wisc.edu (Jorge Gautier) says:
> I am not familiar with the more expensive shells such as M.1, but from
> my students' and my own experiences I can tell you that it may be better to
> use LISP when you need to do meta-level inferencing.  For example,
> explaining the system's reasoning, giving a best guess, influencing
> rule applications, handling user initiative in a questioning process,
> minimizing the number of questions asked by the program:
> in these situations you might want to "step back" and examine the rules

  Thank you for the reply.  M.1 has many metaprositions such as nocache,
  nochec(Expression), presupposition(Expression), whencached(Expression),
  whenfound(Expression = Value cf CF),  noautomaticquestion(Expression), etc.
  Given that M.1 has many constructs for meta-level control of inferencing,
  when would LISP be more  advantageous?

-- 
Mott Given @ Defense Logistics Agency ,DSAC-TMP, P.O. Box 1605,
	    Systems Automation Center, Columbus, OH 43216-5002
UUCP:        {cbosgd,gould,cbatt!osu-cis}!dsacg1!mgiven
Phone:       614-238-9431