Encyclopedia of Algorithms

2016 Edition
| Editors: Ming-Yang Kao

Counting by ZDD

  • Shin-ichi Minato
Reference work entry
DOI: https://doi.org/10.1007/978-1-4939-2864-4_734

Years and Authors of Summarized Original Work

  • 1986; R. E. Bryant

  • 1993; S. Minato

  • 2009; D. E. Knuth

  • 2013; S. Minato

  • 2013; T. Inoue, H. Iwashita, J. Kawahara, S. Minato

Problem Definition

We consider a framework of the problems to enumerate all the subsets of a given graph, each subset of which satisfies a given constraint. For example, enumerating all Hamilton cycles, all spanning trees, all paths between two vertices, all independent sets of vertices, etc. When we assume a graph G = (V, E) with the vertex set V = { v1, v2, , vn} and the edge set E = { e1, e2, , em}, a graph enumeration problem is to compute a subset of the power set 2E (or 2V), each element of which satisfies a given constraint. In this model, we can consider that each solution is a combination of edges (or vertices), and the problem is how to represent the set of solutions and how to generate it efficiently.


Any kind of constraint for the graph edges and vertices can be considered. For example, we...


BDD Binary decision diagram Data compression Dynamic programming Enumeration Graph algorithm Indexing ZDD Zero-suppressed BDD 
This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Bryant RE (1986) Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput C-35(8):677–691zbMATHCrossRefGoogle Scholar
  2. 2.
    Doi S et al (2012) Time with class! let’s count! (the art of 1064 – understanding vastness –). YouTube video, http://www.youtube.com/watch?v=Q4gTV4r0zRs
  3. 3.
    Inoue T et al (2013) Graphillion. http://graphillion.org/
  4. 4.
    Inoue T, Iwashita H, Kawahara J, Minato S (2013) Graphillion: ZDD-based software library for very large sets of graphs. In: Proceedings of the workshop on synthesis and simulation meeting and international interchange (SASIMI-2013), R4-6, Sapporo, pp 237–242Google Scholar
  5. 5.
    Inoue T, Takano K, Watanabe T, Kawahara J, Yoshinaka R, Kishimoto A, Tsuda K, Minato S, Hayashi Y (2014) Distribution loss minimization with guaranteed error bound. IEEE Trans Smart Grid 5(1):102–111CrossRefGoogle Scholar
  6. 6.
    Iwashita H, Nakazawa Y, Kawahara J, Uno T, Minato S (2013) Efficient computation of the number of paths in a grid graph with minimal perfect hash functions. TCS technical reports TCS-TR-A-10-64, Division of Computer Science, Hokkaido UniversityGoogle Scholar
  7. 7.
    Knuth DE (2009) Bitwise tricks & techniques; binary decision diagrams. The art of computer programming, vol 4, fascicle 1. Addison-Wesley, Upper Saddle RiverzbMATHGoogle Scholar
  8. 8.
    Minato S (1993) Zero-suppressed BDDs for set manipulation in combinatorial problems. In: Proceedings of 30th ACM/IEEE design automation conference (DAC’93), Dallas, pp 272–277Google Scholar
  9. 9.
    Minato S (2013) Techniques of BDD/ZDD: brief history and recent activity. IEICE Trans Inf Syst E96-D(7):1419–1429CrossRefGoogle Scholar
  10. 10.
    OEIS-simpath (2013) Number of nonintersecting (or self-avoiding) rook paths joining opposite corners of an n × n grid, the on-line encyclopedia of integer sequences. https://oeis.org/A007764

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  • Shin-ichi Minato
    • 1
  1. 1.Graduate School of Information Science and Technology, Hokkaido UniversitySapporoJapan