Very large pattern databases for heuristic search

Pattern databases (PDBs) store heuristic estimates that are used to improve the performance of heuristic search algorithms. They are key to the success of heuristic search in many application domains. While it is known [12] that the effectiveness of PDBs critically depends on their size, current implementations use only small PDBs because they require random access to main memory. We present two MapReduce implementations that do not require random memory access and therefore enable larger PDBs than were previously possible. The first one, named MR-BFFS, is a parallel breadth-first frontier search. It is used for generating arbitrarily large PDBs out-of-core. The second one, MR-IDA*, uses out-of-core PDBs to perform a breadth-first iterative-deepening A* search. Both scale perfectly on massively parallel systems and they make use of all available resources like CPUs, distributed memories, and disks. We demonstrate the performance of our algorithms and provide, as a byproduct of this research, the first complete evaluation of dual additive PDBs for the 8-puzzle. We also provide data on larger problem spaces and discuss the effectiveness of PDBs for improving the search.

[1]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[2]  Sanjay Ghemawat,et al.  MapReduce: simplified data processing on large clusters , 2008, CACM.

[3]  Moti Yung,et al.  Criticizing solutions to relaxed models yields powerful admissible heuristics , 1992, Inf. Sci..

[4]  Jonathan Schaeffer,et al.  Searching with Pattern Databases , 1996, Canadian Conference on AI.

[5]  Ariel Felner,et al.  Solving the 24 Puzzle with Instance Dependent Pattern Databases , 2005, SARA.

[6]  Richard E. Korf,et al.  Frontier search , 2005, JACM.

[7]  Richard E. Korf,et al.  Recent Results from Analyzing the Performance of Heuristic Search , 2008 .

[8]  Vipin Kumar,et al.  Parallel Algorithms for Machine Intelligence and Vision , 2011, Symbolic Computation.

[9]  Richard E. Korf,et al.  Linear-time disk-based implicit graph search , 2008, JACM.

[10]  Stefan Edelkamp,et al.  External A* , 2004, KI.

[11]  Eric A. Hansen,et al.  Breadth-first heuristic search , 2004, Artif. Intell..

[12]  Nils J. Nilsson,et al.  Artificial Intelligence , 1974, IFIP Congress.

[13]  Vipin Kumar,et al.  A Parallel Implementation of Iterative-Deepening-A* , 1987, AAAI.

[14]  Richard E. Korf,et al.  Depth-First Iterative-Deepening: An Optimal Admissible Tree Search , 1985, Artif. Intell..

[15]  Alexander Reinefeld,et al.  AIDA Asynchronous Parallel IDA , 2006 .

[16]  Eric A. Hansen,et al.  Structured Duplicate Detection in External-Memory Graph Search , 2004, AAAI.

[17]  Richard E. Korf,et al.  Large-Scale Parallel Breadth-First Search , 2005, AAAI.

[18]  Thorsten Schütt,et al.  Out-of-Core Parallel Frontier Search with MapReduce , 2009, HPCS.

[19]  V. Nageshwara Rao,et al.  Scalable parallel formulations of depth-first search , 1990 .

[20]  Richard E. Korf Analyzing the Performance of Pattern Database Heuristics , 2007, AAAI.

[21]  Christoforos E. Kozyrakis,et al.  Phoenix rebirth: Scalable MapReduce on a large-scale shared-memory system , 2009, 2009 IEEE International Symposium on Workload Characterization (IISWC).

[22]  Eric A. Hansen,et al.  Parallel Breadth-First Heuristic Search on a Shared-Memory Architecture , 2006 .

[23]  Jonathan Schaeffer,et al.  Analysis of Transposition-Table-Driven Work Scheduling in Distributed Search , 1999, IEEE Trans. Parallel Distributed Syst..

[24]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[25]  Peter Sanders,et al.  STXXL: standard template library for XXL data sets , 2008, Softw. Pract. Exp..