A* Search

A* (pronounced "A star") is a well known and well studied best-first search algorithm. A* typically searches outward from the starting node until it reaches the goal node, always expanding the current fringe node that looks like it is along the best path from the start node to the goal node. The best node is the current fringe node with the minimum cost from the start node to the fringe node, plus the expected remaining cost (the heuristic cost) to get from the fringe node to the goal node. The heuristic used to estimate the remaining cost from any node to the goal plays a key role in A*. If the heuristic is always an underestimate of the cost from any node to the goal, then it is said to be admissible, and A* will find the optimal solution. However, if the heuristic is too optimistic then A* will expand too many nodes and may run out of time before a solution is found. If the heuristic is pessimistic then a solution will be found quickly, but it will almost certainly be suboptimal.

CIRL

Work at CIRL has focused on using A* with flight planning problems where the cost of evaluating edges is prohibitively expensive. Most A* work has assumed that the cost of evaluating an edge in the search graph is negligible, and that the primary goal is to expand as few nodes as possible. In our flight planning work the overriding goal has been to minimize the number of expensive edge evaluations done. This goal is related, but not identical, to that of minimizing the number of nodes expanded.

Several approaches to this problem have been explored.

Pointers

A Formal Basis for the Heuristic Determination of Minimum Cost Paths, by P.E. Hart, N.J. Nilsson, and B. Raphael, in IEEE Transactions on SSC.
This is the paper that introduced A*.

Parent areas:
Systematic Search

Application program:
Worldwide Aeronautical Route Planner (WARP)

Back to the CIRL Overview Page.