与我的一位关于规则库系统的人讨论后,我感到困惑。我在Android中开发了一套有一套规则。我所说的是,初始事实必须匹配任何规则才能启动引擎,因此我们可以直接开始匹配初始事实而不将它们发送到工作内存。
该伙伴说不,初始事实必须进入工作记忆,然后匹配应该开始,我同意,直到这里,但他还补充说,你只需要从初始事实中获取变量,然后匹配规则例如,我有一个规则a(variable),b(constant)
Initial facts in Working memory is a(VAR_VALUE)
所以它会调用规则
a(variable),b(constant)
如果答案是肯定的,那么我们就可以拥有许多具有常量值的规则,即使工作内存为空也可以调用这些规则。
我需要一些关于上述问题的专家意见,所以我可以根据需要进行开发更改。
答案 0 :(得分:0)
首先检查谓词匹配,如果相同,则检查主题是否可变。如果没有则匹配相关规则如果两个主题相同则匹配。 与常驻者的规则必须匹配wm的元素。否则它将无限循环。因为单个变量可以带有任意数量的常量。 还可以使用更好的冲突解决策略。