Closed JJ closed 7 years ago
Maybe you should use the following (text taken from one of our papers):
co-evolution is the mutual evolutionary influence between several species [1,2], whereby several populations evolve in different EAs. According to dependencies between species, interactions between populations of different classes of individuals, the following classification could be made:
• Competitive co-evolutionary algorithms [3,4]: The fitness of an individual depends on how it performs in competition with individuals from other species (each species competes with the remainder).
• Cooperative co-evolutionary algorithms [5]: The fitness of an individual depends on its ability to cooperate with individuals from other species in order to solve a target problem. In those cases where the problem can be divided into interrelated subproblems, a cooperative model is suitable [5].
[1] P. Husbands. Distributed coevolutionary genetic algorithms for multi-criteria and multi-constraint optimisation. Evolutionary Computing, Lecture Notes in Computer Science, Vol. 865, pp.150-165, T. Fogarty et al. (Ed.), Springer- Verlag, 1994. [2] J. Paredis. Coevolutionary computation. Artificial Life, 2:355-375, 1995. [3] B. Olsson. Co-evolutionary search in asymmetric spaces. Information Sciences, 133 (3-4), pp. 103-125, 2001. [4] C.D. Rosin and R.K. Belew. New methods for competitive coevolution. Evolutionary Computation, 5(1):1-29, 1997. [5] M.A. Potter and K.A. De Jong. Cooperative coevolution: an architecture for evolving coadapted subcomponents. Evolutionary Computation, 8(1):1- 29, 2000.
It does not fit either of the definitions.
Ok, I agree we should specify better our approach in the taxonomy. Look at this definition by Dorronsoro:
Cooperative coevolution, as defined in the framework proposed by Potter et al. in [3], consists in splitting the solution vector into different subcomponents that are evolved in different subpopulations which periodically exchange their partial solutions.
In our case we are not splitting the solution vector, but focusing in one subcomponent only for mutate/cross. Although in our case, we are not evolving "species", per se (the length of the individuals is always L), when we accept a migrant in a population, we could say that we are "collaborating", as we are adding its genes (evolved outside) to the new crossed individuals.
What do you think?
I think it is not coevolutive, and it does not really add anything to the paper to consider it that way. There's a lot of explaining involved and we don't win anything with it.
After a month in stand-by due to classes and exams (sorry!) I think you are right. I'm gonna remove all mentions to cooperative and co-evolutive. Any naming cool to describe our methods? "Selective operation application"? Something like that.
Whatever, but check first if it's a precise definition of the topic. Selective looks cool.
It is a good name
The usual definition https://wiki.ece.cmu.edu/ddl/index.php/Coevolutionary_algorithms is an algorithm where fitness depends on context: cooperative or competitive. I don't think that's the case here, even if Dorronsoro says so.