I think James Owen wrote:
> 
> Second, Question on JIA:  On page 141 you state, "The runtime will be
> proportional to something like R'F'^P', where R' is a number less than
> R, the number of rules; F' is the number of facts that change on each
> iteration; and P' is a number greater than one but less than the average
> number of patterns per rule."
> 
> So, let's say that we have 1,000 rules, an average of 10 facts change on
> each cycle (that's a lot from my experience) and the average number of
> patterns per rule is 10; again, a fairly high number but not
> unreasonable.  (We could just say that the rules were written by a BA
> rather than a KE.)  And let's say that my computer is a 2GHz P4, single
> CPU.  What will be the run-time?  Just as a guess, let's say that 18,000
> rules will fire; which should probably figure in there somewhere.  What
> number should we use for R'?  What number should we use for P'?  Just
> curious.

R' depends on how much sharing of patterns there is across rules.

P' depends on much joining goes on -- i.e., for each of those ten
patterns, are there ten matches, or one, or a hundred?

All you can really say in the general case is that runtime goes down
less slowly than linearly with the number of rules, and *much* less
slowly than the number of facts, and in the worst case can go down
polynomially with the number of patterns on the LHS of a rule. But
within these parameters, there is a lot of play, and it depends
intimately on the nature of the specific rules and working memory
elements.

It's kind of like talking about the computational complexity of a
database query. You have to specify the query and the data or you
can't really say much.

> 
> Finally, have you done any tests with Jess using multiple processors?
> Such as a dual G5 Mac or a Sun?

My desktop machines have been dual Xeons for some years now so
actually most of the testing is on SMP machines. Jess itself doesn't
create any threads (except for the IO-flusher thread if you call
set-multithreaded-io) so it doesn't any difference unless you embed
Jess in multithreaded software. SMP makes a big difference in the
operation of something like the HVAC controller simulator from the
book, which spawns hundreds of threads. Works great.




---------------------------------------------------------
Ernest Friedman-Hill  
Science and Engineering PSEs        Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
PO Box 969, MS 9012                 [EMAIL PROTECTED]
Livermore, CA 94550         http://herzberg.ca.sandia.gov

--------------------------------------------------------------------
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