Speeding up Dualization in the Fredman-Khachiyan Algorithm B

Authors Nafiseh Sedaghat, Tamon Stephen, Leonid Chindelevitch

Thumbnail PDF


  • Filesize: 1.24 MB
  • 13 pages

Document Identifiers

Author Details

Nafiseh Sedaghat
  • School of Computing Science, Simon Fraser University
Tamon Stephen
  • Department of Mathematics, Simon Fraser University
Leonid Chindelevitch
  • School of Computing Science, Simon Fraser University

Cite AsGet BibTex

Nafiseh Sedaghat, Tamon Stephen, and Leonid Chindelevitch. Speeding up Dualization in the Fredman-Khachiyan Algorithm B. In 17th International Symposium on Experimental Algorithms (SEA 2018). Leibniz International Proceedings in Informatics (LIPIcs), Volume 103, pp. 6:1-6:13, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2018)


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 FK-A and FK-B, were proposed by Fredman and Khachiyan in 1996, with 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 FK-B algorithm for the computation of the dual of a monotone Boolean function, and present practical improvements to its performance. First, we show how FK-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 FK-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 FK-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.

Subject Classification

ACM Subject Classification
  • Computing methodologies → Boolean algebra algorithms
  • Monotone boolean functions
  • dualization
  • Fredman-Khachiyan algorithm
  • algorithm engineering
  • metabolic networks


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. Endre Boros and Kazuhisa Makino. A fast and simple parallel algorithm for the monotone duality problem. In Automata, languages and programming. Part I, volume 5555 of Lecture Notes in Comput. Sci., pages 183-194. Springer, Berlin, 2009. Google Scholar
  2. Leonid Chindelevitch, Jason Trigg, Aviv Regev, and Bonnie Berger. An exact arithmetic toolbox for a consistent and reproducible structural analysis of metabolic network models. Nature Communications, 5(4893):165-182, 2014. Google Scholar
  3. Yves Crama and Peter L Hammer. Boolean functions: Theory, algorithms, and applications. Cambridge University Press, 2011. Google Scholar
  4. Thomas Eiter, Kazuhisa Makino, and Georg Gottlob. Computational aspects of monotone dualization: a brief survey. Discrete Appl. Math., 156(11):2035-2049, 2008. Google Scholar
  5. Khaled Elbassioni. C implementation of Fredman and Khachiyan’s algorithm A. Available from https://github.com/VeraLiconaResearchGroup/MHSGenerationAlgorithms/blob/master/containers/fka-begk.
  6. Khaled M. Elbassioni. On the complexity of monotone dualization and generating minimal hypergraph transversals. Discrete Appl. Math., 156(11):2109-2123, 2008. Google Scholar
  7. Michael L Fredman and Leonid Khachiyan. On the complexity of dualization of monotone disjunctive normal forms. Journal of Algorithms, 21(3):618-628, 1996. Google Scholar
  8. Julien Gagneur and Steffen Klamt. Computation of elementary modes: a unifying framework and the new binary approach. BMC Bioinformatics, 5(175), 2004. Google Scholar
  9. Andrew Gainer-Dewar and Paola Vera-Licona. The minimal hitting set generation problem: algorithms and computation. SIAM J. Discrete Math., 31(1):63-100, 2017. Google Scholar
  10. V. Gurvich and L. Khachiyan. On generating the irredundant conjunctive and disjunctive normal forms of monotone Boolean functions. Discrete Appl. Math., 96/97:363-373, 1999. The satisfiability problem (Certosa di Pontignano, 1996); Boolean functions. Google Scholar
  11. Matthias Hagen, Peter Horatschek, and Martin Mundhenk. Experimental comparison of the two Fredman-Khachiyan-algorithms. In Proceedings of the Eleventh Workshop on Algorithm Engineering and Experiments (ALENEX), pages 154-161. SIAM, 2009. Google Scholar
  12. Utz-Uwe Haus. cl-jointgen, a common lisp implementation of the joint-generation method. Available from https://sourceforge.net/projects/cl-jointgen/ and in C at URL: https://sourceforge.net/projects/jointgen-c.cl-jointgen.p/.
  13. Utz-Uwe Haus, Steffen Klamt, and Tamon Stephen. Computing knock-out strategies in metabolic networks. J. Comput. Biol., 15(3):259-268, 2008. Google Scholar
  14. Steffen Klamt and Ernst Dieter Gilles. Minimal cut sets in biochemical reaction networks. Bioinformatics, 20(2):226-234, 2004. Google Scholar
  15. Martin Mundhenk and Robert Zeranski. How to apply SAT-solving for the equivalence test of monotone normal forms. In Karem A. Sakallah and Laurent Simon, editors, Theory and Applications of Satisfiability Testing - SAT 2011, pages 105-119, Berlin, 2011. Springer. Google Scholar
  16. Nafiseh Sedaghat. Matlab implementation of Fredman and Khachiyan’s algorithm B. Available from https://github.com/WGS-TB/FK/tree/master/Modified%20FK-B%20Algorithm.
  17. Tamon Stephen and Timothy Yusun. Counting inequivalent monotone Boolean functions. Discrete Appl. Math., 167:15-24, 2014. Google Scholar
  18. Marco Terzer and Jörg Stelling. Large-scale computation of elementary flux modes with bit pattern trees. Bioinformatics, 24(19):2229-2235, 2008. Google Scholar
  19. Jan Bert Van Klinken and Ko Willems van Dijk. FluxModeCalculator: an efficient tool for large-scale flux mode computation. Bioinformatics, 32(8):1265-1266, 2015. Google Scholar
  20. Jürgen Zanghellini, David E. Ruckerbauer, Michael Hanscho, and Christian Jungreuthmayer. Elementary flux modes in a nutshell: Properties, calculation and applications. Biotechnology Journal, 8(9):1009-1016, 2013. URL: http://dx.doi.org/10.1002/biot.201200269.
Questions / Remarks / Feedback

Feedback for Dagstuhl Publishing

Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail