Is the hashing based on Object.hashcode() or is it custom ? Because, in practice, Object.hashcode() can be considered *random*.
> From: ejfr...@sandia.gov > To: jess-users@sandia.gov > 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 y...@address.com' > in the BODY of a message to majord...@sandia.gov, NOT to the list > (use your own address!) List problems? Notify owner-jess-us...@sandia.gov