Keywords and Synonyms
BDDs ; Binary decision diagrams
Problem Definition
Boolean Functions
The concept of a Boolean function – a function whose domain is {0,1}n and range is {0,1} – is central to computing. Boolean functions are used in foundational studies of complexity [7,9], as well as the design and analysis of logic circuits [4,13]. A Boolean function can be represented using a truth table – an enumeration of the values taken by the function on each element of {0,1}n. Since the truth table representation requires memory exponential in n, it is impractical for most applications. Consequently, there is a need for data structures and associated algorithms for efficiently representing and manipulating Boolean functions.
Boolean Circuits
Boolean functions can be represented in many ways. One natural representation is a Boolean combinational circuit, or circuit for short [6, Chapter 34]. A circuit consists of Boolean combinational elements connected by wires. The Boolean combinational...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Aziz, A., Tasiran, S., Brayton, R.: BDD Variable Ordering for Interacting Finite State Machines. In: ACM Design Automation Conference, pp. 283–288. (1994)
Berman, C.L.: Ordered Binary Decision Diagrams and Circuit Structure. In: IEEE International Conference on Computer Design. (1989)
Brace, K., Rudell, R., Bryant, R.: Efficient Implementation of a BDD Package. In: ACM Design Automation Conference. (1990)
Brayton, R., Hachtel, G., McMullen, C., Sangiovanni-Vincentelli, A.: Logic Minimization Algorithms for VLSI Synthesis. Kluwer Academic Publishers (1984)
Bryant, R.: Graph-based Algorithms for Boolean Function Manipulation. IEEE Transac. Comp. C-35, 677–691 (1986)
Cormen, T.H., Leiserson, C.E., Rivest, R.H., Stein, C.: Introduction to Algorithms. MIT Press (2001)
Garey, M.R., Johnson, D.S.: Computers and Intractability. W.H. Freeman and Co. (1979)
Gupta, A.: Formal Hardware Verification Methods: A Survey. Formal Method Syst. Des. 1, 151–238 (1993)
Karchmer, M.: Communication Complexity: AÂ New Approach to Circuit Depth. MIT Press (1989)
Kuehlmann, A., Krohm, F.: Equivalence Checking Using Cuts and Heaps. In: ACM Design Automation Conference (1997)
Malik, S., Wang, A.R., Brayton, R.K., Sangiovanni-Vincentelli, A.: Logic Verification using Binary Decision Diagrams in a Logic Synthesis Environment. In: IEEE International Conference on Computer-Aided Design, pp. 6–9. (1988)
McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers (1993)
De Micheli, G.: Synthesis and Optimization of Digital Circuits. McGraw Hill (1994)
Schoning, U., Pruim, R.: Gems of Theoretical Computer Science. Springer (1998)
Sipser, M.: Introduction to the Theory of Computation, 2nd edn. Course Technology (2005)
Somenzi, F.: Colorado University Decision Diagram Package. http://vlsi.colorado.edu/~fabio/
Wegener, I.: Branching Programs and Binary Decision Diagrams. SIAM (2000)
Yuan, J., Pixley, C., Aziz, A.: Constraint-Based Verfication. Springer (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag
About this entry
Cite this entry
Prakash, A., Aziz, A. (2008). Binary Decision Graph. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-30162-4_48
Download citation
DOI: https://doi.org/10.1007/978-0-387-30162-4_48
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-30770-1
Online ISBN: 978-0-387-30162-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering