Illustrating Evolutionary Computation with Mathematica
Christian Jacob
Morgan Kaufmann
<p> An essential capacity of intelligence is the ability to learn. An artificially intelligent system that could learn would not have to be programmed for every eventuality; it could adapt to its changing environment and conditions just as biological systems do.  Illustrating Evolutionary Computation with Mathematica  introduces evolutionary computation to the technically savvy reader who wishes to explore this fascinating and increasingly important field. Unique among books on evolutionary computation, the book also explores the application of evolution to developmental processes in nature, such as the growth processes in cells and plants. If you are a newcomer to the evolutionary computation field, an engineer, a programmer, or even a biologist wanting to learn how to model the evolution and coevolution of plants, this book will provide you with a visually rich and engaging account of this complex subject.                                         * Introduces the major mechanisms of biological evolution. * Demonstrates many fascinating aspects of evolution in nature with simple, yet illustrative examples. * Explains each of the major branches of evolutionary computation: genetic algorithms, genetic programming, evolutionary programming, and evolution strategies. * Demonstrates the programming of computers by evolutionary principles using Evolvica, a genetic programming system designed by the author. * Shows in detail how to evolve developmental programs modeled by cellular automata and Lindenmayer systems. * Provides Mathematica notebooks on the Web that include all the programs in the book and supporting animations, movies, and graphics.</p><p><b>Amazon.com Review  Living organisms manage to solve all kinds of deviously complex problems  with a natural simplicity that leaves programmers speechless. Incorporating techniques based on principles elaborated by Darwin and his intellectual descendents, a new generation of hackers has tackled hairy challenges with surprising success. Christian Jacob introduces interested programmers and scientists to these tools in <I>Illustrating Evolutionary Computation with Mathematica</I>, translated from German by the author. The basics of biological evolution through mutation and adaptation are covered quickly before they are adapted themselves to the purposes of computer-aided problem solving.  Jacob then explores the fundamentals of evolutionary computing through well-illustrated examples and a good balance of text, formulae, and code.  Genetic algorithms, evolutionary strategies, and finite state automata each get their share of attention and integration with Evolvica, Jacob's Mathematica-based genetic programming system. The system and Web enhancements to the book are available through the University of Calgary's site and are essential for getting the most from the text.  The last few chapters cover advanced applications like the classic "hungry ants" programs, cellular automata, and artificial plant  evolution, suggesting further possibilities for this programming frontier.   <I>Illustrating Evolutionary Computation with Mathematica</I> is an  excellent introduction and handbook for those wishing to harness the power  of this vigorous new hybrid. <I>--Rob Lightner</I>