Pseudo-Boolean function

This is an old revision of this page, as edited by 82.28.170.23 (talk) at 20:18, 12 September 2011. 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.

In many settings (e.g., in Fourier analysis of pseudo-Boolean functions), a pseudo-Boolean function is viewed as a function that maps to . Again in this case we can uniquely write as a multi-linear polynomial: where are Fourier coefficients of and . For a nice and simple introduction to Fourier analysis of pseudo-Boolean functions, see [1].


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.

Submodularity

A pseudo-Boolean function f is said to be submodular if

 

for every x and y. This is a very importand concept, because a submodular pseudo-boolean function can be minimized in polynomial time.[citation needed]

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.[2] 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.[2]

Reductions

If the degree of f is greater than 2, one can always employ reductions to obtain an equivalent quadratic problem with additional variables.[3] 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  ).

Polynomial Compression Algorithms

Consider a pseudo-Boolean function   as a mapping from   to  . Then   Assume that each coefficient   is integral. Then for an integer   the problem P of deciding whether   is more or equal to   is NP-complete. It is proved in [4] that in polynomial time we can either solve P or reduce the number of variables to  . Let   be the degree of the above multi-linear polynomial for  . Then [4] proved that in polynomial time we can either solve P or reduce the number of variables to  .


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)
  • Crowston (2011). "Simultaneously Satisfying Linear Equations Over GF(2): MaxLin2 and Max-r-Lin2 Parameterized Above Average". Proc. of FSTTCS 2011. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  • Ishsikawa (2011). "Transformation of general binary MRF minimization to the first order case". IEEE Trans. Pattern Analysis and Machine Intelligence. 33 (6): 1234–1249.
  • 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)
  • O'Donnell (2008). [www.eccc.uni-trier.de/eccc-reports/2008/TR08-055/ "Some topics in analysis of Boolean functions"]. ECCC Report TR08-055. {{cite journal}}: Check |url= value (help); line feed character in |journal= at position 12 (help)


Notes

  1. ^ O'Donnell, 2008
  2. ^ a b Boros and Hammer, 2002
  3. ^ Ishikawa, 2011
  4. ^ a b Crowston et al., 2011