OVERVIEW
ANNOUNCEMENT
RULES
DISCLAIMERS
SAMPLE STRATEGIES
CONTACTS
FAQs
|
|
OVERVIEW
This computer tournament, partly funded by the NSF and
UNLV’s College of Business, centers around an iterated
Prisoners’ Dilemma with exit option (IPDEO). Many multi-party
interactions, including business relationships such as strategic alliances
and joint ventures, may be better modeled with an option that allows
either party to opt out of the relationship at any time. This tournament
will test strategies under this modified version of two-party
relationships to determine the best strategy.
ORIGINAL ANNOUNCEMENT
Research faculty in the Department of Management,
University of Nevada Las Vegas (UNLV) are sponsoring a computerized
strategy tournament with a winner-take-all prize of $1000. You are
invited to submit a programmed strategy to play a repeated prisoner’s
dilemma game with an exit option. Your strategy will compete against every
other programmed strategy in a round-robin style tournament.
Participants will write their strategies using Java,
or appropriately detailed pseudo-code or traditional flowchart techniques,
that researches can convert to Java. Participants will also be asked to
complete a brief questionnaire that describes and collects summary
information concerning the strategy submitted. The deadline to submit a
programmed strategy is January 31, 2004. In addition to a chance of
winning the $1000 cash prize, all participants will receive a copy of the
tournament results and a draft copy of the final research report.
If you are interested in participating, please go to
http://www.unlv.edu/faculty2/phelan/IPDEO/ipdeoHome.html for a
complete description of the tournament’ rules and requirements.
Thanks to the
Prisoner's Dilemma Competition,
Academy of Management , the
Game Theory Society, and the
Strategic
Management Society for carrying this announcement.
RULES
- Strategies must be submitted in Java, pseudo-code,
or a sufficiently detailed flowchart that can be readily converted to
Java.
- The winner-take-all prize of $1000 (USD) will be
determined by how well the strategy performs in a round-robin style
tournament. Each programmed strategy will be paired with every other
programmed strategy (including itself) for three different game lengths
and two different exit payoffs (E, see below) for a total of six
treatments. An average points per move (APM) will be calculated for
each treatment. The tournament winner will be the strategy
with the highest average APM across the six treatments.
- Programmed strategies will play the following
symmetric prisoner’s dilemma game, where the payoffs in each cell of the
table represent yours and your opponent’s
earnings, respectively, for each trial of the game:
|
|
|
Opponent’s Choice |
|
|
|
Cooperate |
Compete |
|
Your
Choice |
Cooperate |
8, 8 |
0, 10 |
|
Compete |
10, 0 |
3,3 |
- During any move a strategy may elect to exit the
game. In this case, each strategy will earn the “exit payoff” for each
move that remains. The exit payoff, which will not change during the
course of a game, will be 4 for half the treatments and 7 for the other
half. The exact value
of this variable, E, will be available at the beginning of each game.
- The following variables will be available to each
programmed strategy at the beginning of each trial:
E the exit payoff
R the alternative selected by you opponent’s strategy on the
last trial (R=1 at start)
C the
current move (C=1 at start)
W the cumulative points earned by your programmed strategy in
the current pairing
Note: E will not change during the course of the game. R, C and W
will be updated each round.
The game length will be one of three possible values that will remain
fixed within a treatment. These values will be randomly selected at the
start of the tournament from a uniform distribution between 15 and 250
moves (inclusive).
Please note, all internal variable values will be reset at the start of
each treatment.
- Each strategy must return:
S
your strategy for current round (S=1 cooperate, S=2 defect, S=3 exit)
- The deadline for submitting a programmed strategy
is January 31, 2004. Participants may submit only one (1) strategy for the
tournament.
- Participants will be asked to complete a brief
questionnaire prior to the beginning of the tournament that
characterizes their programmed strategy.
DISCLAIMERS
- Researchers for this project and their close
associates and relations are not eligible for the
prize.
- The research team reserves the right to reject any
strategy that:
- substantially duplicates another strategy already in the
tournament
- cannot be adequately converted to Java code
- The research team reserves the right to change any
aspect of the tournament subject to at least 7 days advanced notice to
all participants of any such changes.
- The winner of the tournament shall be determined
by the highest payoff per round across all trials. The judges' ruling is
final and no correspondence will be entered into.
SAMPLE STRATEGIES
| Pseudo-Code |
Java |
|
Tit for Tat
IF (C = 1) THEN S = 1
IF (C > 1) THEN S = R
|
public
class
titfortatStrat extends
strategy2 implements
strategyInterface2
{
//FIELDS
int E;
String stratName="Tit
for Tat Always";
//all strategies must have name
//CONSTRUCTORS - this routine
is called at the start of the tournament - E is the payoff for the
exit option
public
titfortatStrat(int
E)
{
this.E=E;
}
//end
constructor
//METHODS - all strategies
must implement the play() method which is called every round of a
game
public
int play
(int R,
int C,
int W )
{
int S=0;
S=R;
if (R==3) S=3;
//required statement - game ends after opponent exits
return
S;
}
public
String getName()
{
return stratName;
}
}
//end class |
|
Cooperate with Exit Trigger
IF (C = 1) THEN S = 1
IF (C > 1) THEN
IF (R = 1) THEN S = 1
IF (R > 1) THEN S = 3
|
public
class
cooperateWithTrigger extends
strategy2 implements
strategyInterface2
{
//FIELDS
int E;
String stratName="Cooperate
with Trigger";
//all strategies must have name
//CONSTRUCTORS - this routine
is called at the start of the tournament - E is the payoff for the
exit option
public
titfortatStrat(int
E)
{
this.E=E;
}
//end
constructor
//METHODS - all strategies
must implement the play() method which is called every round of a
game
public
int play
(int R,
int C,
int W )
{
int S=0;
if
(R==1) S=1;
if (R>1)
S=3;
if (R==3) S=3;
//required statement - game ends after opponent exits
return
S;
}
public
String getName()
{
return stratName;
}
} //end class |
CONTACTS
Please direct your enquiries to an appropriate member of the research
team:
- Steven Phelan,
steven.phelan@ccmail.nevada.edu (Researcher, Java programmer)
- Richard Arend,
richard.arend@ccmail.nevada.edu (Researcher)
- Darryl Seale,
dseale@unlv.nevada.edu (Researcher)
FAQs
to be determined
|