A maze is a path or collection of paths, typically from an entrance to a goal. The word is used to refer both to branching tour puzzles through which the solver must find a route, and to simpler non-branching ("unicursal") patterns that lead unambiguously through a convoluted layout to a goal. (The term "labyrinth" is generally synonymous with "maze", but can also connote specifically a unicursal pattern.) The pathways and walls in a maze are typically fixed, but puzzles in which the walls and paths can change during the game are also categorized as mazes or tour puzzles.
GENERATING MAZES
Maze generation is the act of designing the
layout of passages and walls within a maze.
There are many different approaches to generating mazes, with various maze generation algorithms for
building them, either by hand or automatically by computer.
There are two main mechanisms used to generate
mazes. In "carving passages", one marks out the network of available
routes. In building a maze by "adding walls", one lays out a set of
obstructions within an open area. Most mazes drawn on paper are done by drawing
the walls, with the spaces in between the markings composing the passages.
SOLVING MAZES
Maze solving is the act of finding a route
through the maze from the start to finish.
Some maze solving methods are designed to be used inside the maze by a traveler
with no prior knowledge of the maze, whereas others are designed to be used by
a person or computer program that can see the whole maze at once.
The mathematician Leonhard Euler was one of the first
to analyze plane mazes mathematically, and in doing so made the first
significant contributions to the branch of mathematics known as topology.
Mazes containing no loops are known as "standard",
or "perfect" mazes, and are equivalent to a tree in graph theory. Thus many maze
solving algorithms are closely related to graph
theory. Intuitively, if one pulled and stretched out the paths in the
maze in the proper way, the result could be made to resemble a tree.