Genetic Programming (GP) is an algorithm for evolving programs to solve specific well-defined problems.
It is a type of automatic programming intended for challenging problems where the task is well defined and solutions can be checked easily at a low cost, although the search space of possible solutions is vast, and there is little intuition as to the best way to solve the problem.
This often includes open problems such as controller design, circuit design, as well as predictive modeling tasks such as feature selection, classification, and regression.
It can be difficult for a beginner to get started in the field as there is a vast amount of literature going back decades.
In this tutorial, you will discover the top books on genetic programming.
Let’s get started.
Tutorial Overview
There are a number of books on genetic programming, which can be grouped by type.
We will explore the top books on genetic programming divided into three main groups; they are:
- Genetic Programming (Koza)
- Textbooks
- Conference Proceedings
Genetic Programming (Koza)
John Koza is a computer scientist that studied under John Holland, the inventor of the genetic algorithm.
Koza is typically credited with unifying the nascent field of genetic programming in the late 1980s and early 1990s.
He is famous for his application of genetic algorithms towards circuit designs that resulted in new patentable inventions and describing genetic algorithms as being about to routinely generate “human competitive” results.
He wrote a series of four textbooks on genetic programming, as follows:
- Genetic Programming: On the Programming of Computers by Means of Natural Selection, 1992.
- Genetic Programming II: Automatic Discovery of Reusable Programs, 1994.
- Genetic Programming III: Darwinian Invention and Problem Solving, 1999.
- Genetic Programming IV: Routine Human-Competitive Machine Intelligence, 2003.
His most recent book, “Genetic Programming IV,” is an excellent place to get started.
A table at the beginning of the book summarizes the four key takeaways; they are:
1. Genetic programming now routinely delivers high-return human-competitive machine intelligence.
2. Genetic programming is an automated invention machine.
3. Genetic programming can automatically create a general solution to a problem in the form of a parameterized topology.
4. Genetic programming has delivered a progression of qualitatively more substantial results in synchrony with five approximately order-of-magnitude increases in the expenditure of computer time.
— Page 1, Genetic Programming IV: Routine Human-Competitive Machine Intelligence, 2003.
The table of contents for this book is as follows:
- Chapter 01: Introduction
- Chapter 02: Background on Genetic Programming
- Chapter 03: Automatic Synthesis of Controllers
- Chapter 04: Automatic Synthesis of Circuits
- Chapter 05: Automatic Synthesis of Circuit Topology, Sizing, Placement, and Routing
- Chapter 06: Automatic Synthesis of Antennas
- Chapter 07: Automatic Synthesis of Genetic Networks
- Chapter 08: Automatic Synthesis of Metabolic Pathways
- Chapter 09: Automatic Synthesis of Parameterized Topologies for Controllers
- Chapter 10: Automatic Synthesis of Parameterized Topologies for Circuits
- Chapter 11: Automatic Synthesis of Parameterized Topologies with Conditional Developmental Operators for Circuits
- Chapter 12: Automatic Synthesis of Improved Tuning Rules for PID Controllers
- Chapter 13: Automatic Synthesis of Parameterized Topologies for Improved Controllers
- Chapter 14: Reinvention of Negative Feedback
- Chapter 15: Automated Reinvention of Six Post-2000 Patented Circuits
- Chapter 16: Problems for Which Genetic Programming May Be Well Suited
- Chapter 17: Parallel Implementation and Computer Time
- Chapter 18: Historical Perspective on Moore’s Law and the Progression of Qualitatively More Substantial Results Produced by Genetic Programming
- Chapter 19: Conclusion
Textbooks
A number of textbooks have been published on genetic programming designed for undergraduate and postgraduate students interested in the field.
Perhaps the most popular books include the following:
- Genetic Programming: An Introduction, 1997.
- Genetic Programming and Data Structures, 1998.
- Foundations of Genetic Programming, 2002.
I would recommend the more recent “Foundations of Genetic Programming.”
So Foundations of Genetic Programming should not be viewed only as a collection of techniques that one needs to know in order to be able to do GP well but also as a first attempt to chart and explore the mechanisms and fundamental principles behind genetic programming as a search algorithm. In writing this book we hoped to cast a tiny bit of light onto the theoretical foundations of Artificial Intelligence as a whole.
— Page IIX, Foundations of Genetic Programming, 2002.
The table of contents for this book is as follows:
- Chapter 01: Introduction
- Chapter 02: Fitness Landscapes
- Chapter 03: Program Component Schema Theories
- Chapter 04: Pessimistic GP Schema Theories
- Chapter 05: Exact GP Schema Theorems
- Chapter 06: Lessons from GP Schema Theory
- Chapter 07: The Genetic Programming Search Space
- Chapter 08: The GP Search Space: Theoretical Analysis
- Chapter 09: Example I: The Artificial Ant
- Chapter 10: Example II: The Max Problem
- Chapter 11: GP Convergence and Bloat
- Chapter 12: Conclusions
Perhaps one of the more popular books on GP was self-published by top academics in the field and is intended for student and developers interested in applying genetic programming to their projects.
- A Field Guide to Genetic Programming, 2008.
Here’s a snippet from the book:
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.
— A Field Guide to Genetic Programming, 2008.
The table of contents for this book is as follows:
- Chapter 01: Introduction
- Chapter 02: Representation, Initialization and Operations in Tree-based GP
- Chapter 03: Getting Ready to Run Genetic Programming
- Chapter 04: Example Genetic Programming Run
- Chapter 05: Alternative Initializations and Operations in Tree-based GP
- Chapter 06: Modular, Grammatical and Developmental Tree-based GP
- Chapter 07: Linear and Graph Genetic Programming
- Chapter 08: Probabilistic Genetic Programming
- Chapter 09: Multi-objective Genetic Programming
- Chapter 10: Fast and Distributed Genetic Programming
- Chapter 11: GP Theory and its Applications
- Chapter 12: Applications
- Chapter 13: Troubleshooting GP
- Chapter 14: Conclusions
It is common to refer to versions of genetic programming algorithms specialized for different applications and representations by new names, such as “Linear Genetic Programming,” “Cartesian Genetic Programming,” and “Grammatical Evolution.”
Some textbooks on these specialized types of genetic programming algorithms include the following:
- Linear Genetic Programming, 2006.
- Cartesian Genetic Programming, 2011.
- Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language, 2003.
- Foundations in Grammatical Evolution for Dynamic Environments, 2009.
- Handbook of Grammatical Evolution, 2018.
Conference Proceedings
The main way that findings are shared in machine learning is via conferences, and conference proceedings provide a collection of top papers from a conference.
The papers presented at any given conference can jump around topics and be challenging to follow without some grounding in the field. Nevertheless, they can quickly get you up to speed with current and popular techniques.
I recommend focusing on the most recent issues of any proceedings. No need to go trawling back through the years.
There are three conference proceedings you may want to look at; they are:
- Genetic Programming Theory and Practice
- Genetic Programming European Conference
- Advances in Genetic Programming
Let’s take a closer look at each in turn:
Genetic Programming Theory and Practice
The Genetic Programming Theory and Practice conference is held annually, and the proceedings are printed by Springer.
It is probably the premier conference on GP. It is up to issue 17 (XVII) at the time of writing.
The last three issues are as follows:
- Genetic Programming Theory and Practice XV, 2018.
- Genetic Programming Theory and Practice XVI, 2019.
- Genetic Programming Theory and Practice XVII, 2020.
Genetic Programming European Conference
The Genetic Programming European Conference, or EuroGP, is another major genetic programming conference.
Like Genetic Programming Theory and Practice, this conference and its published proceedings have been going for decades and are in their 23rd year at the time of writing.
The last three issues are as follows:
- Genetic Programming: 21st European Conference, EuroGP 2018
- Genetic Programming: 22nd European Conference, EuroGP 2019
- Genetic Programming: 23rd European Conference, EuroGP 2020
Advances in Genetic Programming
“Advances in Genetic Programming” is a volume published by MIT press containing collected papers.
It was only published three times in the mid to late 1990s. Nevertheless, the contents may be useful for developing a deeper understanding of the field.
Recommended Books
I have read most of the books listed.
If you are looking to get a single book on genetic programming, I would recommend the following:
- A Field Guide to Genetic Programming, 2008.
It will introduce the field and show you how to get results quickly.
If you are looking for a fuller library of books, I would recommend the following three:
- Genetic Programming IV: Routine Human-Competitive Machine Intelligence, 2003.
- Foundations of Genetic Programming, 2002.
- A Field Guide to Genetic Programming, 2008.
I have these three on my bookshelf.
With these three books, you will have a solid theoretical foundation, an idea of how to apply the technique in practice, and an idea of the types of human competitive results that have been achieved and the algorithms used to achieve them.
Summary
In this tutorial, you discovered the top books on genetic programming.
This article has been published from the source link without modifications to the text. Only the headline has been changed.
Source link