NetLogo User Community Models
WHAT IS IT?
A simple model of cooperators (altruists/), cooperators who punish non-cooperators (police), non-cooperators who punish cooperators (terrorists/droogs), and non-cooperators who don't punish anybody.
HOW IT WORKS
At each turn, all individuals throw their bounty into a pot (if they cooperate), where it is doubled, and then divided among neighbors (even if they are defectors and didn't cooperate). Police can then punish those who don't cooperate (but they pay a cost to do so) and terrorist/droogs can punish cooperators (but they also pay a cost to do so). Then there is a social-adjustment, where individuals can change to be like there neighbors if their neighbors did better than them in the last turn.
HOW TO USE IT
Adjust parameters to see what happens:
THINGS TO NOTICE
If there is no cost to punishing (cost-punishment = 0), then terrorists and defectors win often.
EXTENDING THE MODEL
You could try making it so that terrorists only punish the police (so they are strict retaliators); or you could make them hurt everyone (defectors as well).
CREDITS AND REFERENCES
This simulation was built by Thomas Hills (2006, updated in 2010). This simulation is discussed in more detail in "Building Ethical Agent Based Simulations: A Case Study of a Pathological Problem in Altruistic Punishment", presented at AlifeX ( the pdf can be found here: http://ethicalife.dynalias.org/abstracts.html ). Please email me with any bugs: email@example.com.
(back to the NetLogo User Community Models)