This page was automatically generated by NetLogo 4.0.4. Questions, problems? Contact

The applet requires Java 1.4.1 or higher. It will not run on Windows 95 or Mac OS 8 or 9.

powered by NetLogo

view/download model file: smart-diverse.nlogo


This is a test-bed / intuition pump for exploring how species might respond to a relatively rapidly changing environment. The basic idea is to compare and contrast two possible strategies. The first strategy is to maintain diversity in the population, so that at least some individuals are always ready to take advantage of the "new" environment. The second strategy is to "learn" about and "adapt" to the new environment, and then take advantage of "improved fitness." The environment is characterized by a single number, and the environment lasts for some given time period before changing again. There are two populations, the REDS and the BLUES. Each individual in each population has a "type" that characterizes how well they fit the environment. If their "type" number matches the "environment" number, then they are most "fit," and will reproduce most rapidly. The reds can "learn" about the new environment. During each time step, they each change their "type" to be closer to the environment. When their type closely matches the environment, they can then reproduce relatively rapidly. Until then, though, they are putting their efforts into "learning and adapting," and therefore do not reproduce. The blues can always reproduce, but their reproduction rate depends on how closely their "type" matches the environment. The blues reproduce more quickly if their type closely matches the environment, and less quickly otherwise.

The second question is what the type of the offspring will be. For the blues (who are using the "diversity" strategy), the offspring get a random type so each generation is just as diverse as the previous. For the reds, there are two possibilities, set by a boolean variable called "Memes." If Memes is false, then the offspring get a random type (just like the blues), so the red generations are diverse, but during their lifetimes they can learn about the environment to "improve" their reproductive rate. If Memes is true, then the red offspring are very similar to the type of their parent at the time of reproduction (which has changed during its lifetime by "learning," tracking the changes in the environment). This is labeled "Memes" to reduce charges of Lysenko/Lamarckism :-)

The terrain has a carrying capacity. When the carrying capacity is exceeded, some agents die. Each agent has the same chance of dying. In the long run, the population is held relatively constant (and the two species compete with each other for shares of the available capacity). To be visually interesting, the reds and blues move around, but their movement plays no particular role in the model. The model allows you to explore how various parameter values affect the ratio of reds to blues.

This model takes inspiration from an article in Science: "Phenotypic Diversity, Population Growth, and Information in Fluctuating Environments" by Edo Kussell and Stanislas Leibler, Science 23 September 2005; 309: 2075-2078; published online 25 August 2005, but it is definitely not a direct "implementation" of the ideas in that article.


Each pass through the GO function represents a generation in the time scale of this model.

The CARRYING-CAPACITY slider sets the carrying capacity of the terrain. The model is initialized to have a total population of one tenth CARRYING-CAPACITY with half the population reds and half blues.

The LEARNING-RATE slider tells how quickly the reds learn about / adapt to each new environment. During each time step, they change their type in the direction of the enviroment type by the LEARNING-RATE amount.

The ENVIRON-MAX slider tells the range of possible environments. After a number of time steps (chosen randomly from 1 to TIME-IN-ENVIRON-MAX), a new environment is chosen randomly from 1 to ENVIRON-MAX.

The RED-GESTATION slider tells how many time steps it takes a reproducing red to hatch an offspring.

The boolean variable MEME tells whether RED offspring closely match their parent's type, or not.

The RED-SPREAD slider tells, under the meme-regime, the standard deviation of red offspring from their parent's type.

The NUM BLUES and NUM REDS monitors display the number of reds and blues respectively.

The GENERATIONS monitor displays the number of times there has been a birth and dying cycle.

The TYPE DISTRIBUTION monitor shows in a bar graph how many individuals of each type there are (REDS and BLUES).

The GO button runs the model. A running plot is also displayed of the number of reds, blues and total population (in green).

The RUN-EXPERIMENT button lets you experiment with many trials at the same settings. This button outputs the amount of time it takes for either the reds or the blues to die out given a particular set of values for the sliders. After each extinction (single digit population) occurs, all the graphics are cleared and another run begins with the same settings. This way you can see the variance of the number of generations till extinction.


Life is tough all over :-)


Try running an experiment with the same settings many times.
Does one population always go extinct? How does the number of generations till extinction vary?


I'm sure you can think of interesting extensions . . .


Built by Tom Carter, 2005. Inspiration as indicated above.

The code for this model is partially derived from the NetLogo Simple Birth Rates model, Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

See for terms of use.