This project is a puzzle-solving framework that utilizes various search algorithms to solve a sliding puzzle problem. The framework includes several popular search strategies, such as Breadth-First Search (BFS), Iterative Deepening Search (IDS), A* search, Optimized A* search, and Bidirectional BFS. It can also visualize the performance of each algorithm by plotting the number of expanded nodes versus the compute time, allowing users to analyze each algorithm's efficiency.
- Python 3.6+
- Required libraries:
matplotlib
: For plotting compute time and expanded nodes for each algorithm.numpy
: For numerical operations.
Install the dependencies using:
pip install matplotlib numpy