Prolog开发专家系统-解释.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Prolog开发专家系统-解释

Prolog开发专家系统-解释 专家系统的一个重要的功能就是要能够解释它自己的行为。用Prolog开放具体解释能力的专家系统。 解释 专家系统的一个重要的功能就是要能够解释它自己的行为。这意味着用户可以在任何时候询问系统为什么得出某个结论,或者为什么提出某个问题。 这对于用户来说是一项重要的功能,有时候用户只要求知道答案,可是有时候用户需要知道解释,而通常的专家系统无法对它的行为做出有说服力的解释,而只能够告诉用户它使用了哪些规则得出的结论,至于为什么这些规则能够得出这样的结论,系统是无法解释的。例如下面这个例子: 汽车能够启动么? 不行 引擎发动了么? 是的 你问到汽油味道了么?是的 建议:等待5秒钟,然后再试。 为什么? 因为我使用了这样的规则: 如果不能够启动而且引擎发动了而且问到汽油味,那么就推荐的等待5秒再试。 很显然这个专家系统无法解释其选择某个规则的原因,而只能告诉用户它使用了某种规则。如果用户硬要刨根问底的话这个系统就无能为力了。 为了让系统具有真正的解释功能,我们需要比规则更多的知识。对每个规则进行注释是一个比较好的方法,这种方法将在以后的章节介绍。还有一种方法就是把更多的知识进行编码,推理引擎和解释引擎都同时使用这个知识库。 还有些专家系统的知识库是属于经验知识,在这种情况下系统的解释可以直接使用规则。像识别鸟类的分类系统就属于这种情况。鸟类识别系统就能够使用它的规则直接进行解释,例如为什么某种鸟是野鸭,就是因为它具有野鸭的一些特性,而这些特性就是规则所定义的。识别鸟类并不存在什么高深的理论,而只是根据某些特点进行分类的。 也许对于用户来说某些解释是多余的,不过对于开发人员来说这是十分重要的。这和通常的语言中的跟踪调试有些类似。当系统没有按照预期的效果执行的时候,开发人员可以根据解释研究错误的产生原因。知识工程师也可以根据解释从而设计出更加贴近用户的知识库。? 解释的种类 在一般的专家系统中常用的有4种解释。 报告当前的会话进程。 解释系统是如何得出某个结论的。 解释为怎么系统向用户询问某个问题。 解释为什么某个结论不成立。 在我们上一章介绍的Clam外壳程序中,推理引擎是自己编写的,所以这些解释特性并不难加入系统当中。在第一章的原始外壳中没有推理引擎,而是使用prolog的内部引擎,这样就无法加入新的解释特性,为了达到这个目的,我们需要编写自己的推理引擎,而这个引擎的运作方式和prolog相同,也就是说需要使用prolog编写一个prolog,好在这项工作并不难完成。? 在Clam中使用解释 首先让我们看看在Clam中加入了解释的一个例子,这里沿用了上一章汽车诊断系统。 首先用户打开对话跟踪功能,跟踪的信息使用粗体字表示,跟踪信息显示了系统是如何调用规则的。注意系统正确的表示出了规则的嵌套调用。 报告当前的会话进程的解释: consult, restart, load, list, trace, how, exit :trace on consult, restart, load, list, trace, how, exit :consult call rule 1 Does the engine turn over? : no call rule 2 Are the lights weak? : yes exit rule 2 call rule 3 Is the radio weak? : yes exit rule 3 exit rule 1 call rule 4 fail rule 4 call rule 5 fail rule 5 call rule 6 fail rule 6 problem-battery-cf-75 done with problem 下面来看看如何解释为什么要向系统提问。用户可以在任何时候向推理引擎询问why,请看这个例子: ... Is the radio weak? : why rule 3 If radio_weak Then battery_bad 50 rule 1 If not turn_over battery_bad Then problem is battery 100 goal problem ... 这里可以看出来当用户向系统询问为什么问is the radio weak这个问题的时候,系统把有关这个问题的几个规则列出来了。 再来看看how提问,当系统给出了某个结论的时候,用户可能想知道是如何得到这个结论的,这个时候向系统询问how。 ... problem-battery-cf-75 done with problem consult

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档