Title: Maize Stack Algorithm
Course: CPS 261: Advanced Java Concepts ~ DL & MM MASTER > Section: Learning Units - Bb

Presentations and Videos

- Maize Stack Algorithm lecture video (Time: 40:50)
- Maize Stack Algorithm document

- In this lecture we take a look at finding a path through a Maize.
- The solution demonstrated in this lecture uses a Stack approach.
- Because the number of combinations you would encounter using a Stack is staggering, we provide some heuristics to provide some intelligence to the Maize stacking algorithm.
- We also demonstrate the algorithm by drawing it in action on the screen using a similar techniques as we used in the N-Queens problem above that uses Threads to slow down the problem solver.
- Further more, if you can solve a Maize then in this lecture we demonstrate that you can create a Maize. The idea is that you start out with a Maize that has few options and ask the solver to try to find a path. When the solver comes back with a failure indication, we then randomly "punch" an additional hole in the Maize and try again. If we punch enough holes in the Maize then eventually our Solver will come up with its first solution. At this point we stop and save the Maize created knowing there is at least one path through the Maize.
- I might point out that similar thinking to the Maize problem can be used for solving other puzzles. For example, I have created Sudoku problem solvers. Additionally by using a created Sudoku problem solver I can create Sudoku puzzles.