通过分辨率反驳的定理解决方案
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)
。
一旦你得到了一组与你输入的知识库等价的子句形式的公式,你就可以应用二进制解析来检查你的知识库是否一致,或者证明一个目标。
为了证明一个目标,你将它的否定添加到你的一致知识库中,看看添加了目标否定的知识库是否变得不一致。
我有以下问题需要通过人工智能中的解析方法解决
我不明白为什么在第一个子句中添加 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)
。
一旦你得到了一组与你输入的知识库等价的子句形式的公式,你就可以应用二进制解析来检查你的知识库是否一致,或者证明一个目标。
为了证明一个目标,你将它的否定添加到你的一致知识库中,看看添加了目标否定的知识库是否变得不一致。