Almost-2-SAT NP难吗?


10

当3个或更多个子句的总数(而不是宽度)在上面被常数限制时,CNF SAT问题NP难吗?如果只有一个这样的子句怎么办?


8
如果只有一个这样的子句具有两个以上的项,则在P中平凡地求解这样的公式。如果c具有n个项,请尝试满足cn个部分分配中的每一个,然后使用已知的线性时间方法求解其余的2-SAT公式。最终,您将找到整个公式的解决方案,或者证明它在O n 2时间内是不满足的,其中n不能超过整个公式中的变量数。cPcnncO(n2)n
凯尔·琼斯

@KyleJones但是具有文字的单个子句具有2 k1个令人满意的赋值,而不仅仅是k。由于k不受问题限制,因此该方法给出了指数时间算法。k2k1kk
David Richerby 2013年

2
@DavidRicherby要满足该条款,您只需要使其中一个文字评估为true即可。之后,该子句可以忽略,您只剩下2-SAT公式。 字面量意味着您只需尝试k个分配。kk
凯尔·琼斯

Answers:


14

值得一提的是,当放松限制条件后,问题就会变得很棘手。

对于固定数目的子句,这些子句的大小也有界,通过考虑一个具有足够变量的实例,子句中的平均字面量可以接近所需的2。如您所指出的,如果子句大小是有界的,那么就有一个简单的上限,它是多项式。

2+ϵϵ>0

m(2+ϵ)m(1ϵ)/ϵϵ

这种减少还表明,即使将“大”子句限制为3个文字的版本也是NP-hard。

剩下的情况是少数几个大子句的大小没有限制。每一个大条款似乎都会使问题更加棘手。有关两个子句的情况,请参阅Pǎtraşcu和Williams撰写的SODA 2010论文:他们认为,如果可以在次二次时间内完成,那么我们将有更好的SAT算法。他们的论点可能会扩展到更多的子句,这将提供证据证明您的上限无法得到改善(对指数时间假设的某种形式进行模运算)。


仅与切向相关,但是最近ECCC论文以不同的方式表示“几乎2-SAT”并证明其坚硬:eccc.hpi-web.de/report/2013/159
Sasho Nikolov

8

好,我知道了。答案是不。这可以在多时解决。对于每个3个或更多个子句,请选择一个文字并将其设置为true。然后解决剩下的2个饱和问题。如果有人提供解决方案,那么这就是整体问题的解决方案。由于3个或更多个子句的数量是固定的(例如c),因此,如果所有此类子句的大小均<= m,则该子句以O(m ^(c)* n)的形式运行。O(m ^ c)用于进行每个可能的选择,乘以O(n)来解决剩余的2卫星问题。


m

这是因为m隐含地受原子数限制。显然,子句中的字面量不能超过问题中的原子数。也许我应该澄清m <= n
dspyz 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.