Hi Chuck,

let me just point out a few differences and commonalities between
Prolog and Jess:

1) Search strategies: Although Prolog uses backtracking (which forgets
intermediate results) and backward chaining, you can implement
meta-interpreters in Prolog easily. This means that your program can
work in a data-driven forward-chaining way and memorize intermediate
computations just like Jess does. However, I suspect that asserting
and retracting facts in Jess is more efficient than in many Prologs.

2) The Rete algorithm makes a real difference when you have a large
number of rules, possibly with similar LHSs. Prolog cannot offer
anything similar (although one could implement a Rete algorithm in
Prolog, again as a meta-interpreter). So the lack of an efficient rule
(clause) mechanism is clearly a disadvantage of Prolog.

3) On the other hand, there is the definition of term 'matching': in
Prolog the unification operation is used to match queries against
clauses, whereas Jess requires exact matching of KB facts (or fact
slots) and rule LHSs.  Unification is quite a powerful operation which
allows one to check the compatibility of highly structured
representations but it has its computational price. With unification
you can keep the number of rules small by stating rather general
clauses (rules). At the beginning I found it quite irritating that I
couldn't straightforwardly express recursive structures in Jess and
match them on rule LHSs.

4) And, last not least, there is of course the integration of Jess and
Java which was the initial motivation for me to use Jess.

As has been said before, it depends on the application which language
is more suitable.

-- Sebastian

* ================================ *
* Sebastian Varges

* Language Technology Group & ICCS
* Division of Informatics
* University of Edinburgh
* 2 Buccleuch Place
* Edinburgh
* EH8 9LW 
* Scotland, UK

* http://www.cogsci.ed.ac.uk/~varges/
* phone: (0044/0)-131-6504453
* ================================ * 

To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list (use your own address!) List problems? Notify [EMAIL PROTECTED]

Reply via email to