首页 理论教育 正向推理的分析

正向推理的分析

时间:2023-03-04 理论教育 版权反馈
【摘要】:领域知识表示为规则,构成规则集合,正向推理侧重于规则的前提,用事实库中的事实与规则的前提进行匹配。在正向推理中,只有当规则前提中所有子句匹配事实库中的事实,这条规则才被执行。现在推理机再返回到第一条规则,没有发现新的事实与它匹配,第二条规则也如此。因此,正向推理处理就终止了。目前事实库的内容是:在这个例子中,正向推理没有附加假设,起到了扩展事实库的作用。

4.2.1 正向推理的分析

首先由用户提供一批事实,存入计算机,组成一个事实集合(或称事实库)。领域知识表示为规则,构成规则集合,正向推理侧重于规则的前提,用事实库中的事实与规则的前提进行匹配。在这里,前提由条件或子句集合组成,如果规则前提中的所有子句被证明成功,则执行这条规则,如图4-1所示。规则的执行,可以是将匹配成功的规则结论作为新事实加入事实库,也可以是执行一种真实世界中的活动。

img20

图4-1 规则执行示意图

一个规则集合中的规则可被反复地证明,直到一个所给的目标或假设被证明或再没有新的事实存在。

现在,用一实例解释正向推理的过程,用谓词逻辑表示以下事实和规则。

事实:

推荐(经纪人—A,白银).

推荐(经纪人—A,黄金).

推荐(经纪人—A,油).

推荐(经纪人—B,黄金).

推荐(经纪人—B,油).

规则1:

如果推荐(经纪人—A,X)and推荐(经纪人—B,X)

则投资于(投资者,X).

规则2:

如果投资于(Y,X)

则拥有(Y,X).

推理机如何操作这些规则呢?它首先证明每一条规则,用规则的前提匹配事实库。事实库中第一个事实“推荐(经纪人—A,白银)”匹配这条规则,约束变量X的值为“白银”。然后证明相同前提中的另一个子句“推荐(经纪人—B,白银)”,它不匹配任何事实。

在正向推理中,只有当规则前提中所有子句匹配事实库中的事实,这条规则才被执行。因此,推理机将继续证明第一条规则,试图给变量X选择一个合适的约束值。

推理机再证明第一条规则中的前提“推荐(经纪人—A,X)”,匹配事实库中的事实,将变量X的值约束为“黄金”,然后找到一个匹配前提中第二个子句的事实“推荐(经纪人—B,黄金)”。第一条规则的前提匹配成功,于是将第一条规则的结论“投资于(投资者,黄金)”加入事实库。

现在推理机试证第二条规则,它的前提刚好匹配用第一条规则产生的事实,因此第二条规则的结论“拥有(投资者,黄金)”作为新的事实加入事实库。因为规则集合中再没有其他规则,于是推理机返回第一条规则。

推理机第二次应用第一条规则时,有两个事实匹配规则前提中的两个子句将变量X的值约束为“油”,这两个事实是:

推荐(经纪人—A,油)

推荐(经纪人—B,油)

因此,规则的结论“投资于(投资者,油)”被加入事实库。当推理机再试证第二条规则时,产生一个结论“拥有(投资者,油)”,并将其加入事实库。

现在推理机再返回到第一条规则,没有发现新的事实与它匹配,第二条规则也如此。因此,正向推理处理就终止了。目前事实库的内容是:

推荐(经纪人—A,白银).

推荐(经纪人—A,黄金).

推荐(经纪人—A,油).

推荐(经纪人—B,黄金).

推荐人(经纪人—B,油).

投资于(投资者,黄金).

拥有(投资者,黄金).

投资于(投资者,油).

拥有(投资者,油).

在这个例子中,正向推理没有附加假设,起到了扩展事实库的作用。若用户事先提出目标或假设,如“拥有(投资者,黄金)”,当推理机推导出这一事实,并将它加入事实库中后,推理就停止了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈