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

- 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.

Complex adaptive systems (*cas*),
including ecosystems, governments, biological cells, and markets,
are characterized by intricate hierarchical arrangements of boundaries and signals.
In ecosystems, for example, niches act as semi-permeable boundaries,
and smells and visual patterns serve as signals;
governments have departmental hierarchies with memoranda acting as signals;
and so it is with other *cas*.
Despite a wealth of data and descriptions concerning different *cas*,
there remain many unanswered questions about “steering” these systems.
In *Signals and Boundaries*, John Holland argues that understanding
the origin of the intricate signal/border hierarchies of these systems
is the key to answering such questions.
He develops an overarching framework for comparing and steering *cas*
through the mechanisms that generate their signal/boundary hierarchies.

Holland lays out a path for developing the framework that emphasizes agents, niches, theory, and mathematical models. He discusses, among other topics, theory construction; signal-processing agents; networks as representations of signal/boundary interaction; adaptation; recombination and reproduction; the use of tagged urn models (adapted from elementary probability theory) to represent boundary hierarchies; finitely generated systems as a way to tie the models examined into a single framework; the framework itself, illustrated by a simple finitely generated version of the development of a multi-celled organism; and Markov processes.

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.

When I saw that John Holland had written “A Very Short Introduction” to complexity, I was excited, and snapped up a copy. Given Holland’s stature in the field, I was looking for a good distillation of concepts, and, maybe, a suitable introduction for my students.

Unfortunately, I cannot recommend this book. This is for two main reasons. Firstly, it is riddled with errors. Secondly, the part on Complex Adaptive Systems, or CAS (as opposed to the somewhat simpler Complex Physical Systems, or CPS), appears to be a summary of Holland’s own work in the area, not the more general introduction I was looking for.

The first issue is more of a problem.
Here are a few examples.
On p.7, Holland discusses von Neumman’s cellular automaton (CA) replicator,
a complex pattern that can replicate itself,
then references figure 1, which shows a glider from Conway’s Game of Life CA.
On p.11, he says that CPS tend to be modelled using partial differential equations
(despite most of his examples being discrete space and time CAs),
then states that the theory of partial differential equations (PDEs) is additive, that is, linear
(and says this *again* on p.25);
by p.13 he is talking about PDEs being used to describe chaotic (necessarily non-linear) systems.
On p.15 he states that the
Koch snowflake fractal curve
is “everywhere discontinuous”,
rather, it is everywhere *continuous*, but nowhere *differentiable*.
And so on.

Okay, so maybe the part on CAS is better than the part on CPS, because that’s his area of expertise? But no. Take figure 6, which has two parts, one a set of rules, and the other supposedly a network representation of the behaviour of those rules. Except that the two parts don’t fully correspond, and the hash notation in the rules (a wildcard) is nowhere explained; the figure as it stands is unintelligible. Furthermore, this specific formulation of rules is Holland’s own model of CAS, which would be absolutely fine in a book about his model, but not so much in a general introduction.

I gave up reading soon after this point. Even if there are some interesting insights (and I’m sure they must be) how can they be picked out from the mass of erroneous statements, and the potentially over-specific model presented? Unfortunately, this book will have to go back on my shelf; I will not be recommending it to my students, or to anyone else.