通过分辨率反驳的定理解决方案

Theorem Solution by Resolution Refutation

我有以下问题需要通过人工智能中的解析方法解决

我不明白为什么在第一个子句中添加 dog(x) 的否定,在第四个子句中添加 ///y 为什么要添加 animal(Y) 的否定...

我的意思是那里需要否定吗?

回想一下,逻辑蕴涵 P → Q 等价于 ¬P ∨ Q。你可以通过查看真相来验证这一点 table:

   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)

一旦你得到了一组与你输入的知识库等价的子句形式的公式,你就可以应用二进制解析来检查你的知识库是否一致,或者证明一个目标。

为了证明一个目标,你将它的否定添加到你的一致知识库中,看看添加了目标否定的知识库是否变得不一致。