>> FIRST QUESTION:
>> Is it true that the setting below will evaluate the individuals in
>> groups of two, with each individual in one group?
>> eval = ec.coevolve.CompetitiveEvaluator
>> eval.style = rand-2-ways
>> eval.group-size = 2
> Liviu is our coevolution man, but I believe this will do the
> For each individual i in the population
> If the individual has not yet had GROUPSIZE evaluations
> Pick a random individual j from the population that
> has not yet had GROUPSIZE evaluations
> evaluate i and j together once, assigning fitness to
> Sometimes it happens that there's no one on left to evaluate against,
> in which case a random person j is chosen and his fitness is not
That is correct. I would suggest you look at the single-elimination-
tournament as well, we found it to work quite nicely (check out our
GECCO 2002 paper for more details).
>> When an individual is copied, is the copy marked evaluated? I don't
>> seem to be retaining the fitness individual from the previous round.
>> Specifically, given the problem class described below, the "residual
>> fitness" message is never printed. Any ideas why this might be
>> (In the params file, I've got "pop.subpop.0.species.crossover-
>> prob =
> During breeding, except for a few GP modifiers which had a bug in
> them, individuals modified to the next generation should be marked as
> not evaluated. Individuals which are direct copies will be marked as
> evaluated. However CompetitiveEvaluator will evaluate individuals no
> matter how they're marked.
> Your GoProblem example is odd though: it appears in
> postprocessPopulation you're just trimming fitnesses to between 0 and
> 100. Why would you want to do that?
No matter who got evaluated and who did not, I believe the
coevolutionary setting will ignore that information anyway: as the
partners are changing at each generation, the information that
somebody was evaluated at a previous generation is usually not very