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