Created by W.Langdon from gp-bibliography.bib Revision:1.8028
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",
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",
Video of writing the book http://youtu.be/ftjci2XJbFA
Added March 2020 http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/gp-code/tiny_gp",
Genetic Programming entries for Riccardo Poli William B Langdon Nicholas Freitag McPhee