gpt4 book ai didi

java - Drools eval() 优化

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:27 26 4
gpt4 key购买 nike

在此提到的文档 ( https://docs.jboss.org/drools/release/7.2.0.Final/drools-docs/html_single/ ) 中,没有为 when 子句中使用的 eval() 方法提供优化详细信息。假设 callMethod 将输入字符打印到日志中并盲目返回 false。

rule "Rule1"
when
eval( callMethod('r') )
then

..
drools.halt();

end

rule "Rule2"

when
eval( callMethod('r') )
then

..
drools.halt();

end

rule "Rule3"

when
eval( callMethod('r') )
then

..
drools.halt();
end

rule "Rule4"

when
eval( callMethod('r') &&
callMethod('x')
)
then

..
drools.halt();
end

rule "Rule5"
when
eval(callMethod('x')
)
then
..
drools.halt();
end

引擎为什么打印:

r //probably from rule 1
r //Rule 4
x //Rule 4 again

而不是

r
r
r
r
x
x

drools 这里使用的优化技术是什么?它有点令人困惑。

最佳答案

Charles L. Forgy 博士于 1979 年开发的 Rete 算法的基本思想是从产生式规则左侧的组件中提取逻辑表达式网络。

结果是相同表达式的评估不再与其规则代码中的文本外观相关。

无法以这种格式解释详细信息。谷歌和研究。

关于java - Drools eval() 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47066616/

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