Elsevier

Knowledge-Based Systems

Volume 129, 1 August 2017, Pages 1-3
Knowledge-Based Systems

Original Software Publication
The Heuristic Search Research Framework

https://doi.org/10.1016/j.knosys.2017.05.009Get rights and content

Abstract

The Heuristic Search Research Framework is a software framework for conducting studies of heuristic search algorithms. The framework is more than a set of building blocks that facilitate the production of flexible and efficient implementations of heuristic search algorithms. The intended uses that distinguish this framework are: (1) gaining of insights into properties of search algorithms through a variety of means, (2) easy production of examples that can be used both for conference presentations and to teach heuristic search to students and (3) using policy-based design for building a taxonomy of implemented algorithmic variants. The paper presents the motivation behind the framework’s design and provides a short description of the framework’s features with examples. The paper is supplemented by extensive documentation that includes a video demo.

Introduction

Heuristic search is a general problem solving method in Artificial Intelligence [1]. It is used in many fields including robotics [2], constraint satisfaction problems [3], digital entertainment [4], multiagent pathfinding [5], [6], [7], puzzles [8], [9], [10], automated planning [11], [12], [13] and various well known NP-complete problems [14].

The quest for faster heuristic search results in a large number of new algorithms and variants of existing algorithms each year. Typically, a researcher needs to implement his algorithm, explore its properties and evaluate its performance relative to other algorithms for a large number of different problem instances and parameter settings.

These activities present many challenges as detailed below. The Heuristic Search Research Framework is motivated by the need to address these challenges and facilitate effective research of heuristic search algorithms.

Section snippets

Problems and background

A researcher studying search algorithms faces two major challenges:

  • 1.

    The multiplicity of variants. An algorithm like A* [15] may have hundreds of variants, many of which are of interest to the researcher. Unless much effort is invested in careful design, the implementation of the algorithm will tend to become extremely complicated, replete with either deeply nested conditional statements, or code duplication, or both. Such code is difficult to maintain, hides bugs and inefficiencies. Needless to

Architecture

Three kinds of facilities constitute the framework:

  • 1.

    The user interface – facilities supporting graphical representation of the search process and the textual menus for analyzing the algorithm.

  • 2.

    The search base – generic facilities supporting implementation of search algorithms.

  • 3.

    The user-provided facilities – implementations of search algorithms by the researchers.

Two types of configuration are used in the framework: run-time and compile-time (§2.1). The purpose of the run-time configuration is to

An illustrative example

Suppose we are studying the A* algorithm in the context of finding optimal paths in grid maps. We would like to visualize the state of the search when A* selects for expansion a particular location for the first time. Fig. 1 (left) shows how the map is visualized after zooming into an area around the start location (marked by a green circle). The mouse points to the location of interest.

First, we set up a filter to include only the node selection events and the event of fixing the start

Conclusions

The paper presented the Heuristic Search Research Framework – a software framework for conducting studies of heuristic search algorithms. The framework is an effective and flexible tool for implementing algorithms, studying their properties and producing experimental results. The framework can also be used to produce examples for conference and classroom presentations.

The implemented algorithms provide examples of using policy-based design to effectively organize a number of algorithmic

Current executable software version

Current code version

References (25)

  • M. Likhachev et al.

    Anytime search in dynamic graphs

    Artif. Intell.

    (2008)
  • R.E. Korf et al.

    Disjoint pattern database heuristics

    Artif. Intell.

    (2002)
  • B. Bonet et al.

    Planning as heuristic search

    Artif. Intell.

    (2001)
  • A. Newell et al.

    Computer science as empirical inquiry: symbols and search

    Commun. ACM

    (1976)
  • R. Zivan et al.

    Conflict directed backjumping for max-csps

    IJCAI

    (2007)
  • N.R. Sturtevant et al.

    A comparison of high-level approaches for speeding up pathfinding

    AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE)

    (2010)
  • T. Standley

    Finding optimal solutions to cooperative pathfinding problems

    AAAI

    (2010)
  • G. Sharon et al.

    The increasing cost tree search for optimal multi-agent pathfinding

    IJCAI

    (2011)
  • G. Sharon et al.

    Meta-agent conflict-based search for optimal multi-agent path finding

    International Symposium on Combinatorial Search (SoCS)

    (2012)
  • A. Felner et al.

    Additive pattern database heuristics

    J. Artif. Intell. Res. (JAIR)

    (2004)
  • M. Helmert et al.

    Relative-order abstractions for the pancake problem

    ECAI

    (2010)
  • H. Geffner

    Search and inference in AI planning

    CP

    (2005)
  • View full text