Perfect Hashing for State Spaces in BDD Representation

  • Martin Dietzfelbinger
  • Stefan Edelkamp
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5803)


In this paper we design minimum perfect hash functions on the basis of BDDs that represent all reachable states S ⊆ {0,1}n. These functions are one-to-one on S and can be evaluated quite efficiently. Such hash functions are useful to perform search in a bitvector representation of the state space. The time to compute the hash value with standard operations on the BDD G is (n|G|), the time to compute the inverse is O(n2|G|). When investing O(n) bits per node, we arrive at O(|G|) preprocessing time and optimal time O(n) for ranking and unranking.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allis, L.V.: A knowledge-based approach to Connect-Four. The game is solved: White wins. Master’s thesis, Vrije Universiteit, The Netherlands (1998)Google Scholar
  2. 2.
    Ball, M., Holte, R.C.: The compression power of BDDs. In: ICAPS, pp. 2–11 (2008)Google Scholar
  3. 3.
    Botelho, F.C., Pagh, R., Ziviani, N.: Simple and space-efficient minimal perfect hash functions. In: Dehne, F., Sack, J.-R., Zeh, N. (eds.) WADS 2007. LNCS, vol. 4619, pp. 139–150. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  4. 4.
    Botelho, F.C., Ziviani, N.: External perfect hashing for very large key sets. In: Conference on Information and Knowledge Management, pp. 653–662 (2007)Google Scholar
  5. 5.
    Bryant, R.E.: Symbolic manipulation of boolean functions using a graphical representation. In: Design Automation Conference (DAC), pp. 688–694 (1985)Google Scholar
  6. 6.
    Cooperman, G., Finkelstein, L.: New methods for using Cayley graphs in interconnection networks. Discrete Applied Mathematics 37/38, 95–118 (1992)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Culberson, J.C., Schaeffer, J.: Pattern databases. Computational Intelligence 14(4), 318–334 (1998)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Edelkamp, S., Kissmann, P.: Limits and possibilities of BDDs in state space search. In: AAAI, pp. 46–53 (2008)Google Scholar
  9. 9.
    Edelkamp, S., Kissmann, P.: Symbolic classification of general two-player games. In: Dengel, A.R., Berns, K., Breuel, T.M., Bomarius, F., Roth-Berghofer, T.R. (eds.) KI 2008. LNCS (LNAI), vol. 5243, pp. 185–192. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Edelkamp, S., Messerschmidt, H., Sulewski, D., Yücel, C.: Solving games in parallel with linear-time perfect hash functions. Technical report, TZI, University of Bremen (2009)Google Scholar
  11. 11.
    Edelkamp, S., Sanders, P., Simecek, P.: Semi-external LTL model checking. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 530–542. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  12. 12.
    Edelkamp, S., Sulewski, D.: Flash-efficient LTL model checking with minimal counterexamples. In: Conference on Software Engineering and Formal Methods (SEFM), pp. 73–82 (2008)Google Scholar
  13. 13.
    Holzmann, G.J., Puri, A.: A minimized automaton representation of reachable states. International Journal on Software Tools for Technology Transfer 2(3), 270–278 (1999)CrossRefMATHGoogle Scholar
  14. 14.
    Korf, R.E.: Minimizing disk I/O in two-bit-breath-first search. In: AAAI, pp. 317–324 (2008)Google Scholar
  15. 15.
    Kunkle, D., Cooperman, G.: Twenty-six moves suffice for Rubik’s cube. In: International Symposium on Symbolic and Algebraic Computation (ISSAC), pp. 235–242 (2007)Google Scholar
  16. 16.
    Love, N.C., Hinrichs, T.L., Genesereth, M.R.: General game playing: Game description language specification. Technical Report LG-2006-01, Stanford Logic Group (2006)Google Scholar
  17. 17.
    McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Press, Dordrecht (1993)CrossRefMATHGoogle Scholar
  18. 18.
    Wegener, I.: Branching Programs and Binary Decision Diagrams — Theory and Applications. Society of Industrial and Applied Mathematics (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Martin Dietzfelbinger
    • 1
  • Stefan Edelkamp
    • 2
  1. 1.Faculty of Computer Science and AutomationTechnische Universität IlmenauIlmenauGermany
  2. 2.TZIUniversität BremenBremenGermany

Personalised recommendations