你可以将K独立集减少到2-SAT

时间:2015-12-02 15:33:04

标签: algorithm proof computation-theory np-complete satisfiability

这是一个开始的作业问题。在我开始之前,我只是有一些问题。

我们的问题是:

“从k独立集减少到2-SAT如下。给定具有n个顶点的图G形成n个命题,每个顶点一个。如果顶点i属于一个独立的,则顶点i的每个命题xi被设置为真现在,对于每个边缘(u,v),写一个说u和v都不属于独立集合的子句。“

我的问题是我读到的所有内容都说2-SAT不是NP-Complete问题。那么我们怎么能从独立集问题中减少呢?

1 个答案:

答案 0 :(得分:2)

找到任何独立集合并找到最大独立集合(独立的最大大小集合)之间存在重要差异。

使用你在问题中描述的减少,找到任何独立的集合可以很好地减少到2-SAT。这两个问题都不是NP完全的。请注意,您在问题中描述的减少不会以任何方式限制独立集中的节点数。即使空集也能满足这种减少产生的2-SAT问题,因为空集也是一个独立的集合!

找到最大独立集(或k独立集)然而是NP完全问题。它不会减少到2-SAT。

或换句话说:" k -Independent Set"中的 k 是一个额外的约束,不是这个2-SAT减少的一部分(这就是为什么在减少的描述中甚至没有提到 k 的原因)。您可以在SAT问题中添加其他子句来计算包含节点的数量,并强制执行此数字至少为 k ,但您不能通过仅添加2个子句来实现。因此,添加 k 是您的2-SAT问题成为NP完全一般SAT问题的步骤。

MAX-2-SAT是2-SAT的NP-complete扩展,也可以使用您发布的缩减来解决最大独立集问题。 (你需要对减少进行两个微不足道的修改:(1)为每个命题添加1个子句,(2)复制2个子句用于加权。)