Saturday, March 14, 2009

Maze Ranking - Part I

One of my goals is to be able to generate 500 mazes and find the hardest one. In order to do this I need to be able to "tell" the computer how to determine which maze is the hardest. I am attempting to do this by ranking the mazes based on statistics and analysis that I can program.

In the beginning I was inclined to think that the maze with the longest solution should be the maze with the highest rank. Since the user would have "solve" more. This is not the case. I have generated a pseduo pictorial example to demostrate the flaw in this thinking:



Type: Experimental / Longest Maze
Size: 19 x 19
Deadends: 0
Passages: 359
Forks: 0
Cross Roads: 0
Decisions: 0
Correct Decisions: 0
Branches: 0
Corners: 36
Solution Length: 360

Notice that this is the longest maze I can generate in this space. I hard-coded it to appear this way, however enough iterations of the recursive back tracker algorithm would generate this eventually.

The maze isn't particually tough. In fact generations of mazes with long solution paths tend to have very little "non-solution" paths which means there isn't oppurtunity to get lost -- just like the maze above. In fact the hardest mazes give the user many oppurtunities to get lost.

1 comment:

  1. A Mazes with no junctions that fills up the solution space and has as long a solution as possible is a unicursal Maze. Making interesting unicursal Mazes (often called "Labyrinths" in the modern spiritual community) has its own algorithms and is an art form in itself.

    ReplyDelete