Discrete Mathsfor Engineers

Structures, proofs, and intuition

EN | PT

Part 5 — Comparisons & Applications

Positioning A* among search algorithms and exploring real-world use cases

Series: A* 5 parts

5. Comparisons & Applications


Roadmap (what you will learn in this part):
  1. How A* compares to classical search algorithms
  2. Trade-offs between informed and uninformed search
  3. When A* is the right choice
  4. Typical real-world applications
  5. How A* fits into the broader algorithmic landscape

A* sits at the intersection of graph algorithms and artificial intelligence, combining optimal pathfinding with heuristic guidance.

5.1 A* vs Dijkstra

Dijkstra explores nodes based solely on accumulated cost g(n).

A* extends this by incorporating a heuristic h(n).

  • Dijkstra → uninformed
  • A* → informed

If h(n) = 0, A* reduces to Dijkstra.

5.2 A* vs Greedy Best-First Search

Greedy search selects nodes based only on h(n).

It is often faster but does not guarantee optimal solutions.

  • Greedy → fast, not optimal
  • A* → balanced, optimal (with conditions)

5.3 A* vs BFS

Breadth-First Search explores nodes level by level.

It guarantees shortest paths only in unweighted graphs.

A* generalizes this idea to weighted graphs using cost and heuristic guidance.

5.4 Trade-offs

A* introduces a key trade-off:

  • better heuristics → faster search
  • more computation per node → higher overhead

Designing good heuristics is often the central challenge.

5.5 When to Use A*

A* is particularly effective when:

  • the problem can be modeled as a graph
  • a meaningful heuristic is available
  • optimal paths are required

Without a good heuristic, its advantage diminishes.

5.6 Applications

A* is widely used across domains:

  • pathfinding in games
  • robot navigation
  • GPS and routing systems
  • AI planning problems

Its flexibility makes it a standard tool in both theory and practice.

5.7 Beyond A*

Several extensions of A* exist:

  • IDA* (Iterative Deepening A*)
  • Weighted A*
  • Bidirectional A*

These variants aim to reduce memory usage or improve performance.

Series Conclusion

A* is best understood not just as a pathfinding algorithm, but as a principled framework that combines exact cost and heuristic estimation.

Throughout this series, we explored its problem model, heuristic foundations, algorithmic structure, optimality guarantees, complexity, and practical applications.

Next step: return to the A* index or continue exploring other search techniques.