内容正文:
专家系统中的解释机制
1
专家系统中的解释机制
通常,基于规则的专家系统要回答的问题有两类:“Why”和“How”,“Why”查询发生在专家系统向用户询问信息时,用户可能会问“Why”,意思是“你为什么要这个信息?”,答案是专家系统正在引用的规则。“How”查询发生在专家系统给出结论时,用户可能会问“How”,意思是“你是怎样得到这个结论的?”答案是专家系统得出目标的过程中所使用的规则序列。
3
假设前述的汽车故障诊断专家系统具有解释功能,并假设已经到达如下阶段:
综合数据库 搜索可用规矩
━━━→ 产生式规则库
油箱器中有油
规则1
化油器中有油
规则2
发动机在抽油
规则3
发动机会运作
规则4
问题在火花塞
4
下面的对话是专家系统向用户询问的过程:
专家系统:发动机会运转吗?
用户:会的。
专家系统:油箱中有油吗?
用户:有的。
专家系统:化油器中有油吗?
用户:为什么(Why)?
5
这里用户输入了Why来询问,也就是用户询问系统“你为什么需要知道化油器中是否有油?”这时,专家系统会使用当前的规则来加以回答:
已经确认“发动机会运转”,所以如果“化油器中有油”,
那么就可推定“火花塞有故障”。
因为,如果第三个问题的回答是肯定的,这样就激活了规则
6
4,从而确认了规则1证据中的第二个证据。又由于已经确认“发动机会运转”,那么规则1的两个证据匹配成功,进而可以得到结论:“火花塞有故障”。因此当用户提出“Why”询问时,系统就用规则4和规则1的证据作为回答。应该指出,系统对其行为的解释仅仅是将正在作用的规则重新表述一下。不过,这样已经对系统为什么要知道“化油器中有油吗?”提供了足够的解释。所以当用户提出询问;
“发动机在抽油”这个结论是怎样(How)得出的?
系统就会告诉用户得出这个结论的推理过程,只要从目标开始沿着它的规则的反向推理就可以了。
这里是从规则4产生的结论:
如果,油箱中有油而且化油器中有油,
那么,发动机在抽油;
其中,油箱中有油和化油器中有油都是用户给出的。
又从规则1可知;
如果,发动机会运转而且发动机在抽油,
8
那么,故障在火花塞。