两个布尔表达式等价。 CO-NP?

时间:2016-05-12 11:19:17

标签: algorithm computer-science np

问题有两个布尔公式,我们需要说明它们是否具有相同的真值表

例如:(x1 v x2)∧(¬x1 v x3)(¬x1 ∧ x2) v (x1 ∧ x3)对于(x1,x2,x3)的所有组合具有相同的值

我有一些想法:这个问题可能至少与重言式问题一样困难。

可能更容易证明“否”答案的正确性,而不是“是”答案(Co-NP),但我不知道如何证明它。 另外,这里的证书是什么?答案是“是”还是“否”?

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:1)

解释

让我们说A == B表示AB总是在给定任意(布尔)变量x_i的赋值的情况下计算相同的布尔表达式。 / p>

布尔表达式等价问题是,AB表示是否A == B

给定A时,布尔重言式问题是,对于所有可能的自由(布尔)变量赋值x_iA的计算结果为真。

两个问题的等价性。

A==B(A and B) or ((not A) and (not B))相同。因此,可以将布尔等价问题的实例减少为重言式问题的实例。相反,给定AA == T是将重言式问题简化为布尔表达式等价问题。

所以布尔表达式等价是co-NP,实际上它是co-NP完成的,因为它等同于布尔重言式的共同NP问题。

非等同证书。

您要求获得共同等同性问题的证书。这是A != B的证据。这只是一个自由变量(x_i)的赋值,这样两个布尔公式可以计算出不同的结果。您可以通过评估两个表达式来检查多项式时间。