Parallel heuristic search: two approaches
Parallel algorithms for machine intelligence and vision
PRA*: massively parallel heuristic search
Journal of Parallel and Distributed Computing
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on Innovative Applications of Artificial Intelligence
Annals of Mathematics and Artificial Intelligence
Breadth-first heuristic search
Artificial Intelligence
Structured duplicate detection in external-memory graph search
AAAI'04 Proceedings of the 19th national conference on Artifical intelligence
Domain-independent structured duplicate detection
AAAI'06 proceedings of the 21st national conference on Artificial intelligence - Volume 2
Parallel structured duplicate detection
AAAI'07 Proceedings of the 22nd national conference on Artificial intelligence - Volume 2
Journal of Artificial Intelligence Research
A survey and classification of A* based best-first heuristic search algorithms
SBIA'10 Proceedings of the 20th Brazilian conference on Advances in artificial intelligence
Best-first heuristic search for multicore machines
Journal of Artificial Intelligence Research
Heuristic and metaheuristic optimization techniques with application to power systems
MMACTEE'10 Proceedings of the 12th WSEAS international conference on Mathematical methods and computational techniques in electrical engineering
Parallel divide-and-evolve: experiments with OpenMP on a multicore machine
Proceedings of the 13th annual conference on Genetic and evolutionary computation
Multi-agent A* for parallel and distributed systems
Proceedings of the 11th International Conference on Autonomous Agents and Multiagent Systems - Volume 3
Evaluation of a simple, scalable, parallel best-first search strategy
Artificial Intelligence
Hi-index | 0.00 |
To harness modern multi-core processors, it is imperative to develop parallel versions of fundamental algorithms. In this paper, we present a general approach to best-first heuristic search in a shared-memory setting. Each thread attempts to expand the most promising open nodes. By using abstraction to partition the state space, we detect duplicate states without requiring frequent locking. We allow speculative expansions when necessary to keep threads busy. We identify and fix potential livelock conditions in our approach, verifying its correctness using temporal logic. In an empirical comparison on STRIPS planning, grid pathfinding, and sliding tile puzzle problems using an 8-core machine, we show that A* implemented in our framework yields faster search than improved versions of previous parallel search proposals. Our approach extends easily to other best-first searches, such as Anytime weighted A*.