In mathematics and optimization, a pseudo-Boolean function is a function of the form
- ,
where B = {0, 1} is a Boolean ___domain and n is a nonnegative integer called the arity of the function. Any pseudo-Boolean function can be written uniquely as a multi-linear polynomial:
An important class of pseudo-Boolean functions are the submodular functions, because polynomimal-time algorithms exists for minimizing them. The degree of the pseudo-Boolean function is simply the degree of the polynomial.
Optimization
Minimizing (or, equivalently, maximizing) a pseudo-Boolean function is NP-Hard. This can easily be seen by formulating, for example, the maximum cut problem as maximizing a pseudo-Boolean function.
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.[1]
Reductions
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
There are other possibilities, for example,
Different reductions lead to different results. Take for example the following cubic polynomial:
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 .
See also
References
- Boros (2002). "Pseudo-Boolean Optimization". Discrete Applied Mathematics. 123. doi:10.1016/S0166-218X(01)00341-9.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help) - Rother (2007). "Optimizing Binary MRFs via Extended Roof Duality" (PDF). International Conference on Computer Vision and Pattern Recognition.
{{cite journal}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help)
Notes
- ^ Boros and Hammer, 2002