ECJ-INTEREST-L Archives

March 2007

ECJ-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Sean Luke <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Wed, 21 Mar 2007 11:06:07 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (42 lines)
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

ATOM RSS1 RSS2