CLIPS 系统暂停,不再继续执行
CLIPS system halted and not continuing to execute
我正在按照 APG 文档集成 CLIPS 专家系统,感谢伟大的文档,我成功地将 CLIPS 集成到我的 C++ 项目中,我的应用程序持续运行并使用 EnvAssert 方法将事实提供给 CLIPS 系统并调用 Env运行,一切正常,直到我收到此错误。
[PRNTUTIL7] Attempt to divide by zero in / function.
[DRIVE1] This error occurred in the join network
Problem resides in associated join
Of pattern #1 in rule RULE-1
[PRCCODE4] Execution halted during the actions of defrule RULE-2.
一旦我收到此错误,进一步的 Assert 正在工作,但 运行 似乎不起作用,但我确信有明确的匹配规则可用,但仍然没有规则在下一个 运行 上触发。
我理解错误并且可以修复它,但我无法理解该行为。所以我在 CLIPS 控制台中测试了它,当连续报告错误时 运行 似乎按我预期的那样工作,但不是我的应用程序,我想知道潜在的区别。
参考应用伪代码:
<code to create and initialize CLIPS environment>
EnvReset()
While(true)
{
<my code to get facts>
EnvAsset(Fact)
EnvRun(-1)
<my code to receive the generated result facts>
}
注意:我不会在每个 运行 之前调用 RESET。
用于重置 API 调用的错误标志的修复程序已签入 sourceforge 上的颠覆存储库:https://sourceforge.net/p/clipsrules/code/HEAD/tree/branches/
我正在按照 APG 文档集成 CLIPS 专家系统,感谢伟大的文档,我成功地将 CLIPS 集成到我的 C++ 项目中,我的应用程序持续运行并使用 EnvAssert 方法将事实提供给 CLIPS 系统并调用 Env运行,一切正常,直到我收到此错误。
[PRNTUTIL7] Attempt to divide by zero in / function.
[DRIVE1] This error occurred in the join network
Problem resides in associated join
Of pattern #1 in rule RULE-1
[PRCCODE4] Execution halted during the actions of defrule RULE-2.
一旦我收到此错误,进一步的 Assert 正在工作,但 运行 似乎不起作用,但我确信有明确的匹配规则可用,但仍然没有规则在下一个 运行 上触发。
我理解错误并且可以修复它,但我无法理解该行为。所以我在 CLIPS 控制台中测试了它,当连续报告错误时 运行 似乎按我预期的那样工作,但不是我的应用程序,我想知道潜在的区别。
参考应用伪代码:
<code to create and initialize CLIPS environment>
EnvReset()
While(true)
{
<my code to get facts>
EnvAsset(Fact)
EnvRun(-1)
<my code to receive the generated result facts>
}
注意:我不会在每个 运行 之前调用 RESET。
用于重置 API 调用的错误标志的修复程序已签入 sourceforge 上的颠覆存储库:https://sourceforge.net/p/clipsrules/code/HEAD/tree/branches/