Hi,

I am trying to provide some explanation capability for
why a rule is fired or why a conclusion is made. I
understand a backward-chaining engine is more
appropriate to achieve that. I am thinking of
alternative ways to do that in a foward-chaining
engine, as most commercial rule engines are
implemented using forward-chaining.

An alternative way is to trace the rule execution
sequence using the engine's eventing mechanism and
build a tree to visually present the execution
sequence that leads to the activation of a rule.
However, I'm having two problems with this approach.

(1) The eventing mechanism only allows me to find the
last rule that immediately triggers the next rule. If
there are several rules that lead to the activation of
a rule, I am unable to capture that. For example,
consider the following three rules:
a)if a=0 then a=1
b)if b=0 then b=1
c)if a=1 and b=1 then c=1

Initially, the working memory contains the facts that
a=0, b=0 and c=0. Suppose the execution sequence is a)
b) c). (Note the order of a) and b) does not matter,
let's assume it in that order for the sake of
discussion.) Using the above method, only rule b) will
be marked as the one that triggers c). Actually rule
a) also contributes to the activation of c). How can
we solve this problem by capturing both rules a) and
b)?

(2)The second problem is with regard to redundant
information when presenting the execution sequence.
Suppose the main purpose of my system is to perform
compliance check. I am only interested in those
execution sequences that cause some violation rules to
be activated. Is there a good way to capture only
those information instead of the entire execution
sequence? Note the tricky part of this problem is that
we don't know which rule/instance will be violated
before the execution. When the rule that we're
interested in is violated, it is hard to
backward-trace its causes at that time.

Are both my questions the fundamental limitation of a
forward-chaining engine?

Any insights are appreciated.

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.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]
--------------------------------------------------------------------

Reply via email to