|
EPSRC Network on Evolvability in Biology & Software SystemsSoftware Evolution and Evolutionary Computation Symposium Abstracts
University of Hertfordshire, Hatfield, U.K.
|
PAUL MARROW
Intelligent Systems Laboratory
BTexact Technologies
Adastral Park, Ipswich, IP5 3RE, U.K.
Evolutionary systems are of great practical as well as theoretical interest, in computer science and biology. We know something about how to design evolving computer systems, through evolutionary algorithms, and a lot about why biological organisms have evolved in the way they have. However we still know little in general about the capacity for evolutionary change, what we might call evolvability. Evolvability is clearly an important characteristic of evolutionary systems, and thus should be relevant to evolutionary computation, and to evolutionary biology. Evolvability will often be a population-level property. An evolvable population may be a collection of candidate solutions in an evolutionary algorithm, a collection of simulated organisms in an artificial life model, a collection of computer programs, a collection of organisms in a biological population, or a combination of these.
One of the reasons for wanting to understand evolvability is in order to be able to evolve complex solutions to problems. Such solutions are of interest in the applications context, because entities such as telecommunications or computing networks can become tremendously complex and difficult to manage. Addressing evolvability directly is a challenge because of the difficulty of defining and distinguishing the concept from other evolutionary phenomena. Nevertheless there are ways in which evolvable populations can be perturbed resulting in changes that could affect their capacity to evolve. In this presentation I will discuss several of the areas of research at BTexact Technologies that relate to the evolvability of evolutionary systems.
One area of research is that of neutrality in evolutionary fitness landscapes. The genotype-to-phenotype mapping provides links between the genome of an individual in an evolutionary algorithm and its expression in solving a problem. By developing neutrality in genotype-to-phenotype mappings in evolutionary algorithms we may be able to engineer ways of overcoming constraints on evolutionary progress, thus increasing the capacity of a population (in an evolutionary algorithm) to evolve.
Other work has focused on the development of living organisms as a source of more adaptable and flexible applications. Development is of interest in the context of evolvability because it may affect the range of outcomes possible from genetic encodings. One system I will discuss is Flyphones, an algorithm for the allocation of mobile network base-station frequencies that draws upon developmental processes in the fruitfly Drosophila melanogaster. Flyphones allows adaptive real-time control of a network, but the control system itself does not evolve. By contrast, CellSim models a continually changing population of cells which interact with neighbours and the environment and control their internal state through complementary binding of evolvable bitstrings.
These represent some examples of how ideas from biology and computing can be brought together, in this case to facilitate telecommunications applications, but also to try and shed light on the evolvability of evolutionary systems.