3 The Swimmer World
Swimmers is an extension of some previous projects by
the author, involving stick figures whose motions are controlled by a
set of parameters which evolve with the help of a GA. This project
takes a step down in dimension (from 3 to 2), but includes a more
automated means of evolving locomotion, by imbedding the figures in
a dynamic environment, where the fitness landscape is constantly
changing, as in Yaeger's Polyworld, and where fitness equals reproduction.
These swimmers are situated autonomous agents, who mate autonomously.
This sets them apart from the organisms recently developed by
Sims, which - though they are much more complex - are evolved using
objective functions determined by design. This model, then,
is more open-ended in terms of modeling reproduction. It also
ties together the emergence of individual morphology and
locomotion with population dynamics. Individual behaviors
emerge which have meaning in the context of the dynamic ecosystems
within which they evolve. For instance, particular kinds of
swimming styles (i.e., aggressive and energy-wasteful, vs.
slow and energy-efficient) can affect, and be affected, by
environmental conditions (such as food supply - due to the
rate at which swimmers must eat to replenish their energy).
In this world there are only swimmers, food bits, and the
boundaries of the pond. A goal in this project has been to make
the rules of the game as few and as straightforward as possible -
motivated by the desire to minimize complexity in Design so as to
focus on Emergence. Despite the model's brevity, the individual
swimming techniques and overall group dynamics that emerge are
sufficiently realistic, and a continual source of novelty. I define
"swimming" in this paper to include any activity that a swimmer does
which enables it to move through the pond and to orient itself towards
a goal which is itself moving. The swimmers have rudimentary perception
and reactivity - which is hard-wired. They are not much on brains,
but they have sufficiently versatile motor control systems and
morphological schemes, for potentially many locomotion styles.
The swimmers were designed with the ability to locate and choose
food bits and mates that are within their view. They spend most
of their lives "pursuing" these goals.
Key parameters were specified to supply an environment from
which optimized behavior can emerge. These include:
• maximum life span of swimmers
• initial population size and area
• how far swimmers can see (view radius)
• water viscosity
• mass of swimmers
• rate at which food multiplies
• amount of food at the start of the simulation
• various levels of food energy exchange and loss
• various constraints in swimmer embryology
These settings are all explained in the following sections.
3.1 The Virtual Pond
The world in which the swimmers live is a two-dimensional virtual
pond of water. Fluid flow is not modeled within the pond. Instead,
interaction with water is reflected in the dynamics of a swimmer, as
body parts stroke through the water and affect the swimmer's translational
and angular velocities. Effects such as turbulence, wakes, vortices,
etc., are not a part of this model. The pond is defined by a square
boundary, which the swimmers cannot go beyond.
3.2 The Energy Cycle
During the running of the simulation, the distribution
and dissipation of energy is computed throughout the pond. Energy
originates from the food bits scattered around the pond. Food multiplies
autonomously, at a slow rate - new bits appear at random positions
in the pond at regular intervals. When a food bit is eaten by a swimmer,
it is stored in the swimmer and increases its energy level by a predetermined
amount. A swimmer uses up its stored energy in three ways:
1) Existing. A very small amount of energy is expended as a base-level metabolism.
2) Moving limbs. The more the swimmer exerts force against water, the more energy is used up (swimmers who exert more force against water become hungry more frequently than others).
3) Mating. The act of mating requires that a certain amount of stored energy be lost and transferred to offspring.
When a swimmer's energy level drops below a designated threshold, it
assumes the hungry state, and quits whatever else it happens to be doing and
begins to search for a nearby food bit. If it finds one, it will pursue this
food bit. If it doesn't find a food bit, or cannot swim to a chosen food bit
before its energy level reaches zero, it dies of hunger. If a swimmer is
pursuing a food bit which another swimmer then eats, it looks for another
food bit to eat.
(go to beginning of document)