Maximum satisfiability problem explained

In computational complexity theory, the maximum satisfiability problem (MAX-SAT) is the problem of determining the maximum number of clauses, of a given Boolean formula in conjunctive normal form, that can be made true by an assignment of truth values to the variables of the formula. It is a generalization of the Boolean satisfiability problem, which asks whether there exists a truth assignment that makes all clauses true.

Example

The conjunctive normal form formula

(x0\lorx1)\land(x0\lorlnotx1)\land(lnotx0\lorx1)\land(lnotx0\lorlnotx1)

is not satisfiable: no matter which truth values are assigned to its two variables, at least one of its four clauses will be false.However, it is possible to assign truth values in such a way as to make three out of four clauses true; indeed, every truth assignment will do this.Therefore, if this formula is given as an instance of the MAX-SAT problem, the solution to the problem is the number three.

Hardness

The MAX-SAT problem is OptP-complete,[1] and thus NP-hard, since its solution easily leads to the solution of the boolean satisfiability problem, which is NP-complete.

It is also difficult to find an approximate solution of the problem, that satisfies a number of clauses within a guaranteed approximation ratio of the optimal solution. More precisely, the problem is APX-complete, and thus does not admit a polynomial-time approximation scheme unless P = NP.[2] [3] [4]

Weighted MAX-SAT

More generally, one can define a weighted version of MAX-SAT as follows: given a conjunctive normal form formula with non-negative weights assigned to each clause, find truth values for its variables that maximize the combined weight of the satisfied clauses. The MAX-SAT problem is an instance of weighted MAX-SAT where all weights are 1.[5] [6]

Approximation algorithms

1/2-approximation

Randomly assigning each variable to be true with probability 1/2 gives an expected 2-approximation. More precisely, if each clause has at least variables, then this yields a (1 − 2)-approximation. This algorithm can be derandomized using the method of conditional probabilities.

(1-1/)-approximation

MAX-SAT can also be expressed using an integer linear program (ILP). Fix a conjunctive normal form formula with variables 1, 2, ..., n, and let denote the clauses of . For each clause in, let + and denote the sets of variables which are not negated in, and those that are negated in, respectively. The variables of the ILP will correspond to the variables of the formula, whereas the variables will correspond to the clauses. The ILP is as follows:

maximize

\sumcwczc

(maximize the weight of the satisfied clauses)
subject to

zc\leq\sum

x\in
+
S
c

yx+\sum

x\in
-
S
c

(1-yx)

for all

c\inC

(clause is true iff it has a true, non-negated variable or a false, negated one)

zc\in\{0,1\}

for all

c\inC

.
(every clause is either satisfied or not)

yx\in\{0,1\}

for all

x\inF

.
(every variable is either true or false)

The above program can be relaxed to the following linear program :

maximize

\sumcwczc

(maximize the weight of the satisfied clauses)
subject to

zc\leq\sum

x\in
+
S
c

yx+\sum

x\in
-
S
c

(1-yx)

for all

c\inC

(clause is true iff it has a true, non-negated variable or a false, negated one)

0\leqzc\leq1

for all

c\inC

.

0\leqyx\leq1

for all

x\inF

.

The following algorithm using that relaxation is an expected (1-1/e)-approximation:

  1. Solve the linear program and obtain a solution
  2. Set variable to be true with probability where is the value given in .

This algorithm can also be derandomized using the method of conditional probabilities.

3/4-approximation

The 1/2-approximation algorithm does better when clauses are large whereas the (1-1/)-approximation does better when clauses are small. They can be combined as follows:

  1. Run the (derandomized) 1/2-approximation algorithm to get a truth assignment .
  2. Run the (derandomized) (1-1/e)-approximation to get a truth assignment .
  3. Output whichever of or maximizes the weight of the satisfied clauses.

This is a deterministic factor (3/4)-approximation.

Example

On the formula

F=\underbrace_\land \underbrace_\land\underbrace_

where

\epsilon>0

, the (1-1/)-approximation will set each variable to True with probability 1/2, and so will behave identically to the 1/2-approximation. Assuming that the assignment of is chosen first during derandomization, the derandomized algorithms will pick a solution with total weight

3+\epsilon

, whereas the optimal solution has weight

4+\epsilon

.

State of the art

The state-of-the-art algorithm is due to Avidor, Berkovitch and Zwick,[7] [8] and its approximation ratio is 0.7968. They also give another algorithm whose approximation ratio is conjectured to be 0.8353.

Solvers

Many exact solvers for MAX-SAT have been developed during recent years, and many of them were presented in the well-known conference on the boolean satisfiability problem and related problems, the SAT Conference. In 2006 the SAT Conference hosted the first MAX-SAT evaluation comparing performance of practical solvers for MAX-SAT, as it has done in the past for the pseudo-boolean satisfiability problem and the quantified boolean formula problem.Because of its NP-hardness, large-size MAX-SAT instances cannot in general be solved exactly, and one must often resort to approximation algorithmsand heuristics[9]

There are several solvers submitted to the last Max-SAT Evaluations:

Special cases

MAX-SAT is one of the optimization extensions of the boolean satisfiability problem, which is the problem of determining whether the variables of a given Boolean formula can be assigned in such a way as to make the formula evaluate to TRUE. If the clauses are restricted to have at most 2 literals, as in 2-satisfiability, we get the MAX-2SAT problem. If they are restricted to at most 3 literals per clause, as in 3-satisfiability, we get the MAX-3SAT problem.

Related problems

There are many problems related to the satisfiability of conjunctive normal form Boolean formulas.

See also

External links

References

  1. M. Krentel. The complexity of optimization problems. Journal of Computer and System Sciences. 36. 490–509. 1988. 3 . 10.1016/0022-0000(88)90039-6 . 1813/6559 . free.
  2. Mark Krentel. The Complexity of Optimization Problems. Proc. of STOC '86. 1986.
  3. Christos Papadimitriou. Computational Complexity. Addison-Wesley, 1994.
  4. Cohen, Cooper, Jeavons. A complete characterization of complexity for boolean constraint optimization problems. CP 2004.
  5. Borchers. Brian. Furman. Judith. 1998-12-01. A Two-Phase Exact Algorithm for MAX-SAT and Weighted MAX-SAT Problems. Journal of Combinatorial Optimization. en. 2. 4. 299–306. 10.1023/A:1009725216438. 6736614. 1382-6905.
  6. Book: Satisfiability Problem: Theory and Applications : DIMACS Workshop, March 11-13, 1996. Du. Dingzhu. Gu. Jun. Pardalos. Panos M.. 1997-01-01. American Mathematical Soc.. 9780821870808. en. 393.
  7. Book: Avidor . Adi . Berkovitch . Ido . Zwick . Uri . Approximation and Online Algorithms . Improved Approximation Algorithms for MAX NAE-SAT and MAX SAT . Springer Berlin Heidelberg . Berlin, Heidelberg . 3879 . 2006 . 978-3-540-32207-8 . 10.1007/11671411_3 . 27–40.
  8. Makarychev . Konstantin . Makarychev . Yury . Approximation Algorithms for CSPs . Drops-Idn/V2/Document/10.4230/Dfu.vol7.15301.287 . 2017 . 1868-8977 . 10.4230/DFU.VOL7.15301.287 . 39 pages, 753340 bytes. free .
  9. Book: https://link.springer.com/chapter/10.1007/978-1-4613-0303-9_2 . 10.1007/978-1-4613-0303-9_2 . Approximate Algorithms and Heuristics for MAX-SAT . Handbook of Combinatorial Optimization . 1998 . Battiti . Roberto . Protasi . Marco . 77–148 . 978-1-4613-7987-4 .
  10. Josep Argelich and Felip Manyà. Exact Max-SAT solvers for over-constrained problems. In Journal of Heuristics 12(4) pp. 375-392. Springer, 2006.
  11. Jaulin. L.. Walter. E.. Guaranteed robust nonlinear minimax estimation. IEEE Transactions on Automatic Control. 2002. 47. 11. 1857–1864. 10.1109/TAC.2002.804479.