在Drools中考虑构成激活组的一组规则,所有规则都具有相同的突出性,并且所有规则都被激活。因为它们位于激活组中,所以只有其中一个可以触发。
我想知道Drools引擎是否确保这些规则中的每一个都具有大致相同的触发机会(选择是随机的),或者它是否只是正式未定义哪个规则将被触发(选择是不确定的)。在后一种情况下,触发的规则将取决于机器的状态,如果有的话,在实践中,例如几乎总是最重要的规则会开火。
答案 0 :(得分:0)
鉴于n个规则具有相同的显着性并且所有这些规则都被激活:引擎没有随机进行选择下一个要触发的规则,即你不能使用引擎来选择获胜者在彩票中。
有类似优先级队列的东西,并根据一些有效的程序输入新的激活。您可以阅读该代码或设计一些测试以确定如何,但您不应将您的应用程序建立在这些发现的基础上。