The Volunteer's Dilemma

- A Computer Tournament -

Strategies' Definitions


Acknowledgement

Many thanks for each of these interesting strategies to each participant (see list below).

Special thanks to:

  • Andreas Diekmann encouraged me to perform a computer tournament for the VOD.
    He supported my work in all its difficulties and spent time in several discussions.
  • Marco Vieth teached me the first steps to program in JavaScript and Perl.
    He confronted me with Linux and explained me the basics of command line work
    under Linux and Unix.
    Furthermore he wrote the whole framework for the simulation in JavaScript and Java
    and several scripts in Perl for analyzing the huge amount of data.
  • Ben Jann gave me some very helpful hints from a statistical perspective
    that have solve some difficulties.
  • Stefan Wehrli provided the technical support for the computer simulations
    at the University of Bern.


Overview

  1. "Gewissensbisse" by P. Ackermann (program code)
  2. "All D" by J. Arpagaus (program code)
  3. "GOLD: Group Accumulation Leads to Defection" by S. Auer (program code)
  4. "Taking Turns" by R. Bekkers (program code)
  5. "Gentle Temporiser" by R. Berger (program code)
  6. "Lazy but Fair" by F. Braun (program code)
  7. "Lazy Hero" by M. Braun (program code)
  8. "Rely on Group Pressure" by N. Braun (program code)
  9. "Finally Heroe" by J. Brüderl (program code)
  10. "Reciprocating Volunteer" by V. Buskens (program code)
  11. "Minka" by J. Deuschle (program code)
  12. "Superrational Strategy" by A. Diekmann (program code)
  13. "Hope" by H. Esser (program code)
  14. "Cooperate Unexploitably" by M. Franosch (program code)
  15. "Sponger" by T. Gautschi (program code)
  16. "Rarified Cooperation" by E. Gehmacher (program code)
  17. "2gather" by C. Hausen & K. Pforr (program code)
  18. "Kopposite" by C. Kopp (program code)
  19. "Mercy Coop" by P. Kriwy (program code)
  20. "Eve" by E. & N. Lepperhoff (program code)
  21. "Casual Hero" by U. Liebe (program code)
  22. "More Actors, Less Cooperation" by P. Preisendörfer (program code)
  23. "Sizewatcher" by B. Prosch (program code)
  24. "Tit for Tat Invers" by C. Schatz (program code)
  25. "Rent-Sharing Cooperation" by K.-U. Schnapp (program code)
  26. "Just Distribution" by H. Scholtz (program code)
  27. "Candle++" by T. Varga (program code)
  28. "Toggle" by M. Vieth (program code)
  29. "Pawlow" by T. Voss (program code)


1: "Gewissensbisse" by P. Ackermann

Classification:
Increasing probability of cooperation as answer to defection

Basic idea in short:
The probability of cooperation increases with the number of periods passed without any own cooperation. But this strategy is only more likely to cooperate if not more than one player cooperated in period t-1 (including this strategy). The probability of cooperation equals 1, if the number of periods passed without any own cooperation equals the current group size N.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • pd: periods of own defection
  • in t=1 play C with p=1/N
  • in t>1:
    • at most one C in t-1: play C with p=(pd/N)²
    • at least 2 C in t-1: play D
  • for every C set pd=0
  • for every D set pd=min{pd+1; N}

Intention and theoretical background:
People may experience remorse, if the time increases that elapsed since the last own cooperation.

back to overview

2: "All D" by J. Arpagaus

Classification:
Fixed pattern (DDD...)

Basic idea in short:
This strategy always chooses D.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in each period t: play D

Intention and theoretical background:
Up to now, there are no special notes available.

back to overview

5: "Gentle Temporiser" by R. Berger

Classification:
Cooperation as answer to defection (3 periods)

Basic idea in short:
This strategy is likely to switch from defection to cooperation each third period. It follows different rules related to its own choice in the previous period t-1. If it defected in t-1 and at least one cooperation by others occured during the previous 3 periods, it will defect again. In turn, if it cooperated in t-1 and in each of the previous 3 periods at least one cooperation by others occured, it switches to defection. Thus it is more likely to choose again what it played before.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t<=3: play D
  • in period t>3:
    • period t is not divisible by 3: play the same as in t-1
    • period t is divisible by 3:
      • own choice was D in t-1:
        • at least one C by others in at least one of the last three periods: play D again
        • no C by others in all of the last three periods: change to playing C
      • own choice was C in t-1:
        • in each of the previous 3 periods at least one C by others: change to playing D
        • no C by others in at least one of the previous 3 periods: play C again

Intention and theoretical background:
People seem to be bounded rational. They are likely to act according to their habits and other rules without thinking of alternative options in each single situation. This assumption is also based upon empirical tests using the "beauty contest game".

back to overview

6: "Lazy but Fair" by F. Braun

Classification:
Fixed pattern (C every Nth period)

Basic idea in short:
This strategy cooperates only in each Nth period (N: group size).

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play D
  • in period t>1:
    • period t divisible by N: play C
    • all other periods t: play D

Intention and theoretical background:
The basic idea is to share the costs equally. Therefore, each strategy should have the time to cooperate once. Cooperation in each Nth period only, is a lazy behaviour, but a fair contribution.

back to overview

7: "Lazy Hero" by M. Braun

Classification:
Decreasing probability of cooperation as answer to cooperation

Basic idea in short:
This strategy cooperates with a certain probability depending on the group size N. But if the number of cooperative players in t-1 increases relative to all players in the group size N, the initial probability of cooperation decreases.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play C with p = 1 / (N - 1)
  • in period t>1:
    • cnt_c: counting the number of C-choices in t-1
    • p = (1 / (N-1)) - ((cnt_c - 1) / N)
    • if p>0, play C with p, else play D

Intention and theoretical background:
(written by M. Braun)
My player is a hero as she intitially cooperates even more than would be her fair share. This should make sure that at least one player cooperates. However, she is also lazy as she reduces cooperation if the other playes contribute to the common good.
In a community of defectors my player would provide the common good and get at least some money out of these rounds. In a community of (unconditional) cooperators my player would sit back and relax. In a community of players with the same strategy the fact that cooperation does not stop entirely when others have cooperated in the previous round should make sure that a round of cooperation is not followed automatically by a round of universal defection.

back to overview

8: "Rely on Group Pressure" by N. Braun

Classification:
Decreasing probability of cooperation with increasing group size (network perspective)

Basic idea in short:
This strategy cooperates with a certain probability depending on the group size N. With increasing group size N it is more likely to defect.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in each period t: play C with p = 2 / (2 + N * (N - 1))

Intention and theoretical background:
The production of the collective good is more likely with increasing group size N (in more detail: with increasing ties within the group). Thus, the probability of producing the collective good (due to cooperation) is an increasing function of the group size N. The probabilities are based on the number of ties within the group are the following:
p(D) = (N(1 - N)) / (2 + N(N - 1))
p(C) = 2 / (2 + N(N - 1))

back to overview

9: "Finally Heroe" by J. Brüderl

Classification:
Probability of cooperation depending on group size as answer to defection

Basic idea in short:
This strategy is only likely to cooperate, if no cooperation occured in the previous period t-1. Its probability of cooperation decreases with increasing group size N.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play D
  • in period t>1:
    • at least one C in t-1: play D
    • no C in t-1: play C with p = 1 / N

Intention and theoretical background:
Heros are rarely and they will only cooperate, if no one else seems likely to save the situation. Thus, if there were cooperative actions by others before, it seems necessary to engage in a heroic cooperation. In order to prevent superfluously cooperation, a "Heroe's" cooperation depends on a certain probability, that decreases with the group size.

back to overview

10: "Reciprocating Volunteer" by V. Buskens

Classification:
Increasing cooperation as answer to cooperation

Basic idea in short:
This strategy cooperates, if no cooperation occured in the previous period t-1. It will not cooperate again in period t, if it was the only one that cooperated. But the more others cooperated in the previous period t-1 the more likely this strategy is likely to cooperate in the following period.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play C with p = 1 / 2
  • in period t>1:
    • no C in t-1 (including this strategy): play C
    • at least one C in t-1:
      • other_c: counting C-choices by others in t-1
      • play C with p = other_c / N

Intention and theoretical background:
This strategy is based on considerations of reciprocity. Thus the nicer others are the nicer this strategy becomes.

back to overview

11: "Minka" by J. Deuschle

Classification:
Fixed Pattern (DCDDD...)

Basic idea in short:
This strategy defects in each period t, except for the second (t=2).

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=2: play C
  • in all other periods: play D

Intention and theoretical background:
(written by J. Deuschle - slightly changed)
This strategy was designed to meet the following requirements:

  • It should be very simple.
  • It should be unconditional.
  • It should pretend the will to further cooperation by a single coperative action.
  • It should avoid exploitation by others.
  • It should be able to exploit cooperative strategies.
  • It should pretend that the initial defection was an error.

back to overview

12: "Superrational Strategy" by A. Diekmann

Classification:
Decreasing probability of cooperation with increasing group size

Basic idea in short:
This strategy cooperates with a certain probability depending on the group size N. It becomes more defective with increasing group size N.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in each period t: play C with p = 1 - ((1 / N) * (K / U)) (N - 1)

Intention and theoretical background:
(see: A. Diekmann (1985), "Volunteer's Dilemma", Journal of Conflict Resolution 29: 605-610.)
Superrationality in Hofstadter's sense means, maximizing the expected utility under the restriction of Kant's categorical imperative. The superrational strategy prescribes a higher probability of cooperative action than in the symmetric equilibrium case.
(A. Diekmann 1985: 608 - slightly changed).

back to overview

13: "Hope" by H. Esser,
"GOLD: Group Accumulation Leads to Defection" by S. Auer (3),
"More Actors, Less Cooperation" by P. Preisendörfer (22)

Classification:
Decreasing probability of cooperation with increasing group size

Basic idea in short:
This strategy cooperates with a certain probability depending on the group size N. Its probability of cooperation decreases with increasing group size N.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in each period t: play C with p = 1 / N

Intention and theoretical background:
With increasing group size it is more likely that other players would cooperate.

Based on arguments by S. Auer:
At the beginning there are two possible rules:
1. Cooperate only, if you are not sure, that anyone else would cooperate. This would increase the collective utility. But those strategies, that always defect will be better off.
2. Always defect. This would make the strategy win, if others are playing directly against it.
With increasing group size, there are more others playing directly against ones own strategy. Thus, it would be beneficial to become more defective with increasing group size (cf. the second rule).

back to overview

14: "Cooperate Unexploitably" by M. Franosch

Classification:
Probability of cooperation depending on the cooperation by others

Basic idea in short:
The initial probability of cooperation is that of the mixed equilibrium strategy. This strategy is likely to cooperate, if it belongs to the set of strategies that cooperated least during all previous periods. But it defects, if other strategies cooperated less.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play C with p = 1 - (1 / 2) 1 / (N - 1)
  • in period t>1:
    • min_c: set of strategies with the smallest number of C-choices
    • c: counting the number of strategies currently included in min_c
    • only oneself included in min_c: play C
    • oneself not included in min_c: play D
    • oneself and others are included in min_c: play C with p = 1 - (1 / 2) 1 / (c - 1)

Intention and theoretical background:
(written by M. Franosch)
The basic idea is to allow cooperative bahavior among the strategies, but to avoid exploitation by other strategies. I've tried to come up with an approach similar to "tit for tat" (TFT) in the prisoner's dilemma game: TFT first cooperates, and then cooperates only in case the other person has cooperated at least as many times as TFT itself. Thus, TFT will lead to an ideal cooperative state among itself, but can never be exploited by others. The "cooperate unexploitably" (CU) strategy tries to achive the very same goal: CU does not allow expoitation because if others have cooperated less, CU does not cooperate (like TFT). CU was designed to play a strategy with the highest possible revenue for everyone in all other cases, although the ideal state (exactly one strategy cooperates in every move) is not achieved even among CU strategies.

back to overview

15: "Sponger" by T. Gautschi

Classification:
Decreasing probability of cooperation with increasing group size depending on the number of defective periods

Basic idea in short:
(written by Th. Gautschi)
This strategy always starts with defection and is only likely to cooperate if no cooperation occurred in the previous N-1 periods. However, the probability p of cooperation does not depend on the number of previous periods of mutual defection but on the group size N, only . The strategy cooperates with probability p = 1 / (N-1), given N-1 periods passed without any player cooperating.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • cnt_d: number of periods without any C
  • in period t=1: play D
  • in period t>1:
    • no C in t-1:
      • no C in less than N-1 periods in a row (cnt_d < N-1): play D
      • no C in at least N-1 previous periods in a row (cnt_d >= N-1):
        play C with p = 1 / (N - 1)
    • at least one C in t-1 (including oneself):
      • cnt_d = 0
      • play D

Intention and theoretical background:
(written by Th. Gautschi)
The basic idea of the strategy follows from the basic idea of the VOD: one single player can provide the public good for the whole community. For any VOD with N players, it would theoretically suffice if players would take turns in cooperating. Without prior agreements on who is to cooperate in which period, such an idea is almost impossible to implement (but maybe evolves through adaptive play even in a non-cooperative setting). Nevertheless, the strategy is basically taking the idea of taking turns as a starting point: only be willing to cooperate if none of the N-1 players has cooperated in the previous N-1 rounds. However, even though the strategy is willing to cooperate, it free-rides with respect to two points. First, it shows no interest in taking its turn if at least one of the other players does cooperate in at least one of the t-(N-1) previous periods. And, second, even if the strategy takes its turn, it only cooperates with a probability p = 1/(N-1). The probability to cooperate therefore decreases in N, reflecting the idea that other players will eventually also be willing to cooperate if a (long) history of mutual defection exists. And, the more other players the higher the likelihood that at least one of them cooperates. The strategy thus only shows its fair side if N=2 (it is willing to take its turn and cooperates with p=1) while it is the more a sponger the larger N.

back to overview

16: " Rarified Cooperation" by E. Gehmacher

Classification:
U-shaped random probability of cooperation depending on the group size

Basic idea in short:
This strategy considers the general probability of cooperation within a group size N. Its own probability of cooperation is a u-shaped function depending on the group size N with minimum in N=15. That means, its probability of cooperation decreases in N for N<15 and inreases in N (somewhat more moderately) for N>15.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in each period t: play C with p = (1 / N * 0,9) * ((N / 15)² + 1) * (RND + 0,5)
  • RND: random number between 0 and 1 (included)

Intention and theoretical background:
Characteristic for small groups (e. g. primary groups, up to N=15) is a high level of trust. Moreover, each group member has an incentive to avoide actions that could lead to a loss of trust. This group pressure encourages individual cooperation. With increasing group size social isolation increases, too. Thus, the level trust decreases amoung the members of the group. But at the same time, the lack of trust, that someone else would cooperate, leads to an increase in the personally felt responsibility to cooperate.

back to overview

17: "2gather" by C. Hausen & K. Pforr

Classification:
Always D except for N=2 avoiding equal choices

Basic idea in short:
For group size N=2 this strategy tries to avoid choices equal to the other player's actions. For group sizes N>2 it always defects.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • for N>2: always play D
  • for N=2:
    • in period t=1: play C with p = 1 / 2
    • in period t>1:
      • for equal choices in all previous periods: play C with p = 1 / 2
      • for at leas one previous period with unequal choices:
        • in t<=5: play the opposite of own choice in t-1
        • in t>5:
          • during the previous 5 periods from the other no C: play D
          • during the previous 5 periods from the other at least 1 C:
            • during the previous 5 periods from the other 4 or 5 C: play D
            • during the previous 5 periods from the other 3 or less C: (but at least 1 C)
              • in t<10: play the opposite of own choice in t-1
              • in t>=10:
                • in the previous 4 period the pattern "DCDC" occured for both players: play C
                • in the previous 4 period the pattern "DCDC" occured not: play the opposite of own choice in t-1

Intention and theoretical background:
(written by C Hausen & K. Pforr) A social norm of alternating cooperation and defection would be favourable in group sizes N=2.

    Goal:
    No maximization of point results in total but the maximization of the relative majority.
    That is, the goal for each period is:
  • the highest possible number of points
  • maximization of the difference in the point results of the opponent and us, respectively not allowing the opponent to make more points than we do.
    Means:
  • offering a norm, with whom the participating players maximize their point results. This is achieved by cooperation of each player in turn.
  • if norm is reciprocated, trying to keep it up; If not, we defect
    So we will maximize the absolute point results and the relative difference, if the opponent plays C+, and we will at least prevent the opponent to abuse us, if he plays D+.
    Realization:
  • Using a time window we analyse ours and the opponents last 5 draws at a time. With this information we decide about our next draw.
  • To guarantee the establishment of reciprocal norm in the period in which we play against ourselves, we have to play Random in the beginning.
Offering the norm in groups with N>2 does not pay, as on the one hand the coordination of the order of the cooperation for all players becomes more difficult with increasing group size, while on the other hand the probability to be selected for small groups with less coordination problems is tiny. Therefore for groups with N>2 D+ is the best solution.

back to overview

18: "Kopposite" by C. Kopp

Classification:
Increasing probability of cooperation depending on the number of defective others in previous discounted periods

Basic idea in short:
This strategy cooperates in each period divisible by N. For all other periods, it distinguishes between group sizes N=2 and N>2. For group size N=2 it cooperates, if the other player cooperated in the previous period t-1. For group sizes N>2 it cooperates with a certain probability depending on the number of others that defected in some previous periods. Previous periods of defection weight less, if they are longer dated back (discounted past).

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play C
  • in period t>1:
    • period t divisible by N: play C
    • in all other periods t:
      • for N=2: choose the same of what the other player had chosen in t-1
      • for N>2:
        • rate_d(k): rate of defections of all other players in a previous period t-k (for k = 1, 2, ..., 5)
        • cooperate with p = (k * d(1) + (k - 1) * d(2) + ... + 1 * d(k)) / (1 + 2 + ... + k)

Intention and theoretical background:
(written by Ch. Kopp)
This strategy tries to reach a state of alternating cooperation in the two-player case by relying on a simple and easily detectable decision rule. Furthermore, it is always fair in the sense that it cooperates with a probability reciprocal to the number of players or even higher. For the case of more than two players, it tries to secure cooperation without cooperating unnecessarily often by cooperating from time to time and by playing what the others don't.
Firstly, the strategy adapts to the number of other players, especially distinguishing between games with one or games with several other players. If there is only one other player, the strategy cooperates in the first period as well as in every round with an even number. In the other period, it imitates the other's last play. If, on the other hand, there are several other players, the strategy tries to incorporate the other's decisions into its own decision in the following manner: independent of the number of other players, it cooperates in the first period and in every round divisible by group size (a generalization of the two-player case). In the other periods, the strategy bases its choice on the (linearly discounted) relative share of the other's defection over the last five periods by cooperating with this probability ("do what the other's don't").
The intention, as has been described above, is to reach a state of alternating cooperation for the two players. This is tried by cooperating in every second round and by imitating what the other player played in the last round in the odd rounds. The underlying idea here is that it's optimal for the other player not to cooperate in the rounds in which KOPPOSITE does. If the other player does this, KOPPOSITE will defect in the odd rounds (but not in the first round) and cooperate in the even rounds. This only works if the other strategies are smart enough to adapt to the behavior of this strategy. For the case of several players, the strategy tries to maintain a certain rate of cooperation by cooperating from time to time and by playing "the opposite" of what the others did, thereby adapting to its environment.

back to overview

19: "Mercy Coop" by P. Kriwy

Classification:
Fixed probability of cooperation (p = 0.1)

Basic idea in short:
This strategy cooperates with a small probability p = 0.1.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in each period t: play C with p = 1 / 10

Intention and theoretical background:
(written by P. Kriwy) It is better to defect most of the time. But sometimes there is a mercy cooperation. The intention is to beat sophisticated strategies with an irrational one.

back to overview

20: "Eve" by E. & N. Lepperhoff

Classification:
Cooperation as answer to defection (4 periods)

Basic idea in short:
Until 4 periods passed without any cooperation, this strategy cooperates itself (t=0 counts already as period without any C). But it defects immediately, if there occured at least one cooperation in the previous period t-1.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play D
  • in period t>1:
    • cnt_all_d: counting the number of previous periods without any C
      • no C in t-1: cnt_all_d + 1
      • at least one C by others in t-1: cnt_all_d = 0
    • for cnt_all_d >= 4: play C
    • for cnt_all_d < 4: play D

Intention and theoretical background:
The conception of this strategy is based on the results and the analyses of "Tit for Tat" (the winning strategy in the computer tournament by R. Axelrod). The idea here is simply to cooperate if free-riding is impossible.

back to overview

21: "Casual Hero" by U. Liebe,
"Taking Turns" by R. Bekkers (4)

Classification:
Cooperation as answer to defection (1 period, begin with C)

Basic idea in short:
This strategy cooperates only, if no cooperation occured in the previous period t-1 (including this strategy). Otherwise it defects. It starts with cooperation.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play C
  • in period t>1
    • no C in t-1: play C
    • at least one C in t-1: play D

Intention and theoretical background:
Based on Arguments by U. Liebe:
For this idea an actor is considered, who is highly interested in the collective good and therefore ready to provide it himself. But capitalise on cooperation by others. An example are living communities.

Based on Arguments by R. Bekkers:
(written by R. Bekkers)
This very simple strategy is based on the common sense observation that people are prepared to cooperate in order to produce a public good (hence cooperation in the first period), but also tend to free ride on the contributions of others (hence defection if cooperation occurred in the previous period).

back to overview

23: "Sizewatcher" by B. Prosch

Classification:
Decreasing probability of cooperation with increasing group size as answer to defection

Basic idea in short:
This strategy defects always, if at least one cooperation by others occured in the previous period t-1. Otherwise it cooperates with a certain probability depending on the group size N.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play D
  • in period t>1:
    • no C by others in t-1: play C with p = 1 / N
    • at least one C by others in t-1: play D

Intention and theoretical background:
(written by B. Prosch)
In case, there are enough volunteers in the group it is not necessary to play C. If there is no volunteer, Sizewatcher will cooperate with a probability depending on group size. This design is related to theoretical results about the VOD by Andreas Diekmann.

back to overview

24: "Tit for Tat Invers" by C. Schatz

Classification:
Cooperation as answer to defection (1 period, begin with D)

Basic idea in short:
This strategy defects, if at least one cooperation occured (including this strategy) in the previous period t-1. Otherwise it cooperates. It starts with defection.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play D
  • in period t>1:
    • no C in t-1: play C
    • at least one C in t-1: play D

Intention and theoretical background:
This strategy is designed to avoid permanent defection and to try to minimize the own costs. However, contrary to "Tit for Tat" in Axelrod's tournament, this strategy can be exploited by defective strategies.

back to overview

25: "Rent-Sharing Cooperation" by K.-U. Schnap

Classification:
Cooperation depending on period, group size and defection by others

Basic idea in short:
This strategy distinguishes between small group sizes (N=2 to N=6) and large ones (N>6). For all group sizes N<6 it cooperates regularly in every Nth period. For all group sizes N>6 it cooperates as answer to defection. If it cooperated five times in a row, it will defect until there is no cooperation in the previous period (including this strategy). Then cooperation is taken up again.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in period t=1: play C
  • in period t>1:
    • for N=2 to N=6: play C, if period t is divisible by N
    • for N>6: play C: if no C by others and if period t is not divisible by 5
      • at lest one C by others in t-1: play D
      • no C by others in t-1:
        • own C less than 5 times in a row: play C
        • own C 5 times in a row: play D

Intention and theoretical background:
(written by K.-U. Schnap)
The intention of the strategy is to initiate and maintain cooperation, and share the cost of cooperation by regularly cooperating (i.e. when it is ones turn) and "defecting" (which on a meta level still is cooperation) as long as it is not ones turn.
The strategy for N<7 (establish a regular pattern of cooperation with the period of cooperation being a function of the number of participants) might work for small N. Small was defined - out of necessity to have a concrete threshold for the program - as less or equal 6. Beyond a small groups size the behavioural pattern emerging from the first strategy is probably to complex to be detectable by others.
Ability to detect the meaning of the strategies actual behaviour by other strategies is the major weakness of the strategy from my current point of view anyway: other players have to be able to infer the meaning of the observed behavioural pattern, which is to have cooperation in turns. If they are not able to understand the pattern as an attempt to establish continuous cooperation they are likely not to be able to answer appropriately. This problem starts with the strategy itself. Itself does not seem to have the means to systematically detect similar behaviour by others. This problem of detection is inherent in the starting rule for cooperation put forward here already. If there is a second strategy acting in exactly the same way (cooperate in the first and than each Nth period), both will end in a suboptimal situation, because there are a number of periods with all defections.
With larger sized groups (N>6) and the declining probability that the pattern of intended cooperation can be understood by others, the strategy has to change from really taking it in turns to a strategy that takes on more of the cost of cooperation in order to maintain a certain level of cooperation. In order to reach this goal the strategy cooperates for several (5) periods and than defects. If there is cooperation after period 5 than the player collects rent until no other player is willing to pay the cost of providing the good (cooperate). In this case self will start to cooperate again for a number of periods (5) and go back to defection again after 5 periods because of the "feeling" that it is self's turn again to reap the rent of her cooperation so far.
Defection after 5 periods of cooperation is, of course, an arbitrarily set period. There is no theoretical argument, why it has to be 5. It might as well be 4, 6 or any other number. If others do cooperate as well, the chance to collect rent increases with shorter periods of cooperation and declines with their increasing length. Long periods of cooperation may furthermore convince other players, that their cooperation is not needed, because there is an always cooperating player. Therefore periods of cooperation should not be too long. Exactly how long "too long" is is still to be defined.

back to overview

26: "Just Distribution" by H. Scholtz

Classification:
Increasing probability of cooperation each Nth period depending on defection of others and number of periods passed since the last own cooperation

Basic idea in short:
This strategy is more likely to cooperate the more periods without any cooperation passed (counted since its last own cooperation). Furthermore, its probability of cooperation decreases with increasing number of others having cooperated in the same period before.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • no own C so far: play C with p = t / N (also in period t = 1)
  • at least one own C so far:
    • cnt_other_c: counting the number of others having played C in that period, too
    • last_c: number of period of the last own C
    • play C with p = max(0, ((t - last_c - N + cnt_other_c) / cnt_other_c))

Intention and theoretical background:
(written by H. Scholtz)
A pareto-optimal solution of the game is any in which exactly one member of the group cooperates in each period. In an assumed symmetrical situation every player would cooperate every Nth period and hope for another one to cooperate in-between. So we are left only with the cooperation problem, how to find a place on the circle for everyone, and since we have no information about the players (so a rule like "cooperate after your left neighbour" is not possible), I didn't know other than using probabilities. I thought about refining the strategy to exploit asymmetrically frequent others, but first I saw that this was beyond the programming complexity I could handle, and afterwards I remembered that Rapoport's winning "Tit for Tat" in the original Axelrod computer tournament was amongst the simplest strategies, and I decided to rely on that example.

back to overview

27: "Candle++" by T. Varga

Classification:
Maximization of expected utlility of pure strategies "All C" and "All D" depending on the group size

Basic idea in short:
For group sizes N>=8, this strategy always defects. For all other group sizes N<8, it cooperates only if there was at least one C in the previous period t-1. Furthermore, its cooperation depends on a condition value. The computation of this value is based on the number of previous cooperations by others.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • for N>=8: play D in each period t
  • for N<8:
    • in t=1: play D
    • in t>1:
      • no C in t-1: play C
      • at least one C in t-1:
        • num_cp: number of previous periods up to t-2 with at least one C (num1)
        • other_fc: number of "follow-up-C" by others during all previous periods (num2)
        • condition_value = other_fc / num_cp
        • play D, if condition_value >= 0,5

Intention and theoretical background:
If p denotes the probability of playing one of the pure strategies C and D, the expected utility can be computed as follows (with U=10 and K=5):
EU(C) = 5
EU(D) = 10 * (1 - p(N-1)) + 0 * p(N-1)
The expected value of D increases with increasing group size N. Thus for group sizes N>=M, EU(D) exceeds EU(C)=5. Thus, in these group sizes it is better to play D than C (for constant M). The value of M is the least positive integer which is greater than logp(0.5) + 1.
Here the value of p is chosen with p=0.9. Therefore the corresponding group size is M=8. In order to avoid cooperation when others could be likely to cooperate, a certain condition value can be computed. It is based on the previous cooperation of others (see above for num1 and num2).

back to overview

28: "Toggle" by M. Vieth

Classification:
Fixed Pattern (CDCDCD...).

Basic idea in short:
This strategy cooperates in each odd period t (period not divisible by 2).

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • in each period t not divisible by 2: play C
  • in each period t divisible by 2: play D

Intention and theoretical background:
(written by M. Vieth) Keep it simple.

back to overview

29: "Pawlow" by T. Voss

Classification:
Cooperation as answer to defection (1 period, begin with D, for N>2)

Basic idea in short:
This strategy cooperates with the probability p=1/2 for group size N=2. For all other group sizes N>2 it cooperates only, if no C occured in the previous period t-1.

Strategy in some more detail: (program code)

  • period t = 1, 2, ...
  • for N=2: play C with p = 1 / 2
  • for N>2:
    • in period t=1: play D
    • in period t>1: play C, if no C in t-1

Intention and theoretical background:
Learn-theoretical arguments suggest an "unfriendly PAWLOW-strategy".

back to overview
© M&M, 13.01.2002 (last change: 04.03.2003)