Advertisement

Parallel A* for State-Space Search

  • Alex Fukunaga
  • Adi Botea
  • Yuu Jinnai
  • Akihiro Kishimoto
Chapter

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*.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

Acknowledgements

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

References

  1. [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. [2]
    Bäckström, C., Nebel, B.: Complexity results for SAS+ planning. Computational Intelligence 11(4), 625–655 (1995)Google Scholar
  3. [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. [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. [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. [6]
    Burns, E.A., Hatem, M., Leighton, M.J., Ruml, W.: Implementing fast heuristic search code. pp. 25–32 (2012)Google Scholar
  7. [7]
    Campbell, M., Hoane, J., Hsu, F.: Deep Blue. Artificial Intelligence 134(1-2), 57–83 (2002)Google Scholar
  8. [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. [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. [10]
    Cook, D., Varnell, R.: Adaptive parallel iterative deepening search. Journal of Artificial Intelligence Research 9, 139–166 (1998)Google Scholar
  11. [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. [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. [13]
    Edelkamp, S., Schroedl, S.: Heuristic Search: Theory and Applications. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2010)Google Scholar
  14. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [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. [29]
    Huberman, B., Lukose, R., Hogg, T.: An economics approach to hard computational problems. Science 275(5296), 51–54 (1997)Google Scholar
  30. [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. [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. [32]
    Jinnai, Y., Fukunaga, A.: Automated creation of efficient work distribution functions for parallel best-first search. In: Proc. ICAPS (2016)Google Scholar
  33. [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. [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. [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. [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. [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. [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. [39]
    Knuth, D.E.: “Sorting and Searching”, The Art of Computer Programming, vol. 3. Addison-Wesley (1973)Google Scholar
  40. [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. [41]
    Korf, R.: Depth-first iterative deepening: An optimal admissible tree search. Artificial Intelligence 97, 97–109 (1985)Google Scholar
  42. [42]
    Korf, R.: Linear-Space Best-First Search. Artificial Intelligence 62(1), 41–78 (1993)Google Scholar
  43. [43]
    Korf, R.E., Felner, A.: Disjoint pattern database heuristics. Artificial Intelligence 134(1-2), 9–22 (2002)Google Scholar
  44. [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. [45]
    Kumar, R., Mercer, E.G.: Load balancing parallel explicit state model checking. Electronic Notes in Theoretical Computer Science 128 (2005)Google Scholar
  46. [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. [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. [48]
    Mahanti, A., Daniels, C.: A SIMD approach to parallel heuristic search. Artificial Intelligence 60, 243–282 (1993)Google Scholar
  49. [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. [50]
    Mattern, F.: Algorithms for distributed termination detection. Distributed Computing 2(3), 161–175 (1987)Google Scholar
  51. [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. [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. [53]
    Pearl, J.: Heuristics - Intelligent Search Strategies for Computer Problem Solving. Addison–Wesley (1984)Google Scholar
  54. [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. [55]
    Powley, C., Ferguson, C., Korf, R.: Depth-first heuristic search on a SIMD machine. Artificial Intelligence 60, 199–242 (1993)Google Scholar
  56. [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. [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. [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. [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. [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. [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. [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. [63].
    Russell, S.: Efficient memory-bounded search methods. In: Proc. ECAI (1992)Google Scholar
  64. [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. [65]
    Stern, U., Dill, D.L.: Parallelizing the Murphi verifier. Formal Methods in System Design 18(2), 117–129 (2001)Google Scholar
  66. [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. [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. [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. [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. [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. [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. [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. [73]
    Zhou, R., Hansen, E.A.: Breadth-first heuristic search. Artificial Intelligence 170(4), 385–408 (2006)Google Scholar
  74. [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. [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. [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. [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

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Alex Fukunaga
    • 1
  • Adi Botea
    • 2
  • Yuu Jinnai
    • 1
  • Akihiro Kishimoto
    • 2
  1. 1.The University of TokyoTokyoJapan
  2. 2.IBM ResearchDublinIreland

Personalised recommendations