Skip to content

Questions about A* search algorithm

Short answers, pulled from the story.

Who invented the A* search algorithm?

Peter Hart, Nils Nilsson, and Bertram Raphael of Stanford Research Institute first published A* in 1968. Nilsson originally proposed using Graph Traverser for path planning; Raphael suggested combining traveled and estimated remaining cost; Hart contributed the theoretical concepts of admissibility and consistency.

What was A* originally designed for?

A* was created as part of the Shakey project, which aimed to build a mobile robot capable of planning its own actions. It was originally designed to find least-cost paths, but was later shown to find optimal paths for any problem satisfying the conditions of a cost algebra.

What is the difference between admissible and consistent heuristics in A*?

An admissible heuristic never overestimates the true cost to the goal, which guarantees A* returns an optimal path. A consistent (or monotone) heuristic additionally satisfies a stricter edge condition, ensuring A* processes every node at most once. Without consistency, a node can be expanded an exponential number of times in the worst case.

Why is the space complexity of A* a practical drawback?

A* keeps every generated node in memory, so its space complexity is roughly equal to its time complexity in the worst case. On large graphs, memory is exhausted long before time becomes the bottleneck. This led to the development of memory-bounded variants such as Iterative deepening A (IDA) and SMA*.

How does A* relate to Dijkstra's algorithm?

Dijkstra's algorithm is a special case of A* in which the heuristic function h is set to zero for all nodes. A* achieves better performance than Dijkstra by using a heuristic to guide the search, expanding fewer nodes on average. With a consistent heuristic, A* is equivalent to running Dijkstra on a graph with reduced edge weights.

What is epsilon-admissibility in A* search?

Epsilon-admissibility is a relaxed optimality guarantee used by approximate variants of A. A path found by an epsilon-admissible algorithm costs no more than (1 + epsilon) times the optimal solution. Weighted A, Dynamic Weighting, and the XUP/XDP parabola variants are among the algorithms offering this bound.