| This book is an adaptation of notes that have been used to teach a class in evolutionary computation at Iowa State University for eight years. A number of people have used the notes over the years, and by publishing them in book form I hope to make the material available to a wider audience.
It is important to state clearly what this book is and what it is not. It is a text for an undergraduate or first-year graduate course in evolutionary computation for computer science, engineering, or other computational science students. The large number of homework problems, projects, and experiments stem from an effort to make the text accessible to undergraduates with some programming skill. This book is directed mainly toward application of evolutionary algorithms. This book is not a complete introduction to evolutionary computation, nor does it contain a history of the discipline. It is not a theoretical treatment of evolutionary computation, lacking chapters on the schema theorem and the no free lunch theorem.
The key to this text are the experiments. The experiments are small computational projects intended to illustrate single aspects of evolutionary computation or to compare different methods. Small changes in implementation create substantial changes in the behavior of an evolutionary algorithm. Because of this, the text does not tell students what will happen if a given method is used. Rather, it encourages them to experiment with the method. The experiments are intended to be used to drive student learning. The instructor should encourage students to experiment beyond the stated boundaries of the experiments. I have had excellent luck with students finding publishable new ideas by exceeding the bounds of the experiments suggested in the book. |