Pseudo-Boolean Function
   HOME

TheInfoList



OR:

In
mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
and
optimization Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
, a pseudo-Boolean function is a function of the form :f: \mathbf^n \to \R, where is a ''
Boolean domain In mathematics and abstract algebra, a Boolean domain is a set consisting of exactly two elements whose interpretations include ''false'' and ''true''. In logic, mathematics and theoretical computer science, a Boolean domain is usually written ...
'' and is a nonnegative
integer An integer is the number zero (0), a positive natural number (1, 2, 3, ...), or the negation of a positive natural number (−1, −2, −3, ...). The negations or additive inverses of the positive natural numbers are referred to as negative in ...
called the
arity In logic, mathematics, and computer science, arity () is the number of arguments or operands taken by a function, operation or relation. In mathematics, arity may also be called rank, but this word can have many other meanings. In logic and ...
of the function. A
Boolean function In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set (usually , or ). Alternative names are switching function, used especially in older computer science literature, and truth functi ...
is then a special case, where the values are also restricted to 0 or 1.


Representations

Any pseudo-Boolean function can be written uniquely as a multi-linear polynomial: :f(\boldsymbol) = a + \sum_i a_ix_i + \sum_a_x_ix_j + \sum_a_x_ix_jx_k + \ldots The degree of the pseudo-Boolean function is simply the degree of the
polynomial In mathematics, a polynomial is a Expression (mathematics), mathematical expression consisting of indeterminate (variable), indeterminates (also called variable (mathematics), variables) and coefficients, that involves only the operations of addit ...
in this representation. In many settings (e.g., in Fourier analysis of pseudo-Boolean functions), a pseudo-Boolean function is viewed as a function f that maps \^n to \mathbb. Again in this case we can uniquely write f as a multi-linear polynomial: f(x)= \sum_\hat(I)\prod_x_i, where \hat(I) are Fourier coefficients of f and \.


Optimization

Minimizing (or, equivalently, maximizing) a pseudo-Boolean function is
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 ...
. This can easily be seen by formulating, for example, the
maximum cut In a graph, a maximum cut is a cut whose size is at least the size of any other cut. That is, it is a partition of the graph's vertices into two complementary sets and , such that the number of edges between and is as large as possible. ...
problem as maximizing a pseudo-Boolean function.


Submodularity

The
submodular set function In mathematics, a submodular set function (also known as a submodular function) is a set function that, informally, describes the relationship between a set of inputs and an output, where adding more of one input has a decreasing additional benefi ...
s can be viewed as a special class of pseudo-Boolean functions, which is equivalent to the condition :f(\boldsymbol) + f(\boldsymbol) \ge f(\boldsymbol \wedge \boldsymbol) + f(\boldsymbol \vee \boldsymbol), \; \forall \boldsymbol, \boldsymbol\in \mathbf^n\,. This is an important class of pseudo-boolean functions, because they can be minimized in polynomial time. Note that minimization of a submodular function is a polynomially solvable problem independent on the presentation form, for e.g. pesudo-Boolean polynomials, opposite to maximization of a submodular function which is NP-hard, Alexander Schrijver (2000).


Roof Duality

If ''f'' is a quadratic polynomial, a concept called ''roof duality'' can be used to obtain a lower bound for its minimum value. Roof duality may also provide a partial assignment of the variables, indicating some of the values of a minimizer to the polynomial. Several different methods of obtaining lower bounds were developed only to later be shown to be equivalent to what is now called roof duality.


Quadratizations

If the degree of ''f'' is greater than 2, one can always employ ''reductions'' to obtain an equivalent quadratic problem with additional variables. One possible reduction is :\displaystyle -x_1x_2x_3=\min_z(2-x_1-x_2-x_3) There are other possibilities, for example, :\displaystyle -x_1x_2x_3=\min_z(-x_1+x_2+x_3)-x_1x_2-x_1x_3+x_1. Different reductions lead to different results. Take for example the following
cubic polynomial In mathematics, a cubic function is a function (mathematics), function of the form f(x)=ax^3+bx^2+cx+d, that is, a polynomial function of degree three. In many texts, the ''coefficients'' , , , and are supposed to be real numbers, and the func ...
: :\displaystyle f(\boldsymbol)=-2x_1+x_2-x_3+4x_1x_2+4x_1x_3-2x_2x_3-2x_1x_2x_3. Using the first reduction followed by roof duality, we obtain a lower bound of -3 and no indication on how to assign the three variables. Using the second reduction, we obtain the (tight) lower bound of -2 and the optimal assignment of every variable (which is ).


Polynomial Compression Algorithms

Consider a pseudo-Boolean function f as a mapping from \^n to \mathbb. Then f(x)= \sum_\hat(I)\prod_x_i. Assume that each coefficient \hat(I) is integral. Then for an integer k the problem P of deciding whether f(x) is more or equal to k is NP-complete. It is proved in that in polynomial time we can either solve P or reduce the number of variables to O(k^2\log k). Let r be the degree of the above multi-linear polynomial for f. Then proved that in polynomial time we can either solve P or reduce the number of variables to r(k-1).


See also

*
Boolean function In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set (usually , or ). Alternative names are switching function, used especially in older computer science literature, and truth functi ...
* Quadratic pseudo-Boolean optimization


Notes


References

* * * * {{cite journal , last=Schrijver , first=Alexander , date=November 2000 , title=A Combinatorial Algorithm Minimizing Submodular Functions in Strongly Polynomial Time , journal=Journal of Combinatorial Theory , doi=10.1006/jctb.2000.1989 , volume=80 , issue=2 , pages=346–355, doi-access=free Mathematical optimization