[comp.ai] CLIPS OR NEXPERT

barshay@Stars.Reston.Unisys.COM ( Unisys) (09/11/90)

Hi, this is my first posting to this newswgroup.

I have just recently been tasked with looking at CLIPS
and Nexpert as possible expert system shells for our new
contract.  Has anyone got opinions on these products (if you
can call CLIPS a product). Pros? Cons?

Our customer has bought one copy of Nexpert (which I haven't
had an oppurtunity to look at yet), but I think it is overkill
for our application.  How does CLIPS do for a large number of rules?
(By the way I'll be running on a SUN Sparcstation.)  How do
both these programs do for linking with external code.

I really like the fact that I'll have the source code for CLIPS.
(I'm an old Symbolics user). Any comments will be appreciated.

If I get enough information to make it intersting I can post a
summary to the net.

                        Jane Barshay

srt@aerospace.aero.org (Scott "TCB" Turner) (09/12/90)

I've been using Nexpert for several years and have a number of
objections.

The documentation is opaque or missing on a number of areas that are
essential to building a large real-world application.  In particular,
the internal mechanics of the inference engine are not described at
all.  Hence it is impossible to determine how mechanisms such as
normal rule-firing and if-change actions interact.

The user interface is often cumbersome to use.  We have built much of
our knowledge base in a normal text editor (using Nexpert's lispy
internal syntax) rather than use the rule editor.  There are also some
strikingly bad design decisions, such as organizing the knowledge base
according to the name of the hypothesis rather than the name of the
rule.

Debugging can be painful.  If the inference engine enters a loop it 
will often not respond to user commands, forcing an interrupt and 
restart.  Many of the error messages are nearly useless.  If a loop
is detected during backward chaining, the user gets a message to that
effect - but no indication as to what rule caused the message!

Overall, Nexpert strikes me as having been designed by the marketing
department and never tested on real problems.  (I know, it is the best
selling tool.  What can I say?  I'm merely reporting my experiences.)
Don't be too impressed by the spiffy features such as the graphic
display of the inference tree.  That's the kind of thing that looks
great during a demo and is rarely used during development.

I do not recommend Nexpert.  Our own group is looking for a different
tool for our future projects.

					-- Scott Turner

This posting reflects my opinions, and not those of The Aerospace
Corporation.

ahlenius@motcid.UUCP (Mark Ahlenius) (09/12/90)

We have both Clips and Nexpert.  As far as documention goes, if you
want to understand how the inference engine works - CLIPS wins out
hands down.  Nexpert is a good rule-based system, but I strongly
believe their object-oriented features are WAY oversold. 

I have been a KEE user for several years and it is what I would
consider to be a true object-oriented tool.

Clips on the other hand is *very* much like OPS-5, except written in C.
Unfortunately I have not written any large kbs with it, so I cant speak
about its relative speed.  CLIPS is available on a very wide selection
of platforms - we even ported it to our Motorola 88k box, and it works
fine (Unix sys V.).  When you purchase CLIPS, you buy one copy ($350.00)
and you can make as many copies of the tool for use within your organization
as you please.  And there are *no* runtime charges (unlike Nexpert).
Who said nothing good ever came from NASA for the public sector?

My two bits worth are to get CLIPS and really try to use it.  Yeah,
it does not have a spiffy graphics interface, but then you are not
paying for one either.  My experience with Nexpert is that you get
very tired of the spreadsheet like rule and object editors, once
you learn their commands.

BTW, the  Lisp-like syntax of Nexpert comes from its origin.  The tool
was originally written in Lisp, and then recoded in C.

Another tool worth looking at was introduced at the AAAI-90 show. 
Pro-Kappa, by Intellicorp.  It is a C-based shell that looks 
very interesting.  It has a nice graphics interface, and it too can
be embedded.

Hope these comments help.

	'mark
-- 
===============	regards   'mark  =============================================
Mark Ahlenius 		  voice:(708)-632-5346  email: uunet!motcid!ahleniusm
Motorola Inc.		  fax:  (708)-632-2413
Arlington, Hts. IL, USA	 60004

srt@aerospace.aero.org (Scott "TCB" Turner) (09/13/90)

As long as I'm bitching about Nexpert...

I'm in the process of debugging a problem with two interacting
knowledge bases, so I load them up, open up the "Current Rule" and
"Current Hypotheses" windows, and run the inference engine (called
"Knowcess" for some unknown marketing reason) so I can watch what's
happening.  Result: absolutely nothing in the "Current Rule" and
"Current Hypotheses" windows.  Makes them kind of useless.

Decided to check the documentation to see if I'm doing anything wrong.
That turns out to be difficult to do; the documentation doesn't have
an index.  And from examining the table of contents of each chapter 
(which are numbered independently!) I can't find any mention of these
windows.  

This is the kind of thing I run into every time I use Nexpert.  Not 
recommended.

This discussion might be profitably moved to comp.ai.shells if it
continues.
				-- Scott Turner

sticklen@cps.msu.edu (Jon Sticklen) (09/13/90)

From article <4601@turquoise.UUCP>, by ahlenius@motcid.UUCP (Mark Ahlenius):
> We have both Clips and Nexpert.  As far as documention goes, if you
...

who does one order CLIPS from?

	---jon---

ahlenius@motcid.UUCP (Mark Ahlenius) (09/13/90)

sticklen@cps.msu.edu (Jon Sticklen) writes:

>From article <4601@turquoise.UUCP>, by ahlenius@motcid.UUCP (Mark Ahlenius):
>> We have both Clips and Nexpert.  As far as documention goes, if you
>...

>who does one order CLIPS from?

To order CLIPS, contact COSMIC (Atlanta GA) at 
(404)-542-3265.  Cosmic handles many (if not all) of the
publicly available NASA developed programs.
Incidently when you order it, you must specify that you
want the documentation.  Also order the CLIPS Architecture
manual as well (no extra cost) this reference can give you
extra insight in how CLIPS works.

There are versions available for the MAC and PC (must specify).
We ordered the VAX version and had to do some makefile
mod's to get it to compile on the SUN and on our Motorola
88k-based DELTA box.

have fun!

	'mark
-- 
===============	regards   'mark  =============================================
Mark Ahlenius 		  voice:(708)-632-5346  email: uunet!motcid!ahleniusm
Motorola Inc.		  fax:  (708)-632-2413
Arlington, Hts. IL, USA	 60004

andy@gistdev.gist.com (Andy Warinner) (09/13/90)

If anyone is interested in CLIPS, you might consider waiting a little bit.
NASA has come out with CLIPS v5.0 with lots of goodies.  

CLIPS Object-Oriented Language (COOL) - "The features of COOL include:
classes with multiple inheritance, single and multi-valued slots (with
slot daemons), instances with encapsulation, and message-passing (with
before, after, primary, and around message-handlers)."

Deffunctions - "deffunctions may be used to new capabilities to CLIPS
without having to write new code in C and recompile CLIPS."

Generic functions - "Generic functions can be used to overload functions
in a manner similar to, but much more powerful than, languages such as
ADA and C++."

Global Variables

Integer Data Type Support

Conflict Resolution Strategies and Salience Extensions - "Seven conflict
resolution strategies are provided including depth, breadth, lex, mea,
simplicity, complexity, and random. ... Salience values can also be 
dynamically evaluated each time a new activation is added to the agenda..."

Deftemplate Field Checking

Incremental Reset

Truth Maintenance - "Facts can be made logically dependent upon the
existence or nonexistence of other facts."

(quoted from CLIPS v5.0 announcement)

NASA, USAF, and their contractors can get CLIPS by calling the CLIPS
Help Desk at (713) 280-2233 (Mon - Fri).  CLIPS v5.0 will be available
to the general public "by early 1991" (from the v5.0 announcement).
I heard from reliable sources that it would be January 1991.
The general public can obtain CLIPS from COSMIC (for $350):

	COSMIC
	382 E. Broad St.
	Athens, GA  30602
	(404) 542-3265

Andrew Warinner | "Semper ubi sub ubi" - J. Caesar
GIST, Inc.      |
Standard        | EMAIL:  andy@gistdev.gist.com
disclaimer...   |         {uunet, uiucuxc}!gistdev!andy

robert@aiai.ed.ac.uk (Robert Inder) (09/15/90)

In article <4601@turquoise.UUCP> ahlenius@motcid.UUCP (Mark Ahlenius) writes:
>
>Another tool worth looking at was introduced at the AAAI-90 show. 
>Pro-Kappa, by Intellicorp.  It is a C-based shell that looks 
>very interesting.  It has a nice graphics interface, and it too can
>be embedded.
>	'mark
>-- 

If you are looking for tools in the KAPPA/Nexpert range, and
are interested in CLIPS, you should also look at ART-IM from
Inference Corp.

This is a C-based (CLIPS-derived?) tool which provices
very fast forward chaining rules coupled to objects.

Get in touch and ask them for their free demo disk.

Robert.


-- 
      Another idea half-baked in the solar furnace of...
Robert Inder, Knowledge Engineering Group, AI Applications Institute
R.Inder@uk.ac.ed   (+44) 31 225 4464

jjacobs@well.sf.ca.us (Jeffrey Jacobs) (09/15/90)

> NEXPERT originally coded in LISP

Not according to the developers; it was originally coded in C for
the Macintosh long before a decent LISP was available...

Jeffrey M. Jacobs
ConsArt Systems Inc, Technology & Management Consulting
P.O. Box 3016, Manhattan Beach, CA 90266
voice: (213)376-3802, E-Mail: 76702.456@COMPUSERVE.COM

ahlenius@motcid.UUCP (Mark Ahlenius) (09/17/90)

jjacobs@well.sf.ca.us (Jeffrey Jacobs) writes:

>> NEXPERT originally coded in LISP

>Not according to the developers; it was originally coded in C for
>the Macintosh long before a decent LISP was available...

I read an article some time ago that stated that the original
2-3 developers wrote the tool in Lisp on a Symbolics machine
(back on the East coast I think).  Then when they decided to
make a product out of it, they wanted a fast, small, and portable
tool - so they recoded (redesigned?) it in C.  
I am still
searchin for the reference where I read that - but have not
found it yet.  Also, whenever I look at a Nexpert .kb file,
it really reminds me of the Lisp syntax that I am familiar with
- but then again there are probably only so many ways one
can write rules and object files...


-- 
===============	regards   'mark  =============================================
Mark Ahlenius 		  voice:(708)-632-5346  email: uunet!motcid!ahleniusm
Motorola Inc.		  fax:  (708)-632-2413
Arlington, Hts. IL, USA	 60004