Genetic Programming Books
Related Subjects: Algorithms
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Used price: $59.16

Fantastic introductionReview Date: 2008-02-16
A great introduction!Review Date: 2000-11-19
terrific textbookReview Date: 2003-04-17
Good as an overall, not for the detailsReview Date: 2003-05-11
I do not think this book is useful for someone intending to code a genetic programming algorithm.
Excellent, comprehensive and easy to read.Review Date: 2002-01-29
The book is very complete and detailed yet easy to read, even after a day of work.
The first part of the book contains introductory information on background areas like probability, biology and computer science as a general discipline.
Getting into the topic, it clarifies some of the differences between evolutionary systems and genetic algorithms and shows how all this contributes to the theory of genetic programming and the evolution of computer programs.
It explains how things are done with different types of individuals (tree, linear, graph, etc) and gives valuable insight about the implementation process.
Although you may need other sources for formal treatment of some topics, this book is a very good acquisition.

Used price: $43.99

Unique book on the implementation of genetic programmingReview Date: 2007-06-30
Chapter 4 discusses the representation problem for the conventional genetic algorithm operating on fixed-length character strings and variations of the conventional genetic algorithm dealing with structures more complex and flexible than fixed-length character strings. Since this book assumes no prior knowledge of the LISP programming language, section 4.2 describes LISP and section 4.3 outlines the reasons behind the choice of LISP for the implementation of solutions in this book. Chapter 5 provides an informal overview of the genetic programming paradigm and chapter 6 provides a detailed description of the techniques of genetic programming. Some readers may prefer to rely on chapter 5 and hold off on reading the detailed discussion in chapter 6 until they have read chapter 7 and the later chapters that contain examples.
Chapter 7 provides a detailed description of how to apply genetic programming to four introductory examples thus laying the groundwork for all of the problems to be described later in the book. Chapter 8 discusses the amount of computer processing required by the genetic programming paradigm to solve certain problems. Chapter 9 shows that the results obtained from genetic programming are not the fruits of a random search. Chapters 10 through 21 illustrate how to use genetic programming to solve a wide variety of problems from varying disciplines and are defined by the table of contents. The examples in these 12 chapters make up the heart of the book.
The final eight chapters discuss aspects of genetic algorithms common to all implementations. Chapter 22 discusses the implementation of genetic programming on parallel computer architectures. Chapter 23 discusses the ruggedness of genetic programming with respect to noise, sampling, change, and damage. Chapter 24 discusses the role of extraneous variables and functions, and chapter 25 presents the results of some experiments relating to operational issues in genetic programming. Chapter 26 summarizes the five major steps in preparing to use genetic programming while chapter 27 compares genetic programming to other machine learning paradigms. Chapter 28 is an interesting one in which the spontaneous emergence of self-replicating and self-improving computer programs is discussed. Chapter 29 attempts to wrap up the book with a conclusion.
This book is best used for its examples and practical viewpoint. There are certain matters, such as how to program in LISP, for which you will need dedicated books since the amount of detail in this book is not enough. I do highly recommend this book as a uniquely practical one on how to implement genetic algorithms via computer programs. I haven't found another with so much practical information.
Must Have for all GP studentsReview Date: 2005-09-21
This book is great!
The essential reference for GPReview Date: 2002-07-04
Great introduction.Review Date: 2006-07-11
This first volume in the Genetic Programming series of books by Koza is very well organized and clear in its explanations. I have not tried the techniques presented yet, but I have some good ideas on how to proceed. The author uses LISP as the language of choice in the book, but practically any modern language should be sufficient.
If you have any interest in Genetic Programming, I encourage you to at least pick up this first volume and read through it. This technology is still relatively new and the application of the techniques seems virtually limitless.
Genetic ProgrammingReview Date: 2002-01-09
There was some repetition in places, maybe because the author wanted to emphasize some points and also to remain understandable to persons who may read selected chapters or examples rather than from cover to cover, page by page.
Although the book states that Genetic Programming does not depend on the LISP language or features, it uses LISP as its exclusive language of choice. I would like to implement these generally very computationally intensive Genetic Programming Algorithms in a very fast and efficient way, which for me implies assembly language, and although the author gives good tips about making the algorithm run faster the implementation shown is all LISP and nothing else. I am also interested in using the algorithm to generate efficient, parsimonious, code. The author described the additional problems of parsimony, but gave no information on generation of fast code from S expressions. I will have to refer to some compiler books and my own experiments to go further in this area.
I look forward to experimenting with the subject and reading some of Dr. Koza's other books on the subject.

Used price: $32.50

Good introduction to GP theoryReview Date: 2002-08-25
A survey of what was new in 2002Review Date: 2004-04-09
There are numerous theorems and proofs in the book. There are informative examples of the max problem and the artificial ant (Santa Fe Trail) problems. Chapter 11 is about how GP convergences are a tricky matter and how subtrees can hide interesting incidences of convergence.
This is not an introductory text, it is intended for graduate level or higher readers. There is much theoretical work here and a limited background in this area will result in limited understanding of the material.
Exciting New Developments in EC TheoryReview Date: 2002-09-20
specialised maths treatment of GPReview Date: 2006-04-03
Foundations starts with what I suppose in this field is an obligatory section on the concept of a fitness landscape. A very useful metaphor of what you'll be attempting to do, as a researcher. However, the authors carefully point out the limitations of this idea. Notably that some spaces might have no natural metric.
The book then rapidly goes into the ideas of GP schemas and hyperschemas. Accompanied by a nice theoretical analysis of key performance goals like the rate of convergence in the GP search space. A solid offering to the GP researcher.
The modern revolutionReview Date: 2003-02-18
An Introduction to Genetic Algorithms [1996], by Melanie Mitchell.

Used price: $55.00

One of the best introductions to evolutionary algorithmsReview Date: 2001-08-01
scholarly and from a general viewpointReview Date: 2005-07-19
(simular to ES and not to be confused with genetic programming).
I found Chapters 1 and 2 quite good, in that Chapter 1 presented the biological motivations for evolutionary computing along with a brief introduction to the theory of computation and computational complexity, while Chapter 2 gave a very good introduction to the above-mentioned evolutionary computing paradigms. The remainder of the book reads more like a report on the author's experiments in evolutionary computing.
It is important to note that Goldberg's book does not cover Evolutionary Strategies, which I have found to be a more fruitful approach since it is specifically designed for Euclidean space where many if not most interesting optimization problems are formulated in.
Finally, I offer bit of advice for those who plan to read through this book. Some of the definitions are stated with such generality that they seem very opaque upon first reading. It is very important to understand them, so do not give up! Once the defintions are understood, the algorithms will seem much easier to comprehend. In fact, the algorithms have a very simple outline:
i) initialize population
ii) while the terminating condition is not yet met: recombine to form new population members, mutate the population members, select the most fit population members to form the next generation.
The partial analyses provided for the algorithms can be skipped on first reading.
One of the best books on EAsReview Date: 2003-10-23


The best introductory book about Genetic ProgrammingReview Date: 2008-06-09
With its popular style and low price, "A Field Guide to Genetic Programming" can open the field to a very broad audience and create a breakthrough in GP applications.
Destined to become the standard reference to the fieldReview Date: 2008-06-07
Table of ContentsReview Date: 2008-05-02
1.1 Genetic Programming in a Nutshell . . . . . . . . . . . . . . . 2
1.2 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Overview of this Field Guide . . . . . . . . . . . . . . . . . . 4
Part I Basics 7
2 Representation, Initialisation and Operators in Tree-based GP 9
2.1 Representation . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Initialising the Population . . . . . . . . . . . . . . . . . . . . 11
2.3 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 Recombination and Mutation . . . . . . . . . . . . . . . . . . 15
3 Getting Ready to Run Genetic Programming 19
3.1 Step 1: Terminal Set . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Step 2: Function Set . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.1 Closure . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.2 Sufficiency . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.3 Evolving Structures other than Programs . . . . . . . 23
3.3 Step 3: Fitness Function . . . . . . . . . . . . . . . . . . . . . 24
3.4 Step 4: GP Parameters . . . . . . . . . . . . . . . . . . . . . 26
3.5 Step 5: Termination and solution designation . . . . . . . . . 27
4 Example Genetic Programming Run 29
4.1 Preparatory Steps . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Step-by-Step Sample Run . . . . . . . . . . . . . . . . . . . . 31
4.2.1 Initialisation . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.2 Fitness Evaluation . . . . . . . . . . . . . . . . . . . . 32
4.2.3 Selection, Crossover and Mutation . . . . . . . . . . . 32
4.2.4 Termination and Solution Designation . . . . . . . . . 35
Part II Advanced Genetic Programming 37
5 Alternative Initialisations and Operators in Tree-based GP 39
5.1 Constructing the Initial Population . . . . . . . . . . . . . . . 39
5.1.1 Uniform Initialisation . . . . . . . . . . . . . . . . . . 40
5.1.2 Initialisation may Affect Bloat . . . . . . . . . . . . . 40
5.1.3 Seeding . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2 GP Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.1 Is Mutation Necessary? . . . . . . . . . . . . . . . . . 42
5.2.2 Mutation Cookbook . . . . . . . . . . . . . . . . . . . 42
5.3 GP Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.4 Other Techniques . . . . . . . . . . . . . . . . . . . . . . . . . 46
6 Modular, Grammatical and Developmental Tree-based GP 47
6.1 Evolving Modular and Hierarchical Structures . . . . . . . . . 47
6.1.1 Automatically Defined Functions . . . . . . . . . . . . 48
6.1.2 Program Architecture and Architecture-Altering . . . 50
6.2 Constraining Structures . . . . . . . . . . . . . . . . . . . . . 51
6.2.1 Enforcing Particular Structures . . . . . . . . . . . . . 52
6.2.2 Strongly Typed GP . . . . . . . . . . . . . . . . . . . 52
6.2.3 Grammar-based Constraints . . . . . . . . . . . . . . . 53
6.2.4 Constraints and Bias . . . . . . . . . . . . . . . . . . . 55
6.3 Developmental Genetic Programming . . . . . . . . . . . . . 57
6.4 Strongly Typed Autoconstructive GP with PushGP . . . . . 59
7 Linear and Graph Genetic Programming 61
7.1 Linear Genetic Programming . . . . . . . . . . . . . . . . . . 61
7.1.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . 61
7.1.2 Linear GP Representations . . . . . . . . . . . . . . . 62
7.1.3 Linear GP Operators . . . . . . . . . . . . . . . . . . . 64
7.2 Graph-Based Genetic Programming . . . . . . . . . . . . . . 65
7.2.1 Parallel Distributed GP (PDGP) . . . . . . . . . . . . 65
7.2.2 PADO . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2.3 Cartesian GP . . . . . . . . . . . . . . . . . . . . . . . 67
7.2.4 Evolving Parallel Programs using Indirect Encodings . 68
8 Probabilistic Genetic Programming 69
8.1 Estimation of Distribution Algorithms . . . . . . . . . . . . . 69
8.2 Pure EDA GP . . . . . . . . . . . . . . . . . . . . . . . . . . 71
8.3 Mixing Grammars and Probabilities . . . . . . . . . . . . . . 74
9 Multi-objective Genetic Programming 75
9.1 Combining Multiple Objectives into a Scalar Fitness Function 75
9.2 Keeping the Objectives Separate . . . . . . . . . . . . . . . . 76
9.2.1 Multi-objective Bloat and Complexity Control . . . . 77
9.2.2 Other Objectives . . . . . . . . . . . . . . . . . . . . . 78
9.2.3 Non-Pareto Criteria . . . . . . . . . . . . . . . . . . . 80
9.3 Multiple Objectives via Dynamic and Staged Fitness Functions 80
9.4 Multi-objective Optimisation via Operator Bias . . . . . . . . 81
10 Fast and Distributed Genetic Programming 83
10.1 Reducing Fitness Evaluations/Increasing their Effectiveness . 83
10.2 Reducing Cost of Fitness with Caches . . . . . . . . . . . . . 86
10.3 Parallel and Distributed GP are Not Equivalent . . . . . . . . 88
10.4 Running GP on Parallel Hardware . . . . . . . . . . . . . . . 89
10.4.1 Masterslave GP . . . . . . . . . . . . . . . . . . . . . 89
10.4.2 GP Running on GPUs . . . . . . . . . . . . . . . . . . 90
10.4.3 GP on FPGAs . . . . . . . . . . . . . . . . . . . . . . 92
10.4.4 Sub-machine-code GP . . . . . . . . . . . . . . . . . . 93
10.5 Geographically Distributed GP . . . . . . . . . . . . . . . . . 93
11 GP Theory and its Applications 97
11.1 Mathematical Models . . . . . . . . . . . . . . . . . . . . . . 98
11.2 Search Spaces . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
11.3 Bloat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
11.3.1 Bloat in Theory . . . . . . . . . . . . . . . . . . . . . 101
11.3.2 Bloat Control in Practice . . . . . . . . . . . . . . . . 104
Part III Practical Genetic Programming 109
12 Applications 111
12.1 Where GP has Done Well . . . . . . . . . . . . . . . . . . . . 111
12.2 Curve Fitting, Data Modelling and Symbolic Regression . . . 113
12.3 Human Competitive Results the Humies . . . . . . . . . . . 117
12.4 Image and Signal Processing . . . . . . . . . . . . . . . . . . . 121
12.5 Financial Trading, Time Series, and Economic Modelling . . 123
12.6 Industrial Process Control . . . . . . . . . . . . . . . . . . . . 124
12.7 Medicine, Biology and Bioinformatics . . . . . . . . . . . . . 125
12.8 GP to Create Searchers and Solvers Hyper-heuristics . . . . 126
12.9 Entertainment and Computer Games . . . . . . . . . . . . . . 127
12.10The Arts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
12.11Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
13 Troubleshooting GP 131
13.1 Is there a Bug in the Code? . . . . . . . . . . . . . . . . . . . 131
13.2 Can you Trust your Results? . . . . . . . . . . . . . . . . . . 132
13.3 There are No Silver Bullets . . . . . . . . . . . . . . . . . . . 132
13.4 Small Changes can have Big Effects . . . . . . . . . . . . . . 133
13.5 Big Changes can have No Effect . . . . . . . . . . . . . . . . 133
13.6 Study your Populations . . . . . . . . . . . . . . . . . . . . . 134
13.7 Encourage Diversity . . . . . . . . . . . . . . . . . . . . . . . 136
13.8 Embrace Approximation . . . . . . . . . . . . . . . . . . . . . 137
13.9 Control Bloat . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
13.10Checkpoint Results . . . . . . . . . . . . . . . . . . . . . . . . 139
13.11Report Well . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
13.12Convince your Customers . . . . . . . . . . . . . . . . . . . . 140
14 Conclusions 141
Part IV Tricks of the Trade 143
A Resources 145
A.1 Key Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
A.2 Key Journals . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
A.3 Key International Meetings . . . . . . . . . . . . . . . . . . . 147
A.4 GP Implementations . . . . . . . . . . . . . . . . . . . . . . . 147
A.5 On-Line Resources . . . . . . . . . . . . . . . . . . . . . . . . 148
B TinyGP 151
B.1 Overview of TinyGP . . . . . . . . . . . . . . . . . . . . . . . 151
B.2 Input Data Files for TinyGP . . . . . . . . . . . . . . . . . . 153
B.3 Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
B.4 Compiling and Running TinyGP . . . . . . . . . . . . . . . . 162
Bibliography 167
Index 225

Used price: $125.00

useful and practical description of Genetic Programming.Review Date: 1999-05-06
A very nice introduction to the field of genetic programmingReview Date: 1999-04-01
Cees H.M. van Kemenade.

Used price: $94.88

Recommended to scholars and graduate studentsReview Date: 2003-09-23
Great book!!!Review Date: 2004-12-07

Used price: $24.55

Excellent coverage of EC on practical problemsReview Date: 2003-05-22
The papers are quite well written so that reading from cover to cover is possible without getting a headache...A very good book to get an idea of the applications of EC on real problems.

Used price: $79.95

Clear description of converting conventional programs to parallel codeReview Date: 2000-04-10

Used price: $139.19

Many topics covered, some chapters are a little weakReview Date: 2004-02-07
Most of the chapters of this edited collection were authored or coauthored by the editors. So, algorithms developed by other people do not get a lot of attention. However, the editors (or is it the authors) manage to include chapters on combinatorial, continuous, and discrete optimization.
There is a section on machine learning applications that is OK, but the last chapter on training neural nets with EDAs is very weak (look ma I used this and it worked...). Except for this chapter, the rest of the chapters in this section use careful experiments and statistics to make their points.
Making the source code available would have improved things and would make it easier for people to try these algorithms.
Related Subjects: Algorithms
More Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
It's hard to imagine a better introductory textbook for this topic.