Table of Contents
Fetching ...

Linear Decomposition of the Majority Boolean Function using the Ones on Smaller Variables

Anupam Chattopadhyay, Debjyoti Bhattacharjee, Subhamoy Maitra

TL;DR

The paper tackles decomposing an $n$-input Majority function $M_n$ into $k$-input Majority functions $M_k$ with $k<n$, a central question in circuit complexity. It introduces two constructive approaches: a counter-graph (counter-tree) method and a restricted set partition function method, deriving near-optimal and suboptimal bounds respectively. The counter-graph construction achieves $O(n)$ occurrences of $M_k$, approaching the known lower bound $\Omega\left(\frac{n}{k}\log k\right)$, and the partition-based method yields $O\left(\frac{n}{k^2}e^{\sqrt{n}}\right)$, with both extendable to Threshold functions. Experimental validation in CIRCT MLIR using an SLS dialect demonstrates practical feasibility and alignment with theoretical predictions, supporting the relevance of these techniques for large-scale logic synthesis and emerging computing technologies.

Abstract

A long-investigated problem in circuit complexity theory is to decompose an $n$-input or $n$-variable Majority Boolean function (call it $M_n$) using $k$-input ones ($M_k$), $k < n$, where the objective is to achieve the decomposition using fewest $M_k$'s. An $\mathcal{O}(n)$ decomposition for $M_n$ has been proposed recently with $k=3$. However, for an arbitrary value of $k$, no such construction exists even though there are several works reporting continual improvement of lower bounds, finally achieving an optimal lower bound $Ω(\frac{n}{k}\log k)$ as provided by Lecomte et. al., in CCC '22. In this direction, here we propose two decomposition procedures for $M_n$, utilizing counter trees and restricted partition functions, respectively. The construction technique based on counter tree requires $\mathcal{O}(n)$ such many $M_k$ functions, hence presenting a construction closest to the optimal lower bound, reported so far. The decomposition technique using restricted partition functions present a novel link between Majority Boolean function construction and elementary number theory. These decomposition techniques close a gap in circuit complexity studies and are also useful for leveraging emerging computing technologies.

Linear Decomposition of the Majority Boolean Function using the Ones on Smaller Variables

TL;DR

The paper tackles decomposing an -input Majority function into -input Majority functions with , a central question in circuit complexity. It introduces two constructive approaches: a counter-graph (counter-tree) method and a restricted set partition function method, deriving near-optimal and suboptimal bounds respectively. The counter-graph construction achieves occurrences of , approaching the known lower bound , and the partition-based method yields , with both extendable to Threshold functions. Experimental validation in CIRCT MLIR using an SLS dialect demonstrates practical feasibility and alignment with theoretical predictions, supporting the relevance of these techniques for large-scale logic synthesis and emerging computing technologies.

Abstract

A long-investigated problem in circuit complexity theory is to decompose an -input or -variable Majority Boolean function (call it ) using -input ones (), , where the objective is to achieve the decomposition using fewest 's. An decomposition for has been proposed recently with . However, for an arbitrary value of , no such construction exists even though there are several works reporting continual improvement of lower bounds, finally achieving an optimal lower bound as provided by Lecomte et. al., in CCC '22. In this direction, here we propose two decomposition procedures for , utilizing counter trees and restricted partition functions, respectively. The construction technique based on counter tree requires such many functions, hence presenting a construction closest to the optimal lower bound, reported so far. The decomposition technique using restricted partition functions present a novel link between Majority Boolean function construction and elementary number theory. These decomposition techniques close a gap in circuit complexity studies and are also useful for leveraging emerging computing technologies.

Paper Structure

This paper contains 8 sections, 10 theorems, 11 equations, 9 figures, 1 algorithm.

Key Result

Proposition 2.1

Consider $M_n$ with $\psi$ many control variables, and $\tau$ of them are fixed at 1 (naturally $n \geq \psi \geq \tau$). Then $M_n$ represents $T_{n-\psi}^{\lceil\frac{n}{2}\rceil-\tau}$.

Figures (9)

  • Figure 1: (\ref{['fig:maj_9_5']}) Computing $M_9$ of inputs $x_i^1$ ($1 \le i \le 9$) using $(3:2)$ and $(2:2)$ counters and a threshold value ($t^4t^3t^2t^1$). The LSB of the counter output is on the right and the MSB is the leftmost output. For $M_9$, the threshold value is $1011$ since, this added with input HW generates carry bit at the last counter if $M_9$ is true. The set of counters used for computing each output bit is colored with the same color. $o_5$ is essentially the overflow bit indicating $M_9$. The counters can be expressed using $M_5$. (\ref{['fig:counter']}) Partially decomposed Counter Graph for $M_9$, where the $(3:2)$ counter is realized using $M_5$. The dot on the edge represents inversion of the input or in other words, a Boolean negation. The HW of each $3$-input partition are computed independently.
  • Figure 2: Generic Counter Graph Design for decomposing $M_n$ using $M_k$. AND, OR logic functions can be easily expressed using $M_k$ though by introducing redundant constants.
  • Figure 3: $M_9$ computation using $M_5$ via Partition Function Approach.
  • Figure 4: $M_n$ computation using $M_k$ via Partition Function Approach.
  • Figure 5: (\ref{['fig:mlir_flow']}) MLIR-based flow for Majority Decomposition. The SLS dialect has been implemented and integrated with CIRCT, along with the passes {--maj-to-counter, --counter-to-maj, --sls-to-comb}. (\ref{['fig:sls_dialect']}) The operations defined in SLS dialect.
  • ...and 4 more figures

Theorems & Definitions (28)

  • Definition 1
  • Definition 2
  • Definition 3
  • Proposition 2.1
  • Definition 4
  • Definition 5
  • Definition 6
  • Definition 7
  • Definition 8
  • Definition 9
  • ...and 18 more