Please note that the content of this book primarily consists of articles available from Wikipedia or other free sources online. There are a number of different maze generation algorithms, that is, automated methods for the creation of mazes. A maze can be generated by starting with a predetermined arrangement of cells (most commonly a rectangular grid but other arrangements are possible) with wall sites between them. This predetermined arrangement can be considered as a connected graph with the edges representing possible wall sites and the nodes representing cells. The purpose of the maze generation algorithm can then be considered to be making a subgraph where it is challenging to find a route between two particular nodes.