4.5.4 非精确推理与算法
非精确推理的理论可以表示和传递不确定的信息。非精确推理的质量在很大程度上依赖于如何测量基本的确定性及推理中如何组合不确定性。根据模糊逻辑和确定性理论,非精确推理系统可综合使用两种逻辑:两值或精确逻辑和多值或不精确逻辑。系统定义两值逻辑的精确真值为两个数字0和100,100表示真,0表示假,模糊真值是0~100之间的一个整数。系统还可以定义一个特殊的非精确真值UNKNOWN,用于表示一个未知的不精确事实的真值。一般来说,真值UNKNOWN的操作和传递是不确定的。
非精确推理对于不精确信息的运算方法,基于模糊逻辑和确定性理论,应用公式(1)~(5)。
执行非精确推理,并不是简单的成功与失败,不精确目标具有一个不精确真值或确定性因子CF:它是0~100之间的一个数字。
非精确推理要寻找目标的真值或确定性因子CF,用目标匹配事实库和规则库。在逆向推理中,如果一个目标可用一条规则证明成功,就不再试用其他规则而停止推理。然而,在非精确推理中,为证一个目标,需要尝试所有的匹配规则,每条规则中有关目标的确定性因子可以在推理中被动态确定,然后组合从所有匹配规则中获得的确定性因子。因此,非精确推理的目的是基于可用的事实,产生具有最大可能性的结论或解释。
推理机可以综合精确的和非精确推理。不精确规则的前提由若干条件或子句组成,每个子句的真值是一个0~100的数字。这些子句也可以是两值子句,具有0或l00的真值。
非精确推理可以使用前面介绍的正向、逆向或双向推理控制策略。下面以逆向推理的实例介绍非精确推理的过程。
假设有以下事实和逆向规则:
事实:
推荐(经纪人—A,黄金)(CF=75).
推荐(经纪人—A,白银)(CF=50).
推荐(经纪人—B,白银)(CF=90).
定价低(黄金)(CF=80).
定价高(白银)(CF=90).
规则1:
(CF=70)投资于(投资者—1,X)︰-
推荐(经纪人—A,X)and
推荐(经纪人—B,X)and
not定价高(X).
规则2:
(CF=50)投资于(投资者—1,X)︰-
推荐(经纪人—A,X)and
定价低(X).
规则3:
(CF=100)定价低(X)︰-
not定价高(x).
推理机证明目标:投资于(投资者—1,白银),也就是查找目标的确定性因子。首先,它用目标匹配事实,失败。然后系统寻找结论部分匹配该目标的所有规则。目标匹配第一条规则的结论,X约束为“白银”。现在需要求该规则前提的确定性因子,前提目前变成:
推荐(经纪人—A,白银)and
推荐(经纪人—B,白银)and
not定价高(白银)
系统需要求出前提中每个子句的确定性因子。前两个子句均可以在事实库中找到,并且它们的确定性因子分别是50、90。第三个子句中“定价高(白银)”也在事实库中,确定性因子为90,因此,“not定价高(白银)”的确定性因子为100-90=10。
第一条规则中前提的确定性因子为min(50,90,10)=10,它的结论的确定性因子是:
CF(规则1)=10*70/100=7
因为非精确推理考虑所有的匹配规则,系统用目标匹配第二条规则成功,且约束X为“白银”,于是开始证明规则的前提。前提变成:
推荐(经纪人—A,白银)and
定价低(白银)
前提中第一个子句匹配事实库,具有确定性因子50。第二个子句不匹配事实库,而匹配第三条规则的结论。系统开始求第三条规则中结论“定价低(白银)”的确定性因子:
CF(not定价高(白银))=100-CF(定价高(白银))
=100-90=10
CF(定价低(白银))=CF(not定价高(白银))*100/ 100=10
第二条规则中前提的确定性因子是min(50,10)=10,结论的确定性因子是:
CF(规则2)=10*50/100=5
现在,组合两条规则,求得目标的确定性因子: CF(H,规则1&规则2)=7+5-(7*5)/100=11.65
目标“投资于(投资者,白银)”的确定性因子是11.65,它表达了1l%的确定性。
以逆向推理为基础,非精确推理的算法步骤如下:
(1)匹配事实库:检查目标是否匹配事实库。若匹配,返回其确定性因子。如果匹配询问子句,则提问用户。
(2)匹配规则:用目标匹配规则集中所有不精确规则的结论,对于每条匹配规则,计算其结论的确定性因子:
①查找前提中每个子句的确定性因子:循环执行这一步骤,求得前提中所有子句的确定性因子;
②求出前提的确定性因子:应用模糊逻辑的最大最小运算方法(公式(1)~(3)),计算前提的确定性因子;
③求出结论的确定性因子:应用公式(4),求得该规则结论的确定性因子。
(3)组合证据:应用公式(5),组合从所有匹配规则中获得的确定性因子,求出最终目标的确定性因子。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。