Artificial development

From Wikipedia, the free encyclopedia

Artificial development (also known as artificial embryogeny or computational development) is an area of computer science and engineering concerned with computational models motivated by genotype-phenotype mappings in biological systems. Artificial development is often considered a sub-field of evolutionary computation, although the principles of artificial development have also been used within stand-alone computational models.

Within evolutionary computation, the need for artificial development techniques was motivated by the perceived lack of scalability and evolvability of direct solution encodings. Artificial development is based around the idea of an indirect solution encoding. Rather than describing a solution directly, an indirect encoding describes (either explicitly or implicitly) the process by which a solution is constructed. Often, but not always, these indirect encodings are based upon biological principles of development such as morphogen gradients, cell division and cellular differentiation, or analogous computational processes such as re-writing, iteration, and time or environmental interaction.

Artificial development approaches have been applied to a number of computational and design problems, including electronic circuit design, robotic controllers, and the design of physical structures.

[edit] Bibliography

  • Keith Stanley and Risto Miikkulainen (2003): "A Taxonomy for artificial embryogeny", Artificial Life 9(2):93-130, 2003.