需要一些关于解决方案规则证明的提示

时间:2011-11-01 05:26:16

标签: artificial-intelligence logic discrete-mathematics

这是一个功课。我试图证明(a v b)^(~b V c)| =(a V c)

这是一个正确的解决方案规则。我不允许使用解决规则来证明这一点。 搞得一点困惑,不知道我应该在第一时间做些什么..

另一个问题是,当 KB ^ ~a 不可满足时,老师让我们来证明 KB | = a 。据我所知,我可能需要建立一个包含几个句子的KB,然后我可以证明 KB ^ ~a 不可满足。但是老师告诉我如果我想得到一个例子,我必须让它适合每一个案例。我想知道是否有一个通用的例子来证明这一点?我必须使用示例吗?

希望有人可以给我一些提示或有用的链接..谢谢..

1 个答案:

答案 0 :(得分:2)

您可以使用您在第三段中描述的规则来执行此操作:

首先,建立一个你所知道的知识库:a v b~b v c

然后添加对您要证明的陈述的否定:~(a v c)。您可以在CNF中重写它并将其添加到KB。

现在显示此KB不可满足。有两种方法可以做到这一点:

  • 只需制作真相表。 abc有八种可能的分配,因此它将有八行;您可以显示KB中的至少一个语句对于任何可能的分配都是false。这不是一个“例子”,因为你正在考虑所有可能的情况。

  • 根据您使用的型号,您可以在KB本身内进行一些推断。你会有一些陈述只是断言某个变量是真还是假;然后,您可以使用该事实来简化KB中的其他语句。不过,你会想要以适合你的形式主义的方式检查你是否正在这样做。


因此,要证明KB ^ ~a不可满足意味着KB |= a,请做出矛盾的证明:

  • 您有KB
  • 假设给定KB~a是可以接受的。
  • 但如果这是真的,那么KB ^ ~a是可以接受的 - 你证明这是假的,即KB ^ ~a是不可满足的。
  • 因此,我们的假设一定是错误的,因此~a KB不可满足。

现在你差不多了。