证明决定单调布尔公式可满足性的NP完备性


12

我正在努力解决这个问题,我真的很努力。

单调布尔公式是在命题逻辑式,所有的文字是正的。例如,

(x1x2)(x1x3)(x3x4x5)

是单调布尔函数。另一方面,类似

(x1x2x3)(¬x1x3)(¬x1x5)

不是单调布尔函数。

如何证明此问题的NP完整性:

如果变量或更少的变量设置为1,则确定单调布尔函数是否可满足?k1

显然,所有变量都可以设置为正,而这是微不足道的,因此这就是为什么要限制正设置变量的原因。k

我尝试将SAT转换为单调布尔公式。我尝试过的一件事是用虚拟变量替换每个负文字。例如,我试图替换Ž 1,然后我试图迫使X 1Ž 1是不同的值。我还不太能够使它正常工作。¬x1z1x1z1


欢迎!请更加注意语言和格式。
拉斐尔

Answers:


12

您正在考虑的问题的“父级”有时称为加权可满足性(WSAT,尤其是在参数化复杂性中)或最小一(尽管这通常是优化版本,但足够接近)。这些问题具有“最多将变量设置为true”的限制作为其定义特征。k

单调配方的限制实际上出乎意料地易于显示硬度,您只需要暂时解决可满足性问题。与其尝试修改SAT实例,不如从支配集(DS)开始。

看看是否可以从那里得到它。扰流板中有更多的东西,可以分成几部分,但如果可以的话,请避免使用。我不会显示NP的成员身份,您应该不会有任何问题。

(G,k)kG(ϕ,k)ϕ

基本构造:

vV(G)vvar(ϕ)vV(G)cv=uN(v)u

证明草图:

kkϕkcvv


哇,这很有意义,谢谢!我想我绝对想将SAT降低到单调布尔公式。
2013年

我还看到,我们还可以将顶点覆盖率降低到单调布尔公式。
2013年

1
k

我认为完全相同的方法适用于顶点覆盖。
Haskell Fun

@HaskellFun,我也想到了这一点。顶点覆盖与单调Min-W2SAT相同。
rus9384

2

zi¬xiϕϕ¬xizixizikϕϕkxiziϕkk

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.