The original work on genetic algorithms, from their inventor, updated in a 2nd edition. (First edition published 1975)
This booked is based on the first Stanislaw Ulam Memorial Lecture, given at the Santa Fe Institute. In it, Holland explains how genetic algorithms can model adaptive agents (where the only interaction between agents is their breeding together to produce agents fit to a problem), and how the Echo model can be used to simulate populations of interacting agents (where agents interact, compete, breed, and merge into more complex agents).
His aim is to build simple abstract models that can help to explain adaptable agents, and the growth and evolution of complex systems from simple ones. The chapter on genetic algorithms succeeded for me more than that on Echo. Genetic algorithms are very simple models, have been applied to real world problems, are known to work, and the underlying mathematics of why they work (parallel exploration by schemata) is understood. Echo, on the other hand -- (necessarily) a much more complicated model -- is rather less mature. The model is described in detail, but Holland can only speculate about its behaviour, because it has yet to be implemented, run, and studied. So I was left feeling as if the punchline had been forgotten. (Sugarscape implements a few of the properties Holland wants for Echo.) In particular, I wanted to learn more about lever points: those places and events in a complex adaptive system where a small force can be used to great effect, due to sensitivity to initial conditions.
Maybe a later book will give the same understanding of the Echo model as we currently have of genetic algorithms? I hope so, because Holland is very good at imparting understanding about the how and why of complex systems.