Traditionally in both classical as well as evolutionary game theory a finite set of discrete strategies is assumed a priori. When discussing the evolution of cooperation in social dilemmas, the simplest set of strategies would consist of cooperators and defectors. Cooperators provide a benefit to other individuals at some cost, while defectors attempt to exploit such common resources. This leads to a classic conflict of interest between the individual's and the community performance - and hence the dilemma. The game dynamics then determines the relative frequencies of the different strategies in a population.

From an evolutionary perspective, however, it is essential to understand the emergence of discrete strategies and particularly of cooperators and defectors in order to justify these a priori assumptions. Since evolution is a gradual process, it is important to consider continuous variants of game theoretical metaphors for cooperative interactions such as the Prisoner's Dilemma or the Snowdrift game. The essential difference between the two games is that in the Prisoner's Dilemma the benefits of cooperation accrue exclusively to the other individuals whereas in the Snowdrift game the act of cooperation also provides some benefits to the cooperator itself.

Even though the Snowdrift game has received relatively little attention in the literature it appears to be highly relevant in many biologically scenarios: Consider for example Saccharomyces cerevisiae a single-celled yeast species. The yeast cells secrete an enzyme which 'digests' their immediate surroundings (invertase hydrolyzes sucrose) and turns it into a food resource. Since this food resource is commonly available, it represents a public good that can be easily exploited by defectors that produce little or no enzyme (but rather reproduce faster). However, if no one produces the enzyme, everybody will die of starvation. Therefore, the costs and benefits of cooperative investments crucially depend on the present environment.

Let us assume two individuals with strategies x and y. The payoff of x interacting with y could then be written as P(x,y) = B(x+y)-C(x) where the benefit B(x+y) depends on the accumulated investments made (i.e. the total amount of enzyme produced) while the incurring costs C(x) obviously only depend on the investment x.

In the following we highlight the rich and intriguing dynamics arising from this simple model. In particular, we demonstrate that this scenario can easily lead to evolutionary branching which gives rise to the spontaneous emergence of discrete strategies, i.e. cooperators and defectors. The two strategies co-exist in a stable equilibrium even under strictly mixing conditions and in absence of assortative interactions.

This tutorial complements and illustrates a research article co-authored with Michael Doebeli and Timothy Killingback in Science (2004).

Different scenarios - an overview

In the simplest case with B(x+y) = b2(x+y)2+b1(x+y) and C(x) = c2 x2+c1 x the system can be fully analyzed and the dynamics is characterized by five different scenarios. Note that quadratic functions are the simplest interesting ones - with B(x+y) and C(x) linear, the dynamics is rather uninteresting and dull.

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.

Cost & benefit functions

Cost & benefit functions

Quadratic cost (dotted) and benefit (dashed) functions, constrained to the trait interval [0,1], together with the monomorphic population payoff (solid). The two vertical lines highlight that the evolutionary dynamics is quite unrelated to maximizing the population payoff (dash-dotted) as opposed to the branching point (dashed). Also note that there is no easy way to predict the evolutionary outcome simply by looking at the shape of the cost and benefit functions. This allows to rule out some scenarios but in general it requires a detailed analysis of the slopes and curvature of the two functions. The parameter values correspond to the branching scenario.

Cost & benefit functions+Click to enlarge

Adaptive dynamics in a nutshell

Consider a monomorphic population with strategy x. The growth rate of a rare mutant y in the resident population x is determined by fx(y) = P(y,x)-P(x,x) = B(x+y)-C(y)-(B(2x)-C(x)). The evolution of trait x is then given by dx/dt = D(x) = dfx/dy |y=x = B'(2x)-C'(x), i.e. D(x) = 4 b2 x+b1-2 c2 x-c1. If an equilibrium x* with D(x*)=0 exists, it is called a convergent stable strategy if dD/dx|x=x* = 2 B''(2x*)-C''(x*)<0 (2b2-c2<0) and x* is a repellor otherwise. Interestingly, the CSS condition does not imply evolutionary stability of x*. Evolutionary stability requires that x* is a maximum of fx, i.e. d2fx/dy2|y=x*<0 (b2-c2<0). If this does not hold x* is a branching point (2b2<c2<b2<0) because mutants on both sides of x* can invade.


Attractor - convergent stable and evolutionarily stable

Provided that the equilibrium x* exists, the singular strategy x* is an attractor if 2b2<c2<b2<0 holds. In that case, any monomorphic population will converge to x* and remain there at intermediate cooperative investment levels. This outcome is independent of the initial strategy x0. The time evolution is illustrated in the figure to the left. The abscissa denotes the trait x and the ordinate represents time (in Monte Carlo steps). Darker shades of grey specify higher abundance of individuals with a particular trait. White regions indicate the absence of a particular trait in the population.

Such stable intermediate investment levels are related to results for the Snowdrift (or Hawk-Dove) game with mixed strategies, i.e. where individuals have a certain probability to cooperate or defect. In equilibrium, an intermediate propensity to cooperate evolves and represents an evolutionarily stable state.


Branching point - convergent stable but not evolutionarily stable

If x* still exists but only 2b2<c2<0 holds for convergent stability but not c2<b2<0 for evolutionary stability, truly fascinating dynamics occur: First, any monomorphic population evolves towards x* but now x* represents a fitness minimum and so adjacent strategies can invade which leads to evolutionary branching. Despite random interactions, spontaneously low and high investing traits evolve. For quadratic functions, it can be shown, that the two branches diverge until they reach the boundary of the trait space, i.e. evolution ends with a stable mixture of pure cooperators (maximum investments) and pure defectors (minimum investments).


Repellor - not convergent stable

If x* exists but 2b2<c2<0 is violated, i.e. x* is not convergent stable, then x* is called a repellor because the population evolves away from x*. This is a bi-stable situation. Depending on the initial strategy x0, the population evolves to all defectors (x0<x*) or all cooperators (x0>x*). Note that x* could still be an evolutionarily stable strategy, however, this would be quite irrelevant since x* would be never reached without careful preparation of the initial configuration.

The figure to the left shows two different simulation runs, one for x0<x* where investments decrease and another for x0>x* where they reach their maximum.


Dominance (defection)

If the benefit that accrues to the cooperator itself is insufficient to cover the incurring costs in absence of cooperating co-players then defection dominates and lower investing individuals are better off. Consequently, the investment levels decrease and cooperation vanishes - despite the fact that everybody would be better off cooperating. This situation corresponds to the strictest form of a social dilemma and relates to the continuous Prisoner's Dilemma.


Dominance (cooperation)

In contrast to the Prisoner's Dilemma, mutualistic interactions represent the weakest form of a social dilemma. In fact, here cooperation dominates, i.e. higher investing individuals thrive. In a game theoretical setting assume a group of cooperators a and a single defector. The defector still outperforms the cooperators because he/she avoids the incurring costs. However, in a mutualistic setting, the defector would have been even better off by switching to cooperation too. As a consequence cooperative investments increase over time until they reach the upper limit.

Complex scenarios - examples

The only condition required by adaptive dynamics to allow for evolutionary branching are (locally) saturating cost and benefit functions. Two examples with more complicated functions which induce complex dynamics are given below.


Branching point and repellor

More complicated cost and benefit functions lead to very interesting dynamics but generally they make a complete analysis impossible. Here we set B(x) = b sqrt(x+y) and C(x) = ln(c x+1). This may lead to the simultaneous occurrence of a branching point and a repellor. The results are summarized in the figure to the left. Starting to the left of the repellor (dash-dotted vertical line) investments decrease until they reach the branching point (dashed vertical line) and then two strategies co-exist and diverge until the upper branch reaches the maximum investment, i.e. hits the boundary of the trait range. Note that the dimorphic population after the branching point does no longer 'see' the repellor near x = 4. The small inset show another simulation run starting to the right of the repellor. The trait simply increases until it hits the boundary.


Branching point and repellor - intermediate investment levels

So far, whenever branching occurred the upper branch, i.e. investments increased until they reached the boundary of the trait range. In order to illustrate that this must not be the case consider B(x+y) = b (1-exp(-x)) and C(x) = ln(c x+1). As shown in the figure to the left, it may now occur that initially high investment levels decrease until the branching point is reached and then the upper branch reaches saturation around x = 2.1. The fact that at low x there exists also a repellor becomes evident only when starting with very small x0. In that case the trait quickly reaches zero and remains there as shown in the little inset.

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:MaximumMinimumMean
Strategy code:Defect       Cooperate
Payoff code:Low       High

Note: The shades of grey of the payoff scale are augmented by blueish and reddish shades indicating payoffs for mutual cooperation and defection, respectively.

Java applet on evolutionary branching in game theoretical interactions. 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.
Histogram Strategy Snapshot of strategy distribution in population
Distribution Strategy Time evolution of the strategy distribution
Structure - Fitness Snapshot of the spatial distribution of payoffs.
Mean Fitness Time evolution of average population payoff bounded by the minimum and maximum individual payoff.
Histogram - Fitness Snapshot of payoff distribution in population.

Game parameters

The list below describes only the few parameters related to the continuous snowdrift game. Follow the link for a complete list and descriptions of all other parameters e.g. referring to update mechanisms of players and the population.

Benefit/Cost Functions:
A variety of different combinations of cost and benefit functions can be selected.
Benefit b0, b1:
Two parameters for the benefit function. Note that not all functions require both.
Cost c0, c1:
Two parameters for the cost function. Note that not all functions require both.
Mean invest:
Mean trait value of initial population.
Sdev invest:
Standard deviation of initial population. If set to negative values, the population will be initialized with uniform distributed traits.

This work was first published in
Doebeli, M., Hauert, Ch. & Killingback, T. (2004) The evolutionary origin of cooperators and defectors, Science 306, 859-862.

Press & News


These fascinating research results would have never been achieved without the inspiring discussions and advice from Michael Doebeli and Timothy Killingback. The origin of all virtuallabs is easily traced back to the encouragement, scientific inspiration and advice of Karl Sigmund. To conquer the tricky subtleties of Java the patience and competence of Urs Bill was invaluable. Financial support of the Swiss National Science Foundation is gratefully acknowledged.