Assignment.py
- The primary file for the project. Make sure you run this file for the desired output.
board.py
- Code to generate a random maze for Part 1.
find_neighbours.py
- Code to find neighbouring cells and return them as a list.
breadth_first_search.py
- Code to perform breadth first search on the given maze.
depth_first_search.py
- Code to perform depth first search on the given maze.
Astar.py
- Code to perform A* search (Euclidean and Manhattan heuristic) on the given maze.
genetic_algo.py
- Code to apply Genetic Algorithm on the population of mazes and optimize the given fitness function to build hard mazes.