Artificial Development

When considering similarly structured fitness landscapes, it is well understood that the bigger the search space the longer the search will take. This makes the evolution of large phenotypes one of the most serious problems in the field of evolutionary computation.

On the other hand, biological systems seem to have come to terms with this scalability problem since living organisms can easily contain trillions of cells. These systems rely upon an artifice, the emergent process during which a single replicating cell develops into the mature organism. Inside each cell, an identical set of genes interact to provide the instructions for development. For example, it is estimated that there are only 30-40 thousands genes in the human genotype (45 millions out of the 10 billion DNA bases), while 100 trillion cells constitute a mature phenotype. The benefits that a development approach may offer, include:

Scalability: Since the search space grows exponentially with the genotype size, evolution of large phenotypes should benefit from parsimonious encodings. Amongst these indirect encodings, development uses a genetically encoded growth program in several recursive steps. Parsimony arises from the fact that rewriting rules can be applied an arbitrary number of times, so that the genotype size should be highly independent of the phenotype size.

Robustness: The regenerative capabilities of biological organisms have always been a source of inspiration for researchers. A very interesting property of multi cellular development models is that they show emergent fault recovery. In many cases, self-repair appears as an emergent by-product of development. With each cell's behaviour based on the same growth program and only local variables, development achieves an intrinsic stability.

Structure: When evolving artificial artifacts, such as robot morphologies or neural network controllers, often the most efficient solutions have no trivial structures. By producing solutions by applying development, arbitrary structures can emerge exploiting the underlying complex (or unknown) physical substrate.

Ongoing Development Projects

Project: Complexity issues in Artificial Development

Can artificial development solve problems requiring "complex solutions"?

Compared with what is known about classical algorithms, theoretical understanding of the behaviour of evolutionary algorithms is still at an early stage. This holds even more for evolutionary algorithms employing developmental genotype-phenotype mappings. Little is known about the characteristics of problems where the developmental approach is provably advantageous over traditional EA approaches.

What are the advantageous characteristics of a developmental algorithm?

Many different developmental algorithms exist, most dervied from some form of abstraction from mechanisms found in developmental biology. However, what affect do such mechanisms have on each other and the resulting complexity of achievable solutions?

Completed PhD/Masters Theses


Book or Journal


Invited Talk

PhD Thesis