解决方案是证明CNF不满意的方案。分辨率的证明是CNF中初始子句的空子句的逻辑推论。特别是任何初始子句可以推断,并从两个子句和该条也可被推导出来。驳斥是一系列推论,以空子句结尾。
如果实现了这种反驳,我们可以考虑将一些子句保留在内存中的过程。如果必须再次使用非初始子句并且该子句不再在内存中,则算法必须从头开始或从内存中的子句再次使用它。
令要保留在内存中的子句最少,以达到空子句。这称为F的子句空间复杂度。我们说S p (F )= ∞是F是可以满足的。
我建议问题是这样的:考虑两个的CNF 和,并让CNF
什么是的关系与和?
明显的上限是。紧吗
好问题!您知道直接和大小的答案吗?我猜最坏的情况是A和B没有共享变量。一个有趣的情况是,在重命名变量之前,A和B相同。顺便说一句,我不明白你如何达到这个上限,感觉可能会更糟。
—
卡夫
。
—
卡夫
平凡的空间上限实际上需要在内存中少一个子句。我做了相应的编辑。
—
MassimoLauria 2010年