当我在 ilog jrules 、 reteplus algorithm 、顺序模式执行等中使用规则流时,我遇到了不同的执行模式。它们之间有什么区别。请不要让我参考 IBM 文档。我已经做了。其他一些简单的语言解释表示赞赏。
问问题
4296 次
2 回答
1
一个“非常”简单的解释:
简单来说,RetePlus 允许插入/删除/更新工作内存 (WM) 中的对象,然后根据规则中的条件进行评估和匹配。任何匹配的规则都会被列入议程,然后被解雇。如果这些规则更改了工作内存中的数据,这可能会触发更多条件与更改的对象匹配的规则。循环继续,直到没有更多规则与 WM 中的对象匹配。
Sequential 几乎以指定的顺序运行规则,触发条件与对象匹配的规则然后退出。对数据的任何更改都不会被重新评估,也不会触发进一步的规则。
还有介于两者之间的 Fastpath。它使用 RetePlus 的条件匹配功能(出于性能原因),但不会重新评估更改的数据(因此不是周期性的)。
于 2012-07-19T12:34:35.447 回答
1
RetePlus是基于 Rete 算法的扩展,是默认的执行模式。其优化技术用于提高性能:减少规则和条件的数量、计算要执行的规则以及确定规则顺序的优先级。
在 RetePlus 模式下,规则引擎最小化要评估的规则和条件的数量,计算必须执行哪些规则,并确定这些规则必须执行的顺序。
在 RetePlus中,规则引擎使用工作内存和议程来存储和操作应用程序对象。工作内存包含对应用程序对象的引用。议程列出并排序有资格执行的规则实例。
顺序模式按顺序执行给定规则任务的所有符合条件的规则,这提供了特定的性能优势。
我希望这会有所帮助。
于 2014-03-03T08:36:05.837 回答