As an answer to your &quot;big&quot; question: no. There is no distinction between a rule that isn&#39;t activated because one of its patterns doesn&#39;t match with any of the existing facts or due to the absence of facts of a type. Hence, (A, B and not C) with A, B and C that does not match is indistinguishable from A, B and no C at all. <br>


<br>Are all your facts booleans or simple (integer, enum,...) values? &quot;Answer to question&quot; seems to indicate this. <br><br>Note that there are rules (boolean expressions) determining a &quot;solutiion&quot; and rules governing data acquisition. I&#39;d try and model the second group, possibly based on facts representing the individual &quot;solution&quot;, what is required to reach them, how much has been required, whether one is still feasible, etc.<br>
<br>&quot;Decision tree&quot; seems to be the thing you need, but Drools doesn&#39;t have this out of the box.<br><br>-W<br><br><br><div class="gmail_quote">On 21 August 2011 00:23, Kal <span dir="ltr">&lt;<a href="mailto:kalarhan@gmail.com" target="_blank">kalarhan@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Hi,<br>
<br>
I am new to Drools. I read the documentation and I looked at the examples,<br>
but I still not sure how to solve this problem:<br>
<br>
1) Kind: iterative diagnosis<br>
<br>
Rules:<br>
if (A, B and C) then print (&quot;Solution 1&quot;)<br>
if (A, B and not C) then print (&quot;Solution 2&quot;)<br>
if (A, D and E) then print (&quot;Solution 3&quot;)<br>
and so on...<br>
<br>
The entry should be something like this:<br>
* no facts are know<br>
* user answers a question (lets say A = true), I update the Statefull<br>
session and fire the rules<br>
* system chooses a unknow fact based on condition for the best incomplete<br>
rule. In this case, it would be B (as it knows A, but it doesn&#39;t know B or<br>
C)<br>
* user answers a new question (B = false), I update the session + fireRules<br>
* system now knows that rule 1 (A, B and C) is not possible. It also knows<br>
that rule 2 (A, B and not C) is not possible. So, it chooses the second<br>
condition on rule 3 (A, D and E), which is: what is D?<br>
* user answers a new question (D = true)<br>
....<br>
* user answers a new question (E= true)<br>
* system prints: Solution 3!<br>
<br>
<br>
My big question: can I extract from the working memory or rule manager or<br>
the agenda a list of the rules that are &#39;almost&#39; good to fire, but that<br>
still requires some of its conditions to be know (by inserting facts)?<br>
<br>
Thanks!<br>
<font color="#888888"><br>
<br>
--<br>
View this message in context: <a href="http://drools.46999.n3.nabble.com/Iterative-diagnosis-how-to-determine-what-is-the-next-best-fact-tp3271709p3271709.html" target="_blank">http://drools.46999.n3.nabble.com/Iterative-diagnosis-how-to-determine-what-is-the-next-best-fact-tp3271709p3271709.html</a><br>



Sent from the Drools: User forum mailing list archive at Nabble.com.<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</font></blockquote></div><br>