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