Information Technology Reference
In-Depth Information
3
Enzyme Genetic
Programming
Michael A. Lones and Andy M. Tyrrell
Programming is a process of optimization; taking a specification, which tells us
what we want, and transforming it into an implementation, a program, which
causes the target system to do exactly what we want. Conventionally, this op-
timization is achieved through manual design. However, manual design can be
slow and error-prone, and recently there has been increasing interest in auto-
matic programming; using computers to semiautomate the process of refining
a specification into an implementation.
Genetic programming is a developing approach to automatic programming,
which, rather than treating programming as a design process, treats it as a
search process. However, the space of possible programs is infinite, and finding
the right program requires a powerful search process. Fortunately for us, we
are surrounded by a monotonous search process capable of producing viable
systems of great complexity: evolution.
Evolution is the inspiration behind genetic programming. Genetic program-
ming copies the process and genetic operators of biological evolution but does
not take any inspiration from the biological representations to which they are
applied. It can be argued that the program representation that genetic program-
ming does use is not well suited to evolution. Biological representations, by
comparison, are a product of evolution and, a fact to which this topic is testa-
ment, describe computational structures.
This chapter is about enzyme genetic programming, a form of genetic pro-
gramming that mimics biological representations in an attempt to improve the
19
 
Search WWH ::




Custom Search