When you say "...runtime goes down... with the number of rules...", did you mean to say that runtime goes up? Otherwise, what precisely is being referred to here as runtime? > 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] > -------------------------------------------------------------------- >
-------------------------------------------------------------------- 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] --------------------------------------------------------------------
