A Binary Decision Diagram (BDD) is a directed acyclic graph used to represent and analyze Boolean functions, offering advantages over traditional methods like Karnaugh maps and truth tables, especially for functions with many variables. BDDs can be reduced to a more compact form through specific algorithms, and an Ordered Binary Decision Diagram (OBDD) maintains a consistent variable order throughout its paths. Techniques such as Shannon Decomposition can be employed to construct BDDs from Boolean functions or truth tables.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
8 views
unit 2 pt 4
A Binary Decision Diagram (BDD) is a directed acyclic graph used to represent and analyze Boolean functions, offering advantages over traditional methods like Karnaugh maps and truth tables, especially for functions with many variables. BDDs can be reduced to a more compact form through specific algorithms, and an Ordered Binary Decision Diagram (OBDD) maintains a consistent variable order throughout its paths. Techniques such as Shannon Decomposition can be employed to construct BDDs from Boolean functions or truth tables.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21
Binary decision diagram
Binary Decision Diagram
• A binary decision diagram (BDD) is a mean to represent, analyze, test, and implement Boolean functions . It is a directed acyclic graph that consists of nodes and edges. • The popular description of using such diagrams to represent Boolean functions was provided by Akers in 1978. Although other methods may be used to complete such tasks, e.g., the Karnaugh map, binary decision diagrams offer some useful advantages. • Karnaugh maps and truth tables are suitable methods that may be used to describe functions consisting of a small number of variables. However, the problem with such methods is that the size of these structures increases dramatically as the number of variables increase, i.e., 2n rows in a truth table or squares in a Karnaugh map are required for a function of n variables. • Although a binary decision diagram contains 2n - 1 nodes for n variables, it is possible to reduce the size of these structures by following certain algorithms. • For instance, the order in which variables are evaluated within a binary decision diagram can significantly affect the size of the structure. • A binary decision diagram is called an ordered binary decision diagram (OBDD) if on all of its paths the variables appear in the same order. • This technique is able to produce a completely unique graphical representation of a Boolean function that in turn may be used to test for equivalence of a Boolean function. • Advantages of reduced ordered binary decision diagrams include: • Compact representation of Boolean functions • A canonical representation of Boolean functions • Efficient manipulation of functions expressed by reduced ordered binary decision diagrams • In consistent with the current literature, the reduced ordered binary decision diagrams will simply be referred to as binary decision diagrams. • Binary decision diagrams are a type of direct acyclic graph. An ordered binary decision diagram (OBDD) was achieved by placing restrictions on the order in which Boolean variables in the diagram were evaluated. • A binary decision diagram consists of: • A set of decision nodes, starting at the root node at the top of the decision diagram. Each decision node contains two outgoing branches, one is a high (1) branch and the other is a low (0) branch. These branches may be represented as solid and dotted lines, respectively. • High and low branches are used to connect decision nodes with each other to create decision paths, i.e., based on the evaluation of the decision node, either the high or low branches are followed to the next decision node. • The high and low branches of the final decision nodes are connected to either a high- (1) or low-terminal (0) node, which represents the output of Constructing a Binary Decision Diagram from a Simple Boolean Equation Constructing a Binary Decision Diagram from a Truth Table • Boolean functions may also be presented in other forms such as in a truth table. • A truth table contains 2n rows (n being the number of variables in the Boolean function) and therefore it is not a compact representation of a Boolean function. • Similarly, constructing a binary decision diagram from a truth table leads to a large diagram containing 2n paths from the starting node to the terminal nodes, resulting in 2n - 1 decision nodes. • As one can imagine, large values of n lead to cumbersome representations of Boolean functions Reducing a Binary Decision Diagram to a More Compact Form • In the next step, the nodes to be eliminated are identified and the branches from the previous node are re-connected appropriately. • Figure 7.6 shows the marked and Fig. 7.7 shows other than eliminated nodes. • Figure 7.8 shows two nodes on the right side of the binary decision diagram marked with red ellipse, which share common destinations for their both 0 and 1 branches. • As such, these nodes may be merged into a common node and the branches from the previous node are reconnected. • In this example, merging these two nodes together has generated another node to be eliminated (Fig. 7.9). Obtaining a Binary Decision Diagram Using Shannon Decomposition Shannon Decomposition of a Five-Variable Boolean Function Creating a Binary Decision Diagram Using Repeated Shannon Decomposition • Figures 7.11, 7.12, 7.13, 7.14 and 7.15 show Shannon expansion of function F by the variables A, B, C, D, and E, respectively.
Bio inspired Computing Theories and Applications 11th International Conference BIC TA 2016 Xi an China October 28 30 2016 Revised Selected Papers Part I 1st Edition Maoguo Gong 2024 scribd download