产生式系统推理机的推理方式有正向推理、反向推理和双向推理三种。
(一)正向推理
正向推理是从已知事实出发,通过规则库求得结论。正向推理方式也被称为数据驱动方式或自底向上的方式。[5]它的推理过程是:
(1)规则库中的规则与综合数据库中的事实进行匹配,得到匹配的规则集合;
(2)使用冲突解决算法,从匹配规则集合中选择一条规则作为启用规则;
(3)执行启用规则的后件,将该启用规则的后件送入综合数据库或对综合数据库进行必要的修改。
重复这个过程直至达到目标。
具体地说,如果综合数据库中含有事实A,而规则库中有规则A+B,那么这条规则便是匹配规则,进而将后件B送入综合数据库。再从规则库中寻找与综合数据库中已有事实相匹配的规则,并把该规则的后件送入综合数据库。这样不断地进行,即可不断扩大综合数据库中的事实数量,直至包含目标便成功结束。如果有多条匹配规则,则需从中选一条作为启用规则,不同的选择方法直接影响着求解效率,选择规则的问题称作冲突解决策略或控制策略。正向推理方式的缺点是在推理过程中,可能会得出一些与目标无直接关系的事实,造成计算空间和时间的浪费。
(二)反向推理
反向推理是从目标(作为假设)出发,反向使用规则,求得已知事实。这种推理方式也被称为目标驱动方式或自顶向下的方式。其推理过程是:
(1)规则库中的规则后件与目标事实进行匹配,得到匹配的规则集合;(www.xing528.com)
(2)使用冲突解决算法,从匹配规则集合中选择一条规则作为启用规则;
(3)将启用规则的前件作为子目标。
重复这个过程直至各子目标均为已知事实,则反向推理的过程就算成功结束。
如果目标明确,使用反向推理方式的效率是比较高的,所以常为人们所使用。
(2)使用冲突解决算法,从匹配规则集合中选择一条规则作为启用规则;
(3)将启用规则的前件作为子目标。
重复这个过程直至各子目标均为已知事实,则反向推理的过程就算成功结束。
如果目标明确,使用反向推理方式的效率是比较高的,所以常为人们所使用。
(三)双向推理
双向推理是一种既自顶向下又自底向上的推理。推理从两个方向同时进行,直至某个中间界面上两方向结果相符便成功结束。不难想象,这种双向推理较正向或反向推理所形成的推理网络来得小,从而推理效率更高。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。