我一直在读一篇this文章,试图解释max 2sat问题本质上是一个3sat问题,是np难问题。但是,如果你看到这篇文章,我不明白为什么在满足ci
之后,10个条款中有7个得到满足,如果不满足,10个条款中有6个得到满足。
有人能用简单的语言向我解释一下,并揭开这篇文章到底想表达什么吗?从本质上讲,我知道max-2-sat问题和3sat问题是一样的问题是我不明白为什么。
更正式地说,我希望解决这个问题:
考虑下面描述的问题max2sat。
给出一个2-cnf(合取范式)布尔表达式(带m
子句,n个变量)和整数k,决定是否有
作业是否至少满足总条款中的“k”计算
Max 2SAT的复杂性类(P或NP或NP完全)
正当理由。
最佳答案
好吧,我们应该首先讨论的一个关键误解是,这并不像你的标题所说的那样,将Max-2-sat减少到3-sat为了证明某个东西(在这种情况下,max-2-sat)是np难的,我们必须将3-sat(或任何其他已知的np难问题)降到相反的位置。
如果我们这样做,那么我们证明如果我们简化为(max-2-sat)的东西不是np难的,那么3-sat也不是,因为我们可以通过max-2-sat来做我们的简化和有效地求解3-sat。我们知道这是不可能的(3-sat是np完全的,其他人做了艰苦的工作),所以max-2-sat不是np难的想法是矛盾的。
减少到3-sat并不能告诉我们太多在这种情况下,max-2-sat仍然很容易。在这种情况下,也许减少到3-sat只是个坏主意,直接解决它更容易只有做相反的事才能证明你想展示的东西
关于algorithm - Max 2 Sat如何精确地减少到3 Sat?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35100782/