DisSLib: CC: A Library for Distributed Search with a Central Common Search State

Distributed search is important for finding solutions to hard problems in artificial intelligence. Building distributed search systems can be difficult because the steps required to solve these problems are interdependent. Fortunately, aspects of search systems exhibit commonalities that allow them to be distributed using several different paradigms. These paradigms can be used as the basis for libraries to make implementing new systems, or distributing existing systems, easier. DisSLib:CC is such a library. DisSLib:CC implements the distributed search paradigm search with a central common search state. In this paradigm, agents collaborate to update a central search state. Systems built with DisSLib:CC require very little extra code to implement compared to the standalone versions. These systems can also show improvements in wall-clock run-times, which can be improved by varying the meta-parameters of the distribution paradigm. One such parameter is the number of steps, transitions, that the agents execute before consulting the common search state and in this paper we show how varying this meta-parameter improves the efficiency of the systems.

[1]  Herbert Kuchen,et al.  The Münster Skeleton Library Muesli: A comprehensive overview , 2009 .

[2]  J. Urgen Lind,et al.  Twlib { a Library for Distributed Search Applications , 1996 .

[3]  Frédéric Loulergue,et al.  Parallel programming and performance predictability with Orléans Skeleton Library , 2011, 2011 International Conference on High Performance Computing & Simulation.

[4]  Enrique Alba,et al.  MALLBA: A Library of Skeletons for Combinatorial Optimisation (Research Note) , 2002, Euro-Par.

[5]  Teodor Gabriel Crainic,et al.  PARALLEL BRANCH-AND-BOUND ALGORITHMS: SURVEY AND SYNTHESIS , 1993 .

[6]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[7]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[8]  Horacio González-Vélez,et al.  A survey of algorithmic skeleton frameworks: high‐level structured parallel programming enablers , 2010, Softw. Pract. Exp..

[9]  Fatos Xhafa,et al.  Agent-Supported Programming of Multicore Computing Systems , 2010 .

[10]  Arie de Bruin,et al.  Towards a taxonomy of parallel branch and bound algorithms , 1992 .

[11]  Wolfgang Küchlin,et al.  Teamwork-PaReDuX: Knowledge-based Search with Multiple Parallel Agents , 2002 .

[12]  Vipin Kumar,et al.  Parallel Branch-and-Bound Formulations for AND/OR Tree Search , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[13]  Michel Gendreau,et al.  Toward a Taxonomy of Parallel Tabu Search Heuristics , 1997, INFORMS J. Comput..

[14]  Erick Cantú-Paz,et al.  A Summary of Research on Parallel Genetic Algorithms , 1995 .

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

[16]  Jörg Denzinger,et al.  A General Framework for Multi-agent Search with Individual and Global Goals: Stakeholder Search , 2006, Int. Trans. Syst. Sci. Appl..

[17]  Bernard Gendron,et al.  Parallel Branch-and-Branch Algorithms: Survey and Synthesis , 1994, Oper. Res..

[18]  Jörg Denzinger Conflict handling in collaborative search , 2001 .

[19]  Marco Danelutto,et al.  Lithium: A Structured Parallel Programming Environment in Java , 2002, International Conference on Computational Science.

[20]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[21]  RaphaelBertram,et al.  Correction to "A Formal Basis for the Heuristic Determination of Minimum Cost Paths" , 1972 .

[22]  Judea Pearl,et al.  Heuristics : intelligent search strategies for computer problem solving , 1984 .