next up previous
Next: GAs for Optimisation Up: Unconstrained Evolution and Hard Previous: Introduction

Evolution not Design

Human beings find it difficult to design complex systems, and the main heuristic used to make design easier is ``Divide and Conquer''. The complex whole is decomposed into smaller semi-independent parts or modules, which can be tackled one at a time. For this to work the modules must have minimal interactions between them, to allow any one to be tackled independently of the others. However, there are many complex systems which either do not have any such decomposition, or do not obviously show how they should be carved up.

If, however, some objective fitness function can be derived for any given complex system which is intended to carry out some specific task, there is the possibility of automatic evolution of the system without explicit design. Natural evolution is the existence proof for the viability of this approach, given appropriate resources. Genetic Algorithms (GAs) [3] use ideas borrowed from evolution in order to solve problems in highly complex search spaces, and by suitably extending GAs they can be used to search through design space whilst evading the problems of decomposition faced by human designers.

The artificial evolution approach maintains a population of viable genotypes (chromosomes), coding for designs or architectures, which are inter-bred and mutated according to a selection pressure. This pressure is controlled by a task-oriented evaluation function: the better the system performs its task the more offspring it has in succeeding generations. Offspring inherit genetic material from their parents. Rather than attempting to hand-design a system to perform a particular task or range of tasks well, the evolutionary approach should allow their gradual emergence.



Adrian Thompson
Tue Feb 25 21:48:02 GMT 1997