Prolog开发专家系-非确定因素

Prolog开发专家系-非确定因素

ID:37463833

大小:52.50 KB

页数:16页

时间:2019-05-24

Prolog开发专家系-非确定因素_第1页
Prolog开发专家系-非确定因素_第2页
Prolog开发专家系-非确定因素_第3页
Prolog开发专家系-非确定因素_第4页
Prolog开发专家系-非确定因素_第5页
资源描述:

《Prolog开发专家系-非确定因素》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Prolog开发专家系统-非确定因素讨论用Prolog开发具有非确定因素的专家系统,将建造一个能够处理非确定因素的目标驱动的外壳程序Clam。上一章我们详细的叙述了如何时候目标驱动法来编制专家系统。这种目标驱动法可以很好的解决像识别鸟类那样具有明显结构层次的问题。在前面这个系统中用户对问题的的答案都是百分之百的肯定或者否定的。也就是说都具有确切的答案。不过解决许多实际问题的时候,专家通常都考虑许多不确定的因素,而用户在回答问题的时候,也不会都是百分之百的肯定。例如在鸟类识别系统中,有些鸟的颜色就很难确定。在本章中,我们要来讨论具有非确定因素的专家系统,这里我们将建造一个能够处理

2、非确定因素的目标驱动的外壳程序Clam。这里的推理机构已经不同于纯prolog的模式匹配和回溯,。所以在这个外壳程序中我们也包含了相应的推理机构。 可信度为了能够处理非确信因素,我们为每一条规则或者信息引入可信度的概念。在推理过程中,推理机构自动的处理不同的可信度的组合。我们还是从一个例子开始吧。在这个例子中可信度(cf)是从-100到100的整数。这是一个用来诊断汽车为什么不能够发动的专家系统,请注意我们引入的cf。goalproblem.rule1ifnotturn_overandbattery_badthenproblemisbattery.rule2iflights_w

3、eakthenbattery_badcf50.%注意cf为50,就表示是电池损坏的可信度是50。rule3ifradio_weakthenbattery_badcf50.rule4ifturn_overandsmell_gasthenproblemisfloodedcf80.rule5ifturn_overandgas_gaugeisemptythenproblemisout_of_gascf90.rule6ifturn_overandgas_gaugeislowthenproblemisout_of_gascf30.askturn_overmenu(yesno)prompt'

4、Doestheengineturnover?'.asklights_weakmenu(yesno)prompt'Arethelightsweak?'.askradio_weakmenu(yesno)prompt'Istheradioweak?'.asksmell_gasmenu(yesno)prompt'Doyousmellgas?'.askgas_gaugemenu(emptylowfull)prompt'Whatdoesthegasgaugesay?'.以上这些就是Clam外壳程序所定义的知识库的格式。这个知识库同样也是目标驱动的。在这个知识库中允许可信度相加。例如规则5和

5、6的结论都是“汽车没有气了”,不过是从不同的角度得出的结论,规则2和3则是说“电池没有电了”,不过也都不是绝对确信的。使用Clam外壳程序和上面的知识库联接起来以后,就是一个完整的可以处理肥缺性因素的专家系统了,下面是某次对话的实例:consult,restart,load,list,trace,how,exit:consultDoestheengineturnover?:yesDoyousmellgas?:yesWhatdoesthegasgaugesay?emptylowfull:emptyproblem-out_of_gas-cf-90problem-flooded-cf

6、-80donewithproblem注意这个推理机构和prolog有所不同,但系统找到某一个答案以后,并没有停止搜索,它会找出所有的答案,并且给每个答案给出确信度,我们可以看出,这个确信度并不是概率值,它只是简单的为每个答案评分。在用户回答系统的问题的时候同样可以使用确信度。下面是这种对话的例子::consultDoestheengineturnover?:yesDoyousmellgas?:yescf50%用户的回答使用了确信度Whatdoesthegasgaugesay?emptylowfull:emptyproblem-out_of_gas-cf-90problem-fl

7、ooded-cf-40donewithproblem注意在这个例子中用户只有50点的确信度是闻到了汽油的气味。系统考虑用户对答案的确信度,从而改变它对结果的确信度。系统还会对确信度进行联合,在上面的例子之中有两个规则都推导出是电池坏了,如果这两个规则同时成立,那么是电池坏了的确定度就会提高。下面是这个例子::consultDoestheengineturnover?:noArethelightsweak?:yesIstheradioweak?:yesproblem-battery-cf-75

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。