In human societies, cooperative behaviour in joint enterprises is often enforced through institutions that impose sanctions on defectors. Many experiments on public goods games have shown that in the absence of such institutions, individuals are willing to punish defectors, even at a cost to themselves. Once punishment is established it prevents dissident minorities from spreading. But how can such costly punishing behaviour gain a foothold in the population? Punishment reduces the defectors' payoff, and thus may solve the social dilemma. But since punishment is costly, it also reduces the punishers' payoff. This raises a 'second order social dilemma': costly punishment seems to be an altruistic act, since individuals who contribute, but do not punish, are better off than the punishers. Or in the words of Andrew Colman (Nature 2006):

We seem to have replaced the problem of explaining cooperation with that of explaining altruistic punishment.

A surprisingly simple model shows that if individuals have the option to stand aside and abstain from the joint endeavour, this paves the way for the emergence and establishment of social norms prescribing the punishment of non-cooperative behavior. Paradoxically, the freedom to withdraw from the common enterprise results in the enforcement of social norms.

Joint enterprises which are compulsory rather than voluntary are less likely to lead to cooperation. A prominent example is the preservation of our climate. In that case, participation is obligatory -- and defection widespread. Our model predicts that if the joint enterprise is optional, cooperation backed by punishment is more likely than if the joint enterprise is obligatory. This echoes Garrett Hardin's (Science 1968) recipe for overcoming The Tragedy of the Commons:

Mutual coercion, mutually [and voluntarily] agreed upon.

This tutorial complements and illustrates a research article co-authored with Arne Traulsen, Hannelore Brandt, Martin A. Nowak and Karl Sigmund and published in Science (2007).

Different scenarios - an overview

All of the following examples and suggestions are meant as inspirations for further experiments with the virtuallabs. If your browser has JavaScript enabled, the following links open a new window containing a running lab that has all necessary parameters set as appropriate to demonstrate the different scenarios.


Time evolution of cooperators, defectors, punishers and non-participants (loners) in well-mixed populations with rare mutations.

Color code:CooperatorDefectorLonerPunisher

Public Goods with Punishment

In traditional public goods games with compulsory interactions and only two strategic types, the cooperators and the defectors, defectors obviously win if interaction groups form randomly. Including punishment opportunities does not alter the qualitative outcome: as long as punishers dominate they may stabilize cooperation for some time but eventually non-punishing cooperators will invade through random drift and pave they way for the successful invasion of defectors.

Evolutionary dynamics in finite populations is described by the frequency dependent Moran process. An individual is selected with a probability proportional to its performance in the public goods interaction and propagates its strategy to another, randomly selected, member of the population. Thus, the number of individuals remains constant but individuals exhibit a tendency to adopt strategies that perform well under the current strategy distribution. Occasionally, an individual randomly switches its strategy to experiment with different behavior instead of adopting the strategy of another member in the population.


Volunteering and Punishment

Voluntary participation in public goods games provides an escape hatch out of states of mutual defection and creates recurrent opportunities to establish social norms based on punishment. Whenever defection prevails it is advantageous to abstain from risky joint enterprises and forego the benefits of unpromising public goods. But this generates room for the emergence of social norms enforcing cooperation by punishing non-cooperative behavior.


Punishment in Public Goods games

In compulsory public goods interactions, cooperation (and punishment) can be maintained as long as punishers are common. However, punishment is prone to invasion by non-punishing cooperators (second order free-riders) through random drift. This, in turn, enables defectors to invade and destroy the public good. Once defection is common, it is almost impossible to re-establish cooperation.

Click on the figure to the left to start simulations and to produce a similar time series.


Volunteering in Public Goods games

Voluntary particpation in public goods games provides an efficient mechanism to avoid states of mutual defection. Cooperators, defectors and non-participants (loners) exhibit a rock-scissors-paper-type cyclic dominance. This results in endless stochastic oscillations where the population is dominated by cooperators, then defectors, then loners and back to cooperators. Thus, the ability to abstain from public goods interactions results in a recurrent eclipse of cooperation but is unable to stabilize it.

Click on the figure to the left to start simulations and to produce a similar time series.


Voluntary Public Goods games with Punishment

Punishment maintains cooperation but is prone to infiltration by second order free-riders whereas voluntary participation generates recurrent opportunities for the establishment of cooperation but cannot maintain cooperation. The trick is to combine the two mechanisms. The state where no one is willing to participate in the public goods interaction essentially represents an evolutionary junction: either the population embarks on another cooperator-defector-loner cycle or individuals take the chance to establish punishment behavior - a social rule that subsequently rules the population for a long time. Whenever punishment breaks down it will be readily re-established.

Click on the figure to the left to start simulations and to produce a similar time series.

Virtual lab

The applet below illustrates the different components. Along the bottom there are several buttons to control the execution and the speed of the simulations. Of particular importance are the Param button and the data views pop-up list on top. The former opens a panel that allows to set and change various parameters concerning the game as well as the population structure, while the latter displays the simulation data in different ways.

Color code:CooperatorDefectorLonerPunisher
 New cooperatorNew defectorNew lonerNew punisher
Payoff code:Low       High

Note: The pale strategy colors are very useful to get an intuition of the activitiy in the system. The shades of grey of the payoff scale are augmented by blueish and reddish shades, which indicate the payoffs for mutual cooperation and defection, respectively.

Java applet on voluntary public goods games with punishment. Sorry, but you are missing the fun part!
ParamsPop up panel to set various parameters.
ViewsPop up list of different data presentations.
ResetReset simulation
RunStart/resume simulation
NextNext generation
PauseInterrupt simulation
SliderIdle time between updates. On the right your CPU clock determines the update speed while on the left updates are made roughly once per second.
MouseMouse clicks on the graphics panels start, resume or stop the simulations.
Data views
Structure - Strategy Snapshot of the spatial arrangement of strategies.
Mean frequency Time evolution of the strategy frequencies.
Structure - Payoff Snapshot of the spatial distribution of payoffs.
Mean Fitness Time evolution of average payoff for each strategy type.
Histogram - Fitness Histogram of payoffs for each strategy type.

Game parameters

The list below describes only the few parameters related to volunteering and punishment in joint effort or public goods games. Follow the link for a complete list and descriptions of all other parameters e.g. referring to update mechanisms of players and the population.

multiplication factor r of public good.
Cost (cooperation):
cost of cooperation c (investment into common pool).
payoff for loners. Typically this value is positive but smaller than r - 1 such that groups of cooperators are better of but loners are better off than groups of defectors.
fine imposed on other players by punishing individuals.
Cost (punishment):
punishing costs incurring to the punishers.
Leniency Coop:
punishers may also punish mild cooperators (second order free riders) whenever they let defectors get away with it. If this value is zero cooperators are not punished, if it is one they are punished as severe as defectors (always provided that their neglicence is revealed by the presence of defectors in an interaction group).
Leniency Loner:
moreover, punishers may also punish loners for not participating in the public goods interaction. As with cooperators, if this value is zero they are not punished but if it is one they are treated like defectors.
Init Coop, init defect, init loner, init punisher:
on the last parameter tab Misc the initial fractions of cooperators, defectors, loners and punishers can be specified. If they do not add up to 100%, the values will be scaled accordingly. One or more strategy can also be excluded for the simulations.
Mutation rate:
also on the Misc tab, this is actually a probability with which an individual adopts a random strategy.

This work was first published in
Hauert, Ch., Arne Traulsen, Hannelore Brandt, Martin A. Nowak & Karl Sigmund (2007) Via freedom to coercion: the emergence of costly punishment, Science 316, 1905-1907.

Press & News


These fascinating research results would have never been achieved without the inspiring discussions and advice from my collaborators. The origin of all virtuallabs is easily traced back to the encouragement, scientific inspiration and advice of Karl Sigmund.