MAXEkSAT
   HOME

TheInfoList



OR:

MAXEkSAT is a problem in
computational complexity theory In theoretical computer science and mathematics, computational complexity theory focuses on classifying computational problems according to their resource usage, and explores the relationships between these classifications. A computational problem ...
that is a maximization version of the Boolean satisfiability problem
3SAT 3sat (, ''Dreisat'') is a free-to-air German-language public service television channel. It is a generalist channel with a cultural focus and is jointly operated by public broadcasters from Germany ( ZDF, ARD), Austria ( ORF) and Switzerlan ...
. In MAXEkSAT, each clause has exactly ''k'' literals, each with distinct variables, and is in
conjunctive normal form In Boolean algebra, a formula is in conjunctive normal form (CNF) or clausal normal form if it is a conjunction of one or more clauses, where a clause is a disjunction of literals; otherwise put, it is a product of sums or an AND of ORs. In au ...
. These are called k-CNF formulas. The problem is to determine the maximum number of clauses that can be satisfied by a truth assignment to the variables in the clauses. We say that an algorithm ''A'' provides an ''α''-
approximation An approximation is anything that is intentionally similar but not exactly equal to something else. Etymology and usage The word ''approximation'' is derived from Latin ''approximatus'', from ''proximus'' meaning ''very near'' and the prefix ...
to MAXEkSAT if, for some fixed positive ''α'' less than or equal to 1, and every kCNF formula ''φ'', ''A'' can find a truth assignment to the variables of ''φ'' that will satisfy at least an ''α''-fraction of the maximum number of satisfiable clauses of ''φ''. Because the
NP-hard In computational complexity theory, a computational problem ''H'' is called NP-hard if, for every problem ''L'' which can be solved in non-deterministic polynomial-time, there is a polynomial-time reduction from ''L'' to ''H''. That is, assumi ...
''k''-SAT problem (for ''k'' ≥ 3) is equivalent to determining if the corresponding MAXEkSAT instance has a value equal to the number of clauses, MAXEkSAT must also be NP-hard, meaning that there is no polynomial time algorithm unless
P=NP The P versus NP problem is a major unsolved problem in theoretical computer science. Informally, it asks whether every problem whose solution can be quickly verified can also be quickly solved. Here, "quickly" means an algorithm exists that ...
. A natural next question, then, is that of finding approximate solutions: what's the largest real number ''α < 1'' such that some explicit
P (complexity) In computational complexity theory, P, also known as PTIME or DTIME(''n''O(1)), is a fundamental complexity class. It contains all decision problems that can be solved by a deterministic Turing machine using a polynomial amount of computation ti ...
algorithm always finds a solution of size ''α·OPT'', where ''OPT'' is the (potentially hard to find) maximizing assignment. While the algorithm is efficient, it's not obvious how to remove its dependence on randomness. There are problems related to the satisfiability of conjunctive normal form Boolean formulas.


Approximation Algorithm

There is a simple randomized polynomial-time algorithm that provides a \textstyle\left(1-\frac\right)-approximation to MAXEkSAT: independently set each variable to true with probability , otherwise set it to false. Any given clause ''c'' is unsatisfied only if all of its ''k'' constituent literals evaluates to false. Because each literal within a clause has a chance of evaluating to true independently of any of the truth value of any of the other literals, the probability that they are all false is \textstyle(\frac)^k = \frac. Thus, the probability that ''c'' is indeed satisfied is \textstyle 1-\frac, so the indicator variable \textstyle 1_c (that is 1 if ''c'' is true and 0 otherwise) has expectation \textstyle 1-\frac. The sum of all of the indicator variables over all \textstyle, C, clauses is (\textstyle 1-\frac), C, , so by
linearity of expectation In probability theory, the expected value (also called expectation, expectancy, expectation operator, mathematical expectation, mean, expectation value, or first moment) is a generalization of the weighted average. Informally, the expected va ...
we satisfy a \textstyle \left(1-\frac\right) fraction of the clauses in expectation. Because the optimal solution can't satisfy more than all \textstyle , C, of the clauses, we have that \textit = \left(1-\frac\right)\cdot , C, > \left(1-\frac\right)\cdot \textit, so the algorithm finds a \textstyle \geq \left(1-\frac\right) approximation to the true optimal solution in expectation. Despite its high expectation, this algorithm may occasionally stumble upon solutions of value lower than the expectation we computed above. However, over a large number of trials, the average fraction of satisfied clauses will tend towards \textstyle \left(1-\frac\right). This implies two things: # There must exist an assignment satisfying at least a \textstyle \left(1-\frac\right) fraction of the clauses. If there weren't, we could never attain a value this large on average over a large number of trials. # If we run the algorithm a large number of times, at least half of the trials (in expectation) will satisfy some \textstyle (1-\frac) fraction of the clauses. This is because any smaller fraction would bring down the average enough that the algorithm must occasionally satisfy more than 100% of the clauses to get back to its expectation of \textstyle \left(1-\frac\right), which cannot happen. Extending this using
Markov's inequality In probability theory, Markov's inequality gives an upper bound on the probability that a non-negative random variable is greater than or equal to some positive Constant (mathematics), constant. Markov's inequality is tight in the sense that for e ...
, at least some \textstyle 1-\left(\frac\right)-fraction of the trials (in expectation) will satisfy at least an \textstyle \left(1-\frac-\epsilon\right)-fraction of the clauses. Therefore, for any positive \textstyle \epsilon, it takes only a polynomial number of random trials until we expect to find an assignment satisfying at least an \textstyle \left(1-\frac-\epsilon\right) fraction of the clauses. A more robust analysis (such as that in ) shows that we will, in fact, satisfy at least a \textstyle \left(1-\frac\right)-fraction of the clauses a constant fraction of the time (depending only on ''k''), with no loss of \textstyle \epsilon.


Derandomization

While the above algorithm is efficient, it's not obvious how to remove its dependence on randomness. Trying out all possible random assignments is equivalent to the naive brute force approach, so may take exponential time. One clever way to derandomize the above in polynomial time relies on work in
error correcting codes In computing, telecommunication, information theory, and coding theory, forward error correction (FEC) or channel coding is a technique used for controlling errors in data transmission over unreliable or noisy communication channels. The centra ...
, satisfying a \textstyle \left(1-\frac\right) fraction of the clauses in time polynomial in the input size (although the exponent depends on ''k''). We need one definition and two facts to find the algorithm.


Definition

S\subseteq\^n is an -wise independent source if, for a uniformly chosen random are -wise independent random variables.


Fact 1

Note that such an assignment can be found among elements of any -wise independent source over ''n''
binary variables Binary data is data whose unit can take on only two possible states. These are often labelled as 0 and 1 in accordance with the binary numeral system and Boolean algebra. Binary data occurs in many different technical and scientific fields, wher ...
. This is easier to see once you realize that an -wise independent source is really just any set of binary vectors over with the property that all restrictions of those vectors to co-ordinates must present the 2''ℓ'' possible binary combinations an equal number of times.


Fact 2

Recall that BCH2,''m'',''d'' is an =2^m, n-1 -\lceil /2\rceil m, d2 linear code. There exists an -wise independent source of size O(n^), namely the dual of a code, which is a linear code. Since every
BCH code In coding theory, the Bose–Chaudhuri–Hocquenghem codes (BCH codes) form a class of cyclic error-correcting codes that are constructed using polynomials over a finite field (also called a '' Galois field''). BCH codes were invented in ...
can be presented as a polynomial-time computable restriction of a related
Reed Solomon Reed or Reeds may refer to: Science, technology, biology, and medicine * Reed bird (disambiguation) * Reed pen, writing implement in use since ancient times * Reed (plant), one of several tall, grass-like wetland plants of the order Poales * Re ...
code, which itself is strongly explicit, there is a polynomial-time algorithm for finding such an assignment to the ''x''''i'''s. The proof of fact 2 can be found at Dual of BCH is an independent source.


Outline of the Algorithm

The algorithm works by generating , computing its dual (which as a set is an -wise independent source) and treating each element (codeword) of that source as a truth assignment to the ''n'' variables in ''φ''. At least one of them will satisfy at least of the clauses of ''φ'', whenever ''φ'' is in kCNF form, .


Related problems

There are many problems related to the satisfiability of conjunctive normal form Boolean formulas. *
Decision problem In computability theory and computational complexity theory, a decision problem is a computational problem that can be posed as a yes–no question on a set of input values. An example of a decision problem is deciding whether a given natura ...
s: **
2SAT In computer science, 2-satisfiability, 2-SAT or just 2SAT is a computational problem of assigning values to variables, each of which has two possible values, in order to satisfy a system of constraints on pairs of variables. It is a special case ...
**
3SAT 3sat (, ''Dreisat'') is a free-to-air German-language public service television channel. It is a generalist channel with a cultural focus and is jointly operated by public broadcasters from Germany ( ZDF, ARD), Austria ( ORF) and Switzerlan ...
* Optimization problems, where the goal is to maximize the number of clauses satisfied: **
MAX-SAT 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 va ...
, and the corresponded weighted version
Weighted MAX-SAT A weight function is a mathematical device used when performing a sum, integral, or average to give some elements more "weight" or influence on the result than other elements in the same set. The result of this application of a weight function is ...
** MAX-SAT, where each clause has exactly variables: *** MAX-2SAT ***
MAX-3SAT MAX-3SAT is a problem in the computational complexity subfield of computer science. It generalises the Boolean satisfiability problem (SAT) which is a decision problem considered in complexity theory. It is defined as: ''Given a 3-CNF formula ...
*** MAXEkSAT ** The partial maximum satisfiability problem (PMAX-SAT) asks for the maximum number of clauses which can be satisfied by any assignment of a given subset of clauses. The rest of the clauses must be satisfied. ** The soft satisfiability problem (soft-SAT), given a set of SAT problems, asks for the maximum number of sets which can be satisfied by any assignment. ** The minimum satisfiability problem. * The MAX-SAT problem can be extended to the case where the variables of the
constraint satisfaction problem Constraint satisfaction problems (CSPs) are mathematical questions defined as a set of objects whose state must satisfy a number of constraints or limitations. CSPs represent the entities in a problem as a homogeneous collection of finite const ...
belong the set of reals. The problem amounts to finding the smallest ''q'' such that the ''q''-
relaxed intersection The ''relaxed intersection'' of ''m'' sets corresponds to the classical intersection between sets except that it is allowed to relax few sets in order to avoid an empty intersection. This notion can be used to solve Constraint satisfaction problem, ...
of the constraints is not empty.


See also


References

{{Reflist


External links


Coding Theory notes at MIT
NP-hard problems