(Agentsheets Genetic Evolutionary System)

AGES is a group of Agentsheets commands that allows end-users to easily program agents that reproduce and evolve over time. These agents are subject to evolution through a variation of a genetic algorithm introduced into AGES by the Crossover action command. Such end-user evolutionary programming functionality makes AGES an ideal tool for enabling end-users to study complex adaptive systems (cas) through programming. A brief introduction to genetic algorithms, including the crossover operator/command, and to complex adaptive systems in general is presented below.

In order to run AGES you must first obtain a copy of Agentsheets. To run Agentsheets you need a Macintosh running MacOS ? or better. If you wish to obtain a copy of Agentsheets, email Jonathan Phillips, Andri Ioannidou, or Alex Repenning, and request a password. You must obtain a password due to licensing agreements concerning Macintosh Common Lisp (MCL). Once you have a password, you can get your free version of Agentsheets from the Agentsheets Website.


Genetic Algorithms (GA's)
Complex Adaptive Systems (CAS)
Nonlinearity and Context Dependence
Playing to Learn: Building Worlds with AGES
Philosophical Aside: Reductionism & Holism
AGES Commands
AGES Projects

Genetic Algorithms

Genetic Algorithms (GA's) were first introduced by John Holland in his book Adaptation in Natural and Artificial Systems . Since then, many variations of the GA have been implemented. GA's are often used to simulate biological evolution in computational systems. The most simple versions of the GA contain selection, crossover, and mutation operators. Melanie Mitchell describes these operators below in an excerpt from her book, (1996) An Introduction to Genetic Algorithms, MIT Press:

Selection. This operator selects chromosomes in the population for reproduction. The fitter the chromosome, the more times it is likely to be selected to reproduce.

Crossover This operator randomly chooses a locus and exchanges the subsequences before and after that locus between two chromosomes to create two offspring. For example, the strings 10000100 and 11111111 could be crossed over after the third locus in each to produce the two offspring 10011111 and 11100100. The crossover operator roughly mimics biological recombination between two single-chromosome (haploid) organisms. [Click here to see a diagram illustrating how Crossover works.]

Mutation This operator randomly flips some of the bits in a chromosome. For example, the string 00000100 might be mutated in its second position to yield 01000100. Mutation can occur at each bit position in a string with some probability, usually very small (e.g. 0.001).

Standard GA's often use some form of Replacement as well. The replacement operator keeps the population size constant. In contrast, some GA's do not maintain a constant population size. The actual form and role of genomes in different implementations of the GA varies widely.

The notion of fitness is also integral to GA's. Fitness is a measure of "how well" and organism survives in a given environment. Some GA's make use of exogenous fitness functions. Exogenous fitness functions are are explicitly defined. An agent's fitness is calculated according to this function.

However, in modelling real-world systems it is often impossible to determine the form of an exogenous fitness function describing an agent's actions due to the everchanging environments within which these actions are carried out. In these situations fitness is said to be endogenous. Endogenous fitness is internal to a system and is defined only implicitly. Fitness arises through interactions between agents within the system. It is often difficult, if not impossible, to assign fitness values to an agent's actions in isolation. For instance, it is usually good for an agent to eat in order to obtain energy. If one is greedy, this might lead one to grow, kill, and eat as much as possible in order to gain as much energy as possible. However, such actions could lead to a situation where too many healthy individuals eat and reproduce so much that food cannot regenerate fast enough to feed the growing population. Such a scenario could lead to mass starvation and/or extinction of agents that merely try to eat as much as possible. In the short term "eating as much as possible" might seem like a good/"highly-fit" survival strategy even though it can lead to disastrous consequences over time in a changing environment.

If the notion of "fitness" is to have any meaning at all, it must take into account such changing environments. Holland characterizes systems with endogenous fitness in his paper, Holland, John H., (1994) Echoing Emergence: Objectives, Rough Definitions, and Speculations for ECHO-Class Models. in George A. Cowan, David Pines, David Meltzer (eds.) Complexity: Metaphors, Models, and Reality. Addison-Wesley, 309-333. There he writes:

Discovering lever points and other critical cas [complex adaptive system] phenomena is particularly difficult because contexts and activities are continually changing as the agents adapt. It is rare that we can even determine the utility of a given activity. The utility of the various activities of a given agent depends too much on the changing context provided by other agents. In mimicry, symbiosis, and other properties, the welfare of one agent depends critically on the presence of other, different agents. Fitness (reward, payoff) is implicitly defined in such cases. We cannot assign a fixed fitness to a chromosome because that fitness, however defined, is context dependent and changing. So it is for all cas. Our first order of business, then, is to provide a class of models in which the welfare of an adaptive agent stems from its interactions rather than from some predetermined fitness function.

AGES introduces a genetic algorithm to Agentsheets to allow users to program evolutionary systems. In these systems, agents reproduce and exchange attribute/gene values that affect their behavior. Over generations, attribute values and behaviors of surviving offspring can change according to environmental selective pressures. (e.g. In the sugarscape project, Chompers' mean metabolism decreases across generations while mean vision increases. The rules Chomper agents follow ,as well as those that Sugar_and_Spice agents follow, present Chompers with selective pressures that make it easier for them to survive when they have low metabolism and high/longer-range vision. ) By adapting to such selective pressures, agents that reproduce according to AGES' Crossover commands become examples of complex adaptive systems. In using the commands of AGES to create computational simulations, end-users can study complex adaptive systems subject to evolution.


Complex Adaptive Systems (cas)

AGES has been developed within Agentsheets to enable a wide audience of non-expert end-users to study complex adaptive systems (cas) through programming. In the following passage of his paper: (1994) Complex Adaptive Systems. in George Cowan, David Pines, David Meltzer (eds.) Complexity: Metaphors, Models, and Reality. Addison-Wesley, 17-28. Murray Gell-Mann hints at the wide range of phenomena that can be described in terms of cas:

I favor a comprehensive point of view according to which the operation of cas encompasses such diverse processes as the prebiotic chemical reactions that produced life on Earth, biological evolution itself, the functioning of individual organisms and ecological communities, the operation of biological subsystems such as mammalian immune systems or human brains, aspects of human cultural evolution, and adaptive functioning of computer hardware and software.

With such a notion of cas in mind, it is not surprising that one would want to study them; cas are pervasive and even today are providing an overarching framework within which many seemingly separate domains can be studied together.


Nonlinearity and Context-Dependence

An important aspect of complex adaptive systems revolves around the nonlinear relations that often hold between their parts. Chris Langton speaks of non-linear systems as those in which the behavior of the whole is more than the sum of its parts. In contrast, the behavior of a linear system is often best characterized as merely the sum of its parts. Langton expands on these notions in his paper, Langton, Christopher G. (1996) "Artificial Life." in Margaret Boden (ed.) The Philosophy of Artificial Life. Oxford University Press, 39-94. There he writes:

Linear systems are those which obey the principle of superposition. We can break up complicated linear systems into simpler constituent parts, and analyse these parts independently. Once we have reached an understanding of the parts in isolation, we can achieve a full understanding of the whole system by composing our understandings of the isolated parts. This is the key feature of linear systems: by studying the parts in isolation, we can learn everything we need to know about the complete system.

This is not possible for non-linear systems, which do notobey the principle of superposition. Even if we could break such systems up into simpler constituent parts, and even if we could reach a complete understanding of the parts in isolation, we would not be able to compose our understandings of the individual parts into an understanding of the whole system. The key feature of non-linear systems is that their primary behaviours of interest are properties of the interactions between parts, rather than being properties of the parts themselves, and these interaction-based properties necessarily disappear when the parts are studied independently. [emphasis in original]

Langton emphasizes the need to analyze the behavior of parts of a system in situ. It is just this kind of situated learning that AGES brings to the study of complex adaptive systems. Users of AGES actually program/construct their own computational worlds where interesting global properties emerge from interactions between individual agents.


Playing to Learn: Building Worlds with AGES

It seems quite clear that students'/children's creativity can be enhanced if they are given more freedom to play with ideas they encounter in classroom settings. Computer simulation tools like AGES can aid in creating such freedom without totally abandoning structure in the classroom. AGES provides users a way to "cut to the chase" so to speak. Even kids can quickly and easily use AGES to program agents without the need to learn the complicated syntax of a traditional "high-level" programming langauge like C/C++, Java, or LISP. Hopefully, through the use of tools like AGES and Agentsheets, kids will be motivated to construct personally meaningful worlds for themselves that allow them to actively engage with ideas that were previously explored only through uninteractive video presentations or through pencil and paper exercises. In AGES and Agentsheets your "paper" is alive and vibrant, full of agents that can swim, walk, run, fly, talk to you and amongst themselves, and even evolve! There's lots of fun to be had as you learn (perhaps in spite of yourself) about the systems you create.


Philosophical Aside: Reductionism & Holism

On a fairly philosophical note, I found the following quote from Wimsatt, William C. "Forms of Aggregativity," in A. Donagan, A.N. Perovich, Jr., M.V. Wedin (eds.) Human Nature and Natural Knowledge. Kluwer Academic Publishers,1986, 259-291, quite interesting. In my opinion there ought to be room enough in a reductionist scientific enterprise for holist/context-dependent tendencies to emerge. Interestingly, Wimsatt draws just such a connection between emergence and reductionism:

It is worth noting that in the progress of a reductionistic research program earlier simpler models which tend to treat parts as isolated and as characterized in terms of context-independent monadic properties are replaced by later more complex models in which relational properties of the parts enter and their behavior is thus rendered increasingly context-dependent.... If this picture is correct then we have, if anything, the opposite of the picture painted by the positivists. Rather than emergence disappearing with the progress of reductionistic theories, we have it growing in demonstrated scope and importance as we move from the earliest and simplest models to more complex and realistic ones. Thus some holists, at least, can draw only comfort from the continued successes of reductionistic approaches.

It is interesting to note that a sophisticated reductionism, that explores both context-independent and context-dependent properties of systems to be explained, might not be in conflict with a sophisticated holism that insists on upholding the importance of context (i.e. context-dependence) in explaining those same systems.


In the next section I present the commands that embody AGES. AGES commands provide end-users the ability to easily program Agentsheets agents that reproduce and evolve over time to form complex adaptive systems in which interesting system-wide properties emerge. Crossover in AGES is geared toward operating in systems where fitness is endogenous. Such systems are more like many real-world cas whose shapes and forms are constantly changing.


Home | AGES Commands | AGES Projects