Kowalski图定理证明

时间:2008-12-12 21:07:58

标签: theorem-proving

我正在尝试将Kowalski图算法用于分辨率定理 证明。对算法的描述 http://www.doc.ic.ac.uk/~rak/对如何处理大型事件保持沉默 它生成的重复子句的数量。我想知道是否有 处理它们的众所周知的技术?

特别是,您不能简单地抑制重复的生成 条款,因为它们附带的链接是相关的。

在我看来,可能需要跟踪所有这一切 到目前为止生成的子句,当生成重复时,添加 而是指向现有实例的新链接。这可能需要 即使在名义上删除某个条款时,也会保留该条款 再生。

可能需要根据文本来定义复制 表示,而不是对象的平等,因为文字 不同的子句是不同的对象,即使它们是相同的。

任何人都可以确认我是否在正确的轨道上吗?也是唯一的 重要的在线参考我可以找到这个算法是 上面的链接,有没有人知道任何其他人,或任何现有的代码 实施它?

2 个答案:

答案 0 :(得分:1)

原来,Kowalski算法没有我想象的那么有用。基本上你需要保留你生成的所有东西,以免花费几乎所有的CPU时间一遍又一遍地产生相同的条款。保持一切意味着你想要发现重复,这意味着你想要哈希所有东西,这有一个有用的副作用,可以通过简单的指针比较来检查身份(因为你只有每个表达式的一个副本)。

答案 1 :(得分:0)

这看起来非常合理;一些谷歌搜索没有任何明显的实现。我同意,你想看看表示之间的平等而不是身份。