A TOURNAMENT OF PARTY STRATEGIES
James H. Fowler
University of California, San Diego
Michael Laver
New York University
In the spirit of Robert Axelrod’s tournament for strategies in the repeat-play prisoner’s dilemma game, we announce a tournament for party strategies in a dynamic agent-based spatial model of party competition.
The winner will receive $1000.
We herewith call for submissions of party strategies by 30 April 2006. Each strategy submitted will be pitted against each other strategy in a series of long-running simulations of a two-dimensional multiparty spatial model in which the number of parties is endogenously determined. All parties falling below a certain size threshold for two consecutive elections will “die”. One new party will be “born” each election at a random spatial location, using a strategy randomly selected (with replacement) from the portfolio of submitted strategies. The strategy most successful at winning votes over the very long run will be declared the “winner”.
Click here for a pdf version of these rules
Click here to download the test-bed code for the tournament (written in R which is free to download)
Click here to return to James Fowler's home page
THE ENVIRONMENT OF PARTY COMPETITION
The policy space
The policy space will be defined by 1000 voters with two-dimensional ideal points randomly drawn from a standard normal distribution with a mean of zero and a standard deviation of 1 in each dimension (a bivariate normal distribution). Voters never abstain and always vote sincerely for the party specifying the policy position closest to their ideal point.
Periods and elections
Each simulation in the series of simulations (see below) will run for 200,000 periods, after discarding results from 20,000 initial periods (“burn-in”). An “election” will be held every 20 periods. The period immediately after each election will begin with the “birth” of a new party, using a strategy randomly selected (with replacement) from the set of strategies submitted for the tournament. The initial policy position of each newborn party will be determined by a random draw from a normal distribution with a mean of zero and a standard deviation of 1 in both dimensions.
Each period
At the start of each period, each party strategy, subject to the information requirements set out below, must specify a policy position for the party. (The initial policy position in the first period after party birth will be random – see above).
In the middle of each period, each voter supports the party specifying the policy position closest (in terms of Euclidean distance) to the voter's ideal point.
At the end of each period, the policy positions of each party and the number of voters supporting each party are announced. As with an opinion poll, this announcement provides information to parties that they can use to adapt their position to the current competitive environment. Each party thus has 20 periods to adapt before each election.
Each election
At the end of every twentieth period, an election is held. The number of voters supporting each party is announced and recorded.
If a party falls below a survival threshold of 10 percent of votes cast for two consecutive elections, it “dies” and disappears from the competition. Note that more than one party may die in an election, but only one new party is born immediately after each election.
After votes have been recorded and party deaths have taken place, a new party is “born” at the beginning of each period following an election. The new party will use a strategy randomly selected (with replacement), with equal probability, from the set of strategies submitted for the tournament, and will be given a random initial policy position (see above).
(The only exception to this is that the first party selected for the first period of each simulation will be rotated between strategies - see below).
The series of simulations
To determine the winner of the tournament, we will analyze results from 5n simulations, where n is the number of strategies submitted. Each submitted strategy will be identified as the “starting” strategy for five simulations to be sure initial conditions are not influencing the tournament results. The simulation environment is programmed in R. Code for the simulation test-bed is available here.
Each simulation in the series will run for 220,000 periods, with the first 20,000 periods (the “burn-in”) discarded from the analysis. In preliminary testing of the simulation environment, using the four “pre-submitted” party strategies (see below), this is about five times as long as was necessary to reach convergence as determined by standard statistical tests. Each submitted strategy will thus start “first” in simulations running for a total of 1,000,000 periods (50,000 elections) after burn-in.
CONSTRAINTS ON PARTY STRATEGIES
Party decision rules must specify a party position for the beginning of each period using only the following information:
1. Any previously-announced policy position and level of voter support for any party.
2. The mean or median position on each dimension of the ideal points of the party's own current supporters .
3. Note that party strategies cannot have access to the ideal point of any individual voter , nor can they interrogate voters about what they would do in hypothetical situations .
4. Note also that this implies that, on being born, a party using any strategy does not know its initial position in the space, and has no data about the state of the system in previous periods .
In order to assist in the process of preparing a strategy for submission, the table below lists variables for people who choose to submit their own R code (the code for the simulation test-bed is available here). You may also create your own variables as long as they do not draw on information restricted by the constraints noted above.
Name |
Type |
Description |
ploc |
2 x n matrix |
Stores location of all parties in current period – ploc [1,] for the x -axis, ploc [2,] for the y -axis |
oploc |
2 x n matrix |
Stores location of all parties in previous period – oploc [1,] for the x -axis, oploc[2,] for the y -axis |
ptotals |
n vector |
Stores total number of supporters for each party in the current period |
optotals |
n vector |
Stores total number of supporters for each party in the previous period |
angle |
n vector |
Stores angle in radians of direction each party moves from the previous period to the current period. NOTE: party i can only observe its own mean supporter |
pmloc [, i ] |
2 x n matrix |
Stores location of mean party supporter for i th party in each dimension in current period – pmloc[1,i] for the x -axis, ploc[2,i] for the y -axis. NOTE: party i can only observe its own mean supporter |
pbt |
n vector |
Stores number of periods each party has failed to achieve threshold number of votes |
prank |
n vector |
Stores vote total rank of each party (ties are broken by random draw) |
angletop |
n vector |
Stores angle in radians between each party and the top ranked party (see prank above) |
disttop |
n vector |
Stores distance between each party and the top ranked party (see prank above) |
PRE-SUBMITTED STRATEGIES
There will be four “pre-submitted” strategies, not eligible for the prize. These will be the four strategies described in Michael Laver, “Policy and Dynamics of Political Competition”, American Political Science Review , 99:2 (May 2005) 263-281, viz:
1. STICKER – the party does not move from its original position;
2. AGGREGATOR – the party sets policy at the mean position on each dimension of the ideal points of current party supporters
3. HUNTER – If party support in the previous period was higher than in the period before that, then the party moves a step of 0.05 in the same direction it moved previously. Otherwise it randomly chooses a direction in the opposite 180 degree half space from its previous move and moves a step of 0.05 in that direction;
4. PREDATOR – the party observes the current sizes and policy positions of all parties. If it is the largest party it stands still, otherwise it moves a step of 0.05 towards the position of the largest party.
RULES FOR SUBMISSION
Each party strategy submitted must be fully specified so it can be programmed. Since the tournament will be run in an environment programmed in R, strategy submissions will particularly welcome if they are specified in the form of program code snippets in R. However, any strategy submitted in the form of a clearly written and programmable algorithm, or programmable piece of pseudo-code, will be accepted. Please suggest a short and informative name for your party strategy.
Only one submission is allowed per person. If several entrants independently submit an identical strategy, then this strategy will be entered only once in the tournament. If this strategy wins the prize, a single winner will be chosen by lot from among those who submitted the winning entry.
All entries must be received by 30 April 2006. Send them to jhfowler@ucsd.edu.
WINNERS
The prize of $1000 will be awarded to the strategy winning the most votes in all elections over the series of 5 n simulations described above. That is, for every election in every simulation after burn-in, the total votes won by all parties using each strategy will be calculated. The winner of the tournament will be the strategy accumulating the most votes over the entire suite of simulations.
Although these strategies will not win prizes, we will also calculate and report the strategy winning the most votes per party using each strategy over the suite of simulations, as well as the strategy used by parties surviving, on average, for the largest number of periods.
The prize will be awarded at American Political Science Association's 2006 annual meeting in Philadelphia, PA.
Good luck!
Back to James Fowler's home page
Last Updated
January 13, 2006
Copyright © 1998-2004 James Fowler, All Rights Reserved.