Puneet Varma (Editor)

Pseudo Boolean function

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

In mathematics and optimization, a pseudo-Boolean function is a function of the form

Contents

f : B n R ,

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:

f ( x ) = a + i a i x i + i < j a i j x i x j + i < j < k a i j k x i x j x k +

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 f that maps { 1 , 1 } n to R . Again in this case we can uniquely write f as a multi-linear polynomial: f ( x ) = I [ n ] f ^ ( I ) i I x i , where f ^ ( I ) are Fourier coefficients of f and [ n ] = { 1 , . . . , n } . For a nice and simple introduction to Fourier analysis of pseudo-Boolean functions, see.

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

f ( x ) + f ( y ) f ( x y ) + f ( x y ) , x , y B n .

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

x 1 x 2 x 3 = min z B z ( 2 x 1 x 2 x 3 )

There are other possibilities, for example,

x 1 x 2 x 3 = min z B z ( x 1 + x 2 + x 3 ) x 1 x 2 x 1 x 3 + x 1 .

Different reductions lead to different results. Take for example the following cubic polynomial:

f ( x ) = 2 x 1 + x 2 x 3 + 4 x 1 x 2 + 4 x 1 x 3 2 x 2 x 3 2 x 1 x 2 x 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 ( 0 , 1 , 1 ) ).

Polynomial Compression Algorithms

Consider a pseudo-Boolean function f as a mapping from { 1 , 1 } n to R . Then f ( x ) = I [ n ] f ^ ( I ) i I x i . Assume that each coefficient f ^ ( 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 ) .

References

Pseudo-Boolean function Wikipedia