Echo is a model of complex adaptive systems formulated by John Holland [1,2,3]. It abstracts away virtually all of the physical details of real systems and concentrates on a small set of primitive agent--agent and agent--environment interactions. The extent to which Echo captures the essence of real systems is still largely undetermined. The goal of Echo is to study how simple interactions among simple agents lead to emergent high--level phenomena such as the flow of resources in a system or cooperation and competition in networks of agents (e.g., communities, trading networks, or arms races).
An Echo world consists of a lattice of sites. Each is populated by some number of agents, and there is a measure of locality within each site. Sites produce different types of renewable resources; each type of resource is encoded by a letter (e.g., ``a,'' ``b,'' ``c,'' ``d''). Different types of agents use different types of resources and can store these resources internally. Sites charge agents a maintenance fee or tax. This tax can also be thought of as metabolic cost.
Agents fight, trade and reproduce. Fighting and trading result in the exchange of resources between agents. There is sexual and non--sexual reproduction, sexual reproduction results in offspring whose genomes are a combination of those of the parents. Each agent's genome encodes various genes which determine how it will interact with other agents (e.g., which resource it is willing to trade, what sort of other agents it will fight or trade with, etc.). Some of these genes determine phenotypic traits, or ``tags'' that are visible to other agents. This allows the possibility of the evolution of social rules and potentially of mimicry, a phenomenon frequently observed in natural ecosystems. The interaction rules rely only on string matching.
Echo has no explicit fitness function guiding selection and reproduction. An agent self--reproduces when it accumulates a sufficient quantity of each resource to make an exact copy of its genome. This cloning is subject to a low rate of mutation.
In preliminary simulations, the Echo system has demonstrated surprisingly complex behavior (including something resembling a biological ``arms race'' in which two competing agent types develop progressively more complex offensive and defensive combat strategies), ecological dependencies among different species, and sensitivity (in terms of the number of different phenotypes) to differing levels of renewable resources.
Ideally, Echo will allow the modeling of a diverse range of complex adaptive systems without the need for a specialized model for each to be developed. Typically, the people who know the most about any particular real--world complex adaptive system are not the people who can also develop sophisticated models that can be used as tools to increase understanding. Echo aims to provide a useful modeling tool or a starting point for the development of a model.
As a cautionary note, one must be a little careful when using the term ``Echo.'' Properly, Echo refers to a large family of models. As described here, Echo will refer to the implementation developed at the Santa Fe Institute.
Several versions of the system have been developed by Holland, and there are significant differences between these. Echo has been described in [1,2,3]. These descriptions represent snapshots of ongoing thought about Echo models. The version implemented here is closest to that described in [1]. For further details, refer to the above sources.