youseries / urule

URULE是一款基于RETE算法的纯Java规则引擎,提供规则集、决策表、决策树、评分卡,规则流等各种规则表现工具及基于网页的可视化设计器,可快速开发出各种复杂业务规则。
Apache License 2.0
1.83k stars 723 forks source link

决策树左边值选择方法,如果条件有三个,那么方法也会被调用三次 #88

Closed Geoffrey-Yip closed 6 years ago

Geoffrey-Yip commented 6 years ago

为了您的问题能得到及时准确解答,请认真填写下面各个选项,感谢您的配合。

youseries commented 6 years ago

没看懂,请详细描述问题。

Geoffrey-Yip commented 6 years ago

比如我使用决策树时,第一个变量选择方法 字符串-获取字符串长度-选择变量X 然后加三个条件 小于3 ->Action 小于5->Action 大于5->Action 那么在真正执行决策树时,获取字符串长度(变量X) 这个动作会被执行三次

Geoffrey-Yip commented 6 years ago

?

youseries commented 6 years ago

决策树在编译会分拆下面的条件,所以分执行三次。

Geoffrey-Yip commented 6 years ago

那如果我自定义的方法是比较复杂的计算,而且条件又多的话,那执行N次性能就会很差,而且RETE算法的Alpha节点是有存储已执行节点的值的功能,这样实现不太好吧?