Skip to main content

Parallel A* for State-Space Search

  • Chapter
  • First Online:
Handbook of Parallel Constraint Reasoning

Abstract

A* is a best-first search algorithm for finding optimal-cost paths in graphs. A* benefits significantly from parallelism because in many applications, A* is limited by memory usage, so distributed memory implementations of A* that use all of the aggregate memory on the cluster enable us to solve problems that can not be solved by serial, single-machine implementations. We survey approaches to parallel A*, focusing on decentralized approaches to A* which partition the state space among processors. We also survey approaches to parallel, limited-memory variants of A* such as parallel IDA*.

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 89.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Akagi, Y., Kishimoto, A., Fukunaga, A.: On transposition tables for singleagent search and planning: Summary of results. In: Proceedings of the 3rd Symposium on Combinatorial Search (SOCS), pp. 1–8 (2010)

    Google Scholar 

  2. Bäckström, C., Nebel, B.: Complexity results for SAS+ planning. Computational Intelligence 11(4), 625–655 (1995)

    Google Scholar 

  3. Bleiweiss, A.: GPU accelerated pathfinding. In: Proceedings of the EUROGRAPHICS/ ACM SIGGRAPH Conference on Graphics Hardware 2008, Sarajevo, Bosnia and Herzegovina, 2008, pp. 65–74 (2008). https://doi.org/10.2312/EGGH/EGGH08/065-074. http://dx.doi.org/10.2312/EGGH/EGGH08/065-074

  4. Burns, E., Lemons, S., Ruml, W., Zhou, R.: Best-first heuristic search for multicore machines. Journal of Artificial Intelligence Research (JAIR) 39, 689–743 (2010)

    Google Scholar 

  5. Burns, E., Lemons, S., Zhou, R., Ruml, W.: Best-first heuristic search for multi-core machines. In: Proceedings of the Twenty-First International Joint Conference on Artificial Intelligence IJCAI-09 (2009)

    Google Scholar 

  6. Burns, E.A., Hatem, M., Leighton, M.J., Ruml, W.: Implementing fast heuristic search code. pp. 25–32 (2012)

    Google Scholar 

  7. Campbell, M., Hoane, J., Hsu, F.: Deep Blue. Artificial Intelligence 134(1-2), 57–83 (2002)

    Google Scholar 

  8. Cazenave, T., Jouandeau, N.: On the parallelization of UCT. In: H. van den Herik et al. (ed.) Proceedings of Computers and Games CG-08, LNCS, vol. 5131, pp. 72–80. Springer (2008)

    Google Scholar 

  9. Chakrabarti, P., Ghose, S., Acharya, A., de Sarkar, S.: Heuristic search in restricted memory. Artificial Intelligence 41(2), 197–221 (1989)

    Google Scholar 

  10. Cook, D., Varnell, R.: Adaptive parallel iterative deepening search. Journal of Artificial Intelligence Research 9, 139–166 (1998)

    Google Scholar 

  11. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, Second Edition. The MIT Press (2001). http://www.amazon.ca/exec/obidos/redirect?tag=citeulike09-20{&}path=ASIN/0262531968

  12. Dutt, S., Mahapatra, N.: Scalable load balancing strategies for parallel A* algorithms. Journal of parallel and distributed computing 22, 488–505 (1994)

    Google Scholar 

  13. Edelkamp, S., Schroedl, S.: Heuristic Search: Theory and Applications. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2010)

    Google Scholar 

  14. Evett, M., Hendler, J., Mahanti, A., Nau, D.: PRA*: Massively parallel heuristic search. Journal of Parallel and Distributed Computing 25(2), 133–143 (1995)

    Google Scholar 

  15. Feldmann, R.: Spielbaumsuche mit massiv parallelen Systemen. Ph.D. thesis University of Paderborn (1993). English translation titled Game tree search on massively parallel systems is available.

    Google Scholar 

  16. Felner, A., Kraus, S., Korf, R.E.: Kbfs: K-best-first search. Annals of Mathematics and Artificial Intelligence 39, 19–39 (2003)

    Google Scholar 

  17. Frigo, M., Leiserson, C.E., Randall, K.H.: The implementation of the Cilk-5 multithreaded language. In: ACM SIGPLAN Conferences on Programming Language Design and Implementation (PLDI’98), pp. 212–223 (1998)

    Google Scholar 

  18. Fukunaga, A., Kishimoto, A., Botea, A.: Iterative resource allocation for memory intensive parallel search algorithms on clouds, grids, and shared clusters. In: Proceedings of the National Conference on Artificial Intelligence (AAAI) (2012). http://www.aaai.org/ocs/index.php/AAAI/AAAI12/paper/view/5054

  19. Furcy, D., Koenig, S.: Limited discrepancy beam search. In: Proceedings of the International Joint Conference on Artificial Intelligence, pp. 125–131 (2005)

    Google Scholar 

  20. Garavel, H., Mateescu, R., Smarandache, I.M.: Parallel state space construction for model-checking. In: Proceedings of the 8th International SPIN Workshop, pp. 217–234 (2001)

    Google Scholar 

  21. Gomes, C., Selman, B., Crato, N., Kautz, H.: Heavy-tailed phenomena in satisfiability and constraint satisfaction problems. Journal of Automated Reasoning 24(1-2), 67–100 (2000)

    Google Scholar 

  22. Hamadi, Y., Jabbour, S., Sais, L.: ManySAT: a parallel SAT solver. Journal on Satisfiability, Boolean Modeling and Computation 6, 245–262 (2009)

    Google Scholar 

  23. Hart, P., Nilsson, N., Raphael, B.: A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on System Sciences and Cybernetics SSC-4(2), 100–107 (1968)

    Google Scholar 

  24. Helmert, M.: The Fast Downward planning system. Journal of Artificial Intelligence Research 26, 191–246 (2006). https://doi.org/10.1613/jair.1705

  25. Helmert, M., Haslum, P., Hoffmann, J.: Flexible abstraction heuristics for optimal sequential planning. In: Proceedings of the Seventeenth International Conference on Automated Planning and Scheduling ICAPS-07, pp. 176–183 (2007)

    Google Scholar 

  26. Heyman, T., Geist, D., Grumberg, O., Schuster, A.: Achieving scalability in parallel reachability analysis of very large circuits. In: Proceedings 12th International Conference on Computer Aided Verification, pp. 20–35 (2000)

    Google Scholar 

  27. Holzmann, G.J., Bošnački, D.: The design of a multicore extension of the SPIN model checker. IEEE Transactions on Software Engineering 33(10), 659–674 (2007)

    Google Scholar 

  28. Horie, S., Fukunaga, A.S.: Block-parallel IDA* for GPUs. In: Proceedings of the Tenth International Symposium on Combinatorial Search, Edited by Alex Fukunaga and Akihiro Kishimoto, 16-17 June 2017, Pittsburgh, Pennsylvania, USA., pp. 134–138 (2017). https://aaai.org/ocs/index.php/SOCS/SOCS17/paper/view/15801

  29. Huberman, B., Lukose, R., Hogg, T.: An economics approach to hard computational problems. Science 275(5296), 51–54 (1997)

    Google Scholar 

  30. Irani, K., Shih, Y.: Parallel A* and AO* algorithms: An optimality criterion and performance evaluation. In: International Conference on Parallel Processing, pp. 274–277 (1986)

    Google Scholar 

  31. Jinnai, Y., Fukunaga, A.: Abstract Zobrist hashing: An efficient work distribution method for parallel best-first search. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), pp. 717–723 (2016)

    Google Scholar 

  32. Jinnai, Y., Fukunaga, A.: Automated creation of efficient work distribution functions for parallel best-first search. In: Proc. ICAPS (2016)

    Google Scholar 

  33. Jinnai, Y., Fukunaga, A.: On work distribution functions for parallel best-first search. Journal of Artificial Intelligence Research (2017). (to appear)

    Google Scholar 

  34. Karp, R., Zhang, Y.: A randomized parallel branch-and-bound procedure. In: Proceedings of the 20th ACM Symposium on Theory of Computing (STOC), pp. 290–300 (1988)

    Google Scholar 

  35. Karp, R., Zhang, Y.: Randomized parallel algorithms for backtrack search and branch-and-bound computation. Journal of the Association for Computing Machinery 40(3), 765–789 (1993)

    Google Scholar 

  36. Kishimoto, A., Fukunaga, A., Botea, A.: Evaluation of a simple, scalable, parallel best-first search strategy. Artificial Intelligence 195, 222–248 (2013). https://doi.org/10.1016/j.artint.2012.10.007. http://linkinghub.elsevier.com/retrieve/pii/S0004370212001294

  37. Kishimoto, A., Fukunaga, A.S., Botea, A.: Scalable, parallel best-first search for optimal sequential planning. In: Proc. ICAPS, pp. 201–208 (2009). http://aaai.org/ocs/index.php/ICAPS/ICAPS09/paper/view/705

  38. Knight, K.: Are many reactive agents better than a few deliberative ones? In: Proceedings of the 13th International Joint Conference on Artificial Intelligence, pp. 432–437 (1993)

    Google Scholar 

  39. Knuth, D.E.: “Sorting and Searching”, The Art of Computer Programming, vol. 3. Addison-Wesley (1973)

    Google Scholar 

  40. Kobayashi, Y., Kishimoto, A., Watanabe, O.: Evaluations of Hash Distributed A* in optimal sequence alignment. In: Proceedings of the 22nd International Joint Conference on Artificial Intelligence, pp. 584–590 (2011)

    Google Scholar 

  41. Korf, R.: Depth-first iterative deepening: An optimal admissible tree search. Artificial Intelligence 97, 97–109 (1985)

    Google Scholar 

  42. Korf, R.: Linear-Space Best-First Search. Artificial Intelligence 62(1), 41–78 (1993)

    Google Scholar 

  43. Korf, R.E., Felner, A.: Disjoint pattern database heuristics. Artificial Intelligence 134(1-2), 9–22 (2002)

    Google Scholar 

  44. Korf, R.E., Zhang, W.: Divide-and-conquer frontier search applied to optimal sequence alignment. In: Proceedings of the 17th National Conference on Artificial Intelligence AAAI-00, pp. 910–916 (2000)

    Google Scholar 

  45. Kumar, R., Mercer, E.G.: Load balancing parallel explicit state model checking. Electronic Notes in Theoretical Computer Science 128 (2005)

    Google Scholar 

  46. Kumar, V., Ramesh, K., Rao, V.N.: Parallel best-first search of state-space graphs: A summary of results. In: Proceedings of the 7th National Conference on Artificial Intelligence AAAI-88, pp. 122–127 (1988)

    Google Scholar 

  47. Lerda, F., Sisto, R.: Distributed-memory model checking with SPIN. In: Theoretical and Practical Aspects of SPIN Model Checking, 5th and 6th International SPIN Workshops, Lecture Notes in Computer Science, vol. 1680, pp. 22–39 (1999)

    Google Scholar 

  48. Mahanti, A., Daniels, C.: A SIMD approach to parallel heuristic search. Artificial Intelligence 60, 243–282 (1993)

    Google Scholar 

  49. Mahapatra, N., Dutt, S.: Scalable global and local hashing strategies for duplicate pruning in parallel A* graph search. IEEE Transactions on Parallel and Distributed Systems 8(7), 738–756 (1997)

    Google Scholar 

  50. Mattern, F.: Algorithms for distributed termination detection. Distributed Computing 2(3), 161–175 (1987)

    Google Scholar 

  51. Melatti, I., Palmer, R., Sawaya, G., Yang, Y., Kirby, R.M., Gopalakrishnan, G.: Parallel and distributed model checking in Eddy. International Journal on Software Tools for Technology Transfer 11(1), 13–25 (2009)

    Google Scholar 

  52. Niewiadomski, R., Amaral, J.N., Holte, R.C.: Sequential and parallel algorithms for frontier A* with delayed duplicate detection. In: Proceedings of the 21st National Conference on Artificial Intelligence (AAAI), pp. 1039–1044 (2006)

    Google Scholar 

  53. Pearl, J.: Heuristics - Intelligent Search Strategies for Computer Problem Solving. Addison–Wesley (1984)

    Google Scholar 

  54. Phillips, M., Likhachev, M., Koenig, S.: PA*SE: Parallel A* for slow expansions. In: Proc. ICAPS (2014). http://www.aaai.org/ocs/index.php/ICAPS/ICAPS14/paper/view/7952

  55. Powley, C., Ferguson, C., Korf, R.: Depth-first heuristic search on a SIMD machine. Artificial Intelligence 60, 199–242 (1993)

    Google Scholar 

  56. Powley, C., Korf, R.: Single-agent parallel window search. IEEE Transactions on Pattern Analysis and Machine Intelligence 13(5), 466–477 (1991)

    Google Scholar 

  57. Rao, V.N., Kumar, V.: Parallel depth-first search on multiprocessors part I: Implementation. International Journal of Parallel Programming 16(6), 479–499 (1987)

    Google Scholar 

  58. Reinefeld, A., Marsland, T.: Enhanced iterative-deepening search. IEEE Transactions on Pattern Analysis and Machine Intelligence 16(7), 701–710 (1994)

    Google Scholar 

  59. Romein, J.W., Bal, H.E.: Wide-area transposition-driven scheduling. In: Proceedings of the 10th IEEE International Symposium on High Performance Distributed Computing, pp. 347–355 (2001)

    Google Scholar 

  60. Romein, J.W., Bal, H.E., Schaeffer, J., Plaat, A.: A performance analysis of transposition-table-driven work scheduling in distributed search. IEEE Transactions on Parallel and Distributed Systems 13(5), 447–459 (2002)

    Google Scholar 

  61. Romein, J.W., Plaat, A., Bal, H.E., Schaeffer, J.: Transposition table driven work scheduling in distributed search. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), pp. 725–731 (1999)

    Google Scholar 

  62. Romein, J.W., Plaat, A., Bal, H.E., Schaeffer, J.: Transposition table driven work scheduling in distributed search. In: Proceedings of the National Conference on Artificial Intelligence AAAI-99, pp. 725–731 (1999)

    Google Scholar 

  63. Russell, S.: Efficient memory-bounded search methods. In: Proc. ECAI (1992)

    Google Scholar 

  64. Stern, U., Dill, D.L.: Parallelizing the Murphi verifier. In: Proceedings of the 9th International Conference on Computed Aided Verification, pp. 256–278 (1997)

    Google Scholar 

  65. Stern, U., Dill, D.L.: Parallelizing the Murphi verifier. Formal Methods in System Design 18(2), 117–129 (2001)

    Google Scholar 

  66. Sulewski, D., Edelkamp, S., Kissmann, P.: Exploiting the computational power of the graphics card: Optimal state space planning on the GPU. In: Proceedings of the 21st International Conference on Automated Planning and Scheduling, ICAPS 2011, Freiburg, Germany June 11-16, 2011 (2011). http://aaai.org/ocs/index.php/ICAPS/ICAPS11/paper/view/2699

  67. Valenzano, R., Nakhost, H., Müller, M., Schaeffer, J., Sturtevant, N.: Arvand- Herd: Parallel planning with a portfolio. In: Proceedings of the 20th European Conference on Artificial Intelligence, pp. 786–791 (2012)

    Google Scholar 

  68. Valenzano, R., Sturtevant, N., Schaeffer, J., Buro, K., Kishimoto, A.: Simultaneously searching with multiple settings: An alternative to parameter tuning for suboptimal single-agent search algorithms. In: Proceedings of the 20th International Conference on Automated Planning and Scheduling, pp. 177–184 (2010)

    Google Scholar 

  69. Vidal, V., Bordeaux, L., Hamadi, Y.: Adaptive k-parallel best-first search: A simple but efficient algorithm for multi-core domain-independent planning. In: Proceedings of the 3rd Symposium on Combinatorial Search (SOCS’10) (2010)

    Google Scholar 

  70. Vrakas, D., Refanidis, I., Vlahavas, I.: Parallel planning via the distribution of operators. Journal of Experimental and Theoretical Artificial Intelligence 13(3), 211–226 (2001)

    Google Scholar 

  71. Zhou, R., Hansen, E.: Domain-independent structured duplicate detection. In: Proceedings of the 21st National Conference on Artificial Intelligence AAAI-06, pp. 683–688 (2006)

    Google Scholar 

  72. Zhou, R., Hansen, E.A.: Structured duplicate detection in external-memory graph search. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), pp. 683–689 (2004)

    Google Scholar 

  73. Zhou, R., Hansen, E.A.: Breadth-first heuristic search. Artificial Intelligence 170(4), 385–408 (2006)

    Google Scholar 

  74. Zhou, R., Hansen, E.A.: Domain-independent structured duplicate detection. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), pp. 1082–1087 (2006)

    Google Scholar 

  75. Zhou, R., Hansen, E.A.: Parallel structured duplicate detection. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), pp. 1217–1223 (2007)

    Google Scholar 

  76. Zhou, Y., Zeng, J.: Massively parallel A* search on a GPU. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), pp. 1248– 1255 (2015). http://www.aaai.org/ocs/index.php/AAAI/AAAI15/paper/view/9620

  77. Zobrist, A.L.: A new hashing method with application for game playing. reprinted in International Computer Chess Association Journal (ICCA) 13(2), 69–73 (1970)

    Google Scholar 

Download references

Acknowledgements

This work was supported in part by JSPS KAKENHI grants 25330253 and 17K00296.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alex Fukunaga .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Fukunaga, A., Botea, A., Jinnai, Y., Kishimoto, A. (2018). Parallel A* for State-Space Search. In: Hamadi, Y., Sais, L. (eds) Handbook of Parallel Constraint Reasoning. Springer, Cham. https://doi.org/10.1007/978-3-319-63516-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-63516-3_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-63515-6

  • Online ISBN: 978-3-319-63516-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics