Speeding up Dualization in the Fredman-Khachiyan Algorithm B

Nafiseh Sedaghat, Tamon Stephen, Leonid Chindelevitch, Marc Herbstritt
2018 Symposium on Experimental and Efficient Algorithms  
The problem of computing the dual of a monotone Boolean function f is a fundamental problem in theoretical computer science with numerous applications. The related problem of duality testing (given two monotone Boolean functions f and g, declare that they are dual or provide a certificate that shows they are not) has a complexity that is not yet known. However, two quasi-polynomial time algorithms for it, often referred to as F K-A and F K-B, were proposed by Fredman and Khachiyan in 1996, with
more » ... the latter having a better complexity guarantee. These can be naturally used as a subroutine in computing the dual of f . In this paper, we investigate this use of the F K-B algorithm for the computation of the dual of a monotone Boolean function, and present practical improvements to its performance. First, we show how F K-B can be modified to produce multiple certificates (Boolean vectors on which the functions defined by the original f and the current dual g do not provide outputs consistent with duality). Second, we show how the number of redundancy tests -one of the more costly and time-consuming steps of F K-B -can be substantially reduced in this context. Lastly, we describe a simple memoization technique that avoids the solution of multiple identical subproblems. We test our approach on a number of inputs coming from computational biology as well as combinatorics. These modifications provide a substantial speed-up, as much as an order of magnitude, for F K-B dualization relative to a naive implementation. Although other methods may end up being faster in practice, our work paves the way for a principled optimization process for the generation of monotone Boolean functions and their duals from an oracle.
doi:10.4230/lipics.sea.2018.6 dblp:conf/wea/SedaghatSC18 fatcat:m4wtqdrosnbsrcc3r32bxkosqy