Subject: | |
From: | |
Reply To: | |
Date: | Wed, 21 Mar 2007 11:06:07 -0400 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
On Mar 21, 2007, at 7:04 AM, Alberto Cuesta wrote:
> Hello all,
>
> why ec.Evolve setups some parameters of the EvolutionState?, namely:
Good question. Some answers:
> evolutionState.parameters
It's not easy to load the parameters parameter from a Parameter
Database which is defined by the parameters parameter. :-)
> evolutionState.output
ECJ needs to be able to output messages if it fails in the very
earliest loading time. So this has to be preset.
> evolutionState.evalthreads
> evolutionState.breedthreads
These variable determine the number of random number generators, see
below.
> evolutionState.random
> evolutionState.randomSeedOffset
This is historical -- there's no particular reason we can't set the
random number generators in EvolutionState I think.
So I think we can easily get rid of all but evolutionState.parameters
and evolutionState.output. Now one problem here is that output and
parameters are both things that you'd want to swap out or subclass.
One option would be to create an interface for each which you can
implement. The simplest option right now is for you to just subclass
directly. A problem with the interface mechanism is that Output has
some static methods, so it'd probably have to be an abstract class
instead.
Sean
|
|
|