可以添加到剪辑规则引擎的最大事实数是多少?

时间:2018-05-06 13:20:57

标签: rule-engine clips

我正在构建一个包含Clips Rules Engine的块, 我的块的顶层是android(java代码),我有本机代码,在“CLIPS4Android”模块的帮助下与剪辑引擎对话。

https://github.com/gomezgoiri/CLIPS4Android

假设我只是打开规则引擎(从Java创建环境)。 当我添加具有某个值的第一个事实(来自java)时,事实编号为< 1>。 因为CLIPS4Android不支持修改,当需要修改事实时我需要收回事实而不是再添加其他值。 现在,事实编号为< 2>。

如果我多次这样做,我可以达到事实的极限。

我的问题是,如果我可以添加到我的规则引擎中的事实有限,如果是的话是什么? 如果没有限制,我达到最大事实数后发生的事情(我知道android上的整数最大值为2,147,483,647,当我加上++时,它会变为-2,147,483,647。

2 个答案:

答案 0 :(得分:0)

从CLIPS基本手册2.4.1 Facts

  

“事实清单中的事实数量和信息量   可以存储在事实中的只受内存量的限制   在电脑里。“

答案 1 :(得分:0)

CLIPS 6.3及更高版本中的事实索引使用长整数表示。这为您提供了事实指数9,223,372,036,854,775,808的最大值。如果你每秒修改十亿个事实,那么包装事实索引需要将近三个世纪。

按事实索引搜索是线性的,因此您最好花一些时间在CLIPS4Android中添加对修改功能的支持。