Heuristic Search and the A* Algorithm
A* improves on Dijkstra's algorithm by using a heuristic estimate of the remaining cost to the goal. This lesson defines admissible heuristics, introduces the A* priority function , and traces A* end-to-end on small air-route graphs.
Tutorial
Heuristic Functions and Admissibility
In Dijkstra's algorithm, we explore nodes purely by the cheapest cost found from the source. On a large air-routing graph this can waste effort on legs that point away from the destination. A heuristic search uses extra information about the goal to focus the search.
A heuristic function is an estimate of the cost of the cheapest path from node to the goal. We say is admissible if
where is the true shortest-path cost from to the goal. An admissible heuristic never overestimates.
In air routing, the great-circle distance from to the destination is admissible: an actual sequence of flight legs cannot be shorter than the straight-line spherical distance.
For instance, suppose airports have true distances to the destination of and nmi. The heuristic
is admissible. However, the heuristic
is not admissible, because .