正向推理: 是从已知事实出发,通过规则库求得结论。或称为数据驱动方式,也称为自底向上(Bottom-up)。推理过程: ◇ 规则集中的规则与数据库中的事实进行匹配,得到匹配的规则集合 ◇ 从匹配的规则集合中选择一条规则作为使用规则 ◇ 执行使用规则的后件。将该使用规则的后件输入数据库。 ◇ 重复进行,直到达到目标 数据库中有A,规则库中有Rule1:A→B,那么Rule1就是匹配规则,进而将后件B送入数据库中。看一个具体的例子。 规则:事实中包含“有毛发”及“产乳”,根据规则“有毛发又产乳→哺乳动物”,匹配得到“哺乳动物”,则将“哺乳动物”送入数据库中成为新的证据,作为新的前提,可以在随后的推理中使用。 这种推理方式可能得出许多冗余规则和与目标无关的事实,如果选择的规则的控制策略不当,求解效率会比较低。 反向推理: 从目标出发,反向使用规则,求得已知事实,或称为目标驱动方式也称自顶向下(Top-down)推理方式。 推理过程: ◇ 用规则集中的规则后件与目标事实进行匹配,得到匹配的规则集合 ◇ 从匹配的规则集合中选择一条规则作为使用规则 ◇ 把执行的使用规则的前件作为下一个循环的目标事实 ◇ 重复进行,直到达到目标 这种推理方式如果目标明确,则推理的效率较高,常被人们所使用。 双向推理: 既自顶向下(Top-down)又自底向上(bottom-down)直至达到某一个中间环节两个方向的结果相符便成功结束。显然,这种推理方式的推理网络较小,效率也较高。 采用产生式系统结构求解问题的过程和人类求解问题时的思维很相像。因而可以用它来模拟人类求解问题的思维过程。可以把产生式系统作为人工智能系统的基本结构单元或基本模型看待。就好像是积木世界中的积木块一样。因而研究产生式系统的基本问题具有一般意义。产生式表示的格式固定、形式单一、规则间相互独立。所以系统容易建立;推理方式单纯、知识库与推理机分离,修改方便、容易理解。 |