Pseudo-Boolean function

This is an old revision of this page, as edited by Petter Strandmark (talk | contribs) at 14:00, 18 August 2011 (Reductions). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.

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   .

Roof Duality

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)