Selection Strategy

35 views
Skip to first unread message

Vikas Agrawal

unread,
Dec 12, 2013, 10:21:37 AM12/12/13
to watch...@googlegroups.com
For pluggable selection strategies such as Roulette Wheel Selection, Tournament Selection and other selection strategies provided, what is the default selectionSize? Is it always equals to the size of the population?

Thanks,

Vikas

Daniel Dyer

unread,
Dec 12, 2013, 2:49:55 PM12/12/13
to watch...@googlegroups.com
All of the selection strategies require the number to be specified as an
argument to the select method, so it depends on the implementation of the
EvolutionEngine that you are using. For the GenerationalEvolutionEngine,
this is the size of the population (less the number of individuals that
have been preserved by elitism), so that the size of the population is
constant from generation to generation. The SteadyStateEvolutionEngine on
the other hand typically only selects one or two individuals at a time.
If you want to alter the selection behaviour of any of the evolution
engines, you would have to sub-class it and over-ride the
nextEvolutionStep method.

Dan.

--
Daniel Dyer

Vikas Agrawal

unread,
Dec 18, 2013, 10:17:37 AM12/18/13
to watch...@googlegroups.com
Thank you Daniel for your prompt response. It helps me a lot. I am new to this field and more I dig in the more I get fascinated by this field. Thanks for developing such a useful framework. I started using it quite a bit for my research.

I had one more question if you can answer. Can we combine two termination conditions i.e. the GenerationalEvolutionEngine should terminate for Stagnation, but if no Stagnation is achieved, then at least to up to the GenerationalCount?

Many thanks for providing support.

klaas hoelscher

unread,
Dec 18, 2013, 4:07:52 PM12/18/13
to watch...@googlegroups.com
Hey Vikas,

it is possible to simply set multiple termination conditions for any EvolutionEngine, see http://watchmaker.uncommons.org/api/org/uncommons/watchmaker/framework/EvolutionEngine.html .

If set to Stagnation for 20 generations and GenerationCount 50, you would have at least 20 runs, at most 50. If you need more fine grained
termination, it would be pretty easy to combine the termination conditions in your own build of the framework.

regards,
Klaas


2013/12/18 Vikas Agrawal <avi...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "Watchmaker Framework for Evolutionary Computation" group.
To unsubscribe from this group and stop receiving emails from it, send an email to watchmaker+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Vikas Agrawal

unread,
Dec 23, 2013, 2:14:01 PM12/23/13
to watch...@googlegroups.com
Hello Klass,

Thank you very much for the response. After you explained, I failed to understand how did I miss that point while referencing to API. 

Vikas
Reply all
Reply to author
Forward
0 new messages