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 relating these classes to each other. A computational problem is a task solved ...
that is a maximization version of the Boolean satisfiability problem
3SAT In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) is the problem of determining if there exists an interpretation that satisfies ...
. In MAXEkSAT, each clause has exactly ''k'' literals, each with distinct variables, and is in
conjunctive normal form In Boolean logic, 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. As a cano ...
. 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 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 ''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. 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 tim ...
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, mathematical expectation, mean, average, or first moment) is a generalization of the weighted average. Informally, the expected value is the arithmetic mean of a ...
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 for the probability that a non-negative function of a random variable is greater than or equal to some positive constant. It is named after the Russian mathematician Andrey Markov, ...
, 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, an error correction code, sometimes error correcting code, (ECC) is used for controlling errors in data over unreliable or noisy communication channels. The central idea is ...
, 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. 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 ''Galois field''). BCH codes were invented in 1959 ...
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 of the input values. An example of a decision problem is deciding by means of an algorithm wheth ...
s: **
2SAT In computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied scien ...
**
3SAT In logic and computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated SATISFIABILITY, SAT or B-SAT) is the problem of determining if there exists an interpretation that satisfies ...
* 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 val ...
, and the corresponded weighted version Weighted MAX-SAT ** MAX-SAT, where each clause has exactly variables: *** MAX-2SAT *** MAX-3SAT *** 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 constr ...
belong the set of reals. The problem amounts to finding the smallest ''q'' such that the ''q''- relaxed intersection of the constraints is not empty.


See also


References

{{Reflist


External links


Coding Theory notes at MIT
NP-hard problems