Advertisement

Genetic Algorithmn or Neural Networks for finding pathway in a maze?

Started by August 03, 2007 05:32 PM
23 comments, last by Timkin 17 years, 2 months ago
If you want to slove problem using NN/GA, I think the problem most likely is how to feed the data in to the NN and GA. Better data representation make life more easy.
GA is a random search and NN is emulating some formulas,Feeding appropriate data structure they can do the exactly same thing of A*

If talking advantage and disadvantage between A* and NN/GA,
NN and GA need a long time to learn before they can use but A* will need more caulation in each search.

To make a NN/GA learn how to Survive in maze, converting the path into sequence of Direction or a graph is a good start.If the maze is not too complicate, the GA may find a path to survive in a finite sequence of Direction .
If the maze is really too complicate, add a bonus to the path which is more near to the exit than others so it may find a point that is most near to the exit. Start another training at the last postion it stay, find the more best point and so on, after a few times it can reach the exit.
I love delphi more than C
Well it sounds like it would really depend on the type of maze you're talking about. If it's the same maze every time, or if it's a maze that is generated using some sort of discoverable rule set, then you can use the various adaptive algorithms to find an optimal path. All the algorithm will be doing though is discovering the rule set by which you created the mazes [like, for example, blue floor means go forward, red floor means turn left, unless left is blocked then turn right, etc]

GA's and NN's will both fail miserably at finding their way through a random maze [if you can get them to succeed at all, without succeeding by sheer luck of the draw in the case of GA's, and even then you didn't find a solution to the problem of arbitrary maze-solving, just an anomaly]

In any case, the tool is wrong, as has been said.

Quote: Original post by Sneftel
GAs and NNs are not appropriate tools for this. It's like asking "How do I drive a nail into a piece of wood with a duck or echidna? I know about hammers, but I want to do something different."
Beautiful. Love it. Even if I did have to wiki 'echidna'.
Advertisement
What are peoples views on reinforcement techniques (Q learning, machine learning/Learning classifiers) for a task like this, seems to be swept under the carpet, or hardly mentioned, though i may be ignorant of the techniques.

Regards Wolfe
Quote: Original post by cdrwolfe
What are peoples views on reinforcement techniques (Q learning, machine learning/Learning classifiers) for a task like this, seems to be swept under the carpet, or hardly mentioned, though i may be ignorant of the techniques.


In a simulation, there's no point. You already have the complete maze information perfectly stored. There's nothing to learn or be reinforced. You just find a path ( A* ) through the known graph. It's easy and robust.

The short is that this is one of those "solved" problems.

The parts that are on the fringe are: how do you make it cost effective for hundreds/thousands of entities to simultaneously path and/or dynamically avoid each other along the way

-me
Quote: Original post by Palidine
The parts that are on the fringe are: how do you make it cost effective for hundreds/thousands of entities to simultaneously path and/or dynamically avoid each other along the way


My suspicion is that cdrwolfe was asking about the use of ML techniques for learning a maze solver that could be applied to any new maze. Certainly, this is an interesting problem, as it summarises the task of solving problems by analogy. Unfortunately, one maze is NOT a good instance of any other maze (so using a small, finite set of mazes to train a maze solver would not necessarily provide you with anything more than something that kept getting lost and relied on an underlying (default) random search to find the exit).

You might be able to solve classes of mazes by analogy; for example, labyrinths.

Ultimately, the problem in using a GA to search for a solution path for the maze is how to encode candidate path solutions. The underlying problem is that paths vary in length, so you need a way to make your chromosome encoding invariant to path length, or your genetic operators robust to variable length chromosomes in parents during reproduction.

As for using an ANN to solve this, the only practical way I could see would be to use a recurrent architecture.

Cheers,

Timkin

This topic is closed to new replies.

Advertisement