确定性知识推理方法--产生式推理

通常把利用产生式知识表示方法进行的推理称为产生式推理,把由此产生的系统称为产生式系统。按照推理的分为正向推理,逆向推理,混合推理三种方式。

产生式推理的基本结构

确定性知识推理方法--产生式推理

综合数据库: data base也称为事实库,是一个存放与需要求解的问题相关的所有信息的数据结构。如 : 问题的初始状态,输入的事实,推理得到的中间结果,最终结论。

在推理的过程中,某条规则的前提可以和综合数据库中的已知事实相匹配时,该条规则被**,由它推出的结论将作为新的事实放入综合数据库,成为后面推理的已知事实。

规则库(RB): rule base用来存放与求解问题有关的所有规则的集合,又称为知识库(KB)knowlege base,包含了将问题从初始状态到目标状态所需要的所有变化规则。

规则库是产生式系统进行问题求解的基础,其知识的完整性,一致性,准确性,灵活性,以及知识组织的合理性,对规则库的运行效果都有着重要的影响。

控制系统 :control system 也称为:推理机,由一组程序组成,控制整个产生式系统的运行,决定问题求解过程的推理线路,实现对问题的求解。

主要功能有:
+ 初始化综合数据库
+ 选择可用规则
+ 执行选定的规则
+ 决定推理的线路,终止推理过程

产生式的正向推理

正向推理是一种从已知事实出发、正向使用推理规则的推理方式,也称为数据驱动推理或前向链推理。

基本思想:
+ 用户需要事先提供一组初始证据。 并将其放入综合数据库。
+ 推理开始后,推理机根据综合数据库中的已有事实,到知识库中寻找当前可用的知识,形成一个当前可用的知识集.
+ 然后按照冲突消解策略,从该知识集中选择一条知识.
+ 使用选定的知识进行推理,并将新推出的事实加入综合数据库中,作为后面继续推理时可用的已知事实。
+ 如此重复直到求出所需要的解或者知识库中再无可用知识为止。

算法流程:

确定性知识推理方法--产生式推理

算法描述:

  • 1–>把用户提供的初始证据放入综合数据库中。
  • 2–>检查综合数据库中是否包含了问题的解,若已经包含则求解结束,并成功退出,否则执行下一步。
  • 3–>检查知识库中是否有可用的知识,若有,形成当前可用的知识集,执行下一步,否则转5.
  • 4–>按照某种冲突消解策略,从当前可用的知识集中选出一条知识进行推理,并将进行推理的新事实加入综合数据库中,然后转2
  • 5–>询问用户是否可以进一步补充新的事实,若可补充,则将补充的新事实加入综合数据库中,然后转3,否则无解,失败退出。

正向推理的优点:

比较直观,允许用户主动提供有用的事实信息,适用于诊断,设计,预测,监控等领域的问题求解。

正向推理的缺点:

推理无明确的目标,求解问题时可能会执行许多与解无关的操作,导致推理效率较低。

产生式的逆向推理

逆向推理是一种以某个假设目标作为出发点的推理方法。

基本思想:
+ 1–>将问题的初始证据和要求证的目标(称为假设)分别放入综合数据库和假设集。
+ 2–>从假设集中选取一个假设,检查该假设是否是在综合数据库中,若在,该假设成立。此时若假设集空,成功退出。否则仍执行(2).若假设不在数据库中,则执行下一步。
+ 3–>检查该假设是否可由知识库的某个知识导出。若不能由某个知识导出,则询问用户该假设是否为可由用户证实的原始事实。若是,假设成立,并将其放入综合数据库,在重新寻找新的假设;若不是,则转(5)。若能由某个知识导出,执行下一步。
+ 4–>将知识库中所有能够导出该假设的所有知识构成一个可用知识集。
+ 5–>检查可用知识集是否为空,若空,失败退出。否则执行下一步。
+ 6–>按冲突消解策略选择一条知识,执行下一步。
+ 7–>将该知识的前提的每一个子条件都作为新的假设放入假设集。转(2)

算法流程:
确定性知识推理方法--产生式推理