Module 4:Binary Decision Diagram

Lecture 1 : Binary Decision Diagram: Introduction and construction

2.  Binary Decision Tree

Before we move to OBDDs a brief introduction to binary decision trees is given.

Binary decision tree (BDT) for a Boolean function is a tree such that

As an example, consider the following Boolean function f on four variables a, b, c and d .

f(a,b,c,d)=ab+cd. The AND-OR circuit implementation for this function is given in Figure 1.

Figure 1. AND-OR circuit implementation for f(a,b,c,d)=ab+cd.

The above Boolean function contains 4 input variables a,b,c,d. If we represent this Boolean function by BDT then we will get 16 terminals (i.e.,24 ) (leaves) and 15 non terminals (internal nodes). The BDT for this Boolean function is shown in Figure 2.

Figure 2. Binary decision tree for f(a,b,c,d)=ab+cd

From the function it may be noted that if a=1, b=1, c=d=0 then the function evaluates to 0; this is represented by the path “start from a, left edge to b, left edge to c, left edge to d and left edge to leaf node 0. Also, if then the function evaluates to 1; this is represented by the path “start from a , right edge to b , right edge to c , left edge to d and left edge to leaf node 1.

As already mentioned, truth table as well as BDT representation of Boolean expressions are not of much benefit because of exponential growth of the table and the tree.