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