Here's a list of my publications.
Evolutionary computation
Evolutionary algorithms are computer programs inspired by the natural process of evolution. They are often used in design and optimisation problems. The idea is to represent a set of possible solutions to a problem using some artifical "genetic code" and then let the system evolve better and better solutions. There are many variants on this theme and many successful applications. However, we still have a fairly limited understanding of what these algorithms are doing, and why they behave as they do. My research interest is in describing these systems mathematically and then trying to prove things about them. Hopefully this will eventually lead to a better understanding of when and why evolutionary algorithms can be used, or at least challenge some of the naive assumptions people make about them!
I do a lot of work with Michael
Vose (who wrote The Simple Genetic Algorithm, MIT Press)
and Alden Wright.
I have written a book with
Colin Reeves called
Genetic algorithms: principles
and perspectives published by Kluwer.
Local Search and Representation
The issue of how best to represent possible solutions is an important
one for all kinds of search algorithms. For local search, the representation
defines the neighbourhood structure of the space. I have been working with
Darrell Whitley on
the use of Gray codes for local search algorithms. In particular, we looked
at a way of changing representation in mid-search so as to escape from local
optima. I have developed a continuous version of this search algorithm, which
has been applied to medical image understanding problems.
Emergent behaviour
One of the cool things about evolutionary algorithms is how the interactions
of individuals (in terms of crossover, mutation etc) causes corresponding
changes to the populations which they are in. One therefore has to develop
a mathematics in which properties can be "lifted" from the level of individuals
to populations. Properties at the population level may be said to emerge
from the interactions of the individuals. Michael Vose, Alden Wright
and I have recently been looking at conditions under which equivalence relations
defined on the set of individuals can be lifted to the population level. The
issue is that you may have some model of how the population changes with time,
and you need to know whether or not you can "coarse-grain" this model so
as to respect the equivalence relations. This problem applies to multi-agent
systems in general (evolutionary algorthims are a special case).
Social and biological simulations
A while ago I did some work with James Marshall who was investigating sources of cooperation in simulations of biological systems. There are two theories: that we cooperate with people we are related to, and that we cooperate with people we spend a lot of time with. Of course in a lot of natural systems, these two conditions overlap. James used an artifical life simulation to investigate these hypotheses separately. One interesting conclusion: being nice to our relations might actually hinder the development of cooperation with our unrelated neighbours.
I was involved with a European project called COSI investigating complex systems and emergence in social situations. I worked with Rocio Gomez on developing a simulation tool for studying emerging patterns in crowds, and with Dominique Chu on using a multi-agent simulation approach to understanding malaria. Dominique is now a research fellow at the University of Kent and we have worked together on simulation of uptake signal sequences in bacteria.
The EU project Digital Business Ecosystems exploited the emergence of self-organisation in evolution to enable efficient software delivery and usage. My part in this project was to undertake theoretical investigation of the evolution of high-level software, and to study the effects of network topology on information flow and long-term evolution. I worked on this with Boris Mitavskiy who was a research fellow here.
I was the coordinator of the ESIGNET project (Evolving Cell Signalling Networks in Silico), in which we studied how chemical signals in cells can be interpreted as computations, and how they could be investigated through artificial evolution techniques. Chrisantha Fernando and Eduardo Izquierdo worked with me on this project at Birmingham.
Quantum Computation
I worked with Ahmed Younes and Julian Miller on quantum computation algorithms for efficient searching.
PhD Students and Research Fellows
Here is a list of PhD students and Research Fellows that I have supervised.
Rocio Gomez