[EMAIL PROTECTED] wrote:
If the defrules are ordered as above, then no shadow facts are created for producer. If the producers rule is defined first, then three producers shadowfacts are created followed by seven agents shadow facts.

Is it the case that there cannot be two points to a single Java object? Is that the reason or is there some other reason why the ordering of the defrules determines the result?

An object can be added to working memory just once, so once those
three are defined using the one template, they can't be added again
with the other.
right. I have read that and now have a better understanding of its implications. Thanks for that.
This is probably a silly thing to do and work-arounds are easy to devise. On the other hand, is it a good idea for the order in which defrule is called to determine the outcome?

The order in which rules are fired depends first on the conflict
resolution strategy, but if two rules are of equal priority by that
criterion, then they'll fire in an arbitrary order that just falls out
of the Rete network implementation. That order is affected by, but
isn't equal to nor even easily predicatable from, the order in which
the rules are defined.
That's good to know since one of our developments will be to implement a conflict resolution strategy sound and consistent with a formal logic or, more likely, several conflict resolution strategies based on several logics. The ability to do this is, I think, one of the great strengths of Jess from a modeller's point of view. I imagine that, in so doing, the order of the defrule statements can be entirely irrelevant. Is that right?

regards
Scott

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