Abstract

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 optimization is achieved through manual design. However, manual design can be slow and error-prone, and recently there has been increasing interest in automatic 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 programming 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 programming does use is not well suited to evolution. Biological representations, by comparison, are a product of evolution and, a fact to which this book is testament, describe computational structures. This chapter is about enzyme genetic programming, a form of genetic programming that mimics biological representations in an attempt to improve the evolvability of programs. Although it would be an advantage to have a familiarity with both genetic programming and biological representations, concise introductions to both these subjects are provided. According to modern biological understanding, evolution is solely responsible for the complexity we see in the structure and behavior of biological organisms. Nevertheless, evolution itself is a simple process that can occur in any population of imperfectly replicating entities where the right to replicate is determined by a process of selection. Consequently, given an appropriate model of such an environment, evolution can also occur within computers.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call