next up previous
Next: Introduction

Journal of Artificial Intelligence Research 9 (1998), pp. 139-166. Submitted 4/98; published 10/98
© 1998 AI Access Foundation and Morgan Kaufmann Publishers. All rights reserved.
Postscript and PDF versions of this document are available from here.

Adaptive Parallel Iterative Deepening Search

Diane J. Cook
Department of Computer Science and Engineering
University of Texas at Arlington
Box 19015, Arlington, TX 76019


R. Craig Varnell
Department of Computer Science
Stephen F. Austin State University
Box 13063, Nacogdoches, TX 75962


Many of the artificial intelligence techniques developed to date rely on heuristic search through large spaces. Unfortunately, the size of these spaces and the corresponding computational effort reduce the applicability of otherwise novel and effective algorithms. A number of parallel and distributed approaches to search have considerably improved the performance of the search process.

Our goal is to develop an architecture that automatically selects parallel search strategies for optimal performance on a variety of search problems. In this paper we describe one such architecture realized in the EUREKA system, which combines the benefits of many different approaches to parallel heuristic search. Through empirical and theoretical analyses we observe that features of the problem space directly affect the choice of optimal parallel search strategy. We then employ machine learning techniques to select the optimal parallel search strategy for a given problem space. When a new search task is input to the system, EUREKA uses features describing the search space and the chosen architecture to automatically select the appropriate search strategy. EUREKA has been tested on a MIMD parallel processor, a distributed network of workstations, and a single workstation using multithreading. Results generated from fifteen puzzle problems, robot arm motion problems, artificial search spaces, and planning problems indicate that EUREKA outperforms any of the tested strategies used exclusively for all problem instances and is able to greatly reduce the search time for these applications.

next up previous
Next: Introduction