基于知识的诊断推理:
运用知识的思维过程即推理过程.在智能系统中,推理是由计算机程序实现的,称为推理机.人工智能作为相应的人类智能模拟,具有多种推理方式:
a.演绎推理,归纳推理,类比推理;
b.精确推理,不精确推理;
c.单调推理,非单调推理;
d.正向推理,反向推理,混合推理;
所谓的推理的单调性是指随着推理的向前推进及新知识的加入,推出的结论是否越来越接近最终目标.对于单调推理,当加入新的命题时,不必检查新命题与原有知识间的不相容性.对于一个已证明的命题,不必保留一个命题表,它的证明是以该命题表中的命题为依据.(人工智能的非单调推理的四个代表性理论或系统是Reither的缺省理论,Mcdermott的非单调逻辑,Mccarthy的界限理论,Doyle的正确性支持系统)
正向推理又称数据驱动控制策略或前件推理,从已有的事实出发,正向使用规则,当规则的条件部分与已有的事实匹配时,就把该规则作为可用规则放入候选规则队列,然后通过冲突消解,在候选队列中选择一条规则作为启用规则进行推理,并将其放入数据库中,作为下一步推理时的证据.重复这个过程直到再无可用规则或者得到要求解为止.
算法描述:
已知事实F
Procedure data-driven(F)
扫描知识库,获得可由F推导的可用规则集S
while S 非空且问题未获得最终解
begin
调用冲突消解算法,从S中选择规则R;
执行R,将其结论放入数据库;
扫描知识库,形成新的可用规则集S
end
反向推理又称目标驱动控制策略或自顶向下推理或后件推理,它提出某个假设,然后寻找支持该假设的证据,若所需的证据都能找到,说明原假设正确;否则说明原假设不成立.
算法描述:
Precedure goal-driven(G)
扫描知识库,找出能导出假设G的规则集S;
if S 空
then 向用户询问关于G的信息
else while G未知且S非空 do
begin
从S中选择出某一规则R;
把R的条件部分匹配作为新的假设G';
if G'未知
then 调用goal-driven(G');
if G'为真
then 执行R的结论部分,并从S中删除R
end
混合推理就是正向推理和反向推理的混合运用,先通过正向推理形成假设,然后通过反向推理辨别假设的真伪.
算法大致可描述为:
Procedre alternate
repeat
调用data-driven(F),由F推出目标集T;
repeat
对目标集T做出假设推理获得假设G,T-->G;
将G和假设库中假设集进行对比,若G为新假设则放入假设库
调用goal-driven(G),确认G的真假;
util T为空
util 问题被解决
end
运用知识的思维过程即推理过程.在智能系统中,推理是由计算机程序实现的,称为推理机.人工智能作为相应的人类智能模拟,具有多种推理方式:
a.演绎推理,归纳推理,类比推理;
b.精确推理,不精确推理;
c.单调推理,非单调推理;
d.正向推理,反向推理,混合推理;
所谓的推理的单调性是指随着推理的向前推进及新知识的加入,推出的结论是否越来越接近最终目标.对于单调推理,当加入新的命题时,不必检查新命题与原有知识间的不相容性.对于一个已证明的命题,不必保留一个命题表,它的证明是以该命题表中的命题为依据.(人工智能的非单调推理的四个代表性理论或系统是Reither的缺省理论,Mcdermott的非单调逻辑,Mccarthy的界限理论,Doyle的正确性支持系统)
正向推理又称数据驱动控制策略或前件推理,从已有的事实出发,正向使用规则,当规则的条件部分与已有的事实匹配时,就把该规则作为可用规则放入候选规则队列,然后通过冲突消解,在候选队列中选择一条规则作为启用规则进行推理,并将其放入数据库中,作为下一步推理时的证据.重复这个过程直到再无可用规则或者得到要求解为止.
算法描述:
已知事实F
Procedure data-driven(F)
扫描知识库,获得可由F推导的可用规则集S
while S 非空且问题未获得最终解
begin
调用冲突消解算法,从S中选择规则R;
执行R,将其结论放入数据库;
扫描知识库,形成新的可用规则集S
end
反向推理又称目标驱动控制策略或自顶向下推理或后件推理,它提出某个假设,然后寻找支持该假设的证据,若所需的证据都能找到,说明原假设正确;否则说明原假设不成立.
算法描述:
Precedure goal-driven(G)
扫描知识库,找出能导出假设G的规则集S;
if S 空
then 向用户询问关于G的信息
else while G未知且S非空 do
begin
从S中选择出某一规则R;
把R的条件部分匹配作为新的假设G';
if G'未知
then 调用goal-driven(G');
if G'为真
then 执行R的结论部分,并从S中删除R
end
混合推理就是正向推理和反向推理的混合运用,先通过正向推理形成假设,然后通过反向推理辨别假设的真伪.
算法大致可描述为:
Procedre alternate
repeat
调用data-driven(F),由F推出目标集T;
repeat
对目标集T做出假设推理获得假设G,T-->G;
将G和假设库中假设集进行对比,若G为新假设则放入假设库
调用goal-driven(G),确认G的真假;
util T为空
util 问题被解决
end