Virtual Microcosms. Demo

Gustavo Ariel Sznaider and Diego Gomez Deck

Here in we show some simulations done with our multi-agent simulation framework. This framework was developed as a final exercise of a "Programing Simulation Models in Smalltalk" course at the University of Buenos Aires ( After finishing the course we continue developing the framework and applying it to study emergence in complex systems. We call microcosms to our simulations because they resemble us "natural" microcosm experiments in ecology.

If you want to know about our microcosms, we encourage you to download, unzip and "file in" this change-set: and let's begin to play with it.
If you don't have experience in Squeak, please download the entire system here:, unzip it, and run squeak.exe.
You can also just read this page without installing anything.

Let's start with the simplest one. Please open any workspace (press Alt + k), type:
SimFunnyReverseContagiousSimulation open
, select the typed text and press Alt + d to "do it".
Accept any parameter proposed without altering it.

Two windows will appear. One containing blue, green and red points:

Each point represents an agent that will start to walk around after pressing the Start bottom (don't press it now). Each agent can detect the presence of other agents when they are within a given radius. When any red agent detects a green agent, it gets contagious and turns green. When any green agent detects a blue agent, it gets blue. And when any blue agent detects a red agent, it gets red. This determines a circular relationship web.

At the beginning there are roughly the same number of agents for each color (333 agents per color). What will happen after starting this microcosm? Will any color dominate the scene "killing" the other colors? will the proportion among colors remain roughly the same as at the beginning?
Try to answer these questions before starting!

Now, let's press "Start". In the left chart the number of agents of each color is plotted against time (simulation steps) while the microcosm is running. Be patient and wait 500 steps at least.
Do you see any pattern in the chart? We've seen a recurrent oscillation:

The colors alternate each other dominating the scene. After the red "peak" follows a green "peak" and after it follows a blue "peak". The same happens with the "valleys". We call to this phenomenon first order oscillation. Which are the causes of this oscillation?

If you pay attention at the chart above you will see that as the microcosm evolve the peaks are higher and the valleys deeper, determining a trend of increasing amplitude (distance between peaks and valleys) along time. But if the microcosm runs even further it reaches a moment where this trend stops and an opposite trend of decreasing amplitude begins to unfold. These two trends alternate each other determining what we called a second-order oscillation pattern:

Another surprising phenomenon unfolds when observing the spatial distribution of the microcosm. We said that each agent gets contagious when it detects another "opponent" agent in a given radius (we call to this radius "visibility"). By default this visibility is 1 but we can change it. Before changing it, please take a look at the spatial distributions of the agent colors. Are they well scattered ? (we think so).

Now press "Visibility" button and enter 5. Press the "Start" button and let the microcosm work for a few steps. Do you see any change in the spatial distribution ?

We've observed clusters containing neighbor agents of the same color:

And what would happen if we increase the visibility even more? Please think about it before changing the visibility!
Now change the visibility to 15 and press "Start". Did you expect greater clusters? We expected so but after some steps the clusters disappear and the spatial distribution becomes similar to the observed when the visibility was 1.

At the moment we are further analyzing this microcosm. We are doing some experiments in order to formally describe the patterns observed and the effects of altering parameters (such as visibility) on its behavior. We are also trying to relate the microcosm to real systems with similar circular, spatial , contagiousness and transmission traits. If those efforts succeed, maybe the patterns discovered here could be stated as more general system laws.

We are also working with other microcosms. You can play with them typing any of the following lines in any workspace

SimAntSimulation open.
SimCowSimulation open.
SimAntSimulation open.

select one line and click the left (or middle) mouse button and choose "do it". Maybe you should press "Fast" button.

You could find more information about these microcosms at: Microcosms Project Swiki. While most of the site is written in Spanish there are some key sections explaining the microcosms that are written in english.

You can also email me