Getting Darwinian Evolution to Work

By ai-depot | February 12, 2003

A Possible Improvement

A Possible Improvement to the Method

This document is intended to introduce the basic idea only and a further improvement is possible. The current method involves a multi-layer system of interpretative architectures, but this has the disadvantage that as each successive layer is added efficiency is lost and the rate at which the top level can run will be very much reduced if there are a large number of interpretative layers beneath it. The evolution process involves �running� systems in the multi-layered architecture many times, so any inefficiency in the way that systems expressed within the context of a multi-layered architecture will run will also have an effect on the rate of the evolution process.

An improvement would involve using a compilation based system, rather than an interpretative system. The paradigm would be essentially the same, though what is going on in the machines may appear to be superficially different. With a compilation system the equivalents of the interpretative layers are spaced out over time, instead of within the computer and each layer is used as a �compiler� to process a sequence of symbols that builds the next �layer�. All layers would be interpreted directly by the base architecture, giving an increased processing rate and a more rapid evolution process and evaluation of a particular �compiler� would involve investigating how well evolution proceeds for a large number of different evaluation functions, where the software being evolved is compiled by that compiler.

The details of such a system may be the subject of a later article.

An improvement of this sort would not be particularly difficult. However, I describe an interpretative system, rather than one of this type, in this article, because I think it is easier to use to illustrate and justify the sort of process that I have in mind.

This sort of compilation based system would involve some abstraction in the way that the description builds the actual system and may be better received by some readers who may think that the multi-layered architecture view that I propose is not a strictly correct representation of what happens in nature.

When we look at how organisms are built from their genotypes, we certainly see a lot of complexity and abstraction. It may be tempting to think that all we have to do, in fact, is to introduce some abstraction into the way that our equivalent of the genotype constructs the phenotype, but I think the way in which we perform our evaluation must still �score� systems according to how quickly next layer systems tend to evolve, in order to create a selection pressure for evolvability.

Is this an attack on Charles Darwin?

No. I do not propose that Darwin�s theory of evolution is wrong, nor does this article claim to fill in any missing �gaps� in the theory.

What is being presented here is a particular interpretation of what is going at a higher level of abstraction, with proposals of how to model evolutionary processes at that level of abstraction.

A good criticism could be made of the proposal based on this. It could be suggested that, since I think that Darwinian evolution processes can be viewed at this higher level of abstraction then we do not need to explicitly use this idea when attempting Darwinian evolution on a computer. Such criticism would suggest that, if the ideas on which this article is based are correct, all we have to do is set up a standard Darwinian evolution process and then wait for the required hierarchical systems to emerge within the data that is being created.

I would not say that this is wrong in principle, but the most fundamental view of a process is not necessarily the best one to use when implementing a computer model of that process: weather can be described quite adequately by thinking of the atmosphere in terms of individual molecules bouncing around with various processes intervening, but this view is hardly the best one to use to make a computer model for weather forecasts: a higher level view of meteorology, involving more abstract concepts (in this case statistically derived from our lower level view) can be generated and found useful for computer modelling without contradicting the lower level description in any way.

While I do not claim that Darwinian evolution without explicitly incorporating some method like the one proposed here would fail, I do suggest that it would take an impractically long period of time to generate enough sophistication of interpretation to allow evolution of the sorts of highly sophisticated systems that we would find economically useful. Darwinian evolution in nature does not have this problem � early life would have involved construction of very large numbers of copies of organisms, so that it has, effectively, a massive amount of parallel processing capacity. The natural process also has very long periods of time available in which to work. My suggestion is that we depart from this natural process slightly, by explicitly incorporating into our evolution processes a mechanism to drive evolution of the sophistication that will appear in nature to facilitate the evolution process.

Written by Paul Almond.

Pages: 1 2 3

Tags: none
Category: essay |

Comments