As much as I hated biology class, the topic of genetic always interested me. The idea of evolution and how such complex creatures as ourselves evolved from single-celled organisms is incredible. When I became interested in artificial intelligence and alife, I quickly came across the topics of genetic algorithms and evolutionary computing. Yet, it was only about 3 months ago I got seriously interested in the topic and bought a book on it.
The book was Melanie Mitchell's An Introduction to Genetic Algorithms. I found the book to be an excellent overall book on genetic algorithms. Mitchell covered all the necessary topics from the history of the GA, to theoritical foundations, to mathmatical theory, to applications in various fields, and the many different implementations of the GA. After reading the book, I really felt like I had a good background knowledge in GAs.
The layout of the book is excellent, chapters are well-organized, and Mitchell's writing style is clear and concise. She knows exactly where to further explain concepts to readers, and where to allow the reader to come to their own conclusions. Readers with little statistical mathematics background might have a hard time understanding some of math-based sections, this though would not hinder the reader, as Mitchell always explains what the equations mean.
What I really liked about the book were the Thought Exercises and Computer Exercises at the end of each chapter. The Thought Exercises consisted of 6-8 different problems that could be done relatively quickly on a piece of paper. They would cover the topics in the chapter, and the test that the reader understood everything correctly. The one problem with the book came along with this, though. Mitchell did not provide the answer to the Thought Exercises, something I think was sorely missed. The Computer Exercises were a group of 10 or so questions at the end that would suggest different programming projects for readers with the necessasry knowledge. These would often require the reader to re-do some of the research projects discussed in the chapter - excellent and thought-provoking.
An excellent chapter was the last that listed the four major parts to a genetic algorithm then outlined some of the different implementations and methods that various researchers took. The section on fitness functions was particularly good, outlining about 10 or so different formulae and algorithms. Mitchell would always present an implementation of the GA by describing the research project that the GA was part of, then citing the results of the program and how successful the GA was. This allows the reader to understand fully how every different type of GA can be applied to different problems - indeed, how there might be a different implementation of GA for any two problems.
Another strong point of the book is how Mitchell does not present the genetic algorithm as the future of all artificial intelligence, or the solution to all our problems. She shows where GAs are applicable and where they are not, the types of problems GAs handle best etc. The faults and strong points of genetic algorithms are proved through theoritical and mathematical means.
Overall, an excellent book. Thoroughly researched, well-written and laid out. I'd suggest anyone wanting to get into the field of GAs to buy this book. If only there was an answer book...