*Adaptation in Natural and Artificial Systems: 2nd edn*. 19921995*Hidden Order*.*Emergence*. 1998*Signals and Boundaries*. 2012*Complexity*. 2014

- A universal computer capable of executing an arbitrary number of subprograms simultaneously. 1959. (In
*Essays on Cellular Automata*) - Iterative circuit computers. 1960. (In
*Essays on Cellular Automata*) - Outline for a logical theory of adaptive systems. 1962. (In
*Essays on Cellular Automata*) - Hierarchical descriptions, universal spaces, and adaptive systems. 1970. (In
*Essays on Cellular Automata*) - Using Classifier Systems to Study Adaptive Nonlinear Networks. 1989. (In
*Lectures in the Sciences of Complexity*) - Concerning the Emergence of Tag-Mediated Lookahead in Classifier Ssytems. 1990. (In
*Emergent Computation*) - The Royal Road for Genetic Algorithms: Fitness Landscapes and GA Performance. 1992. (In
*Toward a Practice of Autonomous Systems*) - Echoing Emergence: objectives, rough definitions, and speculations for ECHO-class models. 1994. (In
)*Complexity: metaphors, models, and reality* - Can There Be A Unified Theory of Complex Adaptive Systems?. 1995. (In
*The Mind, The Brain, and Complex Adaptive Systems*) - Board Games. 2000. (In
*The Greatest Inventions of the Past 2000 Years*) - What is to Come and How to Predict It. 2002. (In
*The Next Fifty Years*)

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.

From the movement of flocks of birds to the Internet,
environmental sustainability, and market regulation,
the study of complex non-linear systems has become highly influential over the last 30 years.

In this *Very Short Introduction*, John H. Holland,
one of the leading figures in the field,
introduces the key elements and conceptual framework of complexity.
From complex physical systems such as fluid flow and
the difficulties of predicting weather,
to complex adaptive systems such as
the diverse and interdependent ecosystems of rainforests,
he uses simple examples to illustrate the approach and insights provided by complexity theory.