The order is determined entirely by the conflict resolution strategy
in use. I recall that you were writing custom strategies. If your
strategy returns "0" for a comparison between two Activations, then
the relative order of their firing is indeterminate, so indeed, they
might be affected by various things that happen in Jess.

The best answer to your question is that you should not write systems
that depend on a particular indeterminate order; subtle factors may
change the observed order. Conversely, a Strategy shouldn't return "0"
for two Activations unless the firing order really doesn't matter.

I think Jonathan Sewall wrote:
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> I'd previously noticed, and coded for, the fact that inactive 
> Activations were excised from the agenda by Rete.bsave().  Yesterday, 
> however, a colleague showed me a case in v7.0b6 where the remaining 
> entries on the agenda were also reordered after calling bsave().  That 
> is, I was surprised to get different sequences of active Activations 
> returned by the 2 Iterators below:
> 
>     Iterator it1 = rete.listActivations();
>     rete.bsave(byteArrayOutputStream);
>     Iterator it2 = rete.listActivations(); 
> 
> It appears that the push() calls in 
> HeapPriorityQueue.writeObject(ObjectOutputStream) can reorder the 
> reconstituted agenda.  Could you provide a public method that performs 
> the algorithm in HeapPriorityQueue.writeObject(ObjectOutputStream) yet 
> skips the actual object serialization call?  In other words, could I get 
> a look at what the agenda will look like after bsave() without the 
> performance cost of object serialization (of the entire Rete)?  Thanks 
> very much,
> 
> Jonathan Sewall
> 
> --------------------------------------------------------------------
> 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]
> --------------------------------------------------------------------
> 



---------------------------------------------------------
Ernest Friedman-Hill  
Advanced Software Research          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