This experiment is structured to demonstrate the A* search algorithm applied on a simple graph search setting. It provides a step-by-step understanding of the A* algorithm, its heuristic function, and how it can be used to find the shortest path between two nodes in a graph.

Objectives:

  • Master the A* Search Algorithm: Develop a thorough understanding of the A* search algorithm, including its step-by-step execution and the mathematical principles underlying its combination of cost (g(n)) and heuristic (h(n)) functions.

  • Explore the Role of Heuristics: Analyze heuristic functions, their impact on the algorithm's performance, and how they influence the efficiency and optimality of the pathfinding process.

  • Visualize the Search Dynamics: Observe and interpret the A* algorithm's operation through visual representations of node expansions, heuristic evaluations, and the evolving search tree.

  • Trace Path Reconstruction: Understand how the A* algorithm tracks and reconstructs the shortest path from the start node to the goal node, emphasizing its use of priority queues and backtracking mechanisms.

  • Evaluate Algorithm Efficiency: Compare the A* search algorithm's performance with other search algorithms (e.g., Dijkstra, BFS) in terms of computational complexity and optimality in different graph scenarios.