Determining the Multiplicative Complexity of Boolean Functions using SAT
Mathias Soeken

TL;DR
This paper introduces a SAT-based method to determine the minimal number of AND gates needed for Boolean functions, improving efficiency with symmetry constraints and post-optimization, and successfully analyzing 5- and 6-input functions.
Contribution
A novel SAT-based algorithm for calculating the multiplicative complexity of Boolean functions, incorporating symmetry breaking and post-optimization techniques.
Findings
Successfully finds all optimal solutions for 5-input affine-equivalent classes.
Determines minimal AND gate counts for selected 6-input functions.
Enhances solving speed with symmetry breaking constraints.
Abstract
We present a constructive SAT-based algorithm to determine the multiplicative complexity of a Boolean function, i.e., the smallest number of AND gates in any logic network that consists of 2-input AND gates, 2-input XOR gates, and inverters. In order to speed-up solving time, we make use of several symmetry breaking constraints; these exploit properties of XAGs that may be useful beyond the proposed SAT-based algorithm. We further propose a heuristic post-optimization algorithm to reduce the number of XOR gates once the optimum number of AND gates has been obtained, which also makes use of SAT solvers. Our algorithm is capable to find all optimum XAGs for representatives of all 5-input affine-equivalent classes, and for a set of frequently occurring 6-input functions.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Low-power high-performance VLSI design · VLSI and Analog Circuit Testing
