Abstract
Search algorithms in formal verification invariably suffer from combinational explosions in the number of states as complexity increases. One approach to alleviate this problem is to use symbolic data structures called BDDs (Binary Decision Diagrams). BDDs represent sets of states as Boolean expressions, which makes them ideal data structures for problems in AI and verification with large state spaces. In this paper we demonstrate a BDD-based A * algorithm, and compare the performance of A * with this algorithm using heuristics that have varying levels of informedness. We find that contrary to expectation, the BDD-based algorithm is not faster in certain circumstances, namely if the heuristic is strong. In this case, A * can be faster and will use a lot less memory. Only if the heuristic is weak will the BDD-based algorithm be faster, but even in this case, it will require substantially more memory than A *. In short, a symbolic approach only pays dividends if the heuristic is weak, and this will have an associated memory penalty. We base our performance comparisons on the well-known sliding tile puzzle benchmark.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Korf, R.: Iterative-deepening A*: An optimal admissible tree search. In: Ninth International Joint Conference on Artificial Intelligence(IJCAI 1985), LA, California, USA, pp. 1034–1036. Morgan Kaufmann, San Francisco (1985)
Korf, R.: Linear-space best-first search. Artificial Intelligence 62, 41–78 (1993)
Korf, R.: Space-efficient search algorithms. Computing Surveys 27, 337–339 (1995)
Korf, R.: Divide-and-conquer bidirectional search: First results. In: Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence, IJCAI 1999, Stockholm, Sweden, vol. 2, pp. 1184–1189 (1999)
Ghosh, S., Mahanti, A., Nau, D.: Improving the efficiency of limited-memory heuristic search. Technical Report CS-TR-3420 (1995)
Robnik-Sikonja, M.: Effective use of memory in linear space best first search (1996)
Russell, S.: Efficient memory-bounded search methods. In: Proceedings of ECAI 1992: 10th European Conference on Artificial Intelligence, Vienna, Austria, pp. 1–5. Wiley, Chichester (1992)
Bryant, R.: Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers C-35-8, 677–691 (1986)
Hu, A.J., Dill, D.L.: Efficient verification with BDDs using implicitly conjoined invariants. In: Computer Aided Verification, pp. 3–14 (1993)
Hu, A.J., Dill, D.L., Drexler, A., Yang, C.H.: Higher-level specification and verification with BDDs. In: Computer Aided Verification, pp. 82–95 (1992)
Janssen, G.L.J.M.: Application of BDDs in formal verification. In: The 22-nd Intl. School and Conf. on CAD, Yalta-Gurzuff, Ukraine, May 1995, pp. 49–53 (1995)
McMillan, K.: Symbolic model checking. Kluwer Academic Publishers, Boston (1994)
Andersen, H.R.: An introduction to binary decision diagrams. Technical report, Department of Information Technology, Technical University of Denmark (1998)
Bollig, B., Wegener, I.: Improving the variable ordering of OBDDs is NP-complete. IEEE transactions on computers 45, 993–1002 (1996)
Somenzi, F.: Binary decision diagrams (1999)
Yang, B., Chen, Y.A., Bryant, R.E., O’Hallaron, D.R.: Space- and time-efficient BDD construction via working set control. In: Asia and South Pacific Design Automation Conference, pp. 423–432 (1998)
Edelkamp, S.: Directed symcolic exploration in AI-planning. In: Biundo, S., Fox, M. (eds.) ECP 1999. LNCS, vol. 1809, Springer, Heidelberg (2000)
Edelkamp, S., Reffel, F.: OBDDs in heuristic search. In: Herzog, O., Günter, A. (eds.) KI 1998. LNCS, vol. 1504, pp. 81–92. Springer, Heidelberg (1998)
Hansen, E., Zhou, R., Feng, Z.: Symbolic heuristic search using decision diagrams. In: Koenig, S., Holte, R.C. (eds.) SARA 2002. LNCS (LNAI), vol. 2371, p. 83. Springer, Heidelberg (2002)
Jensen, R., Bryant, R., Velso, M.: SetA*: An efficient BDD-based heuristic search algorithm. In: Proceedings of AAAI 2002, Edmonton, Canada (August 2002)
Groce, A., Visser, W.: Model checking java programs using structural heuristics. In: International Symposium on Software Testing and Analysis, pp. 12–21 (2002)
Groce, A., Visser, W.: Heuristic model checking for java programs. In: SPIN Workshop on Model Checking of Software, pp. 242–245 (2002)
Santone, A.: Heuristic search + local model checking in selective mu-calculus. IEEE Transaction on Software Engineering 29, 510–523 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nymeyer, A., Qian, K. (2003). Heuristic Search Algorithms Based on Symbolic Data Structures. In: Gedeon, T.(.D., Fung, L.C.C. (eds) AI 2003: Advances in Artificial Intelligence. AI 2003. Lecture Notes in Computer Science(), vol 2903. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24581-0_83
Download citation
DOI: https://doi.org/10.1007/978-3-540-24581-0_83
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20646-0
Online ISBN: 978-3-540-24581-0
eBook Packages: Springer Book Archive