A maze solver with visuals that executes DFS, BFS, A*, bi-directional BFS, an improved heuristic algorithm to solve “fire” mazes and a genetic algorithm that creates hard mazes
This project uses Artificial Intelligence pathfinding algorithms to solve randomly generated mazes. The mazes are repsented as 2-dimensinal matrices and have a specified density and percentage of difficulty. Additionally, mazes are created with a genetic algorithm that generates numerous mazes and builds a very hard maze depending on the difficulty of the previous ones. Finally, using the same pathfinding algroithms there is an agent that can solve a maze on fire which is a maze that has dynamically changing obstacles in addition to the static obstacles.
- Depth-First Search
- Breadth-First Search
- A* Euclidean Distance
- A* Manhattan Distance
- Bi-Directional Breadth-First Search
- Genetic
- Fire Agent
The project is fully built in Python with Tkinter, and NumPy. Along with the code in this repository there is also a supporting PDF report that provides in-depth analysis, game visualizations, and efficiency graphs of the project.
https://docs.google.com/document/d/1KSvsAoGbpShV_WH9bGaqUOaSLV6gU3yANGOLU5mmfcE/edit?usp=sharing