gpt4 book ai didi

java - 随机开始流口水

转载 作者:行者123 更新时间:2023-12-01 11:08:15 24 4
gpt4 key购买 nike

目前我的 drl 文件看起来像这样,有 100 多个规则。

rule "check 0"
when
.....
then
..........
end


rule "check 1"
when
.....
then
..........
end

rule "check 2"
when
.....
then
..........
end

.
.
.
.

rule "check 100"
when
.....
then
..........
end

我已经设置了sessionObject.fireAllRules(1);

因此,这基本上会迭代从规则“check 0”规则“check 100”的所有规则,并在符合某个规则时返回。

这是一种我可以从一些随机规则开始的方式,而不是每次都开始规则“check 0”

我正在寻找这样的东西。

规则'check 34'开始迭代直到规则'check 100'并从规则'check 0'迭代到规则“检查33”

最佳答案

测试条件并在条件为真时执行操作的想法与计算机一样古老。同样,对 Action 进行排序的概念也同样古老。两者都已在现在所谓的“过程式编程”的各种版本中实现。

您所描述的要求满足“过程式编程”的要求。

当然,Drools 可以表现得非常像程序程序。所以,回答你的问题:是的,通过使用显着性,这是可能的。

rule "to  be fired first"
salience 999999999
when ... then ... end

只需使用递减的值即可定义顺序。

编辑随机化规则触发的想法也不在基于规则的编程范例中。但是您可以通过从事实属性中得出显着性来模仿这一点(为什么不使用过程编程??)。

创建 Ranking 类的 100 个对象,其中包含字段 int orderintrank。将它们插入,order 设置为 1..100,rank 设置为 1..100 的随机排列。

rule "number 49"
salience $rank
when
Ranking( order == 49, $rank: rank )
...
then ... end

对于下一次运行,只需使用另一个排列即可。幸运地获得 rank==100 排名的规则将首先触发。

关于java - 随机开始流口水,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32690152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com