📜  证明 NAE-4-SAT 是 NP Complete(1)

📅  最后修改于: 2023-12-03 15:12:08.994000             🧑  作者: Mango

证明 NAE-4-SAT 是 NP Complete

什么是 NAE-4-SAT?

NAE-4-SAT 是指 Non-Atomic-Exclusive 4-SAT,是布尔可满足性问题(SAT)的一个变体。在 NAE-4-SAT 问题中,给定一个由布尔变量和它们的否定组成的布尔公式,需要找到一种赋值方式使得每个由四个变量组成的子句中至少有两个变量是真或至少有两个变量是假。即同一个子句中不能只有真或只有假的变量存在。

NP Complete 问题简介

NP 是非确定性多项式时间的缩写,是一类比较特殊的算法复杂度。一个问题被称为 NP 问题,是指它在非确定性多项式时间内可以被解决。

而 NP Complete 问题,则是指一类最难的 NP 问题。可以证明,如果一个 NP Complete 问题可以在多项式时间内被解决,那么所有 NP 问题都可以在多项式时间内被解决。

证明 NAE-4-SAT 是 NP Complete

下面证明 NAE-4-SAT 是 NP Complete。

步骤一:证明 NAE-4-SAT 属于 NP 问题

要证明 NAE-4-SAT 属于 NP 问题,需要证明可以在多项式时间内验证一个给定的解是否符合要求。

首先,对于一个给定的解,可以在线性时间内将每个子句中至少有两个真或两个假的变量找出来。然后,检查每个子句中符合要求的变量是否存在,这个操作也可以在线性时间内完成。

因此,可以在多项式时间内验证给定的解是否符合 NAE-4-SAT 的要求。故 NAE-4-SAT 属于 NP 问题。

步骤二:证明 NAE-4-SAT 可归约于 SAT

首先,将一个 Bool 类型变量 $x$ 转换成两个新变量 $x_1$ 和 $x_2$,这两个变量都是 Bool 类型的,且 $x$ 等于 $x_1$ 和 $x_2$ 中至少一个为真的表达式可以用以下式子表示:

$(x_1 \lor \neg x_2) \land (\neg x_1 \lor x_2)$

然后,将一个 NAE-4-SAT 的公式 $\phi$ 转换成一个 SAT 的公式 $\psi$,这两个公式定义如下:

$\psi = \bigwedge_{c \in \phi} (\psi_{1,c} \land \psi_{2,c} \land \psi_{3,c} \land \psi_{4,c})$

其中对于每个子句 $c$,$\psi_{i,c}$ 表示 $c$ 中第 $i$ 个变量的转化式子,即:

$\psi_{i,c} = (x_{i,c,1} \lor \neg x_{i,c,2}) \land (\neg x_{i,c,1} \lor x_{i,c,2})$

对于 NAE-4-SAT 中的每个子句,在 $\psi$ 中都对应着 4 个子句,这些子句的含义都是 NAE-4-SAT 子句中的变量至少有两个为真或至少有两个为假。由于 NAE-4-SAT 子句中不能只有真或只有假的变量存在,因此也就保证了 $\psi$ 这个 SAT 公式的正确性。

因此,可以用多项式时间将 NAE-4-SAT 公式归约为 SAT 公式,即 NAE-4-SAT 可归约于 SAT。

步骤三:证明 SAT 可以归约为 NAE-4-SAT

这一步需要证明,任意一个 SAT 问题都可以用多项式时间归约为 NAE-4-SAT 问题。

首先,将 SAT 公式中的每个子句都转化为含有两个变量的子句。例如,将子句 $(a_1 \lor a_2 \lor \neg a_3)$ 转化为两个子句 $(a_1 \lor b) \land (\neg b \lor a_2 \lor \neg a_3)$,其中 $b$ 是一个新引入的变量。这一步可以在多项式时间内完成。

然后,将新的 SAT 公式 $\psi$ 中的每个子句都转换为 NAE-4-SAT 公式,即将含有两个变量的子句转换为含有四个变量的子句。转换规则如下:

对于子句 $(x \lor y)$,用以下式子代替:

$(x_1 \lor y_1) \land (x_2 \lor y_2) \land (\neg x_1 \lor \neg y_2) \land (\neg x_2 \lor \neg y_1)$

其中 $x_1, x_2, y_1, y_2$ 都是新引入的 Bool 类型变量。

这个转换保证了每个新的子句中,至少有两个变量是真或至少有两个变量是假,并且保证了新的子句是非原子的(即 NAE)。

由于这个转换可以在多项式时间内完成,因此可以用多项式时间将 SAT 归约为 NAE-4-SAT。

最终,通过步骤二和步骤三可以得出,NAE-4-SAT 可归约于 SAT,而 SAT 可以归约为 NAE-4-SAT,因此 NAE-4-SAT 是 NP Complete 问题。