Hi,
I have a question about coevolution, to be more specific, it is about the
class MultiPopCoevolutionaryEvaluator.
In this class, a set of parameters with prefix "eval.subpop.i" are defined
for each subpopulation, i.e., "num-elites", "num-random-ind", "num-ind", and
"select".
Because I am writing a new Evaluator class for coevolution, I have the
following question : is it "necessary" to use these parameters to define
the breeding of each subpopulation in coevolution? May I just define two
breeding pipeline like this:
----------------------------------------------
pop.subpops = 2
breed.elite.0 = 10
pop.subpop.0.species.pipe = ec.vector.breed.VectorMutationPipeline
pop.subpop.0.species.pipe.source.0 = ec.vector.breed.VectorCrossoverPipeline
pop.subpop.0.species.pipe.source.0.source.0 = exp.util.RankSelection
pop.subpop.0.species.pipe.source.0.source.1 = exp.util.RankSelection
breed.elite.1 = 10
pop.subpop.1.species.pipe = ec.vector.breed.VectorMutationPipeline
pop.subpop.1.species.pipe.source.0 = ec.vector.breed.VectorCrossoverPipeline
pop.subpop.1.species.pipe.source.0.source.0 = exp.util.RankSelection
pop.subpop.1.species.pipe.source.0.source.1 = exp.util.RankSelection
-----------------------------------------------
and ignore these eval.subpop.i.* in my own Evaluator class?
Actually, in the class "CompetitiveEvaluator", there is no such parameters,
so I wonder if I must handle the selection in an Evaluator class.
Thanks in advance.
Ting-Shuo Yo
|