期刊
IEEE TRANSACTIONS ON EVOLUTIONARY COMPUTATION
卷 27, 期 3, 页码 535-549出版社
IEEE-INST ELECTRICAL ELECTRONICS ENGINEERS INC
DOI: 10.1109/TEVC.2022.3170212
关键词
Boolean functions; Genetic algorithms; Heuristic algorithms; Binary decision diagrams; Optimization; Costs; Computational complexity; Binary decision diagram (BDD); genetic algorithm (GA); reordering algorithm; swarm optimization
The use of binary decision diagrams (BDDs) has been widely adopted in various fields. Constructing the BDD of a Boolean function allows for its analysis. However, the size of the BDD can be reduced by applying proper variable reordering and reduction rules while preserving its fidelity. Algorithms have been proposed for finding optimal variable orders, but their scalability is limited in complex systems. This article proposes a BDD optimizer driven by either a genetic algorithm or swarm engines, which effectively reduces the BDD size with linear computational complexity.
The use of binary decision diagrams (BDDs) has proliferated in numerous fields. When a system criterion is formulated in form of a Boolean function, its BDD is constructed. Each node in the BDD is further mapped into another form to be exploited in the system analysis. However, the cost of the resultant mapping form is directly related to the BDD size which can be effectively reduced through applying proper variable reordering followed by applying reduction rules that preserve the fidelity of the BDD in correctly representing the input Boolean function. Although several algorithms have been proposed in the literature to find the optimal order of variables in the BDD, the scalability of such algorithms is a serious barrier when it comes to complex systems with exponential explosion in the possible number of orders in the search space. Furthermore, solely exploring the search space in BDD reordering is not sufficient since better permutations might be obtained with slight tuning of the candidate solutions. Thus, a sufficient degree of equilibrium between exploration and exploitation should be preserved during the evolution of the reordering algorithm. In this article, we propose a BDD optimizer driven by either genetic algorithm (GA) or swarm engines. The proposed GA-based BDD reordering optimizer iteratively processes an essentially large population with a randomized mixing of low destructive crossover/mutation operators. The proposed swarm-based optimizer, on the other hand, maps a vector of real numbers into a permutation to further construct its companion BDD. The generation of the next vector is guided by recent parameter and parameter-less swarm algorithms that are armed with effective mechanisms to simultaneously conduct exploration and exploitation. Experimental results show that our proposed optimizer effectively reduces the resultant BDD size for input Boolean functions with almost linear computational complexity. Furthermore, it has been found that exploiting recent swarm optimizers with spiral movement in BDD reordering problem can outperform GA for large scale Boolean functions. Finally, as a real-world application, our proposed algorithm is applied to reversible logic synthesis to show the achieved reduction in the quantum cost (QC) associated with BDD-based synthesis.
作者
我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。
推荐
暂无数据