User Tools

Site Tools


people:chris_symonds:model

This is an old revision of the document!


Paralta is a simulation that runs in the Moveable Feast Machine, a robust-first, spatially distributed computational environment.

Model Description

The Paralta simulation consists of two elements from the MFM: DREGs and RES, and introduces one new element: Sytizen, which represents a denizen of the simulation world. The DREG parameters are kept primarily the same with the exception of spawning RES with probability 0.02. This allows a sufficient amount of RES to sustain a meaningful population of Sytizens, which use the RES for energy.

Each Sytizen is represented by the following parameters:

  • Team - a three-bit value representing the in-group of the Sytizen.
  • Energy - a nine-bit value initialized to 20.
    • res grant 10 energy when consumed by the Sytizen.
  • Genotype - the genetic makeup of the Sytizen that determines its overall behavior in the world. This is represented by two, four-bit values:
    • Parochialism - a Sytizen with Parochial value 0 =< p =< 7 is considered non-parochial, while a value 7 > p >= 15 is considered parochial.
    • Altruism - a Sytizen with Altruism value 0 =< a =< 7 is considered non-altruistic, while a value 7 > a >= 15 is considered altruistic.

The Genotype parameter combinations translate to four discrete phenotype categories:

Parochial Altruist (PA) will take on the genetic behavior of both Parochials and Altruists.

Parochial Non-Altruists (PNA) will take on the genetic behavior of Parochials.

Non-Parochial Altruists (NPA) will take on the genetic behavior of Altruists.

Non-Parochial Non-Altruists (NPNA) exhibit no specialized behavior.

Genetic Behavior

A Sytizen that falls into the Altruist category will engage in their genetic behavior once per simulation turn, if the energy of the Sytizen is greater than the threshold set before the simulation begins. If so, the Sytizen will choose an in-group member at random within 2 Manhattan distance from herself. If the energy of that member is less than the energy of the active Sytizen (less the threshold amount) and the member is also an altruist, then the active Sytizen will share half the difference in the two energy amounts to a maximum of 10 energy. The chosen member gains energy in that amount and the active Sytizen will lose energy in the same amount. The notion that an altruist will only benefit from the resources shared by another altruist was a parameter kept from Choi and Bowles.

At the beginning of an event, a Sytizen will first pay a metabolism cost of 1 energy. If this depletes the energy to 0, the Sytizen is removed and the event ended. The neighborhood of the Sytizen is then scanned, and the location and type of any Element or empty space is recorded within a Manhattan distance of 4. The Sytizen will then consume one neighboring RES within 2 Manhattan distance from them. A consumed RES bestows 10 energy on the Sytizen. Then, any genetic-specific behavior is performed.

If the Sytizen is still alive and their total energy is greater than 40, they will attempt to procreate. Any in-group members within a Manhattan distance of 2 are sorted by energy. If the highest energy amount is greater than 40 RES, that Sytizen is selected to breed. If an empty location is available, an offspring will appear with a starting energy of 20, and the energy of each parent reduced by 20. The offspring will inherit one of the parent's Altruism values and Parochial values with 0.5 probability each. Thus, a PA and an NPNA could produce any of the 4 categories of phenotype. Once the genes are established, the parochial and altruism values are subject to mutation with probability 0.004. If a mutation occurs, the new value is chosen uniformly at random from 0 to 15.

Finally, the Sytizen engages in movement. All Sytizens, in addition to their genetic movement bias (if any), are also movement-biased towards any RES visible to them in a given event. They take a single step, and the event is concluded.

We vary the probability that DREGs produce RES in the environment to simulate various states of resource scarcity. The spawn rates are 0.02, 0.01, 0.0067, and 0.005 for the respective runs. We conduct 5 simulation runs for each scarcity category. Simulations are run for 10 kAEPS or until only 1 group remains. We then analyze the phenotype categories within the population over the life of the simulation.

Model Description Draft 1

Figure 1

people/chris_symonds/model.1416148880.txt.gz · Last modified: 2014/11/16 14:41 by csymonds