Genetic Programming
An Introduction
- 1st Edition - December 1, 1997
- Authors: Wolfgang Banzhaf, Peter Nordin, Robert E. Keller, Frank D. Francone
- Language: English
- Paperback ISBN:9 7 8 - 1 - 4 9 3 3 - 0 3 5 7 - 1
- Hardback ISBN:9 7 8 - 1 - 5 5 8 6 0 - 5 1 0 - 7
- eBook ISBN:9 7 8 - 0 - 0 8 - 0 5 0 7 2 5 - 5
Since the early 1990s, genetic programming (GP)—a discipline whose goal is to enable the automatic generation of computer programs—has emerged as one of the most promising… Read more
Purchase options
Institutional subscription on ScienceDirect
Request a sales quoteSince the early 1990s, genetic programming (GP)—a discipline whose goal is to enable the automatic generation of computer programs—has emerged as one of the most promising paradigms for fast, productive software development. GP combines biological metaphors gleaned from Darwin's theory of evolution with computer-science approaches drawn from the field of machine learning to create programs that are capable of adapting or recreating themselves for open-ended tasks.
This unique introduction to GP provides a detailed overview of the subject and its antecedents, with extensive references to the published and online literature. In addition to explaining the fundamental theory and important algorithms, the text includes practical discussions covering a wealth of potential applications and real-world implementation techniques. Software professionals needing to understand and apply GP concepts will find this book an invaluable practical and theoretical guide.
This unique introduction to GP provides a detailed overview of the subject and its antecedents, with extensive references to the published and online literature. In addition to explaining the fundamental theory and important algorithms, the text includes practical discussions covering a wealth of potential applications and real-world implementation techniques. Software professionals needing to understand and apply GP concepts will find this book an invaluable practical and theoretical guide.
I Prerequisites of Genetic Programming
1 Genetic Programming as Machine Learning
1.1 Motivation
1.2 A Brief History of Machine Learning
1.3 Machine Learning as a Process
1.4 Major Issues in Machine Learning
1.5 Representing the Problem
1.6 Transforming Solutions with Search Operators
1.7 The Strategy of Search
1.8 Learning
1.9 Conclusion
2 Genetic Programming and Biology
2.1 Minimal Requirements for Evolution to Occur
2.2 Test Tube Evolution—A Study in Minimalist Evolution
2.3 The Genetic Code—DNA as a Computer Program
2.4 Genomes, Phenomes, and Ontogeny
2.5 Stability and Variability of Genetic Transmission
2.6 Species and Sex
3 Computer Science and Mathematical Basics
3.1 The Importance of Randomness in Evolutionary Learning
3.2 Mathmatical Basics
3.3 Computer Science Background and Terminology
3.4 Computer Hardware
3.5 Computer Software
4 Genetic Programming as Evolutionary Computation
4.1 The Dawn of Genetic Programming—Setting the Stage
4.2 Evolutionary Algorithms: The General View
4.3 Flavors of Evolutionary Algorithms
4.4 Summary of Evolutionary Algorithms
II Genetic Programming Fundamentals
5 Basic Concepts—The Foundation
5.1 Terminals and Functions—The Primitives of Genetic Programs
5.2 Executable Program Structures
5.3 Initializing a GP Population
5.4 Genetic Operators
5.5 Fitness and Selection
5.6 Basic GP Algorithm
5.7 An Example Run
6 Crossover—The Center of the Storm
6.1 The Theoretical Basis for the Building Block Hypothesis in GP
6.2 A Gedanken Experiment About Preservation and Disruption of Building Blocks
6.3 Empirical Evidence of Crossover Effects
6.4 Improving Crossover—The Argument from Biology
6.5 Improving Crossover—New Directions
6.6 Improving Crossover—A Proposal
6.7 Improving Crossover—The Trade-offs
6.8 Conclusion
7 Genetic Programming and Emergent Order
7.1 Introduction
7.2 Evolution of Structure and Variable Length Genomes
7.3 Iteration, Selection, and Variable Length Program Structures
7.4 Evolvable Representations
7.5 The Emergence of Introns, Junk DNA, and Bloat
7.6 Introns in GP Defined
7.7 Why GP Introns Emerge
7.8 Effective Fitness and Crossover
7.9 Effective Fitness and Other Operators
7.10 Why Introns Grow Exponentially
7.11 The Effects of Introns
7.12 What To Do About Introns
8 Analysis—Improving Genetic Programming with Statistics
8.1 Basic Statistics Concepts
8.2 Basic Statistical Tools for GP
8.3 Offline Data Analysis and Processing Before a GP Run—An Overview
8.4 Analysis and Preprocessing to Meet Feature Representation Constraints
8.5 Analysis and Preprocessing of Data for Feature Extraction
8.6 Analysis of Input Data
8.7 Postprocessing
8.8 Online Data Analysis
8.9 Measurement of Online Data
8.10 Survey of Available Online Tools
8.11 Generalization and Induction
8.12 An Example of Overfitting and Poor Generalization
8.13 Dealing with Generalization Issues
8.14 Conclusion
III Advanced Topics in Genetic Programming
9 Different Varieties of Genetic Programming
9.1 GP with Tree Genomes
9.2 GP with Linear Genomes
9.3 GP with Graph Genomes
9.4 Other Genomes
10 Advanced Genetic Programming
10.1 Introduction
10.2 Improving the Speed of GP
10.3 Improving the Evolvability of Programs
10.4 Improving the Power of GP Search
11 Implementation—Making Genetic Programming Work
11.1 Why Is GP So Computationally Intensive?
11.2 Computer Representation of Individuals
11.3 Implementations Using LISP
11.5 Implementations Using Arrays and Stacks
11.6 Implementations Using Machine Code
11.7 A Guide to Parameter Choices
12 Applications of Genetic Programming
12.1 General Overview
12.2 Applications from A-Z
12.3 Science Oriented Applications
12.4 Computer Science Oriented Applications
12.5 Engineering Oriented Applications
12.6 Summary
13 Summary and Perspectives
13.1 Summary
13.2 The Future of Genetic Programming
13.3 Conclusion
Bibliography
A Printed and Recorded Resources
A.1 Books On Genetic Programming
A.2 GP Video Tapes
A.3 Books on Evolutionary Algorithms
A.4 Selected Journals
B Information Available on the Internet
B.1 GP Tutorials
B.2 GP Frequently Asked Questions
B.3 GP Bibliographies
B.4 GP Researchers
B.5 General Evolutionary Computation
B.6 Mailing Lists
C GP Software
C.1 Public Domain GP Systems
C.2 Related Software Packages
C.3 C++ Implementation Issues
D Events
D.1 GP Conferences
D.2 Related Conferences and Workshops
1 Genetic Programming as Machine Learning
1.1 Motivation
1.2 A Brief History of Machine Learning
1.3 Machine Learning as a Process
1.4 Major Issues in Machine Learning
1.5 Representing the Problem
1.6 Transforming Solutions with Search Operators
1.7 The Strategy of Search
1.8 Learning
1.9 Conclusion
2 Genetic Programming and Biology
2.1 Minimal Requirements for Evolution to Occur
2.2 Test Tube Evolution—A Study in Minimalist Evolution
2.3 The Genetic Code—DNA as a Computer Program
2.4 Genomes, Phenomes, and Ontogeny
2.5 Stability and Variability of Genetic Transmission
2.6 Species and Sex
3 Computer Science and Mathematical Basics
3.1 The Importance of Randomness in Evolutionary Learning
3.2 Mathmatical Basics
3.3 Computer Science Background and Terminology
3.4 Computer Hardware
3.5 Computer Software
4 Genetic Programming as Evolutionary Computation
4.1 The Dawn of Genetic Programming—Setting the Stage
4.2 Evolutionary Algorithms: The General View
4.3 Flavors of Evolutionary Algorithms
4.4 Summary of Evolutionary Algorithms
II Genetic Programming Fundamentals
5 Basic Concepts—The Foundation
5.1 Terminals and Functions—The Primitives of Genetic Programs
5.2 Executable Program Structures
5.3 Initializing a GP Population
5.4 Genetic Operators
5.5 Fitness and Selection
5.6 Basic GP Algorithm
5.7 An Example Run
6 Crossover—The Center of the Storm
6.1 The Theoretical Basis for the Building Block Hypothesis in GP
6.2 A Gedanken Experiment About Preservation and Disruption of Building Blocks
6.3 Empirical Evidence of Crossover Effects
6.4 Improving Crossover—The Argument from Biology
6.5 Improving Crossover—New Directions
6.6 Improving Crossover—A Proposal
6.7 Improving Crossover—The Trade-offs
6.8 Conclusion
7 Genetic Programming and Emergent Order
7.1 Introduction
7.2 Evolution of Structure and Variable Length Genomes
7.3 Iteration, Selection, and Variable Length Program Structures
7.4 Evolvable Representations
7.5 The Emergence of Introns, Junk DNA, and Bloat
7.6 Introns in GP Defined
7.7 Why GP Introns Emerge
7.8 Effective Fitness and Crossover
7.9 Effective Fitness and Other Operators
7.10 Why Introns Grow Exponentially
7.11 The Effects of Introns
7.12 What To Do About Introns
8 Analysis—Improving Genetic Programming with Statistics
8.1 Basic Statistics Concepts
8.2 Basic Statistical Tools for GP
8.3 Offline Data Analysis and Processing Before a GP Run—An Overview
8.4 Analysis and Preprocessing to Meet Feature Representation Constraints
8.5 Analysis and Preprocessing of Data for Feature Extraction
8.6 Analysis of Input Data
8.7 Postprocessing
8.8 Online Data Analysis
8.9 Measurement of Online Data
8.10 Survey of Available Online Tools
8.11 Generalization and Induction
8.12 An Example of Overfitting and Poor Generalization
8.13 Dealing with Generalization Issues
8.14 Conclusion
III Advanced Topics in Genetic Programming
9 Different Varieties of Genetic Programming
9.1 GP with Tree Genomes
9.2 GP with Linear Genomes
9.3 GP with Graph Genomes
9.4 Other Genomes
10 Advanced Genetic Programming
10.1 Introduction
10.2 Improving the Speed of GP
10.3 Improving the Evolvability of Programs
10.4 Improving the Power of GP Search
11 Implementation—Making Genetic Programming Work
11.1 Why Is GP So Computationally Intensive?
11.2 Computer Representation of Individuals
11.3 Implementations Using LISP
11.5 Implementations Using Arrays and Stacks
11.6 Implementations Using Machine Code
11.7 A Guide to Parameter Choices
12 Applications of Genetic Programming
12.1 General Overview
12.2 Applications from A-Z
12.3 Science Oriented Applications
12.4 Computer Science Oriented Applications
12.5 Engineering Oriented Applications
12.6 Summary
13 Summary and Perspectives
13.1 Summary
13.2 The Future of Genetic Programming
13.3 Conclusion
Bibliography
A Printed and Recorded Resources
A.1 Books On Genetic Programming
A.2 GP Video Tapes
A.3 Books on Evolutionary Algorithms
A.4 Selected Journals
B Information Available on the Internet
B.1 GP Tutorials
B.2 GP Frequently Asked Questions
B.3 GP Bibliographies
B.4 GP Researchers
B.5 General Evolutionary Computation
B.6 Mailing Lists
C GP Software
C.1 Public Domain GP Systems
C.2 Related Software Packages
C.3 C++ Implementation Issues
D Events
D.1 GP Conferences
D.2 Related Conferences and Workshops
- No. of pages: 512
- Language: English
- Edition: 1
- Published: December 1, 1997
- Imprint: Morgan Kaufmann
- Paperback ISBN: 9781493303571
- Hardback ISBN: 9781558605107
- eBook ISBN: 9780080507255