A* admissibility
This notes elaborates on Admissibility in
Why does admissibility guarantee optimality
We know that admissibility means that $$h(n) \leq \pu{True cost from goal}$$
But why does this imply that the algorithm will always end up finding the optimal path to goal vertex?
Let us prove this rigorously using a proof by contradiction. Assume the algorithm has just returned a suboptimal goal node—let us call it
Here, a node is not synonymous with a vertex in the graph.
The node being talked about is a search node.
As
This node is not just a physical vertex, it encapsulates the entire specific path required to reach that vertex, along with it's accumulated cost
Because there are multiple ways to navigate through a graph, the priority queue can simultaneously contain multiple distinct search nodes that all happen to terminate at the exact same physical destination, but arrived there via entirely different routes.
For A* to have selected
Now, consider the true optimal path to
Because we are using an admissible heuristic, we are mathematically guaranteed that
Since we assumed
Combining the above two inequalities, we derive the following inequality: $$ f(n)≤ \pu{True Optimal Cost}<f(G_{bad})$$
This exposes the fatal flaw in our initial assumption. If
This is exactly why an optimistic, non-overestimating heuristic guarantees optimality. By never overestimating the cost to the goal, A* will never permanently ignore a genuinely optimal path in favor of a path that only appears cheaper locally.