Imagine a world in which computers program other computers based on strategies borrowed from biology and natural selection. Genetic Programming: An Introduction
explores fascinating possibilities like these in a thriving area of computer-science research. This research-quality book is for anyone who wants to see what genetic programming is and what it can offer the future of computing.
This text begins by situating genetic programming in terms of the history of computing and machine learning. Early sections show the links between Darwinism, molecular biology, and genetic programming. (Genetic programming uses the strategy of natural selection by solving a problem in successive iterations, which produces the "fittest" solution, much like new species evolve in the natural world.)
The authors present a lot of molecular-biology background since it is central to the genetic-programming project. (There are interesting parallels here. Just as our DNA contains inert information, programs developed using genetic algorithms usually contain many "extra" instructions, too--which often leads to bloated, though effective, code in the final product.) Even though this is extremely technical material, the authors do manage to engage the reader in the imaginative leap from Darwin and DNA to computers and the world of genetic programming.
Later chapters define what genetic programming is and what strategies it uses to let computers program themselves. The authors also examine the state of the art of genetic programming and define what problems need to be solved before it can be widely adopted. The amount of research in this section will mostly benefit specialists in the genetic-programming field.
A later chapter on applications that use genetic programming offers dozens of papers, with applications of this approach from a wide variety of fields, including biology, industry, and computers (and some impressive technologies such as robotics and data mining). Though the authors exaggerate somewhat on how "real world" these applications are, it's clear that genetic programming will continue to improve and find its way into more areas of computing--with even more productive results. Though coding by humans is safe for the foreseeable future, genetic programming offers an appealing alternative to some kinds of problems. --Richard V. Dragan
"[The authors] have performed a remarkable double service with this excellent book on genetic programming. First, they give an up-to-date view of the rapidly growing field of automatic creation of computer programs by means of evolution and, second, they bring together their own innovative and formidable work on evolution of assembly language machine code and linear genomes."
--John R. Koza