This Article 
 Bibliographic References 
 Add to: 
Average Path Length of Binary Decision Diagrams
September 2005 (vol. 54 no. 9)
pp. 1041-1053
The traditional problem in binary decision diagrams (BDDs) has been to minimize the number of nodes since this reduces the memory needed to store the BDD. Recently, a new problem has emerged: minimizing the average path length (APL). APL is a measure of the time needed to evaluate the function by applying a sequence of variable values. It is of special significance when BDDs are used in simulation and design verification. A main result of this paper is that the APL for benchmark functions is typically much smaller than for random functions. That is, for the set of all functions, we show that the average APL is close to the maximum path length, whereas benchmark functions show a remarkably small APL. Surprisingly, however, typical functions do not achieve the absolute maximum APL. We show that the parity functions are unique in having that distinction. We show that the APL of a BDD can vary considerably with variable ordering. We derive the APL for various functions, including the AND, OR, threshold, Achilles' heel, and certain arithmetic functions. We show that the unate cascade functions uniquely achieve the absolute minimum APL.

[1] C. Lee, “Representation of Switching Circuits by Binary-Decision Diagrams,” Bell System Technical J., vol. 19, pp. 685-999, July 1959.
[2] R.E. Bryant, “Graph-Based Algorithms for Boolean Function Manipulation,” IEEE Trans. Computers, vol. 35, no. 8, pp. 677-691, Aug. 1986.
[3] N. Ishuira, H. Sawada, and S. Yajima, “Minimization of Binary Decision Diagrams Based on Exchanges of Variables,” Proc. IEEE Int'l Conf. Computer-Aided Design, pp. 472-475, Nov. 1991.
[4] R. Rudell, “Dynamic Variable Ordering for Ordered Binary Decision Diagrams,” Proc. IEEE Int'l Conf. Computer-Aided Design, pp. 42-47, Nov. 1993.
[5] R. Drechsler, N. Drechsler, and W. Gunther, “Fast Exact Minimization of BDDs,” IEEE Trans. Computer-Aided Design, vol. 19, pp. 384-389, Mar. 2000.
[6] S. Nagayama and T. Sasao, “On the Minimization of the Longest Path Length for Decision Diagrams,” Proc. Int'l Workshop Logic Synthesis, pp. 28-35, June 2004.
[7] P. Ashar and S. Malik, “Fast Functional Simulation Using Branching Programs,” Proc. IEEE Int'l Conf. Computer-Aided Design, pp. 308-412, Nov. 1995.
[8] P.C. McGeer, K.L. McMillan, A. Saldanha, and A.L. Sangiovanni-Vincentelli, “Fast Discrete Function Evaluation Using Decision Diagrams,” Proc. Int'l Conf. Computer-Aided Design, pp. 402-407, Nov. 1995.
[9] T. Sasao, Y. Iguchi, and M. Matsuura, “Comparison of Decision Diagrams for Multiple-Output Logic Functions,” Proc. 11th Int'l Workshop Logic Synthesis, pp. 379-384, June 2002.
[10] Y.Y. Liu, K.H. Wang, T.T. Hwang, and C. Liu, “Binary Decision Diagram with Minimum Expected Path Length,” Proc. Design Automation and Test in Europe (DATE2001), pp. 1-5, Mar. 2001.
[11] S. Nagayama, A. Mischenko, T. Sasao, and J.T. Butler, “Minimization of Average Path Length in BDDs by Variable Reordering,” Proc. 12th Int'l Workshop Logic Synthesis, pp. 207-213, May 2003.
[12] Y. Iguchi, T Sasao, and M. Matsuura, “Evaluation of Multiple-Output Logic Functions Using Decision Diagrams,” Proc. ASP-DAC (Asia and South Pacific Design Automation Conf., pp. 312-315, Jan. 2003.
[13] J. Butler and T. Sasao, “On the Average Path Length in Decision Diagrams of Multiple-Valued Functions,” Proc. 23rd Int'l Symp. Multiple-Valued Logic, pp. 383-390, May 2003.
[14] D.A. Bell, “Decision Trees, Tables, and Lattices,” Pattern Recognition: Ideas in Practice, B.G. Batchelor, ed., chapter 5, New York: Plenum Press, 1978.
[15] D.E. Knuth, “Mathematical Analysis of Algorithms,” Proc. IFIP Congress 71, vol. 1, pp. 135-143, 1971.
[16] M. Hanani, “An Optimal Evaluation of Boolean Expressions in an Online Query System,” Comm. ACM, vol. 20, pp. 344-347, May 1977.
[17] W. Qin and S. Malik, “Automated Synthesis of Efficient Binary Decoders for Retargetable Software Toolkits,” Design Automation Conf., pp. 764-769, June 2003.
[18] B.N.E. Moret, “Decision Trees and Diagrams,” Computing Surveys, vol. 14, pp. 593-623, Dec. 1982.
[19] S.K. Murthy, “Automatic Construction of Decision Trees from Data: A Multi-Disciplinary Survey,” Data Mining and Knowledge Discovery, vol. 2, pp. 345-389 Oct. 1998.
[20] Y. Breithart and S. Gal, “Analysis of Algorithms of the Evaluation of Monotonic Boolean Functions,” IEEE Trans. Computers, vol. 27, no. 11, pp. 1083-1087, Nov. 1978.
[21] T. Sasao and K. Kinoshita, “On the Number of Fanout-Free Functions and Unate Cascade Function,” IEEE Trans. Computers, vol. 28, no. 9, pp. 682-685, Sep. 1979.
[22] T. Sasao, Switching Theory for Logic Synthesis. New York: Kluwer Academic, 1999.
[23] B.N.E. Moret, M.G. Thomason, and R.C. Gonzalez, “Symmetric and Threshold Boolean Functions Are Exhaustive,” IEEE Trans. Computers, vol. 32, no. 12, pp. 1211-1212, Dec. 1983.
[24] F. Brglez and H. Fujiwara, “A Neutral Netlist of 10 Combinational Benchmark Circuits,” Proc. IEEE Int'l Symp. Circuits and Systems, pp. 695-698, 1985.
[25] C.L. Liu, Introduction to Combinatorics. New York: McGraw-Hill, 1968.
[26] J. Riordan, Combinatorial Identities, p. 31. New York: John Wiley & Sons, 1968.
[27] T. Sasao, Y. Iguchi, and M. Matsuura, “Comparison of Decision Diagrams for Multiple-Output Logic Functions,” Proc. Int'l Workshop Logic and Synthesis, pp. 379-384, June 2002.
[28] M. Tachibana, “Heuristic Algorithms for FBDD Node Minimization with Application to Pass-Transistor-Logic and DCVS Synthesis,” Proc. Workshop Synthesis And System Integration of MIxed Technologies (SASIMI), pp. 96-101, Nov. 1996.
[29] K. Yano, Y. Sasaki, K. Rikino, and K. Seki, “Top-Down Pass-Transistor Logic Design,” IEEE J. Solid State Circuits, vol. 31, pp. 792-803. June 1996.
[30] C. Scholl and B. Becker, “On the Generation of Multiplexer Circuits for Pass Transistor Logic,” Proc. Design Automation and Test in Europe, pp. 372-378, 2000.
[31] T.H. Liu, M.K. Ganai, A. Aziz, and J.L. Burns, “Performance Driven Synthesis for Pass Transistor Logic,” Proc. Int'l Workshop Logic Synthesis, pp. 255-259, 1998.
[32] C. Yang and M. Ciesielski, “BDS: A BDD-Based Logic Optimization System,” IEEE Trans. CAD, vol. 27, no. 7, pp. 866-876, 2002.
[33] R. Ebendt, W. Gunther, and R. Dreschler, “Minimization of Expected Path Length in BDDs Based on Local Changes,” Proc. ASP-DAC (Asia and South Pacific Design Automation Conf., pp. 866-871, Jan. 2004.

Index Terms:
Index Terms- Binary decision diagrams, BDD, average path length, APL, worst-case path length.
Jon T. Butler, Tsutomu Sasao, Munehiro Matsuura, "Average Path Length of Binary Decision Diagrams," IEEE Transactions on Computers, vol. 54, no. 9, pp. 1041-1053, Sept. 2005, doi:10.1109/TC.2005.137
Usage of this product signifies your acceptance of the Terms of Use.