Admissible+Heuristic

A heuristic function is //admissible// if it never overestimates the cost of reaching the goal. An admissible heuristic is also known as an //optimistic heuristic.//

Admissible heuristics are an important class of heuristics because they have several desirable properties in various search algorithms. They guarantee shortest path solutions in the A* search algorithm. With admissible heuristics the dynamic weighting (Pohl, 1973) and A* (Pearl, 1984) algorithms guarantee less expensively produced, but boundedly longer solutions. Moreover, it is possible to reduce an exponential average time complexity to a polynomial one using A* and multiples of an admissible heuristic (Chenoweth & Davis, 1991).

One method to generate an admissible heuristic for a problem is finding the length of a shortest path solution to a transformed version of the problem. As shown in the figure below, a heuristic for a state s in problem with a goal g is computed by transforming s to s’ and g to g’, and then finding a shortest path solution from s’ to g’. The length of that shortest path solution is the admissible heuristic. An example for such transformation is Manhattan Distance for the N-Puzzle: it considers the problem by ignoring the blank tile, assuming a tile can go straight to it’s goal position. The sum of the distance from the goal position of all tiles, which underestimates the actual solution path length, is the Manhattan Distance.

For heuristic to be effective, the transformed problems that generate them should be easier to solve and closely approximate the original problem.

· While all consistent heuristics are admissible, not all admissible heuristics are consistent.