Skip to content

Maze Generation

Jose Jimenez edited this page Jan 9, 2020 · 93 revisions

Randomly generating a maze, used to spawn new micromouse environments.

Source of Help

If you are familiar with Kruskal's Algorithm in creating a minimum spanning tree then this maze generation algorithm is a recap of Kruskal's Algorithm in a special use-case. Otherwise, if you are not familiar the following document does not assume so. Enjoy.


Definition

To define our maze, let any arbitrary pair of cells have a path to each other. For now, let us define that the arbitrary pair of cells only have one unique path to each other.

The maze can be represented by a graph where each node is a cell in the maze and an undirected edge between adjacent nodes represent an open path.

Algorithm Approach

By the maze definition, every cell in the maze can be visited by running depth-first search (DFS) on any starting cell.

Clone this wiki locally