Drools 中的规则选择是不确定的还是随机的?

Is rule selection in Drools nondeterministic or random?

考虑在 Drools 中构成激活组的一组规则,所有规则都具有相同的显着性,并且都被激活。因为他们在一个激活组里,所以只有一个可以开火。

我想知道 Drools 引擎是否确保这些规则中的每一个都有大致相同的触发机会(选择是随机的),或者它是否只是正式的 undefined规则将触发(选择是不确定的)。在后一种情况下,触发的规则将取决于机器的状态(如果有的话),并且实际上例如几乎总是最重要的规则会触发。

鉴于有 n 个规则具有相同的显着性并且所有规则都被激活:引擎没有随机化 select 下一个要触发的规则,即您不能使用select 彩票中奖者的引擎。

有类似优先队列的东西,新的激活会根据一些有效的程序进入。您可以阅读该代码或设计一些测试来确定如何操作,但您不应将您的应用程序基于这些发现。