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

What is the maximum number of facts that can be added to a 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。

来自CLIPS基础手册,2.4.1 Facts:

"The number of facts in the fact-list and the amount of information that can be stored in a fact is limited only by the amount of memory in the computer."

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

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