A Universally Fastest Algorithm for Max 2-Sat, Max 2-CSP and Everything in Between
Résumé
We introduce "hybrid" Max 2-CSP formulas consisting of "simple clauses", namely conjunctions and disjunctions of pairs of variables, and general 2-variable clauses, which can be any integer-valued functions of pairs of boolean variables. This allows an algorithm to use both efficient reductions specific to AND and OR clauses, and other powerful reductions that require the general CSP setting. Parametrizing an instance by the fraction p of nonsimple clauses, we give an exact (exponential-time) algorithm that is the fastest polynomial-space algorithm known for Max 2-Sat (and other p = 0 formulas, with arbitrary mixtures of AND and OR clauses); the only efficient algorithm for mixtures of AND, OR, and general integer-valued clauses; and tied for fastest for general Max 2-CSP (p = 1). Since a pure 2-Sat input instance may be transformed to a general CSP instance in the course of being solved, the algorithm's efficiency and generality go hand in hand. Our novel analysis results in a family of running-time bounds, each optimized for a particular value of p. The algorithm uses new reductions introduced here, as well as recent reductions such as "clause-learning" and "2-reductions" adapted to our setting's mixture of simple and general clauses. Each reduction imposes constraints on various parameters, and the running-time bound is an "objective function" of these parameters and p. The optimal running-time bound is obtained by solving a convex nonlinear program, which can be done efficiently and with a certificate of optimality.