Throughout the natural and artificial world one observes phenomena of great complexity. Yet research in physics and to some extent biology and other fields has shown that the basic components of many systems are quite simple. It is now a crucial problem for many areas of science to elucidate the mathematical mechanisms by which large numbers of such simple components, acting together, can produce behaviour of the great complexity observed. One hopes that it will be possible to formulate universal laws that describe such complexity.
The second law of thermodynamics is an example of a general principle that governs the overall behaviour of many systems. It implies that initial order is progressively degraded as a system evolves, so that in the end a state of maximal disorder and maximal entropy is reached. Many natural systems exhibit such behaviour. But there are also many systems that exhibit quite opposite behaviour, transforming initial simplicity or disorder into great complexity. Many physical phenomena, among them dendritic crystal growth and fluid turbulence are of this kind. Biology provides the most extreme examples of such self-organization.
The approach that I have taken over the last couple of years is to study mathematical models that are as simple as possible in formulation, yet which appear to capture the essential features of complexity generation. My hope is that laws found to govern these particular systems will be sufficiently general to be applicable to a wide range of actual natural systems.
The systems that I have studied are known as cellular automata. In the simplest case, a cellular automaton consists of a line of sites. Each site carries a value 0 or 1. The configurations of the system are thus sequences of zeroes and ones. They evolve in a series of time steps. At each step, the value of each site is updated according to a specific rule. The rule depends on the value of a site, and the values of say its two nearest neighbours. So for example, the rule might be that the new site value is given by the sum of the old value of the site and its nearest neighbours, reduced modulo two (i.e. the remainder after division of the sum by two).
Even though the construction of cellular automata is very simple, their behaviour can be very complicated. And as a consequence, their analysis can be correspondingly difficult. In fact, there are reasons of principle to expect that there are no general methods that can universally be applied.
The first step in studying cellular automata is to simulate them, and see explicitly how they behave. Figure 1 shows some examples of cellular automata evolving from simple seeds. In each picture, the cellular automaton starts on the top line from an initial state in which all the sites have value zero, except for one site in the middle, which has value one. Then successive lines down the page are calculated from the lines above by applying the cellular automaton rule at each site.
Figure 1(a) shows one kind of pattern that can be generated by this procedure. Even though the rule is very simple (it can be stated in just one sentence, or a simple formula), and the initial seed is likewise simple, the pattern produced is quite complicated. Nevertheless, it exhibits very definite regularities. In particular, it is self-similar or fractal, in the sense that parts of it, when magnified, are similar to the whole.
Figure 2 illustrates the application of a cellular automaton like the one in figure 1(a) to the study of a natural phenomenon: the growth of dendritic crystals, such as snowflakes (as investigated by Norman Packard). The cellular automaton of figure 1(a) is generalized to be on a planar hexagonal grid, rather than a line. Then a cellular automaton rule is devised to reproduce the microscopic properties of solidification. A set of partial differential equations provide a rather complete model for solidification. But to study the overall patterns of growth produced, one can use a model that includes only some specific features of the microscopic dynamics. The most significant feature is that a planar interface is unstable, and produces protrusions with some characteristic length scale. The sizes of the sites in the cellular automaton correspond to this length scale, and the rules that govern their evolution incorporate the instability. With this simple caricature of the microscopic laws, one obtains patterns apparently very similar to those seen in actual snowflakes. It remains to carry out an actual experiment to find out whether the model indeed reproduces all the details of snowflakes.
Figure 1(b) shows a further example of a pattern generated by cellular automaton evolution from simple initial seeds. It illustrates a remarkable phenomenon: even though the seed and the cellular automaton rules are very simple, the pattern produced is very complicated. The specification of the seed and cellular automaton rule requires little information. But the pattern produced shows few simplifying features, and looks as if it could only be described by giving a large amount of information, explicitly specifying its intricate structure.
Figure 1 is a rather concrete example of the fact that simple rules can lead to very complicated behaviour. This fact has consequences for models and methodologies in many areas of science. I suspect that the complexity observed in physical processes such as turbulent fluid flow is of much the same mathematical character as the complexity of the pattern in figure 1(b).
The phenomenon of figure 1 also has consequences for biology. It implies that complicated patterns of growth or pigmentation can arise from rather simple basic processes. In practice, however, more complicated processes may often be involved. In physics, it is a fair principle that the simplest model for any particular phenomenon is usually the right one. But in biology, accidents of history often invalidate this principle. It is only the improbability of very complicated arrangements that have been reached by biological evolution that makes a criterion of simplicity at all relevant. And in fact it may no more be possible to understand the construction of a biological organism than a computer program: each is arranged to work, but a multitude of arbitrary choices is made in its construction.
The method of investigation exemplified by figures 1 and 2 is what may be called ''experimental mathematics''. Mathematical rules are formulated, and then their consequences are observed. Such experiments have only recently become feasible, through the advent of interactive computing. They have made a new approach to science possible.
Through computers, many complex systems are for the first time becoming amenable to scientific investigation. The revolution associated with the introduction of computers in science may well be as fundamental as, say, the revolution in biology associated with the introduction of the microscope. But the revolution is just beginning. And most of the very easy questions have yet to be answered, or even asked. Like many other aspects of computing, the analysis of complex systems by computer is an area where so little is known that there is no formal training that is of much advantage. The field is in the exciting stage that anyone, whether a certified scientist or not, can potentially contribute.
Based on my observations from computer experiments such as those of figure 1, I have started to formulate a mathematical theory of cellular automata. I have had to use ideas and methods from many different fields. The two most fruitful so far are dynamical systems theory and the theory of computation.
Dynamical systems theory was developed to describe the global properties of solutions to differential equations. Cellular automata can be thought of as discrete idealizations of partial differential equations, and studied using dynamical systems theory. The basic method is to consider the evolution of cellular automata from all its possible initial states, not just say those consisting of a simple seed, as in figure 1. Figure 3 shows examples of patterns produced by the evolution of cellular automata with typical initial states, in which the value of each site is chosen at random. Even though the initial states are disordered, the systems organizing itself through its dynamical evolution, spontaneously generating complicated patterns. Four basic classes of behaviour are found, illustrated by the four parts of figure 3. The first three are analogous to the fixed points, limit cycles and strange attractors found in differential equations and other dynamical systems. They can be studied using quantities from dynamical systems theory such as entropy (which measures the information content of the patterns), and Lyapunov exponents (which measure the instability, or rate of information propagation).
Cellular automata can not only be simulated by computers: they can also be considered as computers in their own right, processing the information corresponding to their configurations. The initial state for a cellular automaton is a sequence of digits, say ones and zeroes. It is directly analogous to the sequence of digits that appears in the memory of a standard digital electronic computer. In both cases the sequences of digits are then processed according to some definite rules: in the first case the cellular automaton rules, and in the second case the instructions of the computer's central processing unit. Finally some new sequence of digits is produced that can be considered as the result or output of the computation.
Different cellular automata carry out computations with different levels of complexity. Some cellular automata, of which figure 3(d) is probably an example, are capable of computations as sophisticated as any standard digital computer. They can act as universal computers, capable of carrying out any finite computation, or of performing arbitrary information processing. The propagating structures in figure 3(d) are like signals, interacting according to particular logical rules.
If cellular automata such as the one in figure 3(d) can act as universal computers, then they are in a sense capable of the most complicated conceivable behaviour. Even though their basic structure is simple, their overall behaviour can be as complex as in any system.
This complexity implies limitations of principle on analyses which can be made of such systems. One way to find out how a system behaves in particular circumstances is always to simulate each step in its evolution explicitly. One may ask whether there can be a better way. Any procedure for predicting the behaviour of a system can be considered as an algorithm, to be carried out using a computer. For the prediction to be effective, it must short cut the evolution of the system itself. To do this it must perform a computation that is more sophisticated than the system itself is capable of. But if the system itself can act as a universal computer, then this is impossible. The behaviour of the system can thus be found effectively only by explicit simulation. No computational short cut is possible. The system must be considered ''computationally irreducible''.
Theoretical physics has conventionally been concerned with systems that are computationally reducible, and amenable for example to exact solution by analytical methods. But I suspect that many of the systems for which no exact solutions are now known are in fact computationally irreducible. As a consequence, at least some aspects of their behaviour, quite possibly including many of the interesting ones, can be worked out only through explicit simulation or observation. Many asymptotic questions about their infinite time behaviour thus cannot be answered by any finite computations, and are thus formally undecidable.
In biology, computational irreducibility is probably even more generic than in physics, and as a result, it may be even more difficult to apply conventional theoretical methods in biology than in physics. The development of an organism from its genetic code may well be a computational irreducible process. Effectively the only way to find out the overall characteristics of the organism may be to grow it explicitly. This would make large-scale computer-aided design of biological organisms, or ''biological engineering'', effectively impossible: only explicit search methods analogous to Darwinian evolution could be used.
Complex systems theory is a new and rapidly developing field. Much remains to be done. The ideas and principles that have already been proposed must be studied in a multitude of actual examples. And new principles must be sought.
Complex systems theory cuts across the boundaries between conventional scientific disciplines. It makes use of ideas, methods and examples from many disparate fields. And its results should be widely applicable to a great variety of scientific and engineering problems.
Complex systems theory is now gaining momentum, and is beginning to develop into a scientific discipline in its own right. I suspect that the sociology of this process is crucial to the future vitality and success of the field. Several previous initiatives in the direction of complex systems theory made in the past have failed to develop their potential for largely sociological reasons. One example is cybernetics, in which the detailed mathematical results of control theory came to dominate the field, obscuring the original more general goals. One of the disappointments in complex systems theory so far is that the approaches and content of most of the papers that appear reflect rather closely the training and background of their authors. Only time will ultimately tell the fate of complex systems theory. But as of now the future looks bright.