Original Software PublicationThe Heuristic Search Research Framework
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)
- et al.
Anytime search in dynamic graphs
Artif. Intell.
(2008) - et al.
Disjoint pattern database heuristics
Artif. Intell.
(2002) - et al.
Planning as heuristic search
Artif. Intell.
(2001) - et al.
Computer science as empirical inquiry: symbols and search
Commun. ACM
(1976) - et al.
Conflict directed backjumping for max-csps
IJCAI
(2007) - et al.
A comparison of high-level approaches for speeding up pathfinding
AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment (AIIDE)
(2010) Finding optimal solutions to cooperative pathfinding problems
AAAI
(2010)- et al.
The increasing cost tree search for optimal multi-agent pathfinding
IJCAI
(2011) - et al.
Meta-agent conflict-based search for optimal multi-agent path finding
International Symposium on Combinatorial Search (SoCS)
(2012) - et al.
Additive pattern database heuristics
J. Artif. Intell. Res. (JAIR)
(2004)
Relative-order abstractions for the pancake problem
ECAI
Search and inference in AI planning
CP
Cited by (13)
Improved A*-DWA fusion path planning algorithm with ideal path area constraints
2023, Research SquareObstacle Avoidance Strategy for Mobile Robot Based on Monocular Camera
2023, Electronics (Switzerland)A Path Planning Learning Strategy Design for a Wheel-Legged Vehicle Considering Both Distance and Energy Consumption
2023, IEEE Transactions on Vehicular TechnologyModeling-Learning-Based Actor-Critic Algorithm with Gaussian Process Approximator
2020, Journal of Grid Computing