SMA* Search
This experiment is structured to demonstrate the SMA* search algorithm applied on a simple graph search setting. It provides a step-by-step understanding of the SMA* algorithm, its heuristic function, memory limit, and how it can be used to find the best path between two nodes in a graph given memory constraints.
Objectives:
Master the SMA* Search Algorithm: Gain a comprehensive understanding of the Simplified Memory-Bounded A* (SMA*) search algorithm, its working principles, and how it effectively balances heuristic evaluation and memory constraints to find the best path in a graph.
Explore Heuristic Functions in Memory-Constrained Search: Analyze the role of heuristic functions in guiding the SMA* search process and how they affect the algorithm's efficiency and decision-making under memory limitations.
Understand Memory-Bounded Optimization: Examine how SMA* manages limited memory resources by discarding and regenerating nodes, and how it ensures optimal pathfinding despite these constraints.
Visualize the Search Dynamics: Observe and interpret the SMA* algorithm's operation through visual representations of node expansions, heuristic evaluations, memory utilization, and the evolving search tree.
Trace Path Reconstruction Under Constraints: Understand how SMA* tracks and reconstructs the best path from the start node to the goal node, highlighting its unique memory management and backtracking mechanisms.
Compare with A and Other Search Algorithms: Evaluate the performance of SMA* against algorithms like A* in terms of computational efficiency, memory usage, and path optimality across different graph scenarios.