In mathematics and optimization, a pseudo-Boolean function is a function of the form
Contents
- Representations
- Optimization
- Submodularity
- Roof Duality
- Reductions
- Polynomial Compression Algorithms
- References
where B = {0, 1} is a Boolean domain and n is a nonnegative integer called the arity of the function. A Boolean function is then a special case, where the values are also restricted to 0,1.
Representations
Any pseudo-Boolean function can be written uniquely as a multi-linear polynomial:
The degree of the pseudo-Boolean function is simply the degree of the polynomial in this representation.
In many settings (e.g., in Fourier analysis of pseudo-Boolean functions), a pseudo-Boolean function is viewed as a function
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
The submodular set functions can be viewed as a special class of pseudo-Boolean functions, which is equivalent to the condition
This is an important class of pseudo-boolean functions, because they can be minimized in polynomial time.
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.
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
Polynomial Compression Algorithms
Consider a pseudo-Boolean function