两个布尔表达式等价。合作NP?

Two boolean expressions equivalence. Co-NP?

问题 : 有两个布尔公式我们需要判断它们是否相同 table

例如:(x1 v x2)∧(¬x1 v x3)(¬x1 ∧ x2) v (x1 ∧ x3) 对于 (x1, x2, x3)

的所有组合具有相同的值

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

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

有什么想法吗?谢谢

定义

假设 A == B 表示 A 并且 B 总是计算为相同的布尔表达式,给定自由(布尔)变量的任何赋值 x_i.

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

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

两个问题等价。

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

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

不等同证书。

您要求为互等价问题提供证明。那就是 A != B 的证明。这只是自由变量 (x_i) 的赋值,使得两个布尔公式的计算结果不同。您可以通过评估两个表达式在多项式时间内检查这一点。