Thursday, September 14, 2006

Review: "From artificial evolution to computational evolution: a research agenda"

A group of people whose work I respect (Dr. Miller was examiner at my PhD viva and I met Prof. Banzhaf in EA conferences) have recently written a paper entitled "From artificial evolution to computational evolution: a research agenda" that was published in the latest Nature Review Genetics (vol 7, page 729):

Despite the journal in which they decided to publish it, the paper is addressed mainly to computer scientists working in the field of evolutionary computing. Researchers in this field use algorithms inspired by evolution in order to solve problems of optimisation in all sorts of field of engineering. Say you have to find the parameters that optimise a set of equations. If you encode these parameters into a string of number and create a bunch of these strings initialising them with random values you can use selection and crossover to find values that optimise the equation. Since not all the strings will produce the same results in the equation, we can discard the worst performing ones and fill the space they left with variations of the best performing ones. If we iterate this algorithm a number of times, thus producing successive generations of the initial population of strings, we are likely to obtain sets of parameters that, if not optimal, will likely to be fairly close to it.

This neat idea of using evolution in engineering (or even in art! I know a few examples of people that have used evolution inspired algorithms to produce music or paintings) has produced some interesting results but several people have already found that the very simplistic interpretation of evolution that computer scientists and engineers use in their algorithms is no match for the real thing. Real natural evolution (as opposed to artificial one) is both creative and open-ended.

Banzhaf et al identifies some of the shortcomings of traditional evolution-inspired algorithms and proposes a number of improvements framed in the new context of Computational Evolution (CE). This seems to consist, mainly, on adding extra bits of reality in the abstraction of evolution used by engineers and computer scientists in order to provide evolution with some complexity to play with. By doing this, for instance embedding it into analogue electronic circuits, they hope that artificial evolution will be successful were it was not before: solving ill-defined open-ended problems.

While I entirely agree with the idea that the original evolution-inspired algorithms could be significantly improved by enriching the stuff on which evolution works more complex and life-like, I am not sure that what they suggest is so ground breaking as to call the field a different name. Besides, many of the suggestions mentioned have been in use by computer scientists (especially the authors of the article) for some time (for example: more biologically plausible genotype-phenotype mappings, on which people like Peter Bentley or Julian Miller have done very useful work).

In any case I would not like to sound as if I did not like the paper. I did and I think that despite some further objections (such as: why don't they explain why the bits of nature that they decided to pick are the really necessary ones?). Actually I would like to join my voice to theirs and suggest a further use of computational evolution - A more realistic model of evolution can be used not only to do engineering but also to study evolution per se. I would definitely be interested (and in a way that is what I do for a living) in using Computational Evolution to study evolution from a theoretical perspective.

Post a Comment