Archived

This topic is now archived and is closed to further replies.

Genetic Algortihm

This topic is 5011 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have created a Genetic Algorithm and all is fine so far. However I need more genetic diversity. Anybody have any good articles on how to achieve good genetic diversity. I know a low Mutation rate and a small tournament size help, but thats not enough. -CProgrammer

Share this post


Link to post
Share on other sites
Implement an "Angel of Death". Some sort of pass over the population that happens rarely but once in a while where you randomly kill off entities or whatever objects you have competing for no reason. This increases chance of diversity too and usually needed in genetic AI because you get situation where you reach a local maximum and need to break it down to find a better solution.

~Wave

[edited by - Wavewash on March 23, 2004 11:51:54 PM]

Share this post


Link to post
Share on other sites
your better of trying to test whether your population has become stagnant, either by checking how similar your chromosomes are (hamming codes or the like) or by seeing how similar all your fitness values are.

you could also try implementing more operators than just binary mutate and crossover.

Share this post


Link to post
Share on other sites
quote:
Original post by CProgrammer
I have created a Genetic Algorithm and all is fine so far. However I need more genetic diversity.
Anybody have any good articles on how to achieve good genetic diversity. I know a low Mutation rate and a small tournament size help, but thats not enough.
-CProgrammer


Er, no, you want a high mutation rate. High mutation means more changes which means more diversity. Low mutation means that once your algorithm starts to converge on an answer, there''s little chance of finding a totally different (but better) answer.

This may be better off in the AI forum.

[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]

Share this post


Link to post
Share on other sites
quote:
Original post by Kylotan
Er, no, you want a high mutation rate.

This may be better off in the AI forum.


Agreed.

You can introduce more ''randomness'' by both adding different operators, and different selection schemes.
If you use a random selection scheme, you should end up with more random individuals.

Other operators you can try are non-binary operators, like average, and creep, and double or more point crossovers.

You could also just add a few random individuals into your population, and then use a random selection scheme, as that will let you control the ammount of randomness introduced quite nicely.

Share this post


Link to post
Share on other sites