On Feb 5, 2009, at 4:22 PM, ANA TANASESCU wrote:
Hello everybody,
I have a problem coming from using the backward chaining.
My question is, if I have two rules with the property auto-focus and
one of them with the salience priority higher than the other why the
rule with the higher salience priority won’t fire first?
Both rules contain a fact that is backward chaining.
I don't think there's a meaningful answer to this without seeing code,
but I'm going to guess that what's happening is that the backward
chaining trigger for the lower-salience rule is being generated first,
and so that rule's preconditions are met first, so that rule triggers
auto-focus, which changes the module focus and perhaps therefore
prevents the rules that might respond to the higher-priority rule's
backward chaining trigger fact from firing. Then since the lower
salience rule is the only one activated in the new focus module, it
fires.
Backward chaining, auto-focus, and salience are three different
mechanisms for modifying the order in which rules fire. A program that
includes all three is going to have emergent behaviors that may be
difficult to predict. Frankly, I would not try to use them all at the
same time.
---------------------------------------------------------
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].
--------------------------------------------------------------------