A Field Guide to Genetic Programming

Recommended

A Field Guide to Genetic Programming

Preface

Genetic programming (GP) is a collection of evolutionary computation techniques that allow computers to solve problems automatically. Since its inception twenty years ago, GP has been used to solve a wide range of practical problems, producing a number of human-competitive results and even patentable new inventions. Like many other areas of computer science, GP is evolving rapidly, with new ideas, techniques and applications being constantly proposed. While this shows how wonderfully prolific GP is, it also makes it difficult for newcomers to become acquainted with the main ideas in the field, and form a mental map of its different branches. Even for people who have been interested in GP for a while, it is difficult to keep up with the pace of new developments.

Many books have been written which describe aspects of GP. Some provide general introductions to the field as a whole. However, no new introductory book on GP has been produced in the last decade, and anyone wanting to learn about GP is forced to map the terrain painfully on their own. This book attempts to fill that gap, by providing a modern field guide to GP for both newcomers and old-timers.

About the book

The book is divided up into four parts.

Part I covers the basics of genetic programming (GP). This starts with a gentle introduction which describes how a population of programs is stored in the computer so that they can evolve with time. We explain how programs are represented, how random programs are initially created, and how GP creates a new generation by mutating the better existing programs or combining pairs of good parent programs to produce offspring programs. This is followed by a simple explanation of how to apply GP and an illustrative example of using GP.

In Part II, we describe a variety of alternative representations for programs and some advanced GP techniques. These include: the evolution of machine-code and parallel programs, the use of grammars and probability distributions for the generation of programs, variants of GP which allow the solution of problems with multiple objectives, many speed-up techniques and some useful theoretical tools.

Part III provides valuable information for anyone interested in using GP in practical applications. To illustrate genetic programming’s scope, this part contains a review of many real-world applications of GP. These include: curve fitting, data modelling, symbolic regression, image analysis, signal processing, financial trading, time series prediction, economic modelling, industrial process control, medicine, biology, bioinformatics, hyper heuristics, artistic applications, computer games, entertainment, compression and human-competitive results. This is followed by a series of recommendations and suggestions to obtain the most from a GP system. We then provide some conclusions.

Part IV completes the book. In addition to a bibliography and an index, this part includes two appendices that provide many pointers to resources, further reading and a simple GP implementation in Java.

Attribution

Riccardo Poli, William B. Langdon, and Nicholas F. McPhee (2008), A Field Guide to Genetic Programming, URL: http://www.gp-field-guide.org.uk/

This work is licensed under the Creative Commons Attribution- Noncommercial-No Derivative Works 2.0 UK: England & Wales License (http://creativecommons.org/licenses/by-nc-nd/2.0/uk/).

VP Flipbook Maker

This book is displayed with VP Online Flipbook maker, professional tool for flipbook creation and converting documents to digital flipbook. Try it now!