ArticleslgStudy

computer science

Maximum satisfiability problem

Maximum satisfiability problem is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Maximum satisfiability problem rather than just read about it. In short: 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 clause…

Key takeaways

  • Maximum satisfiability problem belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Maximum satisfiability problem to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Maximum satisfiability problem from memory before moving on to harder problems.

Reference excerpt

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

( x 0 ∨ x 1 ) ∧ ( x 0 ∨ ¬ x 1 ) ∧ ( ¬ x 0 ∨ x 1 ) ∧ ( ¬ x 0 ∨ ¬ x 1 ) {\displaystyle (x_{0}\lor x_{1})\land (x_{0}\lor \lnot x_{1})\land (\lnot x_{0}\lor x_{1})\land (\lnot x_{0}\lor \lnot x_{1})}

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, and thus NP-hard (as a decision problem), 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.

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.

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 k variables, then this yields a (1 − 2−k)-approximation. This algorithm can be derandomized using the method of conditional probabilities.

(1-1/e)-approximation MAX-SAT can also be expressed using an integer linear program (ILP). Fix a conjunctive normal form formula F with variables x1, x2, ..., xn, and let C denote the clauses of F. For each clause c in C, let S+c and S−c denote the sets of variables which are not negated in c, and those that are negated in c, respectively. The variables yx of the ILP will correspond to the variables of the formula F, whereas the variables zc will correspond to the clauses. The ILP is as follows:

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

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

Solve the linear program L and obtain a solution O Set variable x to be true with probability yx where yx is the value given in O. 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/e)-approximation does better when clauses are small. They can be combined as follows:

Run the (derandomized) 1/2-approximation algorithm to get a truth assignment X. Run the (derandomized) (1-1/e)-approximation to get a truth assignment Y. Output whichever of X or Y maximizes the weight of the satisfied clauses. This is a deterministic factor (3/4)-approximation.

Example On the formula

F = ( x ∨ y ) ⏟ weight 1 ∧ ( x ∨ ¬ y ) ⏟ weight 1 ∧ ( ¬ x ∨ z ) ⏟ weight 2 + ϵ {\displaystyle F=\underbrace {(x\lor y)} _{{\text{weight }}1}\land \underbrace {(x\lor \lnot y)} _{{\text{weight }}1}\land \underbrace {(\lnot x\lor z)} _{{\text{weight }}2+\epsilon }}

where ϵ > 0 {\displaystyle \epsilon >0} , the (1-1/e)-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 x is chosen first during derandomization, the derandomized algorithms will pick a solution with total weight 3 + ϵ {\displaystyle 3+\epsilon } , whereas the optimal solution has weight 4 + ϵ {\displaystyle 4+\epsilon } .

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

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Maximum satisfiability problem

Start with the simplest possible case. Write down what Maximum satisfiability problem claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Maximum satisfiability problem before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Maximum satisfiability problem ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Maximum satisfiability problem

In research
Maximum satisfiability problem appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Maximum satisfiability problem in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Maximum satisfiability problem is common in secondary-school and first-year university syllabi. It links to neighbouring topics Combinatorial optimization, Logic in computer science, Satisfiability problems, so understanding it makes those chapters shorter.
In everyday life
Look for Maximum satisfiability problem outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Maximum satisfiability problem in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Maximum satisfiability problem means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Maximum satisfiability problem out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Maximum satisfiability problem in simple terms?

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 genera…

Why does Maximum satisfiability problem matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Maximum satisfiability problem?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Maximum satisfiability problem.

Tags

  • Combinatorial optimization
  • Logic in computer science
  • Satisfiability problems

Keep exploring