Evolutionary-Reduced Ordered Binary Decision Diagram Hossein Moeinzadeh ¥, φ , Mehdi Mohammadi Ψ, £ , Hossein Pazhoumand-dar Φ , Arman Mehrbakhsh ψ , Navid Kheibar ξ , Nasser Mozayani ¥, θ Ψ Department of Computer engineering, Islamic Azad University-Hashtgerd branch, Karaj, Iran ¥ Department of Computer engineering, Iran University of Science and Technology, Tehran, Iran Φ Department of Computer engineering, Islamic Azad University-Mashhad branch, Mashhad, Iran ψ Department of Computer engineering, Islamic Azad University-Lahijan branch, Lahijan, Iran ξ Department of Computer engineering, University of Isfahan, Isfahan, Iran { φ moeinzadeh, £ me_mohammadi}@comp.iust.ac.ir, θ mozayani@iust.ac.ir Abstract—Reduced ordered binary decision diagram (ROBDD) is a memory-efficient data structure which is used in many applications such as synthesis, digital system, verification, testing and VLSI-CAD . The size of an ROBDD for a function can be increased exponentially by the number of independent variables of the function that is called “memory explosion problem”. The choice of the variable ordering largely influences the size of the OBDD especially for large input variables. Finding the optimal variable ordering is an NP-complete problem, hence, in this paper, two evolutionary methods (GA and PSO) are used to find optimal order of input variable in binary decision diagram. Some benchmarks form LGSynth91 are used to evaluate our suggestion methods. Obtained results show that evolutionary methods have the ability to find optimal order of input variable and reduce the size of ROBDD considerably. Keywords-Genetic Algorithm; Particle Swarm Optimization, Reduce Order Binary Decsion Diagram I. INTRODUCTION Reduced Ordered Binary Decision Diagram (ROBDD) [3] is a memory-efficient data structure for Boolean function manipulations, which is widely used in logic synthesis, verification and VLSI-CAD. A central issue in providing computer-aided solutions to these problems is to find a compact representation for Boolean functions on which the basic Boolean operations and equivalence check can be efficiently performed [2]. Over the years, ROBDDs have become one of the most popular representations for Boolean functions. Unfortunately, ROBDDs suffer from the memory explosion problem. In many cases of practical interest, the ROBDD representation of a Boolean exponentially by number of independent variables of the function. This large space requirement places a limit on the complexity of problems which can be solved using ROBDDs and has been the focus of intense research over the last decade. The main advantages of the ROBDD approach include, firstly, the possibility of performing global optimization independent of the initial form of the Boolean network. Secondly, it could handle very high complex circuits that cannot be handled by classical Boolean or algebraic factorization algorithms and finally, the possibility of using the procrastination algorithm in order to favor the delayed inputs [2]. The remaining of this paper is organized as follows: In the second section, we define formulation of the problem then in the third section related works are discussed. In the forth section our new approach is investigated. The fifth section represents experimental results and finally, the last section contains the conclusion. II. FORMULATION AND PROBLEM A Binary Decision Diagram (BDD) representation of a Boolean function f: B n B, where B = {0, 1}, over a set X n = {x 1 ,…,x n } of Boolean variables is a directed acyclic graph with a vertex (node) set V. Vertices are divided in two types: terminal and non-terminal (internal). A terminal vertex is labeled by zero or one. Each non-terminal vertex v is labeled by a variable x € X n and has two children, low(v), high(v) € V, corresponding to whether the variable evaluates to zero or one. For a given assignment to the variables, the function value is evaluated by tracing a path from the root to a terminal. For a given input m = (m 1 ,.., m n ), the evaluation starts at the root. At a non-terminal node v with label x i , if m i = 0 then the outgoing edge corresponding to low(v) is chosen. Otherwise, the edge corresponding to high(v) is chosen. Fig. 1 represents an example of BDDs. Figure 1. BDD example: F=x1x3+x2x3 Though BDDs have been researched for about four decades [1, 4], they found widespread use only after Bryant [3] showed that such graphs, under two restrictions, are X1 X2 X3 X2 0 1 X3 1 1 1 1 1 0 0 0 0 0 1 2009 Third Asia International Conference on Modelling & Simulation 978-0-7695-3648-4/09 $25.00 © 2009 IEEE DOI 10.1109/AMS.2009.130 142