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*.
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
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)
Bäckström, C., Nebel, B.: Complexity results for SAS+ planning. Computational Intelligence 11(4), 625–655 (1995)
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
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)
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)
Burns, E.A., Hatem, M., Leighton, M.J., Ruml, W.: Implementing fast heuristic search code. pp. 25–32 (2012)
Campbell, M., Hoane, J., Hsu, F.: Deep Blue. Artificial Intelligence 134(1-2), 57–83 (2002)
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)
Chakrabarti, P., Ghose, S., Acharya, A., de Sarkar, S.: Heuristic search in restricted memory. Artificial Intelligence 41(2), 197–221 (1989)
Cook, D., Varnell, R.: Adaptive parallel iterative deepening search. Journal of Artificial Intelligence Research 9, 139–166 (1998)
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
Dutt, S., Mahapatra, N.: Scalable load balancing strategies for parallel A* algorithms. Journal of parallel and distributed computing 22, 488–505 (1994)
Edelkamp, S., Schroedl, S.: Heuristic Search: Theory and Applications. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2010)
Evett, M., Hendler, J., Mahanti, A., Nau, D.: PRA*: Massively parallel heuristic search. Journal of Parallel and Distributed Computing 25(2), 133–143 (1995)
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.
Felner, A., Kraus, S., Korf, R.E.: Kbfs: K-best-first search. Annals of Mathematics and Artificial Intelligence 39, 19–39 (2003)
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)
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
Furcy, D., Koenig, S.: Limited discrepancy beam search. In: Proceedings of the International Joint Conference on Artificial Intelligence, pp. 125–131 (2005)
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)
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)
Hamadi, Y., Jabbour, S., Sais, L.: ManySAT: a parallel SAT solver. Journal on Satisfiability, Boolean Modeling and Computation 6, 245–262 (2009)
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)
Helmert, M.: The Fast Downward planning system. Journal of Artificial Intelligence Research 26, 191–246 (2006). https://doi.org/10.1613/jair.1705
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)
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)
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)
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
Huberman, B., Lukose, R., Hogg, T.: An economics approach to hard computational problems. Science 275(5296), 51–54 (1997)
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)
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)
Jinnai, Y., Fukunaga, A.: Automated creation of efficient work distribution functions for parallel best-first search. In: Proc. ICAPS (2016)
Jinnai, Y., Fukunaga, A.: On work distribution functions for parallel best-first search. Journal of Artificial Intelligence Research (2017). (to appear)
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)
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)
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
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
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)
Knuth, D.E.: “Sorting and Searching”, The Art of Computer Programming, vol. 3. Addison-Wesley (1973)
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)
Korf, R.: Depth-first iterative deepening: An optimal admissible tree search. Artificial Intelligence 97, 97–109 (1985)
Korf, R.: Linear-Space Best-First Search. Artificial Intelligence 62(1), 41–78 (1993)
Korf, R.E., Felner, A.: Disjoint pattern database heuristics. Artificial Intelligence 134(1-2), 9–22 (2002)
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)
Kumar, R., Mercer, E.G.: Load balancing parallel explicit state model checking. Electronic Notes in Theoretical Computer Science 128 (2005)
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)
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)
Mahanti, A., Daniels, C.: A SIMD approach to parallel heuristic search. Artificial Intelligence 60, 243–282 (1993)
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)
Mattern, F.: Algorithms for distributed termination detection. Distributed Computing 2(3), 161–175 (1987)
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)
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)
Pearl, J.: Heuristics - Intelligent Search Strategies for Computer Problem Solving. Addison–Wesley (1984)
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
Powley, C., Ferguson, C., Korf, R.: Depth-first heuristic search on a SIMD machine. Artificial Intelligence 60, 199–242 (1993)
Powley, C., Korf, R.: Single-agent parallel window search. IEEE Transactions on Pattern Analysis and Machine Intelligence 13(5), 466–477 (1991)
Rao, V.N., Kumar, V.: Parallel depth-first search on multiprocessors part I: Implementation. International Journal of Parallel Programming 16(6), 479–499 (1987)
Reinefeld, A., Marsland, T.: Enhanced iterative-deepening search. IEEE Transactions on Pattern Analysis and Machine Intelligence 16(7), 701–710 (1994)
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)
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)
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)
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)
Russell, S.: Efficient memory-bounded search methods. In: Proc. ECAI (1992)
Stern, U., Dill, D.L.: Parallelizing the Murphi verifier. In: Proceedings of the 9th International Conference on Computed Aided Verification, pp. 256–278 (1997)
Stern, U., Dill, D.L.: Parallelizing the Murphi verifier. Formal Methods in System Design 18(2), 117–129 (2001)
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
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)
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)
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)
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)
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)
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)
Zhou, R., Hansen, E.A.: Breadth-first heuristic search. Artificial Intelligence 170(4), 385–408 (2006)
Zhou, R., Hansen, E.A.: Domain-independent structured duplicate detection. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), pp. 1082–1087 (2006)
Zhou, R., Hansen, E.A.: Parallel structured duplicate detection. In: Proceedings of the National Conference on Artificial Intelligence (AAAI), pp. 1217–1223 (2007)
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
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)
Acknowledgements
This work was supported in part by JSPS KAKENHI grants 25330253 and 17K00296.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this chapter
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)