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.

Constraints

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

Keywords

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.

1. 1.
Bryant RE (1986) Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput C-35(8):677–691
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–111
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 River
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–1429
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