Genetic Algorithm - what is steady state selection?

霸气de小男生 提交于 2019-12-03 12:02:38

问题


I'm doing a final year project on genetic algorithms - specifically of the Dawkins Weasel type. I've done roulette selection and tournament selection, still to do steady state selection, but I'm not sure exactly what it is and references I find online are all pretty vague.

Does anyone know how it should be implemented? Any pointers would be great.

Many thanks.


回答1:


Typically, the run of a genetic algorithm is divided into generations - each generation your selection and reproduction process replaces all (or at least most) of the population. In a steady state genetic algorithm you only replace a few individuals at a time.

Use a standard selection technique to pick parents to produce these few offspring. Then randomly select the same number of individuals, kill them off, and replace them with the offspring (you could select unfit individuals for death, but that may wipe out population diversity in a non-trivial problem).

You should only evaluate fitness once per individual - after you evaluate the fitness, save it and then reuse that number in the future. Protip: when a new individual is created, flag it as being unevaluated, and then evaluate it the first time it's needed (this way, if an individual is created and then randomly selected for death before being used, you don't consume time evaluating its fitness).

A basic implementation should be fairly simple, but you can check out Essentials of Metaheuristics (pages 45-46, ebook available free).



来源:https://stackoverflow.com/questions/4768196/genetic-algorithm-what-is-steady-state-selection

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!