人工智能 —— 产生式推理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/starter_____/article/details/88653126

产生式推理的基本结构

  • 规则库:用于描述相应领域内知识的产生式集合。
  • 综合数据库:一个用于存放问题求解过程中各种当前信息的数据结构。
  • 控制系统:包括控制和推理机两个部分,由一组程序组成,负责整个产生式系统的运行,实现对问题的求解。

推理过程:先查询问题的解是否在综合数据库中,若不存在,则取出规则库中对应的规则进一步进行推理。


产生式的正向推理

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

举例:

设有以下两条规则:

  • r 3 r_3 :IF 动物有羽毛 THEN 动物是鸟
  • r 15 r_{15} :IF 动物是鸟 AND 动物善飞 THEN 动物是信天翁

假设已知有以下事实:动物有羽毛,动物善飞。要求采用正向推理,求满足以上事实的动物是何种动物。

解:

① 由于已知事实“动物有羽毛”,即 r 3 r_3 的前提条件满足,因此 r 3 r_3 可用,承认 r 3 r_3 的结论,即推出新的事实“动物是鸟”。
② 此时, r 15 r_{15} 的两个前提条件均满足,因此 r 15 r_{15} 可用,承认 r 15 r_{15} 的结论,即推出新的事实“动物是信天翁”。
③ 由于信天翁已经是一种具体的动物,因此已求出该动物是信天翁。

优点和局限性(不需要有明确的目标):

正向推理的优点是比较直观,允许用户主动提供有用的事实信息,适合于诊断、设计、预测、监控等领域的问题求解。其主要缺点是推理无明确的目标,求解问题时可能会执行许多与解无关的操作,导致推理效率较低。


产生式的逆向推理

步骤:

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

举例:

设有以下两条规则:

  • r 3 r_3 :IF 动物有羽毛 THEN 动物是鸟
  • r 15 r_{15} :IF 动物是鸟 AND 动物善飞 THEN 动物是信天翁

假设已知有以下事实:动物有羽毛,动物善飞。要求采用逆向推理,求证:动物是信天翁

解:

① 推理开始前,综合数据库和假设集均为空。
② 推理开始后,先将初始证据“动物有羽毛”和“动物善飞”放入综合数据库,把“动物是信天翁”放入初始假设集
③ 然后从假设集中取出一个假设“动物是信天翁”,查找该假设是否为综合数据库中的已知事实,回答为“N”。再检查“动物是信天翁”是否能被规则库中的规则所导出,发现“动物是信天翁”可由 r 15 r_{15} 导出,于是 r 15 r_{15} 被放入可用规则集
④ 接着从可用规则集中取出 r 15 r_{15} ,将其前提条件“动物是鸟”和“动物善飞”分别作为新的子假设放入假设集。
⑤ 在当前假设集中,取出一个假设“动物是鸟”,检查该假设是否为综合数据库中的事实,回答为“N”。再检查“动物是鸟”是否能被规则库中的规则所导出,发现该子假设可由 r 3 r_3 导出,于是 r 3 r_3 被放入可用规则集
⑥ 接着从可用规则集中取出 r 3 r_{3} ,将其前提条件“动物有羽毛”作为新的假设放入假设集。
⑦ 此时,假设集中的假设已全部被综合数据库中的已知事实所满足,推理过程成功结束,于是目标“动物是信天翁”得证。

优点和局限性(需要有明确的目标):

逆向推理的主要优点是,不必寻找和使用那些与假设目标无关的信息和知识,推理过程的目标明确,也有利于向用户提供解释,在诊断性专家系统中较为有效。其主要缺点是当用户对解的情况认识不清时,由系统自主选择假设目标的盲目性比较大,若选择不好,可能需要多次提出假设,会影响系统效率。


产生式系统的应用

(该例采用正向推理)

  • 将已知初始事实存放在综合数据库中:暗斑点,长脖子,长腿,奶,蹄

(1)从规则库中取出 r 1 r_1 ,检查其前提是否可与综合数据库中的已知事实匹配。匹配失败则 r 1 r_1 ,不能被用于推理。然后取 r 2 r_2 进行同样的工作,匹配成功则 r 2 r_2 被执行。

  • 综合数据库:暗斑点,长脖子,长腿,奶,蹄,哺乳动物

(2)分别用 r 3 r_3 r 4 r_4 r 5 r_5 r 6 r_6 综合数据库中的已知事实进行匹配,均不成功。 r 7 r_7 匹配成功,执行 r 7 r_7

  • 综合数据库:暗斑点,长脖子,长腿,奶,蹄,哺乳动物,有蹄类动物

(3) r 11 r_{11} 匹配成功,并推出“该动物是长颈鹿”。

猜你喜欢

转载自blog.csdn.net/starter_____/article/details/88653126