-----Original Message-----
From: Navabi, Dariush 
Sent: Monday, November 29, 1999 4:52 PM
To: 'Ernest Friedman-Hill'
Subject: RE: JESS: Is jess ignoring some rules in the rule base?


Thanks for the information. I also have more specific information for you.
One of the two cases that I had problem with is working now.
I found that two rules had the same name. After removing one of the rules
with redundant name the active-invokedTask rule fired and every thing was
fine.
The same thing may be happening in the other case. I will let you know
as soon as I find out.

-----Original Message-----
From: Ernest Friedman-Hill [mailto:[EMAIL PROTECTED]]
Sent: Monday, November 29, 1999 3:05 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: JESS: Is jess ignoring some rules in the rule base?


Hi,

It is always possible that you're tickling a bug in Jess. To this end,
you might want to download the new 5.0b3 and see if the problem goes
away.

As far as the conclusion about the number of rules, I can't imagine
any circumstance in which this would be the case. It is infinitely
more likely that it is some characteristic of one of the rules used in the
236- and 243-rule sets that is not used in the smaller sets. Perhaps
through further experimentation you could find the exact rule that,
when added to the system, causes the unexpected behaviour. This rule
may simply be causing some legal but unexpected behaviour, or the Rete
net culd be corrupted when Jess tries to compile it, leading to
unexpected illegal behaviour.

In theory you can use Jess's many debugging commands (watch, facts,
agenda, and (run 1) in particular here) to try to "catch Jess in the
act" of doing the wrong thing. Agenda shows you all the currently
activated rules in the order in which they will fire. If you can find
a state in which the facts exist for active-invokedTask to be
activated but it isn't, or a state in which cleanQuestionsLocation
comes before active-invokedTask on the agenda, then there's a bug and
I'd be very interested in hearing more details. It's also possible
that by single-stepping through the rules with (run 1), checking the
fact-list and agenda at each stage,  you'll see some interaction
that you didn't expect and find that Jess was operating correctly all
along.

A small clarification to something you write below: active-invokedTask
will definitely fire before cleanQuestionsLocation -if- both are
always activated simultaneously. If there is a time during which only
cleanQuestionsLocation is activated, and some rules fire during this
time, then that rule could legally fire before active-invokedTask has
fired. 


I think Navabi, Dariush wrote:
> 
> After upgrading from Jess5.0a4 to Jess5.0b2 I am observing a problem in my
> application.
> The problem may  be due to a bug in Jess5.0b2.
> It may be the case that in some situations Jess5.0b2 does not consider
some
> rules in the rule base.
> In the start of my application the conditions of the following two rules
are
> satisfied.
> 
>               (defrule active-invokedTask
>                  (declare (salience 9))
>                  (activeTask (taskName ?theTask) (forParent
> ?theParent)(priority ?theLevel) )
>                 =>
>                  (assert (invokedTask (taskName ?theTask)))
>                 )
> 
> 
>               (defrule cleanQuestionsLocation
>                (declare (salience 3))
>                (initPhase)
>               (currentInvocationLevel (level ?currentPriority))
>                (conversation (sawalSelectionList ?theSawalListPath)
> (activationPriority ?currentPriority))
>               =>
>               (try
>                (RemoveCIChildren ?theSawalListPath)
>                catch
>                (RaiseError "903" ?ERROR "Rule Name:
> cleanQuestionsLocation")
>                )
>               )
> 
> Obviously the "active-invokedTask" rule which has a higher salience must
> fire before 
> "cleanQuestionsLocation" rule. Among the 8 cases that I ran my application
> with, in two cases the rule 
> "cleanQuestionsLocation" fires very early in the inference process (4th
rule
> firing) and the  " active-invokedTask" rule does not get fired at all.
Note
> that non of the 4 rules which fire before "cleanQuestionsLocation" can
cause
> the condition for  " active-invokedTask" to become false. It seems that
the
> problem occurs when the number of rules exceeds some value. The two cases
in
> which the problem occurs had the highest number of rules. Also after
> reducing the number of rules in one of the two cases that had problem the
> rules fired in the correct salience order. 
> 
> Below is the approximate number of rules in each of the eight cases that I
> ran my application with.
> 
>               1-      91
>               2-      94
>               3-      104
>               4-      147
>               5-      193
>               6-      200
>               7-      236 (observed the rule salience order problem)
>               8-      243 (observed the rule salience order problem)
> 
> 
> Can this be a Jess problem?
> Has anybody seen a similar problem? 
> Any ideas on how to fix it?
> 
> 
> Regards,
> Dariush Navabi
>       
> 
> 
> 
> ---------------------------------------------------------------------
> 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  
Distributed Systems Research        Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
Org. 8920, MS 9012                  [EMAIL PROTECTED]
PO Box 969                  http://herzberg.ca.sandia.gov
Livermore, CA 94550

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