Dynamic Roles

November 11, 2009
by Brian Martin (btm08)

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”.


Further Study: Altruistic Punishment

October 18, 2009
by Evan Shelhamer (eshelham)

With the successful reproduction of both a Riolo-style simulation and the use of trivial geography we have concluded the “Replication” phase of our work and are moving on to exploring the possibilities of original work. We’ve decided to pursue altruistic punishment because of the current level of research and debate, the novelty of the phenomenon as compared to the other beaten-to-death aspects of altruism, and the lack of computational studies/results in the field. At this time most publications are either from evolutionary psychology or take a game-theoretic approach, and none of them are tested by simulation.

To start we surveyed the literature we could find about altruistic punishment in general, the mathematics of accepted current models, and specific instances of cheaters/punishers in humans and other organisms. Notes with links to full papers below:

Altruistic Punishment in Humans:
- Punishment common (> 80% punish at least once)
- Most punishment (~75%) of defectors (below average contributors) by cooperators (above average contributors)
- Punishment energy expended rarely exceeds energy held out by defector
- Light punishment of over-contributors (!)
- Effects of punishment immediate
- Punisher often punish with no benefit to themselves; benefit goes to members of future interactions
	with the punished
- Human defectors expect anger/punishment. Effect of punishment without expectation?

Weak Conformist Transmission can Stabilize Costly Enforcement:
- Pay-off (Prestige) transmission: copy the most successful
- Conformist transmission: copy the most frequent
- Second order free riders: cooperate in many activity, don't punish
- One cooperation round: cost C to invidual, benefit B to group (equally divided among members)
- Several punishment rounds
- Cooperative error (intent, but failure to cooperate): very low rate

Evolution of Altruistic Punishment:
- Even punish at one-shot interactions
- Individual cost C to group benefit B (expected contributor payoff: bx - c)
- Punisher individual cost K to individual harm K (reduce defector by p/n, at cost k/n punisher)
- Defection only stable strategy (punishers slightest less fit by their enforcement cost)
- Altruistic punishment involves when altruistic cooperation can't?
- Selection against punishment is weak when punishment is common, might give punishment a maintainable
	toe-hold in population
- Results: group selection + punishment maintains altruism over wider range of parameters than
	group selection alone

Altruistic Punishment & Evolution of Cooperation:
- Only enforce pay-off improving strategies, not any strategies
- Emergency by hitchhiking, mostly norm conforming genes
- Non-participants prevent defector takeover
- Incorporate chance of observing defection (pq for p, p = P(defection), q = P(observation))
- Prevent second-order defection by punishing punishers who fail to punish enough
- Punishment can emerge in presence of incentive not to contribute, incentive not to punish
- Cooperation-Defection-Nonparticipation cycle only for origin, not persistence of punishment

Conflict Resolution in Insect Societies:
- Kinship, Coercion, and Constraint key factors that combine to limit effects of conflict,
	or completely resolve
- Inclusive Fitness Theory explains altruism by kinship of colony; ironically also explains
	conflict, because relatedness never totally overrides individual reproductive interest
	* Kinship favors the related
	* Coercion may prevent selfish action or reduce benefit of selfishness, but not necessarily
		stable because of selection to evade coercion
	* Constraints can be the result of heavy coercion, or other limiting factors (lack of surplus
		energy, etc.)

Punishment in Animal Societies:
- Evolutionary game theory models confirm that punishing tactics will often be evolutionarily stable
- Most likely states: dominants punish trangressors who subsequently avoid transgression, dominants
	transgress without fear of retaliation
- Six categories or interaction:
	* true altruism
	* mutualism
	* reciprocal altruism
	* selfishness
	* punishment
	* spite

altruistic punishment in humans, weak-conformist-transmission-can-stabilize-costly-enforcement-of-norms-in-cooperative-dilemmas, evolution of altruistic punishment, altruistic punishment & origin of cooperation, conflict-resolution-in-insect-societies, punishment-in-animal-societies


Discrepancies in Reproducing Results of Riolo et. al

October 14, 2009
by Evan Shelhamer (eshelham)

After much inspection and alternative implementation we’ve almost certainly concluded that the methods Riolo et. al in Evolution of cooperation without reciprocity (Letters to Nature vol. 414) differ from those described. Simulations run precisely to the specifications described (tag & tolerance mutation probability of .1, random new tag values, tolerance mutation of change by gaussian noise mean 0 sd .01, give cost .1, give benefit of 1, number of donations 3) fail to produce donation rates over 1 – 2%. This is even across thirty runs of 30,000 generations, as performed by Riolo et. al.

We were most suspicious of the generation of gaussian noise in tolerance mutation, but after using Java’s native Math.nextGaussian() and our own implementation of the Box-Muller method we observed identical results. High donation rates (> 60%) were only achieved with tolerance mutation with gaussian noise mean 0 sd .0001 and/or lowering the mutation probability of tags (.01 instead of .1).

In our copious free time we might try GP on our simulation to determine the parameters needed to replicate the results of Riolo et. al. (if it is merely a matter of parameters), for some amusing meta-evolution.

Download the Riolo Simulation Code (Java, including a nice Processing visualization sketch, allowing interactive running of generations with statistics of average tolerance & donation rate).


Git Repository Open for Business

September 30, 2009
by Evan Shelhamer (eshelham)

The group has a git repo located at git://imaginarynumber.net/altruism that will contain all of our work going forward. (Though at the moment there’s only our ugly toy altruism simulation we hacked up to make sure we understood the basics.)

Check out the code by running git clone git://imaginarynumber.net/altruism on the command line or using your git client of choice.


Altruistic Punishment

September 23, 2009
by Evan Shelhamer (eshelham)

Different modes of altruism is a rich area for exploration, both in research into the current literature and in simulation. The three that are most apparent are sharing (individual divides a resource it has with other), helping (individual helps other to gain a resource), and altruistic punishment, the most counter-intuitive. Altruistic punishment is the sacrifice of an individual’s energy to defeat others that do not contribute/cooperate/behave altruistically; an individual may sacrifice itself to kill off “selfish” individuals and prevent their reproduction.

The most important consideration in simulation is how to accurately/meaningfully model these modes of altruism, considering such things as costs of donation or punishment and the expression of multiple types (do sharer-helpers also punish, or do punisher-sharers not help, etc.)

Some literature on altruistic punishment, since it was the least familiar to me: evolution of altruistic punishment, altruistic punishment & origin of cooperation, altruistic punishment in humans

–Evan Shelhamer