前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >人工智能—产生式推理

人工智能—产生式推理

作者头像
用户7886150
修改2021-01-29 10:10:50
修改2021-01-29 10:10:50
1.1K0
举报
文章被收录于专栏:bit哲学院bit哲学院

参考链接: 人工智能中的推理

产生式推理,即利用产生式知识表示法所进行的推理,而由此产生的系统称为产生式系统。 

 文章目录

 基本结构综合数据库规则库控制系统

  推理方式正向推理算法过程优点缺点

   逆向推理算法过程优点缺点

基本结构 

产生式的基本结构包括: 

控制系统(control system)规则库(rule base)综合数据库(data base) 

综合数据库 

也被称为事实库,主要用来存放与求解问题有关的各种当前信息的数据结构。例如,问题的初始状态、输入的事实、推理得到的中间结论以及最终结论。 

规则库 

规则库(rule base)是一个用来存放与求解问题有关的所有规则的集合,也称为知识库(knowledge base)。它包含了将问题从初始状态转换成目标状态所需要的所有变换规则,所以规则库是产生式系统进行问题求解的基础。 

控制系统 

控制系统(control system),也称为推理机,用来控制整个产生式系统的运行,决定问题求解过程的推理线路。 

推理方式 

正向推理 

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

算法过程 

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

例如:假设有以下两条规则 

          r

          1

        r_1

     r1​:如果动物有羽毛,那么动物是鸟

          r

          2

        r_2

     r2​:如果动物是鸟且动物善飞,那么动物是信天翁。 

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

把“动物有羽毛,动物善飞”放入综合数据库检查综合数据库中是否包含问题的解,结果为否。检查知识库中的可用知识,形成可用知识集,集合中仅包含

          r

          2

        r_2

     r2​。从当前知识库选出

          r

          2

        r_2

     r2​进行推理,将结果“动物是鸟” 放入综合数据库。检查综合数据库中是否包含问题的解,结果为否。检查知识库中的可用知识,形成可用知识集,集合中仅包含

          r

          1

        r_1

     r1​。从当前知识库选出

          r

          1

        r_1

     r1​进行推理,将结果“动物是信天翁” 放入综合数据库。检查综合数据库中是否包含问题的解,结果为真。 

优点 

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

缺点 

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

逆向推理 

逆向推理,即以某个假设目标作为出发点的推理方法,也称为目标驱动推理,或逆向链推理。(从结论推条件是否满足初始条件) 

算法过程 

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

例如在正向推理中的那个例子,如果使用逆向推理,过程如下: 

将初始证据“动物有羽毛”和“动物善飞”放入综合数据库,把“动物是信天翁”放入假设集从假设集中取出假设“动物是信天翁”,判断该假设是否为综合数据库的已知事实,结果为否。再检查“动物是信天翁”能否被知识库中的知识所导出,发现可由

          r

          2

        r_2

     r2​导出,于是

          r

          2

        r_2

     r2​被放入可用规则集。从可用规则集中取出

          r

          2

        r_2

     r2​并将其前提条件`“动物是鸟”和“动物善飞”放入假设集。在假设集取出一个假设“动物是鸟”,检查该假设是否为综合数据库中的事实,结果为否。再检查“动物是鸟”能否被知识库中的知识所导出,发现可由

          r

          1

        r_1

     r1​导出,于是

          r

          1

        r_1

     r1​被放入可用知识库。从可用知识库中取出

          r

          1

        r_1

     r1​,将其前提条件“动物有羽毛”放入假设集。此时假设集中的假设已全部被综合数据库中的已知事实所满足。 

优点 

不必寻找和使用那些与假设目标无关的信息和知识,推理过程的目标明确,也有利于向用户提供解释。 

缺点 

当用户对解的情况认识不清时,由系统自主选择目标的盲目性比较大,若选择不好,可能需要多次提出假设,会影响系统效率。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档