Math 2.0

Computer science Definition

Binary decision diagram

Builds on Boolean functionDirected graphPath

Definition

Let x1,…,xnx_1, \dots, x_n be Boolean variables. A binary decision diagram over x1,…,xnx_1, \dots, x_n is a finite acyclic directed graph with one root such that:

  1. each terminal node has no outgoing edge and carries a label 00 or 11;
  2. each other node vv carries a variable index i(v)∈{1,…,n}i(v) \in \set{1, \dots, n} and has exactly two outgoing edges, to its low child and its high child.

It represents the Boolean function f ⁣:{0,1}n→{0,1}f \colon \set{0, 1}^n \to \set{0, 1} defined as follows. For a∈{0,1}na \in \set{0, 1}^n, start at the root. At each non-terminal node vv, move to its high child if ai(v)=1a_{i(v)} = 1 and to its low child if ai(v)=0a_{i(v)} = 0. Then f(a)f(a) is the label of the terminal node reached.

The diagram is ordered if i(u)<i(v)i(u) < i(v) whenever vv is a non-terminal node reached from a non-terminal node uu by a directed path of positive length. An ordered diagram is reduced if no non-terminal node has equal low and high children, and no two distinct terminal nodes have the same label. It must also have no two distinct non-terminal nodes with the same index, the same low child and the same high child.

Remarks

Example: the reduced ordered diagram of x1∧x2x_1 \wedge x_2 has the terminals 00 and 11 and two other nodes. The node vv has i(v)=2i(v) = 2, low child 00 and high child 11. The root uu has i(u)=1i(u) = 1, low child 00 and high child vv. At a=(1,1)a = (1, 1) the walk goes u→v→1u \to v \to 1, and at the other three inputs it ends at 00, as required.

Non-example of reducedness: add a node ww with i(w)=2i(w) = 2 and both children equal to 00, and make ww the low child of the root. The new diagram still represents x1∧x2x_1 \wedge x_2, but it is not reduced.

For a fixed variable order, every Boolean function has exactly one reduced ordered binary decision diagram up to isomorphism. The size of this diagram depends on the order. For x1y1∨x2y2∨⋯∨xkykx_1 y_1 \vee x_2 y_2 \vee \dots \vee x_k y_k, the order x1,y1,x2,y2,…x_1, y_1, x_2, y_2, \dots gives 2k+22k + 2 nodes, while the order x1,…,xk,y1,…,ykx_1, \dots, x_k, y_1, \dots, y_k gives a number of nodes exponential in kk.

Reading path

To understand this page from the ground up, read these 4 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Boolean function concept
  2. Directed graph concept
  3. Path concept
  4. Binary decision diagram definition

Further reading

  1. Web https://en.wikipedia.org/wiki/Binary_decision_diagram
About this page
Tag7HM094BSJE
URIm2://7HM094BSJE
Kinddefinition
WritingW0 stub
MSC68P05, 94C11, 06E30
DefinesBinary decision diagram
UsesBoolean function, Directed graph, Path
Changed3 November 2026

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • an inventory row: the row of the inventory that the node accounts for (0 of 1)
  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

No page links to this page yet.