我有一个问题,需要通过人工智能中的解析方法来解决
我不明白为什么在第一条子句中添加了dog(x)的否定,以及在第四条子句中为什么添加了animal(Y)的否定…
我的意思是,为什么需要这些否定?
回答:
回想一下,逻辑蕴含P → Q
等价于¬P ∨ Q
。你可以通过查看真值表来验证这一点:
P Q P → Q 0 0 1 1 0 0 0 1 1 1 1 1
显然,dog(X) → animal(X)
等价于¬dog(X) ∨ animal(X)
,这是一个文字的析取,因此是一个子句。
同样的推理也适用于animal(Y) → die(Y)
。
一旦你有一组与你的输入知识库等价的子句形式的公式,你就可以应用二元解析来检查你的知识库是否一致,或者证明一个目标。
为了证明一个目标,你需要将它的否定添加到你的一致知识库中,然后查看添加了目标否定的知识库是否变得不一致。