Reviewed by
David Hales
Department of Computer
Science, University of Essex.
It is over a decade since the first Artificial Life conference (Langton 1989). Is the area ready for an introductory textbook? Anyone familiar with the diverse nature of the published work under the ALife banner might wonder how such a book would be structured - I certainly did. This volume is not, and does not attempt to be, such a textbook. My own initial misconception was based purely on the title. Adami makes it clear from the start that it is not an "introduction" in this sense. In fact, this book is much more ambitious than an introduction. It is an attempt to ground and think about ALife from a particular perspective. Adami comes from a physics background and approaches the subject from the perspective of statistical physics and thermodynamics. The book has been developed from a graduate course taught at Caltech since 1995 that is aimed at those with physics backgrounds. In this sense it is a textbook: each chapter ends with a brief overview of the chapter and a set of non-trivial exercises that test the reader's understanding of the key ideas raised. The book also contains numerous references to "these lectures" for which it is the recommended text.
The book comprises eleven chapters and an appendix. A CD-ROM containing various support materials (see below) is also included.
In the introductory chapter, Adami examines the problems associated with studying life in general. He outlines the problems of applying methodologies from the physical sciences to life-like entities (i.e. life is an emergent property). He introduces the necessity of a synthetic or "constructive" approach. He lays the foundations for the orientation of the rest of the book by formulating a principle of living systems based on information and thermodynamic theory. The language gives a feel for the way Adami approaches things:
Life is a property of an ensemble of units that share information coded in physical substrate and which, in the presence of noise, manages to keep its entropy significantly lower than the maximal entropy of the ensemble, on timescales exceeding the "natural" timescale of decay of the (information-bearing) substrate by many orders of magnitude.
The chapter then goes on to cover, very briefly and in outline, some of the higher quality ALife work done by others. This overview is based on Langton's (1995) volume. Langton's book is in turn based on papers culled from the first three issues of the journal Artificial Life. Adami outlines this work so that it can be put aside - the rest of chapters in the book deal with his own approach using his own model (the Avida system). In this context, the title of the book could be misleading to someone completely new to the subject. However, Adami makes it clear in the introductory chapter that he will be pursuing his own line of enquiry in subsequent chapters and not providing an overview - pointing readers to Langton's book for that. Adami also very briefly reviews attempts to create "wet" ALife in an RNA world (i.e. life in a test tube).
The chapter continues with a brief exposition of Turing and von Neumann Automata. He discusses the Turing Machine (and associated Church-Turing thesis), the Halting Problem and von Neumann's self-replicating automata in a break-neck four pages! The chapter concludes with a formal definition of Cellular Automata (CA) systems.
The second chapter starts by examining Langton's now famous self-replicating loop CA (Langton 1986). Although of interest, Adami then puts self-replicating CAs aside as a method of constructing life in a computer due to their "brittle nature" to date. Current self-replicating CA rule systems, when mutated, tend to produce non-reproducing systems. Interestingly, Adami notes that if the right CA rules (or "artificial chemistry" to use Adami's terminology) could be found then CAs could be a fertile area of study.
The chapter then progresses onto a discussion of computer viruses as a kind of "naturally occurring" phenomena that are analogous to life-like systems. Adami points out that, although having certain life-like properties, virus codes are consciously constructed by programmers and are also brittle to mutation. From this we move on to a discussion of Tom Ray's Tierra system (Ray 1992) - a simulated computer in which programs mutate and replicate, competing for memory with variants. Tierra works because the instruction set used by the programs is less brittle to mutation. Mutation thus has a good chance of producing new replicating programs. Adami selects the Tierra framework as a paradigm from which to construct computational experiments for the rest of the book. The Tierra framework (self-replicating code) is elaborated into the more complex Avida system (developed at Caltech). An overview of this system is then provided. (In addition, a detailed description is given in chapter nine, there is a user manual in the appendix and the code for Avida is included on the CD-ROM.) The chapter concludes with a discussion and some results from the Tierra-like "Amoeba" system.
In the third chapter, basic information theory is introduced covering various topics: channels and coding, uncertainty and Shannon entropy, joint and conditional uncertainty, channel capacity and noise. This chapter is a textbook introduction to information theory but with an eye to its application to living systems - specifically genetic codes.
The next chapter is a primer in statistical mechanics and thermodynamics. Adami states that his goal is to construct and analyse populations of replicating code (as a baseline for minimal living systems) and their resulting interactions leading to macroscopic properties. From this he argues that any theory of complexity must be based in statistical physics - predicting aggregate behaviours from microscopic interactions. A number of theorems and techniques are then introduced: phase space; ergodicity and the ergodic theorem; the second law of thermodynamics; temperature; the Gibbs distribution; non-equilibrium systems and first-order phase transitions. Again (as in the previous chapter) occasional applications are made to genetic codes. The theorems given are not derived formally but stated and discussed. Adami indicates at the beginning of the chapter that this primer is not a substitute for a thorough introduction. As a person with very limited knowledge of these topics, this reviewer found the chapter heavy going yet surprisingly readable. The chapter concludes with the application of the language of first-order phase transitions to an understanding of the results of an experiment with the Avida system.
By chapter five, the ideas discussed in the previous chapters are brought together to formulate a measure of complexity for living systems. But there is much more here than one might expect. We are actually given a tour-de-force relating information, energy, complexity and evolution by way of Maxwell's Demon, Szilard's one molecule engine and Landauer's double well storage device, finally arriving at Kolmogorov complexity with context supplied by the tape of a Turing Machine. This is heavy going and formally deduced but arrives at an agreeably intuitive conclusion: the informational complexity of a replicating unit cannot be measured in isolation from the environment in which it is situated. Evolution can be seen as replicating entities (bit strings) accumulating information from the environment (and hence increasing in complexity). The complexity can be measured by counting those parts (bits) of the replicating entities from a population that are "cold" (not changing over time) and shared (thus representing some aspect of the environment). The chapter concludes with an application of the developed complexity measure to both real life (tRNA) and to results from experiments with the Avida system.
In the next chapter, the concept of self-organised criticality is described with aid of the popular "sandpile" model (Bak 1996). Although the sandpile model is very simple (and hence can be described analytically), it is argued that it produces behaviour that is strongly analogous to that found in living systems. The chapter continues with a presentation of the "forest fire model" (Bak et al. 1990). Again this is a simplified model which can be solved analytically. Several properties derived from these models are then compared to results obtained from experiments within Avida and Tierra. The chapter concludes with an attempt to put forward a theory of self-organised criticality but concedes that many questions are still unanswered by the work presented to date.
Percolation models are then introduced and some linkage is made to fitness landscapes. Although of interest, the utility of this discussion appears limited. It is unclear to this reviewer what Adami is trying to achieve here.
The concept of a fitness landscape is introduced formally in chapter eight. Various kinds of possible landscape types are introduced - random, smooth, fractal. Again, some results from experiments with Avida are discussed and the kinds of fitness landscapes expressed in that model are described.
In chapter nine, the Avida system is described in detail. As mentioned above, Avida is a development of Tom Ray's seminal Tierra system (Ray 1992). Essentially, life-like evolution is modelled as the propagation of self-replicating programs running on virtual machines that inhabit a two-dimensional topology. The chapter starts with a description of the various parameters that can be set prior to running Avida experiments. Then details are given about how experiments are actually run in Avida and how the results can be analysed. Finally, a series of experiments are described and results given, along with speculation as to their implications for real living systems.
In chapter ten, a parallel version of Avida (called Sanda) is used for experimentation with large populations. Adami is particularly interested in how informational "wave-fronts" spread over the lattice environment as new adaptations are propagated. Firstly, results are deduced, producing predictions of behaviour linking various parameters of the system. Then the results are compared to empirical experimentation with the Sanda system. Adami develops the insight that many life-like processes operate far from equilibrium. In this chapter, he attempts to demonstrate how such processes might be captured analytically.
In the concluding chapter, Adami develops a sophisticated argument, starting with Langton's (1992) CA experiments then linking optimal evolution to Eigen's error threshold (Eigen and Schuster 1979). A relationship is then established between evolution and the Ising Model. The results are compared to experimental runs of the Avida system and these show that form adaptation towards an optimal error threshold occurs.
The book comes with an accompanying CD-ROM that contains the Avida program for Unix and Windows, as well as WWW links, animations, Java applets and C source code illustrating various processes described in the book. Overall the CD-ROM is good fun (particularly the movie clips of animations) and offers good links to high-quality material available on the web. Most of the links work, but some are dead (as would be expected). I had no problems installing Avida on my Windows98 PC. I did not attempt the Unix installation. The Avida system is text based with no fancy windows or graphics. The interface however is friendly, allowing parameters to be set and experiments to be run without too much trouble. The entire source for the Avida system (in C++) is also supplied so interested users can view or alter the code. Most of the contents of the CD-ROM can be found on the web at http://www.krl.caltech.edu/~adami/CD1/AL.html.
In summary, the title of the book is misleading. This is a book that covers Adami's work utilising his own system (Avida). It is not an introduction to the diverse area of Artificial Life found in the various conference proceedings and journal publications on the subject. There is nothing here on evolutionary economics or social systems models for example. Also, Adami's attempt to ground all his work within statistical physics means that a lot of this book will be inaccessible to those without a physics background. However, the work presented by Adami is rigorous and in many senses general. From his initial definition and theoretical orientation, Adami is attempting to construct physical theories of life in general with deducible and predictive properties. Adami has the ability to present complex ideas concisely and clearly. He also demonstrates an incredible sophistication, depth and rigour in his treatment of processes such as self-organisation and evolution. In this sense, the work is a "contribution" (from a particular perspective) rather than an "introduction" to Artificial Life.
BAK P. 1996. How Nature Works: The Science of Self-Organised Criticality. Springer-Verlag, New York, NY.
BAK P., K. Chen and C. Tang 1990. A Forest-Fire Model and Some Thoughts on Turbulence. Physics Letters, A, 147:297-300.
EIGEN M. and P. Schuster 1979. The Hypercycle - A Principle of Natural Self-Organisation. Springer-Verlag, Berlin.
LANGTON C. G. 1986. Studying Artificial Life with Cellular Automata. Physica, D, 22:120-149.
LANGTON C. G., editor, 1989. Artificial Life. Addison-Wesley, Redwood City, CA.
LANGTON C. G. 1992. Life at the Edge of Chaos. In C. G. Langton et al., editors, Artificial Life II. Addison-Wesley, Redwood City, CA.
LANGTON C. G., editor, 1995. Artificial Life: An Overview. MIT Press, Cambridge, MA.
RAY T. 1992. An Approach to the Synthesis of Life. In C. G. Langton et al., editors, Artificial Life II. Addison-Wesley, Redwood City, CA.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 1999