|
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
- "Gewissensbisse" by P. Ackermann (program code)
- "All D" by J. Arpagaus (program code)
- "GOLD: Group Accumulation Leads to Defection" by S. Auer (program code)
- "Taking Turns" by R. Bekkers (program code)
- "Gentle Temporiser" by R. Berger (program code)
- "Lazy but Fair" by F. Braun (program code)
- "Lazy Hero" by M. Braun (program code)
- "Rely on Group Pressure" by N. Braun (program code)
- "Finally Heroe" by J. Brüderl (program code)
- "Reciprocating Volunteer" by V. Buskens (program code)
- "Minka" by J. Deuschle (program code)
- "Superrational Strategy" by A. Diekmann (program code)
- "Hope" by H. Esser (program code)
- "Cooperate Unexploitably" by M. Franosch (program code)
- "Sponger" by T. Gautschi (program code)
- "Rarified Cooperation" by E. Gehmacher (program code)
- "2gather" by C. Hausen & K. Pforr (program code)
- "Kopposite" by C. Kopp (program code)
- "Mercy Coop" by P. Kriwy (program code)
- "Eve" by E. & N. Lepperhoff (program code)
- "Casual Hero" by U. Liebe (program code)
- "More Actors, Less Cooperation" by P. Preisendörfer (program code)
- "Sizewatcher" by B. Prosch (program code)
- "Tit for Tat Invers" by C. Schatz (program code)
- "Rent-Sharing Cooperation" by K.-U. Schnapp (program code)
- "Just Distribution" by H. Scholtz (program code)
- "Candle++" by T. Varga (program code)
- "Toggle" by M. Vieth (program code)
- "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):
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)
|