Updates

Latest Tweet



What's New?

Check out for latest innovation, a computer based training video collection


Like this Page

Genetic Programming: On the Programming of Computers by Means of Natural Selection (Complex Adaptive Systems) Review by calvinnme

Unique book on the implementation of genetic programming

This is a great "how to" book loaded with examples of how to implement genetic algorithms. The two main points this book makes is that many seemingly different problems can be reformulated as problems of program induction and that the genetic programming paradigm described in this book provides a way to do that program induction. No prior knowledge of conventional genetic algorithms is assumed. Thus the first three chapters are introductory material. In particular, chapter three describes the conventional genetic algorithm and introduces certain terms common to the conventional genetic algorithm and genetic programming. If you are already familiar with genetic algorithms you can skip ahead.

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.