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.
In Emergence, Holland demonstrates that a small number of rules or laws can generate systems of surprising complexity. Board games provide an ancient and direct example: Chess is defined by fewer than two dozen rules, but the myriad patterns that result lead to perpetual novelty and emergence. It took centuries of study to recognize certain patterns of play, such as the control of pawn formations. But once recognized, these patterns greatly enhance the possibility of winning the game. The discovery of similar patterns in other facets of our world opens the way to a deeper understanding of the complexity of life, answering such questions as: How does a fertilized egg program the development of a trillion-cell organism? How can we build human organizations that respond rapidly to change through innovation?
Throughout the book, Holland compares different systems and models that exhibit emergence in the quest for common rules or laws. These range from the tiny seed ‘that encloses specifications that produce structures as complicated and distinctive as the giant redwood and the common daisy’, to the checkers-playing computer that learned to beat its creator consistently, to the ant colonies that build bridges over chasms and navigate leaf-boats on streams, to the emotive creations of the poet. All are manifestations of emergence.
Taking the reader on a marvellous scientific adventure, John Holland illuminates humankind’s efforts to comprehend life and consciousness. Emergence is science at the cutting edge—a visionary book with important ramifications for every aspect of human intellectual endevour.
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.