Recent improvements in adder optimization could be achieved by optimizing the AND-trees occurring within the constructed circuits. The overlap of such trees and its potential for pure size optimization has not been taken into account though. Motivated by this, we examine the fundamental problem of minimizing the size of a circuit for multiple AND-functions on intersecting variable sets. Our formulation generalizes the overlapping \AND-trees within adder optimization but is in NP, in contrast to general Boolean circuit optimization which is in $\Sigma_2^p$ (and thus suspected not to be in NP). While restructuring the AND- or XOR-trees simultaneously, we optimize the total number of gates needed for all functions to be computed. We show that this problem is APX-hard already for functions of few variables and present efficient approximation algorithms for the case in which the Boolean functions depend on at most 3 or 4 variables each, achieving guarantees of $\frac 43$ and $1.9$, respectively. To conclude, we give a polynomial approximation algorithm with guarantee $\frac 23k$ for AND-functions of up to $k$ variables. To achieve these results, the key technique is to determine how much overlap among the variable sets makes tree construction cheap and how little makes the optimum solution large.
翻译:近年来,加法器优化可通过优化所构建电路中的AND树来实现其性能改进。然而,此类树的重叠及其在纯尺寸优化中的潜力尚未被充分考虑。受此启发,我们研究了在相交变量集上多输出AND函数电路尺寸最小化的基本问题。本文的公式化表述虽然将加法器优化中重叠的AND树进行了泛化,但问题本身属于NP类——这与属于$\Sigma_2^p$类(因此被推测不属于NP类)的通用布尔电路优化形成对比。在同时重构AND树或XOR树的过程中,我们优化所有待计算函数所需的总门数。研究表明,即便对于仅含少量变量的函数,该问题已具有APX难度,并针对每个布尔函数至多依赖3个或4个变量的情形,分别提出保证率为$\frac 43$和$1.9$的高效近似算法。最后,我们给出针对最多$k$个变量的AND函数的多项式时间近似算法,其保证率为$\frac 23k$。为获得上述结果,关键技术在于确定变量集重叠程度如何降低树构建成本,以及何种重叠会使最优解规模显著增大。