9.3.1 一阶确定子句
一阶确定子句与命题确定子句(第7.5.5节)非常相似:它们是文字的析取,其中恰好只有一个是正文字。确定子句可以是原子语句,或者是蕴含语句,它的前提为正文字的合取式,结论是一个单独的正文字。下面列出一些一阶确定子句;
King(John)
Greedy(y)
和命题文字不同,一阶文字可以包含变量,这种情况下,这些变量假设为全称量词所修饰。(典型地,我们在写确定子句的时候省略全称量词。)确定子句是适用于一般化分离规则的范式。
因为单一正文字的限制,不是每个知识库都能转化成一个确定子句集的,但是大部分能。考虑以下问题:
美国法律规定:美国人(American)卖武器(weapon)给敌对(hostile)国家是犯法的(crime)。美国的敌国(enemy)Nono有一些导弹(missile),所有这些导弹都是韦斯特(West)上校卖给他们的,而韦斯特上校是一个美国人。
我们将证明韦斯特是一个罪犯(criminal)。首先,我们用一阶确定子句表示这些事实。下一节将说明前向链接算法如何求解该问题。
“……美国人卖武器给敌对国家是犯法的”:
“Nono……有一些导弹。”语句 ∃x Owns(Nono, x)∧Missile(x)通过消去存在量词被转换成两个确定子句,并引入一个新的常量M1:
“所有该国的导弹都是韦斯特上校出售的”
我们还需要知道导弹是武器:
我们还应该知道美国的敌国被认为是“hostile(敌对的)”:
“韦斯特,一个美国人……”
“Nono国,美国的一个敌国……”
此知识库不包含函数符号,因此是数据日志知识库类的一个实例——也就是,没有函数符号的一阶确定子句集。我们将看到没有函数符号将会使推理更加容易。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。