If you can start on any top row location, and finish on any
bottow row location, the problems doesn't at all become much
more complex and time consuming. Just add two more nodes to
the maze: a start node with exits to all the valid top row
locations, and a finish node, with entries from all the valid
bottow row locations, and you have a "standard maze" again,
with 1 start, and 1 end position.
Now, why on earth you are referring to the AI or finite automata
to solve this problem is beyond me. It's a graph problem, all
you want is a path from one end to the other, and if there are
multiple paths, you want to find a minimal one using some measurement.
Abigail