February, 2001. See below for an explanation of the controls and the display.
Every day a fixed number of animals in each herd dies (selected randomly), and the same number are born (based on vitality, described below), so the population does not change.
Every day the animals pair up for the day's activities. (This pairing is not completely random; see the next paragraph.) Some of the animals are altruists, some are not. An altruist spends some of its vitality called "cost", but its partner receives a greater vitality called "benefit". The births that occur in the herd are random, but weighted accoring to vitality. Each animal gets 10 units of vitality during the day, and if it's so lucky to be paired with an altruist, then it gets 10 + benefit. And cost is subtracted from the vitality of each altruist. It is assumed these animals are haploid, and that a child of an altruist is an altruist while the child of a nonaltruist is a nonaltruist.
See details for more information on the daily agenda for the herd.
What makes this model interesting is that when two altruists are paired one day, then they remain paired. They stick together like two velcro balls. Of course, if one dies or leaves the herd, then the other becomes unpaired. Also, newly born altruists are unpaired.
So there are three kinds of animals: paired altruists, unpaired altruists, and nonaltruists. The question is: is there any chance that the altruists can persist? What if there are only a very few to begin with?
There's also a "timeout" bar at the bottom to slow down or speed up the simulation. The time between days is measured in seconds, so if it's 0.1 then there will be a 1/10 second timeout between days. Some web browsers on some machines will have trouble with really short timeouts like 0.001 because such a short timeout won't give enough time to repaint the screen.
The simulation stops automatically when there are either all altruists or no altruists. You can restart it then for another run.
The two time graphs on the right give a historical perspective. Each vertical line summarizes one day. The paired altruists are represented by a white line segment at the top, the unpaired altruists by a colored line segment in the middle, and the nonaltruists by a black line segment at the bottom. The upper time graph tracks the state of one particular herd. Initially, that herd is the one at the far right, but you can select any other herd by clicking on it with your mouse. The color matches that of the herd being monitored. The lower time graph tracks the aggrigate population of all the herds.
The files for this applet are listed here. The Moth.html
file is this file you're looking at. The *.java files
are the program source files for the applet. The *.class
files are the compiled files that run when the applet is
running. They're all needed to run the applet. There are
a couple of *.au sound files used by the applet, too.
My way Or The Highway: Introduction
David E. Joyce,
John Kennison,
both of the Department of Mathematics and
Computer Science,
and Nicholas Thompson,
of
the Frances L. Hiatt
School of Psychology.
Clark University
Worcester, MA 01610