Is the hashing based on Object.hashcode() or is it custom ? Because, in practice, Object.hashcode() can be considered *random*.
> From: [email protected] > To: [email protected] > Subject: Re: JESS: Jess determinism > Date: Wed, 9 Feb 2011 20:45:54 -0500 > > > On Feb 9, 2011, at 2:38 PM, Skeptic . wrote: > > > > > Hi, > > > > By default, is the firing order deterministic? (i.e. rules fired in > > the same order if the same WM is given). > > > > Also, is the order of the facts produced by the next method on a > > QueryResult deterministic? (i.e. if I run the same defquery twice on > > the same WM, I get the same facts in the same order) > > > Jess's behavior is in no way *random*, which means it's completely > deterministic. But the order in which these things occur is > *undefined*, which means that it is determined by a number of factors, > some of which are not visible to you. One of those factors is the > number of hash buckets in the various node memories; if a node memory > is rehashed, then the order may change within a given session. > > But if you run a single-threaded Jess program twice, starting from > scratch, and execute the exact same sequence of commands both times, > then you will get the exact same results. > > > > --------------------------------------------------------- > Ernest Friedman-Hill > Informatics & Decision Sciences, Sandia National Laboratories > PO Box 969, MS 9012, Livermore, CA 94550 > http://www.jessrules.com > > > > > > > > -------------------------------------------------------------------- > 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]
