This project implements various pathfinding algorithms to solve mazes. It includes a maze generator, different search algorithms, and a visualizer to display the maze-solving process.
- Maze generation with customizable dimensions and obstacle density
- Multiple pathfinding algorithms:
- Breadth-First Search (BFS)
- Dijkstra's Algorithm
- A* Search
- Step-by-step visualization of the search process
- Configurable settings for maze size, algorithm selection, and visualization parameters
| Breadth-First Search (BFS) | Dijkstra's Algorithm | A* Search |
|---|---|---|
![]() |
![]() |
![]() |
-
Make selection of searcher type in
config.py -
Run the maze solver (tested on Python 3.8):
python3 run.py
You can modify the config.py file to adjust various settings:
SEARCHER_TYPE: Choose the pathfinding algorithm ("bfs", "dijkstra", or "a_star")MAZE_HEIGHTandMAZE_WIDTH: Set the dimensions of the mazeCELL_SIZE: Adjust the size of each cell in the visualizationDELAY: Set the delay between steps in the visualizationOBSTACLE_DENSITY: Change the percentage of cells that are obstaclesIS_SHOW_COST: Toggle the display of path costs


