By the MAXSAT problem, we are given a set $V$ of $m$ variables and a collection $C$ of $n$ clauses over $V$. We will seek a truth assignment to maximize the number of satisfied clauses. This problem is $\textit{NP}$-hard even for its restricted version, the 2-MAXSAT problem by which every clause contains at most 2 literals. In this paper, we discuss an efficient algorithm to solve this problem. Its worst case time complexity is bounded by O($n^2m^3(log_2\;nm)^{log_2\;nm}$). This shows that the 2-MAXSAT problem can be solved in polynomial time.
翻译:通过MAXSAT问题,我们给定一个包含$m$个变量$V$的集合以及一个在$V$上的$n$个子句集合$C$。我们将寻求一个真值赋值以最大化满足子句的数量。该问题是$\textit{NP}$-难的,即便在其限制版本——每个子句最多包含2个文字的2-MAXSAT问题中也是如此。本文讨论了一种高效解决该问题的算法。其最坏情况时间复杂度为O($n^2m^3(log_2\;nm)^{log_2\;nm}$)。这表明2-MAXSAT问题可以在多项式时间内解决。