Admissible heuristic
In computer science, specifically in algorithms related to pathfinding, a heuristic function is said to be admissible if it never overestimates the cost of reaching the goal, i.e. the cost it estimates to reach the goal is not higher than the lowest possible cost from the current point in the path.[1]
Search algorithms
An admissible heuristic is used to estimate the cost of reaching the goal state in an informed search algorithm. In order for a heuristic to be admissible to the search problem, the estimated cost must always be lower than or equal to the actual cost of reaching the goal state. The search algorithm uses the admissible heuristic to find an estimated optimal path to the goal state from the current node. For example, in A* search the evaluation function (where is the current node) is:
where
- = the evaluation function.
- = the cost from the start node to the current node
- = estimated cost from current node to goal.
is calculated using the heuristic function. With a non-admissible heuristic, the A* algorithm could overlook the optimal solution to a search problem due to an overestimation in .
Formulation
- is a node
- is a heuristic
- is cost indicated by to reach a goal from
- is the optimal cost to reach a goal from
- is admissible if,
Construction
An admissible heuristic can be derived from a relaxed version of the problem, or by information from pattern databases that store exact solutions to subproblems of the problem, or by using inductive learning methods.
Examples
Two different examples of admissible heuristics apply to the fifteen puzzle problem:
- Hamming distance
- Manhattan distance
The Hamming distance is the total number of misplaced tiles. It is clear that this heuristic is admissible since the total number of moves to order the tiles correctly is at least the number of misplaced tiles (each tile not in place must be moved at least once). The cost (number of moves) to the goal (an ordered puzzle) is at least the Hamming distance of the puzzle.
The Manhattan distance of a puzzle is defined as:
Consider the puzzle below in which the player wishes to move each tile such that the numbers are ordered. The Manhattan distance is an admissible heuristic in this case because every tile will have to be moved at least the number of spots in between itself and its correct position.[2]
43 | 61 | 30 | 81 |
72 | 123 | 93 | 144 |
153 | 132 | 14 | 54 |
24 | 101 | 111 |
The subscripts show the Manhattan distance for each tile. The total Manhattan distance for the shown puzzle is:
Optimality guarantee
If an admissible heuristic is used in an algorithm that, per iteration, progresses only the one path that has lowest total expected cost of several candidate paths and terminates the moment any path reaches the goal accepting that path as shortest (for example in A* search algorithm), then this algorithm will terminate on the shortest path. To see why, simply consider that any path that the algorithm terminates on was only progressed because its total expected cost was lowest of the candidates. For an admissible heuristic, none of the candidates overestimate their costs so their true costs can only be greater to or equal to that of the accepted path. Finally, the total expected cost is the true cost for a path that reaches goal because the only admissible heuristic on reaching goal is zero.
As an example[3] of why admissibility can guarantee optimality, let us say we have costs as follows:(the cost above/below a node is the heuristic, the cost at an edge is the actual cost)
0 10 0 100 0 START ---- O ----- GOAL | | 0| |100 | | O ------- O ------ O 100 1 100 1 100
So clearly we would start off visiting the top middle node, since the expected total cost, i.e. , is . Then the goal would be a candidate, with equal to . Then we would clearly pick the bottom nodes one after the other, followed by the updated goal, since they all have lower than the of the current goal, i.e. their is . So even though the goal was a candidate, we could not pick it because there were still better paths out there. This way, an admissible heuristic can ensure optimality.
However, note that although an admissible heuristic can guarantee final optimality, it is not necessarily efficient.
Notes
While all consistent heuristics are admissible, not all admissible heuristics are consistent.
For tree search problems, if an admissible heuristic is used, the A* search algorithm will never return a suboptimal goal node.
References
- Russell, S.J.; Norvig, P. (2002). Artificial Intelligence: A Modern Approach. Prentice Hall. ISBN 0-13-790395-2.
- Korf, Richard E. (2000), "Recent progress in the design and analysis of admissible heuristic functions" (PDF), in Choueiry, Berthe Y.; Walsh, Toby (eds.), Abstraction, Reformulation, and Approximation: 4th International Symposium, SARA 2000 Horseshoe Bay, USA, July 26-29, 2000 Proceedings, 1864, Springer, pp. 45–55, doi:10.1007/3-540-44914-0_3, ISBN 978-3-540-67839-7, retrieved 2010-04-26
- "Why do admissable [sic] heuristics guarantee optimality?". algorithm. Stack Overflow. Retrieved 2018-12-11.