Skip to main content

Approximated ZDD Construction Considering Inclusion Relations of Models

  • Conference paper
  • First Online:
Analysis of Experimental Algorithms (SEA 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11544))

Included in the following conference series:

  • 640 Accesses

Abstract

Zero-suppressed binary decision diagrams (ZDDs) are data structures that can represent families of sets in compressed form. By using ZDDs, we can perform several useful operations over families of sets in time polynomial to ZDD size. However, a ZDD representing a large family of sets tends to consume a prohibitive amount of memory. In this paper, we attempt to reduce ZDD size by allowing them to have some false positive entries. Such inexact ZDDs are still useful for optimization and counting problems since they permit only false positive errors. We propose two algorithms that can reduce ZDD size without making any false negative errors. The first is a general algorithm that can be applied to any ZDD. The second one is a faster algorithm that can be used if the ZDD represents a monotone family of sets. Our algorithms find pairs of nodes in a ZDD that do not yield any false negatives if they are merged, and then merge those pairs in a greedy manner to reduce ZDD size. Furthermore, our algorithms can be easily combined with existing top-down ZDD construction methods to directly construct approximated ZDDs. We conduct experiments with representative benchmark datasets and empirically confirm that our proposed algorithms can construct ZDDs with 1,000 times fewer false positives than those made with baseline methods, when the ZDD sizes are halved from the original sizes.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Heavy branch subsetting was originally proposed for BDDs. We slightly modify it to suit ZDDs. In this method, when we want to delete node u with label k, we incorporate u into node \(p_k\) such that \(\mathcal {F}_{p_k} = 2^{\{k,k+1,\cdots ,c\}}\). There can be several node selection methods such as [15, 18]. In our experiment, we decide nodes to delete similarly to our proposed method.

  2. 2.

    http://www.topology-zoo.org/dataset.html.

  3. 3.

    http://fimi.uantwerpen.be/data/.

References

  1. Alstrup, S., Harel, D., Lauridsen, P.W., Thorup, M.: Dominators in linear time. SIAM J. Comput. 28(6), 2117–2132 (1999)

    Article  MathSciNet  Google Scholar 

  2. Andersen, H.R., Hadzic, T., Hooker, J.N., Tiedemann, P.: A constraint store based on multivalued decision diagrams. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 118–132. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-74970-7_11

    Chapter  Google Scholar 

  3. Bergman, D., van Hoeve, W.-J., Hooker, J.N.: Manipulating MDD relaxations for combinatorial optimization. In: Achterberg, T., Beck, J.C. (eds.) CPAIOR 2011. LNCS, vol. 6697, pp. 20–35. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21311-3_5

    Chapter  MATH  Google Scholar 

  4. Bloom, B.H.: Space/time trade-offs in hash coding with allowable errors. Commun. ACM 13(7), 422–426 (1970)

    Article  Google Scholar 

  5. Bollig, B., Wegener, I.: Improving the variable ordering of OBDDs is NP-complete. IEEE Trans. Comput. 45(9), 993–1002 (1996)

    Article  Google Scholar 

  6. Brace, K.S., Rudell, R.L., Bryant, R.E.: Efficient implementation of a BDD package. In: Proceedings of DAC 1990, pp. 40–45 (1990)

    Google Scholar 

  7. Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35, 677–691 (1986)

    Article  Google Scholar 

  8. Galler, B.A., Fisher, M.J.: An improved equivalence algorithm. Commun. ACM 7(5), 301–303 (1964)

    Article  Google Scholar 

  9. Hadzic, T., Hooker, J.N., O’Sullivan, B., Tiedemann, P.: Approximate compilation of constraints into multivalued decision diagrams. In: Proceedings of CP 2008, pp. 448–462 (2008)

    Google Scholar 

  10. Knight, S., Nguyen, H.X., Falkner, N., Bowden, R., Roughan, M.: The internet topology zoo. IEEE J. Sel. Areas Commun. 29(9), 1765–1775 (2011)

    Article  Google Scholar 

  11. Knuth, D.E.: The Art of Computer Programming. Combinatorial Algorithms, Part 1, vol. 4A, 1st edn. Addison-Wesley Professional, Boston (2011)

    MATH  Google Scholar 

  12. Lengauer, T., Tarjan, R.E.: A fast algorithm for finding dominators in a flowgraph. ACM Trans. Prog. Lang. Syst. 1(1), 121–141 (1979)

    Article  Google Scholar 

  13. Minato, S.: Zero-suppressed BDDs for set manipulation in combinatorial problems. In: Proceedings of DAC 1993, pp. 272–277 (1993)

    Google Scholar 

  14. Ravi, K., McMillan, K.L., Shiple, T.R., Somenzi, F.: Approximation and decomposition of binary decision diagrams. In: Proceedings of DAC 1998, pp. 445–450 (1998)

    Google Scholar 

  15. Ravi, K., Somenzi, F.: High-density reachability analysis. In: Proceedings of ICCAD 1995, pp. 154–158 (1995)

    Google Scholar 

  16. Rudell, R.: Dynamic variable ordering for ordered binary decision diagrams. In: Proceedings of ICCAD 1993, pp. 42–47 (1993)

    Google Scholar 

  17. Sekine, K., Imai, H., Tani, S.: Computing the Tutte polynomial of a graph of moderate size. In: Proceedings of ISAAC 1995, pp. 224–233 (1995)

    Chapter  Google Scholar 

  18. Soeken, M., Große, D., Chandrasekharan, A., Drechsler, R.: BDD minimization for approximate computing. In: Proceedings of ASP-DAC 2016, pp. 474–479 (2016)

    Google Scholar 

  19. Tarjan, R.E., van Leeuwen, J.: Worst-case analysis of set union algorithms. J. ACM 31(2), 245–281 (1984)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kotaro Matsuda .

Editor information

Editors and Affiliations

A Speeding Up Finding Inclusion Relations Under Monotonicity

A Speeding Up Finding Inclusion Relations Under Monotonicity

In this section, we explain how to reduce the time complexity of Algorithm 1 to O\((|G|\alpha (|G|))\). Assume that we visit node q in a while loop of Algorithm 1 and reach node \(q'\) at the end of the loop. After that, we know that a desired node exists at least after \(p'\) when we traverse the same route in the same while loop because of the loop conditions. Thus, traversing nodes one by one every time is redundant and can be avoided. For example, when we finished processing of nodes in layer \(L_k\), we know that we can ignore the nodes with label smaller than k while computing \(sup(\cdot )\) of nodes in lower layers. Therefore, we want to avoid traversing \(sup(\cdot )\) one by one and instead skip them to reach nodes in desired layers. Using disjoint-set data structures to store nodes already processed allows us to execute while loops in Algorithm 1 efficiently. The disjoint-set data structure stores multiple sets that are mutually disjoint. Each set stored in disjoint-set data structure has one representative element in the set. Disjoint-set data structure supports two operations: (1) union operation merges two sets into one and updates its representative; (2) find operation returns the representative of a set. Indeed, we have to prepare four disjoint-set data structures as follows: (1) Skip continuous \(sup(\cdot )\) if \(p \in P_0\) is in the first while loop (2) Skip continuous \(sup(\cdot )\) if \(p \in P_1\) is in the first while loop (3) Skip continuous \(sup(\cdot )\) if \(p \in P_0\) is in the second while loop (4) Skip continuous 0-edges. As a result, the whole computation time of Algorithm 1 is O\((|G|\alpha (|G|))\) and its space complexity is O(|G|).

We store node sets in the ZDD by using four disjoint-set data structures \(DS_1, DS_2, DS_3, DS_4\). Each element in \(DS_i\) corresponds to a node in the ZDD. Let \(ds_i(u)\) be the set that contains u in \({ DS_i}\) and \(rep(ds_i(u))\) be the representative of \(ds_i(u)\). For each node u in the ZDD, \(ds_i(u) = \{u\}\) and \(rep(ds_i(u)) = u\) as an initial value. First, we speed up the repeated updates \(q \leftarrow sup(q)\) in two while loops by using three disjoint-set data structures \(DS_1, DS_2, DS_3\). These are used in the following situations:

  1. 1.

    If \(p\in P_0\) is in the first while loop, we use \(DS_1\).

  2. 2.

    If \(p\in P_1\) is in the first while loop, we use \(DS_2\).

  3. 3.

    If \(p\in P_0\) is in the second while loop, we use \(DS_3\).

We explain only the case of \(p \in P_0\) in the first loop (The other cases are dealt with in the same manner). For each node \(p \in P_0\), let \(p' = rep(ds_1(p))\) and \(q' = rep(ds_1(sup(p')))\). While \(u = zp(q',\ell (u))\), we compute the union of \(ds(p')\) and \(ds(q')\) and set \(rep(ds(p')) = q'\). Then, node \(zp(q',\ell (u))\) is the candidate of sup(u). Since the union and find operations are executed at most O(|G|) times, these operations run in O\((|G|\alpha (|G|))\) time. Second, we explain how to rapidly calculate \(zp(q, \ell (u))\) and \(zp(q_1, \ell (u))\). When we see only 0-edges, a ZDD can be considered as a tree whose root is the terminal node \(\top \) as shown in Fig. 3. When we consider only the nodes included in \(L_1, \ldots , L_k\) \((1\le k \le c+1)\), the induced subgraph of the tree is a forest. Note that each node \(v \in L_1, \ldots , L_k\) belongs to a tree of the forest. If T is a tree of the forest, calculating zp(q, k) is equivalent to finding the node in \(L_k\) and an ancestor of q. We use the disjoint-set data structure \({ DS_4}\) to represent the forest and update it dynamically alongside the processing of layers. When we compute \(sup(\cdot )\) of nodes in \(L_k\), for each 0-edge \((p, p_0)\) such that \(p_0 \in L_k\), we compute the union of \(ds_4(p)\) and \(ds_4(p_0)\) and set the representative of this new set to \(p_0\). This process ensures that \(zp(v, k) = rep(ds_4(u))\) holds. Therefore, we can compute zp(q, k) by finding \(rep(ds_4(q))\) in O\((\alpha (|G|))\) time. The union and find operations are executed O(|G|) times because the number of the 0-edges is |G|. Moreover, \(zp(\cdot , \cdot )\) is called O(|G|) times. Finally, the whole computation time of this algorithm is O\((|G|\alpha (|G|))\).

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Matsuda, K., Denzumi, S., Nakamura, K., Nishino, M., Yasuda, N. (2019). Approximated ZDD Construction Considering Inclusion Relations of Models. In: Kotsireas, I., Pardalos, P., Parsopoulos, K., Souravlias, D., Tsokas, A. (eds) Analysis of Experimental Algorithms. SEA 2019. Lecture Notes in Computer Science(), vol 11544. Springer, Cham. https://doi.org/10.1007/978-3-030-34029-2_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-34029-2_18

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-34028-5

  • Online ISBN: 978-3-030-34029-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics