Created by W.Langdon from gp-bibliography.bib Revision:1.2031
@Book{poli08:fieldguide,
author = "Riccardo Poli and William B. Langdon and
Nicholas Freitag McPhee",
title = "A field guide to genetic programming",
publisher = "Published via \texttt{http://lulu.com} and freely
available at
\texttt{http://www.gp-field-guide.org.uk}",
year = "2008",
note = "(With contributions by J. R. Koza)",
URL = "
http://www.gp-field-guide.org.uk",
keywords = "genetic algorithms, genetic programming, cartesian
genetic programming, automatic programming, machine
learning, artificial intelligence, evolutionary
computation",
isbn13 = "978-1-4092-0073-4",
abstract = "Genetic programming (GP) is a systematic,
domain-independent method for getting computers to
solve problems automatically starting from a high-level
statement of what needs to be done. Using ideas from
natural evolution, GP starts from an ooze of random
computer programs, and progressively refines them
through processes of mutation and sexual recombination,
until high-fitness solutions emerge. All this without
the user having to know or specify the form or
structure of solutions in advance. GP has generated a
plethora of human-competitive results and applications,
including novel scientific discoveries and patentable
inventions.
This unique overview of this exciting technique is
written by three of the most active scientists in GP.
See www.gp-field-guide.org.uk for more information on
the book.
Table of Contents
1 Introduction
1.1 Genetic Programming in a Nutshell
1.2 Getting Started
1.3 Prerequisites
1.4 Overview of this Field Guide
Part I Basics
2 Representation, Initialisation and Operators in
Tree-based GP
2.1 Representation
2.2 Initialising the Population
2.3 Selection
2.4 Recombination and Mutation",
abstract = "
3 Getting Ready to Run Genetic Programming
3.1 Step 1: Terminal Set
3.2 Step 2: Function Set
3.2.1 Closure
3.2.2 Sufficiency
3.2.3 Evolving Structures other than Programs
3.3 Step 3: Fitness Function
3.4 Step 4: GP Parameters
3.5 Step 5: Termination and solution designation
4 Example Genetic Programming Run 29
4.1 Preparatory Steps
4.2 Step-by-Step Sample Run
4.2.1 Initialisation
4.2.2 Fitness Evaluation
4.2.3 Selection, Crossover and Mutation
4.2.4 Termination and Solution Designation
Part II Advanced Genetic Programming
5 Alternative Initialisations and Operators in
Tree-based GP
5.1 Constructing the Initial Population
5.1.1 Uniform Initialisation
5.1.2 Initialisation may Affect Bloat
5.1.3 Seeding
5.2 GP Mutation
5.2.1 Is Mutation Necessary?
5.2.2 Mutation Cookbook
5.3 GP Crossover
5.4 Other Techniques
6 Modular, Grammatical and Developmental Tree-based
GP
6.1 Evolving Modular and Hierarchical Structures
6.1.1 Automatically Defined Functions
6.1.2 Program Architecture and
Architecture-Altering
6.2 Constraining Structures
6.2.1 Enforcing Particular Structures
6.2.2 Strongly Typed GP
6.2.3 Grammar-based Constraints
6.2.4 Constraints and Bias
6.3 Developmental Genetic Programming
6.4 Strongly Typed Autoconstructive GP with PushGP
7 Linear and Graph Genetic Programming
7.1 Linear Genetic Programming
7.1.1 Motivations
7.1.2 Linear GP Representations
7.1.3 Linear GP Operators
7.2 Graph-Based Genetic Programming
7.2.1 Parallel Distributed GP (PDGP)
7.2.2 PADO
7.2.3 Cartesian GP
7.2.4 Evolving Parallel Programs using Indirect
Encodings
8 Probabilistic Genetic Programming
8.1 Estimation of Distribution Algorithms
8.2 Pure EDA GP
8.3 Mixing Grammars and Probabilities
9 Multi-objective Genetic Programming
9.1 Combining Multiple Objectives into a Scalar Fitness
Function
9.2 Keeping the Objectives Separate
9.2.1 Multi-objective Bloat and Complexity
Control
9.2.2 Other Objectives
9.2.3 Non-Pareto Criteria
9.3 Multiple Objectives via Dynamic and Staged Fitness
Functions
9.4 Multi-objective Optimisation via Operator Bias
10 Fast and Distributed Genetic Programming
10.1 Reducing Fitness Evaluations/Increasing their
Effectiveness
10.2 Reducing Cost of Fitness with Caches
10.3 Parallel and Distributed GP are Not
Equivalent
10.4 Running GP on Parallel Hardware
10.4.1 Master slave GP
10.4.2 GP Running on GPUs
10.4.3 GP on FPGAs
10.4.4 Sub-machine-code GP
10.5 Geographically Distributed GP
11 GP Theory and its Applications
11.1 Mathematical Models
11.2 Search Spaces
11.3 Bloat
11.3.1 Bloat in Theory
11.3.2 Bloat Control in Practice
Part III Practical Genetic Programming
12 Applications
12.1 Where GP has Done Well
12.2 Curve Fitting, Data Modelling and Symbolic
Regression
12.3 Human Competitive Results the Humies
12.4 Image and Signal Processing
12.5 Financial Trading, Time Series, and Economic
Modelling
12.6 Industrial Process Control
12.7 Medicine, Biology and Bioinformatics
12.8 GP to Create Searchers and Solvers
Hyper-heuristics
12.9 Entertainment and Computer Games
12.10 The Arts
12.11 Compression
13 Troubleshooting GP
13.1 Is there a Bug in the Code?
13.2 Can you Trust your Results?
13.3 There are No Silver Bullets
13.4 Small Changes can have Big Effects
13.5 Big Changes can have No Effect
13.6 Study your Populations
13.7 Encourage Diversity
13.8 Embrace Approximation
13.9 Control Bloat
13.10 Checkpoint Results
13.11 Report Well
13.12 Convince your Customers
14 Conclusions
Part IV Tricks of the Trade
A Resources
A.1 Key Books
A.2 Key Journals
A.3 Key International Meetings
A.4 GP Implementations
A.5 On-Line Resources
B TinyGP
B.1 Overview of TinyGP
B.2 Input Data Files for TinyGP
B.3 Source Code
B.4 Compiling and Running TinyGP
Bibliography
Index",
notes = "http://www.gp-field-guide.org.uk/",
size = "250 pages",
}
Genetic Programming entries for Riccardo Poli William B Langdon Nicholas Freitag McPhee