- 1、本文档共85页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
矿大人工智能4
第四章 自动推理 产生式规则总结 产生式 ::= 前提 ? 结论 前提 ::= 简单条件 | 复合条件 结论 ::= 事实 | 操作 复合条件 ::= 简单条件 AND 简单条件 [(AND 简 单条件 )...] | 简单条件 OR 简单条件 [(OR 简 单条件 )...] 操作 ::= 操作名 [(变元, ...)] 【说明】:产生式又称规则或产生式规则; “前提”:又称条件、前提条件、前件、左部等; “结论”:又称后件、右部等。 3.2.1.2 产生式系统的组成 产生式系统的三个组成部分:规则库、综合数据库、控制系统。 1、规则库 用于描述相应领域内知识的产生式集合。 在建立规则库时,应注意如下问题: (1)有效地表达领域内的过程性知识:包括规则的建立、不确定性知识的表示、推理链的形成、知识的完整性等。 (2)对知识进行合理的组织与管理:目的是使得推理避免访问与所求解的问题无关的知识,以提高问题求解效率。 2、综合数据库 综合数据库又称为事实库、上下文、黑板等。它是一个用于存放问题求解过程中各种当前信息的数据结构,例如:问题的初始状态、原始证据、推理中得到的中间结论、最终结论等。 综合数据库的内容是在不断变化的,是动态的。 综合数据库中的已知事实通常用字符串、向量、集合、矩阵、表等数据结构表示。 e.g.关于动物世界的产生式系统有如下综合数据库: … (Mammal Dog) (Eat Dog Meat)综合数据库可视为推理过程中间结果的存贮池。随着中间结果的不断加入,使综合数据库描述的问题状态逐步转变为目标状态。 3、控制系统 控制系统又称推理机构,由一组程序组成,负责整个产生式系统的运行,实现对问题的求解。 控制系统的主要工作: 1)按一定的策略从规则库中选择规则,并与综合数据库中的已知事实进行匹配。 2)当发生冲突(即匹配成功的规则不止一条)时,调用相应的冲突解决策略予以消解。 3)在执行某条规则时,若该规则的右部是一个或多个结论,则把这些结论加到综合数据库中;若规则的右部是一个或多个操作,则执行这些操作。 4)对于不确定性知识,在执行每一条规则时,还要按一定的算法计算结论的不确定性。 5)随时掌握结束产生式系统运行的时机,以便在适当的时候停止系统的运行。 例如,在关于动物世界的产生式系统中,已建立规则库,其包括上述形式化表示的规则;也建立了如上所述的综合数据库; 规则库:(Mammal ?x)和(Eat ?x Meat) 综合数据库:(Mammal Dog)和(Eat Dog Meat) 结论(Carnivore Dog)最后被插入综合数据库。 实际上产生式系统的控制机制就是不断地挑选可激活的规则对综合数据库进行操作,直至得到解答(综合数据库内容转变为描述了目标状态),或失败结束。 产生式系统的三大组成部分的相互关系图: 练习:用产生式表示法设计求解如下所示二阶梵塔问题的产生式系统,包括综合数据库、规则库和冲突解法(不必设计控制系统);并应用回溯控制算法给出问题状态的变迁过程。 这个梵塔问题是这样的:有三个柱子和大、小二个盘子,盘子有中孔。初始状态下二个盘子套在柱子1上,目标状态下则都套到柱子2上。搬动盘子应遵从以下约束:⑴大盘不能压在小盘上面,且每次只能搬一个盘子;⑵优先搬动套在序号小的柱子上的盘子;⑶放盘子到柱子的优先顺序遵从柱子序号的右循环,即1、2、3、1、2。 1) 问题表示: (1) 综合数据库DATA=L,初始L =(1 1),终态L =(2 2)其中L(1)指示小盘位置,L(2)指示大盘位置。 ? */有两种表示方法:面向盘子和面向柱子,由于盘子少就用??????????? 面向盘子的表示。盘子的位置只可能为1、2、3,分别指向??????????? 3个柱子。 (2) 规则集(二条):? */为大、小盘的搬动各设计一条规则 · if L(1) ≠ n, then L(1)=n; (1,2,3) ? */由于小盘必定在大盘上,所以任何场合均可搬动小盘。 · if L(2) ≠L(1), L(1) ≠ n, L(2) ≠ n,then L(2)= n; (n=1,2,3) */仅小盘不在大盘上时可搬大盘,这时小盘必在另一柱子??????????? 上,故大盘只能搬到剩下的无盘柱子上。 (3)冲突解法 ·在数码小的柱子上的盘优先搬; ·若数
文档评论(0)