Graph-Based Algorithms for Boolean Function Manipulation

  title={Graph-Based Algorithms for Boolean Function Manipulation},
  author={Randal E. Bryant},
  journal={IEEE Transactions on Computers},
  • R. Bryant
  • Published 1 August 1986
  • Computer Science
  • IEEE Transactions on Computers
In this paper we present a new data structure for representing Boolean functions and an associated set of manipulation algorithms. Functions are represented by directed, acyclic graphs in a manner similar to the representations introduced by Lee [1] and Akers [2], but with further restrictions on the ordering of decision variables in the graph. Although a function requires, in the worst case, a graph of size exponential in the number of arguments, many of the functions encountered in typical… 

Figures and Tables from this paper

Graph-Based Representations of Discrete Functions
This chapter surveys the techniques of BDD and its variants, explains the basic method of B DD manipulation, and shows the relationships between the different types of Bdds.
Randomized OBDD-Based Graph Algorithms
  • Marc Bury
  • Computer Science, Mathematics
  • 2015
The experimental evaluation shows that this algorithm outperforms known OBDD-based algorithms for the maximal matching problem and is both better than the best known algorithms w.r.t. functional operations and variables.
The Combinatorics of Binary Decision Diagrams
The main focus is on studying typical structure of dag s obtained by compaction from a combinatorial point of view, interested in enumeration, random sampling and probabilistic analysis with the help of tools from combinatorics and probability theory.
Exponential Space Complexity for Symbolic Maximum Flow Algorithms in 0-1 Networks
The first exponential lower bound on the space complexity of OBDD-based algorithms for the maximum flow problem in 0-1 networks is presented.
Boolean technology mapping based on logic decomposition
An algorithm for technology mapping based on the use of decomposition tree of a logic function representing the decomposition properties of that function, and able to represent implicitly a search space of unprecedented size for a subject graph.
Exploiting communication complexity for Boolean matching
Two signatures, cofactor and equivalence signatures are proposed, which are general forms of many existing signatures that are used to develop an efficient Boolean matching algorithm which is based on checking structural equivalence of OBDD's.
Representation of Boolean Functions with ROBDDs
Recursion algorithms for composing functions and garbage collection with a formulae counter are presented, showing that this is better than garbage collection in other known implementations.
On Symbolic Representations of Maximum Matchings and (Un)directed Graphs
  • B. Bollig
  • Computer Science, Mathematics
  • 2010
It is shown that symbolic OBDD-based algorithms for the maximum matching problem need exponential space (with respect to the O BDD size of the input graph) and it is shown That OBDd-representations for undirected graphs can be exponentially larger than OBD D-representation for their directed counterparts and vice versa.
An Efficient Implicit OBDD-Based Algorithm for Maximal Matchings
An implicit OBDD-based maximal matching algorithm is presented that uses only a polylogarithmic number of functional operations with respect to the number of vertices of the input graph.


The Design and Analysis of Computer Algorithms
This text introduces the basic data structures and programming techniques often used in efficient algorithms, and covers use of lists, push-down stacks, queues, trees, and graphs.
The Complexity of Equivalence and Containment for Free Single Variable Program Schemes
Non-containment for free single variable program schemes is shown to be NP-complete. A polynomial time algorithm for deciding equivalence of two free schemes, provided one of them has the predicates
Binary Decision Diagrams
  • S. Akers
  • Computer Science
    IEEE Transactions on Computers
  • 1978
This paper describes a method for defining, analyzing, testing, and implementing large digital functions by means of a binary decision diagram. This diagram provides a complete, concise,
Majority Gate Networks
This paper presents methods for realizing simple threshold functions of n arguments by networks of k-input majority gates, where k≪n. An optimal network realization of the 5-argument majority
Decision Trees and Diagrams
In this tutorial survey a common framework of defimtmns and notation is established, the contributions from the main fields of apphcatmn are reviewed, recent results and extensions are presented, and areas of ongoing and future research are discussed.
Representation of switching circuits by binary-decision programs
The paper shows the relationship between switching circuits and binary-decision programs and gives a set of simple rules by which one can transform binary- Decision programs to switching circuits, and shows that binary-Decision programming representation is superior to the usual Boolean representation.
The Area-Time Complexity of Binary Multiplication
By using a model of computation which is a realistic approx~mauon to current and anucipated LSI or VLSI technology, it is shown that A T 2.0 is shown to be the time required to perform multtphcaUon of n-bit binary numbers on a chip.
A Suggestion for a Fast Multiplier
The author develops an adder tree to sum this set when t= 1 the maximum number of regions intersections of n t-flats and shows that a tree will be dependent on both t and n.
A symbolic analysis of relay and switching circuits
  • C. Shannon
  • Mathematics
    Transactions of the American Institute of Electrical Engineers
  • 1938
It will be shown that several of the well-known theorems on impedance networks have roughly analogous theorem in relay circuits, including the delta-wye and star-mesh transformations, and the duality theorem.
Information transfer and area-time tradeoffs for VLSI multiplication
It is shown that communication considerations alone dictate that any VLSI design for computing the 2-bit product of two n-bit integers must satisfy the constraint AT-AT-2/64.