On May 31, 2016, at 1:22 AM, Atm Golam Bari <[log in to unmask]> wrote:
>>> MultiPopCoevolutionaryEvaluator (under ec/coevolve/) extends SteadyStateEvaluator and overrides evaluatePopulation(, , )
1. I presume you modified MultiPopCoevlutionaryEvaluator to do these things.
2. SteadyStateEvaluator doesn't use evaluatePopulation. It uses evaluateIndividual and works with SteadyStateEvolutionState, not SimpleEvolutionState.
>>> GroupedProblem inside MultiPopCoevolutionaryEvlauator is changed into SimpleProblem
??? The purpose of coevolution is to evaluate individuals in the context of one another. SimpleProblem would make no sense.
>>> Inside performCoevolutionaryEvaluation (, , ), writing prob.evluate(....) is called two times each for one population to be workable with SimpleProblem.
This isn't coevolution then. It's just two separate populations.
> What am I missing? Is it a right way to handle SSEA in a two pop coevoluton? Any suggestion or new approach is highly appreciated.
I think you need to first think about what SSEA means in a coevolutionary context. Steady State is basically this:
I <- breed new individual
F <- evaluate individual
G <- add individual into population, perhaps displacing an existing individual
How would you modify this loop to do SSEA in the way you're hoping? What kind of coevolution are you trying to do?