Polyworld Movies
If you
think you might wish to view any of these more than once, please consider
downloading them to your machine (option-click on Mac, right-click on Windows),
rather than streaming them multiple times. Thanks. (They need to download fully
to your browser cache before they start to play, so if you try to play them
directly from the web site it will take just as long as downloading them
anyway—every time!)
Modern
Movies
These
videos are from the modern incarnation of Polyworld, recorded digitally to hard disk in my
lossless but highly compressed (180:1 or so) native format, then converted to
QuickTime movies using Apple's Animation codec at the highest quality setting.
They are much higher quality than the historical movies below, but only show
the main oblique view of the world, and I so far have only converted a few
samples.
First
up are the built-in primitive behaviors in a toy world constructed solely for
the purpose of obtaining these sample movies:
- Eating (1.4
MB) – Watch the initially orange, top-most agent as it moves over a
block of food and consumes it. The agent is also modulating some of its
other behaviors, including the brightness of the polygons at its front.
- Killing &
Eating (1 MB) – Observe the two orange agents at the left. The
upper agent of the pair catches up with the lower agent, kills it—at
which point it turns into a block of food—and then consumes some
(but not all) of the new block of food.
- Mating (3.5 MB)
– Pay attention to the two agents on the right. When they come in
contact, they produce an offspring that heads off towards the center of
the world. Note how the child behaves more like the salmon-colored parent
(in terms of color and movement), but has a body plan (size and aspect
ratio) more like the other, blue-purple parent, due to a mixing and
matching of genes.
- Lighting (0.7 MB) – Notice the
left-most, slightly bluer agent. As it turns towards the center it also
dims the brightness of the polygons on its front. This
is achieved by the agent reducing the activation of its "light
neuron".
And now
a "test"É Watch the agent that is initially purple and on the left in
this movie (4.4 MB) and see which three
primitive behaviors you can spot, in what order.
Here
are some excerpts of three different simulation runs, showing the evolutionary
progression over time of different behaviors:
- Dynamic Food
(excerpts) (33.9 MB) – This was one of a few experiments testing
to see if the agents would evolve to track moving food. All food appears
in one quadrant of the world for a short time, then moves to the next
quadrant, then the next, the next, and then we repeat. Initially the
agents pretty much ignore the food (which, of course, isn't too
evolutionary useful) but over time they evolve behaviors that bring them
fairly rapidly to the food patch each time it moves.
- Complexity w/
Barriers (excerpts) (23.4 MB) – This is a low resolution
(640x480) recording of one of the runs examining evolutionary trends in
complexity, as reported in this ALife XI paper. 80% of the food is distributed in
a patch that occupies 40% of the depth of the world, on the end of the
world that the barriers don't quite block off; the remaining 20% of the
food is distributed in a patch that is 10% of the depth of world, deep in
the end of the world fully broken into thirds by the barriers. (If that
description of the world isn't clear, just look at the movie; it should be
obvious what is going on.) Other experiments (not shown here) demonstrated
that without evolution the seed population could not thrive in this world,
with the agents always suffering a non-recoverable population crash. But
allowed to evolve, as shown here, the agents fairly quickly evolve simply
strategies that keep them near the primary source of food (the large
patch), and over time also evolve to exploit the secondary, smaller patch.
As evolution proceeds in the world the agents' neural complexity
increases. (Complexity is measured by Sporns's
information-theoretic complexity measure, C, a simplified approximation to
Tononi, Sporns, and
Edelman's CN; for more information see this ALife
X paper, the previously linked ALife XI paper, and their references.)
- Complexity as
Fitness Function w/ Dynamic Food and Growing Barriers (excerpts) (52.7
MB) – This is one of a small number of simulations in which I used
neural complexity as a fitness function, and used Polyworld
in a steady-state GA mode. It
happens to also be one of the dynamic-food setups, with a different
pattern of food growth from the simulation above, and used a slowly
growing barrier that gradually isolates the different dynamic food patch
locations. Natural selection
in Polyworld has so far not done a great job
with this particular setup.
But what is interesting here is that even though neural complexity
grows dramatically (roughly three times as large as it ever grew in any of
the above ÒComplexity w/ BarriersÓ runs), that complexity does not
translate into evolutionarily useful behavior. The agents evolve different behaviors over time, but
never do pay much attention to the food. This demonstrates that not all forms of neural
complexity are evolutionarily useful, and suggests that studies of the
complexity of network dynamics may need to take the nature and source of
that complexity into account.
Here
are a couple full-length movies of complete simulation runs:
- Dynamic
Food (463.5 MB) – Full length source of
the Dynamic Food (excerpts) movie above.
- Complexity w/
Barriers (197.3 MB) – Full length
source of the Complexity w/ Barriers (excerpts) movie above.
Historical
Movies
All of
these videos are from the original incarnation of Polyworld,
which ran only on a Silicon Graphics workstation. The videos were recorded in a
variety of primitive fashions, and are generally of fairly low, but viewable
quality. I have (relatively) recently encoded them as QuickTime movies with the
modern H.264 codec (which means you may have to update your copy of QuickTime
to at least 7.x), so they look about as good as they can given the quality of
the original video recordings.
Modern
experiments with Polyworld are digitally recorded in
a lossless but highly compressed (180:1 or so) format I designed for that
purpose and require the PwMoviePlayer app to be
viewed (unless I've manually converted them to QuickTime movies, like the short
ones above). On the one hand they are drastically better quality than these old
video recordings, but on the other they currently only capture the main oblique
view of the world. Maybe one day I'll put some newer videos of full-length
simulations up, but here are the older, more historical Polyworld
videos.
Built-in
primitive behaviors in a toy world constructed solely for the purpose of
obtaining these sample movies:
A few
specific evolved behaviors:
- Visual
Response (3.6 MB) – very early example of agent using its vision
input to modify its behavior
- Fleeing Attack (2.8 MB)
– very early, very poor quality sequence showing an agent first
ignoring an agent that doesn't attack it, then running away from an agent
that does
Generic
simulator sequences:
Early
primitive ÒspeciesÓ:
- Joggers
(1.6 MB) – The very first successful population. Uncomplicated world
with no barriers, wrap-around borders, and plenty of food and
agents/potential mates, so evolution, as usual, discovered the simplest
possible solution: always run straight ahead, always want to eat, and
always want to mate. It was enough.
- Indolent
Cannibals (8.3 MB) – A typical "cannibal" population.
Really they were more like lazy, umm, maters. These were the only kinds of
populations I got for a while, to the point that it began to worry me.
Turned out I had unwittingly provided a particularly easy way for them to
find both mates and energyÉ By (at the time) not requiring the parents to
contribute any energy to their offspring, and gifting each newborn with a
good supply of energy, children became an excellent energy source. So
these agents lived with each other, mated with each other, killed each
other, and ate each other when they died. Why leave home? After
introducing an energy budget, so parents had to give up a genetically
determined fraction of their energy to their offspring, I still sometimes
see clusters and swarms (moving clusters), but never again the static,
unchanging "cannibal" populations.
- Edge
Runners (3.8 MB) – An example of another early species that
"took over a world" by behaviorally isolating itself from the
rest of the population. (I say "take over
the world" because they were fecund enough that they fairly rapidly
reached the imposed maximum population limit, thus preventing agents
exhibiting any other behaviors from reproducing.) The video starts before
the "edge runners" have completely taken over, but the small
agents that just run around and around the edge of the world soon take
over. There's a time jump to a point at which an interesting mutation in
their behavior has taken place: They've evolved to run most of their
lives, but stop late in life, so they can whip out three or four offspring
with other edge runners passing by.
- Dervishes
(8.1 MB) – My first (and so far only) "Braitenberg
table-top" world, where the edges are open and dangerousÉ If an agent
runs past the edge of the world, it dies instantly and is removed from the
simulation. The agents evolve to simply turn in modest circles, thereby
avoiding the dangerous edges of the world while still moving around enough
to find food and mates. After a while the video jumps to some really awful
quality video (recorded by pointing a video camera at the computer screen
and recording its signal on a time-lapse security VCR). The poorer quality
video is included because it shows a sort of continuous tit-for-tat
behavior in the different populations on either side of the long barriers.
Agents in a given domain tend to all express their fighting behavior or
not, with the current strategy being invaded by agents mixing in from the
barrier gap, at the edge of the world, leading to the adjacent domain. You
could see waves of color sweep through the populations as their dominant
strategies changed. If I remember right, this one ran for something like
1,000 generations. I should have probably reserved the moniker,
"dervishes", for some of the agents in the next simulation,
howeverÉ
- Foraging & Swarming
(12.1 MB) – The last decent quality video from a run of the original
incarnation of Polyworld, and by far the most
interesting. By this stage, the individual agent behaviors have ceased to
be one-dimensional; i.e., I can no longer sum up the total life behavior
of all agents in the simulation with a single word or phrase. Here we see
agents foraging—orbiting food while they eat it, despite there being
nothing built in to attract them to food. And a swarm of small agents that
stay together, which is good for finding mates, even as the swarm drifts
along, which is good for finding food. Look around the world, at the range
of behaviors. The population is sustaining itself with its mating
behaviors, staying right at the maximum population limit, yet it is no
longer obvious what the full range of behaviors is. The next step, then,
is to develop the statistical and information theoretical tools to
quantify these behaviors and neural architecture and dynamics of the Polyworld agents, which is what my modern research
agenda is all about.