4.3.2 正向与反向推理
  1.正向推理 

  正向推理又称为正向链接推理,其推理基础是逻辑演绎的推理链,它从一组表示事实的谓词或命题出发,使用一组推理规则,来证明目标谓词公式或命题是否成立。例如,有规则集如下:
                规则1: IF P1 THEN P2
                规则2: IF P2 THEN P3
                规则3: IF P3 THEN q3
  规则中的P1、P2、P3、q3可以是谓词公式命题。设总数据库(工作存储器)中已有事实P1,则应用这三条规则进行正向推理,即从P1出发推导出q3的过程如图4.16所示。

          
                图4.16 正向推理链接过程示意图
  实现正向推理一般策略是:先提供一批数据(事实)到总数据库中,系统利用这些事实与规则的前提匹配,触发匹配成功的规则(即启用规则),把其结论作为新的事实添加到总数据库中。继续上述过程,用更新过的总数据库中的所有事实再与规则库中另一条规则匹配,用其结论再修改总数据库的内容,直到没有可匹配的新规则,不再有新的事实加到总数据库为止。
  前面已经指出,前件和后件可以用命题或谓词来表示,当它们是谓词时,全局前提与总数据库中的事实匹配成功是指:对前件谓词中出现的变量进行某种统一的置换,使置换后的前件谓词成为总数据库中某个谓词的实例,即实例化后前件谓词与总数据库中某个事实相同。执行后件是指:当前件匹配成功时,用前件匹配时使用的相同变量,按同一方式对后件谓词进行置换,并把置换结果(后件谓词实例)加进总数据库。
  例如,假设有一当前状态如图4.17所示的产生式系统:

            
               
  2.反向推理
  反向推理又称为后向链接推理,其基本原理是从表示目标的谓词或命题出发,使用一组规则证明事实谓词或命题成立,即提出一批假设(目标),然后逐一验证这些假设。例如,仍用上述的三条规则为例,应用反向推理方法,从P1出发推导出q3的过程如图4.18所示:

          
                图4.18 正向推理链接过程示意图
  首先假定目标q3成立,由规则3(P3→q3),为证明q3成立,须先验证P3是否成立;但总数据库没有事实P3,所以假定子目标P3成立;由规则2(P2→P3),应验证P2;同样,由于数据库中没有事实P2,假定子目标P2成立;由规则1(P1→P2),为验证P2成立,须先验证P1。因为数据库中有事实P1,所以假定的目标P2成立,因而P3成立,最终导出结论q3确实成立。
  总之,反向推理的具体实现策略是:先假定一个可能的目标,系统试图证明它,看此假设目标是否在总数据库中,若在,则假设成立。否则,看这些假设是否证据(叶子)结点,若是,向用户询问,若不是,则再假定另一个目标,即找出结论部分中包含此假设的那些规则,把它们的前提作为新的假设,试图证明它。这样周而复始,直到所有目标被证明,或所有路径被测试。
  例如,对于如图图4.15所示的产生式系统,则其可能的一种反向推理过程如下……
  
    如要更好地掌握产生式系统的运行机理,请进入我们的网上产生式系统......产生式系统的示例程序

    在这里,您可以自已构造数据库和规则库,并且可以选择控制策略。示例程序将动态显系统运行推理的每一步,是您学习的好帮手。