人工智能及专家系统 教学课件 作者 敖志刚 第13章 基于Prolog程序实现的专家系统开发实例.ppt

人工智能及专家系统 教学课件 作者 敖志刚 第13章 基于Prolog程序实现的专家系统开发实例.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 知识表示 第13章 基于Prolog程序实现的专家系统开发实例 13.1 基于规则的动物识别专家系统 13.1.1 动物识别专家系统的基本组成 13.1.2 系统的PDC Prolog源程序及运行 13.2 基于逻辑的液压故障诊断专家系统 13.2.1 液压故障诊断专家系统的构建 13.2.2 液压故障诊断系统的编程与运行状态 第13章 基于Prolog程序实现的专家系统开发实例 13.1.1 动物识别专家系统的基本组成 动物识别ES从结构上可以分成六个基本部分:知识库、数据库、知识表示、推理机、解释部分、知识获取部分。 1. 动物识别专家系统的知识库 10条规则用Turbo Prolog语言表示如下: it_is(“哺乳动物”):- positive(“产奶”). it_is(“哺乳动物”):- positive(“有毛发”). it_is(“食肉动物”):- positive(“吃肉”). it_is(“食肉动物”):- positive(“有犬齿”), positive(“有爪”), positive(“眼前视”). it_is(“有蹄动物”):- positive(“有蹄子”),it_is(“哺乳动物”). it_is(“有蹄动物”):- positive(“反刍食物”),it_is(“哺乳动物”). animal_is(“老虎”):- it_is(“哺乳动物”),it_is(“食肉动物”),positive(“黄褐色”), positive(“有黑条纹”). animal_is(“金钱豹”):- it_is(“哺乳动物”),it_is(“食肉动物”),positive(“黄褐色”), positive(“有暗斑点”). animal_is(“斑马”):- it_is(“有蹄动物”), positive(“有黑条纹”). animal_is(“长颈鹿”):- it_is(“有蹄动物”),positive(“有长脖子”), positive(“有长腿”),positive(“有暗斑点”). 2.数据库 positive(X):- ask(X). ask(X):- write(X,吗?), readln(Reply), remember(X,Reply). 3. 知识表示 rule(1,“老虎”,[1,2,3,4]). rule(2,“金钱豹”,[1,2,3,5]). rule(3,“斑马”,[4,6]). rule(4,“长颈鹿”,[5,6,7,8]). condition(1,“哺乳动物”). condition(2,“食肉动物”). condition(3,“黄褐色”). condition(4,“有黑条纹”). condition(5,“有暗斑点”). condition(6“有蹄动物”). condition(7,“有长脖子”). condition(8,“长腿”). 4. 推理机 推理机是一组函数,本例既有正向推理机又有反向推理机,都是用精确推理。 ⑴ 正向推理 用户首先提供一批事实,存放到数据库中,然后推理机进行工作。方法是: ① 推理机用这批事实与知识库中规则的前提进行匹配。 ② 把匹配成功的规则的结论部分作为新的事实加到数据库中去(这时,数据库中的事实增加了)。再用更新后的数据库中的所有事实,重复上述①、②二步,如此反复进行,直到得出结论(答案)或不再有新的事实加到数据库为止。 ⑴ 正向推理 ⑵反向推理 由用户或系统首先提出一批假设,然后系统逐一验证这些假设的真假性,方法是: ① 看假设是否在数据库中,若在,则假设成立,推理结束或进行下一个假设的验证,否则,进行下一步。 ② 判断这些假设是否是证据节点,若是,系统提问用户,否则进行下一步。 ③ 找出结论部分包含此假设的那些规则,把这些规则的所有前提作为新的假设。 ④ 重复①、②、③步。 ⑵反向推理 设计一个反向推理机所具有的功能 ① 能根据用户要求或情况提出假设。 ② 能验证此假设是否是在数据库中。 ③ 能把知识库中将结论部分包含此假设的规则都找出来。 ④ 能将找出来的规则的前提部分取出,并作为新的假设逐条验证。 ⑤ 能判断假设是否是证据节点,若是,能向用户提出相应的问题,并记录结果。 ⑥ 能将匹配成功的规则记录下来。 ⑦ 能判断何时应结束推理。 ⑶ 反向推理机的实现 positive(X):- xpositive(X),!. positive(X):- not(negative(X)),!,ask(X). negative(X):- xnegative(X),!. ask(X):- write(该动物,X

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档