Advertisement

Neural nets plus Genetic algorithms

Started by February 19, 2002 04:56 PM
58 comments, last by Kylotan 22 years, 8 months ago
quote: Original post by edotorpedo
How about we have multiple (separate) NN''s to control the actions of one bot. For example, we would have a seperate NN for walking and pathfinding, a separate NN for firing, a seperate NN for choosing weapons etc.


IMHO, you''d get better performance using a multi-niche ANN. These were used to great affect in Creatures and Creatures 2. Further to this, the technology was also used to evolve autonomous pilots for f-16 combat simulations. The ANNs were evolved using evolutionary techniques and after only 300 generations the artificial pilots were frequently killing the top US F-16 combat pilots in simulated combat. Part of the reason for this was that the artificial pilots were not constrained by the limits of the human body, but rather the limits of the aircraft! There was a good writeup on this in New Scientist several years ago. I have the back issue here in my office... I might take a look through my collection this afternoon to find the reference for you.

Cheers,

Timkin



Timkin: what do you mean by "multi niche"? Can you elaborate a little for us plz?



Stimulate
Advertisement
Timkin: what do you mean by "multi niche"? Can you elaborate a little for us plz?



Stimulate
The idea of evolving n different ANNs for different tasks and then choosing the best ones should really be enhanced by a final phase of taking the choice ANNs and evolving them together to create a single optimal solution. Part of the environment of the evolution of the individual ANNs is the other ANNs it''s evolved alongside (i.e. the other ones used for other decision making). So part of the fitness of each of the ANNs will be due to the makeup of the ANNs it was evolved with. A final GA optimisation with the other optimal ANNs would probably continue to increase fitness. Other than that, a great idea.

Mike

Geta: pathfinding was just an example! I think an A* algo would perform better.
And yes, it would have been better if I actually had implemented my thoughts. I''m really sorry that I didn''t hack up a complete demo in the 3 seconds between my thougts and my reply!

Alexjc: were you suggesting that you will have a tutorial/article on this topic on ai-depot soon?

BTW: where does IMO / IMHO stand for ?

Edo
Edo
quote: Original post by edotorpedo

Geta: pathfinding was just an example! I think an A* algo would perform better.
And yes, it would have been better if I actually had implemented my thoughts. I''m really sorry that I didn''t hack up a complete demo in the 3 seconds between my thougts and my reply!


No need to be sorry, or sarcastic. If you or anyone had implemented ANN for pathfinding,
and had some success with it, I would like to learn the details. That''s all. I tend to want
to keep track of stuff like that. Its my job.

quote: Original post by edotorpedo

BTW: where does IMO / IMHO stand for ?



In My Opinion
In My Humble Opinion

Eric
Advertisement
edotorpedo,

Come to think of it, why not a tutorial I was hinting at my current research and development, but that should make a very nice tutorial indeed.

Alex

Join us in Vienna for the nucl.ai Conference 2015, on July 20-22... Don't miss it!


Geta,
I''m sorry (this time for real), I was just joking around.
Thanks for replying: I''m Dutch so my English isn''t that great.

Anyway: It would indeed make a great tutorial or demo. Isn''t there anyone around who has actually implemented this ''multi niche'' thingie?
Because I don''t quite see how it exactly works, MikeD ?

Edo
Edo
The basic idea is similar to a subsumption architecture (See Rodney Brooks, "Intelligence without Reason") where you start out with the simple behaviours and build them up. First getting the bot to walk from A to B, quite happily using A* for the path finding and the neural net for the path traversal. Then get the bot to avoid dynamic obstacles while walking, then avoid being shot by other bots and finally to hunt down other bots and shoot them. Brooks'' original idea had each level frozen once its functionality was complete and the next level built on top of it. By allocating a neural network to perform function (a), evolving it, then freezing it (or not, I''m not sure if this is truly necessaey) before adding another section to the network (either interconnected or separately depending on whether the functions are connected) and evolving for function (b), while continuing to keep evolutionary pressure for the first function, you should, in theory, end up with a network that can perform all the functions having been built up incrementally. If I remember correctly that''s how the fighter jet example was done by the people at creature labs.

Before you ask, I haven''t implemented this kind of idea, however it has been shown, in academia, that it is quite difficult to evolve 8 functions all at once from scratch and that incremental evolution makes the job a lot easier.

Mike
quote: Original post by Timkin

IMHO, you''d get better performance using a multi-niche ANN. These were used to great affect in Creatures and Creatures 2. Further to this, the technology was also used to evolve autonomous pilots for f-16 combat simulations. The ANNs were evolved using evolutionary techniques and after only 300 generations the artificial pilots were frequently killing the top US F-16 combat pilots in simulated combat. Part of the reason for this was that the artificial pilots were not constrained by the limits of the human body, but rather the limits of the aircraft! There was a good writeup on this in New Scientist several years ago. I have the back issue here in my office... I might take a look through my collection this afternoon to find the reference for you.



That particular study was pretty darn interesting. In my "day job" (missile defense) we often talk about this situation (AI pilots being able to work to the limits of the aircraft rather than the limits of the human body). I believe we''re moving closer and closer to precisely that kind of environment, where pilots will sit on the ground and "oversee" pilotless combat aircraft rather than fly up themselves. Robots are simply going to be faster and pilotless planes can carry more ordnance.




Ferretman

ferretman@gameai.com
www.gameai.com
From the High, Cold, Snowy Mountains of Colorado

Ferretman
ferretman@gameai.com
From the High Mountains of Colorado
GameAI.Com

This topic is closed to new replies.

Advertisement