The project now contains a system for choosing the role of the individual using a process very similar to that which determines tag and tolerance. That is, the role of the individual is now subject to mutation. This happens by adding or subtracting from arbitrary constants (one for each role: punisher, donor, and non-participant), which are normalized into probabilities. These probabilities are used to determine the action of the individual during the interaction phase.
As a quick example, if the values for punisher, donor, and nonparticipant are, respectively, 10, 15, and 5, then the probability of acting as a punisher (for each act) is 10/(10+15+5) or 1/3.
The changes to the dynamics of the group given this change is apparent, yet, as of now, we lack statistics to quantify these dynamics.
As always, the latest source is available on git via “git clone git://imaginarynumber.net/altruism”.