1.5 产生式系统的类型
1.正向、逆向、双向产生式系统
正向产生式系统,简单的说,就是从已知数据出发,一步步应用规则,一直到推出结论。象前面介绍的字符转换问题的求解过程,就是一个正向的过程。而逆向产生式系统则正好相反,它是从结论出发,一步步反向使用规则,最后看是否所有的前提条件都成立。具体过程是这样的:首先假定结论正确,然后根据规则,看在哪些条件下该结论才能够成立。然后再看这些条件是否是已知条件。如果全部(一个结论可能要求几个条件同时成立才成立)是已知条件,则结论得证。如果部分或者全部条件都是非已知的,则将这些条件看成是新的要求解的结论,用同样的逆向方法推断它们是否正确。依次类推,直到所有的条件都是已知的,就推导出了最初的结论。双向产生式系统则是正向推理和逆向推理同时使用的产生式系统。
用产生式系统求解某一个问题时,如果按照规则使用的方式或者说按推理方向来划分的话,则有正向、逆向和双向产生式系统这三种类型。正向产生式系统是从初始状态出发朝着目标状态这个方向来使用规则,即正推的方式工作的,我们称这些规则为F规则。反过来如果选取目标描述作为初始综合数据库逆向进行求解,即逆向使用规则,产生子目标状态,反方向一步一步朝着初始状态方向求解,即逆推方式工作,则称为逆向产生式系统。逆向应用的规则称B规则。若以双向搜索的方式(即正向和逆向同时进行)去求解问题,则称为双向产生式系统。这时必须把状态描述和目标描述合并构成综合数据库,F规则只适用于状态描述部分,B规则则用于目标描述部分。这种类型的搜索,其控制策略所使用的结束条件要表示成综合数据库中状态描述部分与目标描述部分之间某种形式的匹配条件,而且搜索时还要决定每一段上要选用F规则还是B规则。
对于八数码问题,如果只有一个初始状态和一个目标状态,那么正向和逆向求解并没有什么差别,所花的求解工作量也是一样的。但是,当有多个显式表示的目标状态和一个初始状态时,逆向求解有可能具有较低的效率,因为一开始不知道选哪一个目标状态开始求解更好,只能从全部的目标状态集开始搜索。双向求解时,只有当综合数据库中正推状态描述和逆推子目标描述完全匹配时,才结束搜索找到解,可想而知不能及时得到匹配将导致效率降低。
|