[Home] [Tech Library]

1. Introduction

A major problem in making effective use of computers is dealing with complexity. As we design programs of increasing functionality, we find ourselves overwhelmed by their ever greater complexity. It might seem that the complexity of computational systems must be limited by our ability to understand and design them, but this is not so. In the world outside computation are working systems that developed without design-indeed, systems of a complexity far beyond present design capabilities [1].

A patterned system which develops without deliberate design is termed a spontaneous order [2]. Crystals provide a simple example: nowhere in the nature of an element's individual atomic forces is its crystal structure specified, much less designed, yet that structure emerges as a result of those forces. Similar examples include patterns observed in Conway's game of Life [3] and the spiral arms of galaxies. A particularly powerful spontaneous ordering principle is evolution. Among the spontaneous orders in the world, the most intricate and impressive are those-such as human bodies and languages-that have emerged through evolutionary processes.

The goal of this work is to understand how to build systems that will develop increasingly effective (even intelligent) computation through spontaneous ordering processes. In pursuit of this goal, this paper examines several evolutionary systems to determine which properties will serve best when generalized to the computational domain.

Biology provides the most familiar examples of evolutionary processes. A simple generalization from these examples might suggest that evolution is necessarily slow, and that it must proceed by random mutations. But human culture-including technology and scientific know- ledge-is also a result of evolutionary processes [2,4]. This shows that evolution can proceed quickly, and that "mutations" in an evolving system can result from thought and design. The essence of evolution is trial and the weeding out of error, but the trials need not be random.

Evolution often proceeds in what, in the biological case, is called an ecosystem. Here, the concept of an ecosystem is generalized to cover any set of evolving, interacting entities operating within a framework of rules.

Ecosystems vary in their ability to solve externally defined problems. One can imagine putting a person or an ecosystem in a box and then presenting problems and contingent rewards through a window in the box. A box full of algae and fish will "solve" a certain narrow set of problems (such as converting light into chemical energy), and will typically pay little attention to the reward. A box containing an intelligent person will solve a different, broader range of problems. A box containing, say, an industrial civilization (with access to algae, fish, and Bell Labs) will solve a vastly greater range of problems. This ability to solve externally posed problems can be taken as a measure of an ecosystem's "intelligence" (see Section 6.2 of [I]).

Ecosystems discussed in this paper include Axelrod's iterated prisoner's dilemma game [5], which can serve as a sort of E. coli of ecosystems, and biological ecosystems, which are familiar enough to serve as a point of reference for the rest. Others discussed are Lenat's EURISKO program [III,6], political ecosystems, and what will here be termed direct and indirect market ecosystems. Markets are the central theme-other ecosystems are compared to markets, and markets themselves are generalized from existing human systems to proposed computational systems.


Previous Next

[Home] [Tech Library]