wiki:Hawk_Dove

Version 11 (modified by developer, 21 months ago) (diff)

--

Hawk-Dove

Here we consider a 2x2 Matrix game - Pure & Mixed Strategies - Heat-Map - Group Size & Population Matching. The following experiment example builds off  "Separating the Hawks from the Doves: Evidence from Continuous Time Laboratory Games" by Dan Friedman, Keith Henwood & Ryan Oprea (JET 2011)

An excerpt from Henwood et. al (2010) “Hawk-Dove has two different asymmetric Nash equilibria in pure strategies as well as one symmetric Nash equilibrium in mixed strategies. Evolutionary game theory predicts that (a) the mixed NE will be selected within a single population (each player interacts with all other players), but (b) one of the pure NE will be selected when row players and column players belong to two disjoint populations.... Recently developed laboratory techniques enable us to conduct a direct and stringent test of (a) and (b) and related hypotheses.”

Grouping - Players are independently and randomly assigned an initial strategy setting, and are free to change their strategy whenever and as often as they like.

Thus with our demo experiment we'll need to explore mixed strategy settings (the "heatmap" selector) and Grouping settings. For mixed strategies, subject simply need some way to choose some combination of the their two strategy options. For Grouping, the experimenter needs some way to arrange groups of people in order to test the hypothesis above.


Starting the Test Experiment

First, you need to download the following ZIP file here. It contains an executable JAVA file called "Test.JAR" that will load & execute the experiment below.

You'll also need to download the "game definition" configuration file that will define how the experiment works: the game payoffs, how subjects interact with the server & each other, and how information is displayed in the various treatments we consider. This is a CSV file, hawk-dove.csv. The various edifying treatments discussed below each have their own Period row in the config file -- changes in period definition row result in changes in the experiment that period.

  1. Double-click on Test.JAR
  2. Select n as the Number of Subjects.
  3. Leave "Open GL" checked (if your computer, for some reason, can't use Open GL and crashes, please kindly upgrade your computer)
  4. Click the "Start" button
  5. You should see the one Control window & n Client windows pop up on your computer.
  6. After these windows have opened, click on the Control window
  7. Note that the n Clients have connected as client_1 test, client_2 test, etc in the upper left-hand-corner of the Control window.
  8. Click on "Load Period Config" in the bottom of the Control window.
  9. Select the hawk-dove.csv file
  10. Each Treatment below is a "Period" in the experiment you've just loaded.

System Requirements - Although the test experiment should be able to run on most computers and laptops, you may want to check the System Requirements


Treatments & Config File

Period One - Continuous Time

The table below outlines the header and first "period definition" row of the hawk-dove.csv config file we've loaded.

period paid length subperiods matchType percentChangePerSecond numGroups payoffFunction name min max Aa Ab Ba Bb mixed selector matrixDisplay showHeatmapLegend
1 TRUE 60 0 pair 1 1 matrix2x2 hd 0 15 0 15 3 9 TRUE heatmap2d HeatmapBoth TRUE
  • In continuous time, any change in player’s strategy results in an instantaneous change in player’s payoffs (with an approximately fifty-millisecond response time). Players observe the history of actions and payoffs unfold before them graphically. At the end of the 60-second period, players earn the integral of the flow payoffs shown in their history (refer to screenshot)
  • period The numbers of the first column displays the period of the game.
  • paid We have set paid=TRUE, meaning each player's actions in this round will be added to their final payoff calculations. If we wanted to have a practice round or two -- a period in which subject got a chance to risklessly play before the experiment starts -- one would set "paid" to "False".
  • length refers to the number of seconds in the period which in this period is 60.
  • subperiods sets the option for continuous or discrete time. For the continuous time experiment, set subperiods to 0. Note that ConG continuous time experiments are not strictly/technically in continuous time, they break each second into greater-than ten subperiods.


Period Two - Discrete Time - Six-Shot Game

The table below outlines the header and second "period definition" row of the hawk-dove.csv config file we've loaded.

period paid length subperiods matchType percentChangePerSecond numGroups payoffFunction name min max Aa Ab Ba Bb mixed selector matrixDisplay showHeatmapLegend
2 TRUE 60 6 pair NaN 1 matrix2x2 hd 0 15 0 15 3 9 TRUE heatmap2d HeatmapBoth TRUE
  • During the 60-second strategy selection period players may freely switch between strategy options, however payoffs will only be calculated based on the strategy selected at the end of the 60-second period. Subjects do not observe the strategy choice of their counterpart until the period’s end. They earn the lump sum payoffs for the action profile chosen at that point.
  • period We are in period two now.
  • length The length remains at 60 seconds.
  • confusion We have set the number of subperiods to 6. This means that CONG will not be running in continuous time. Instead the period will be divided into 6 subperiods. There will be six subperiods, each lasting 10 seconds (a one-shot game).
  • percentChangePerSecond This is set to NaN in discrete time, since the strategy of each player is unknown to the other in discrete time.


Groups - matchType

  • One of the treatments that can be applied to the Hawk Dove game is matchType which governs what each player's (or population's) strategy is played against. There are two matchTypes, self and pair, for one and two population games. For conceptual more details or work through our examples below.

Figure -


Period Three - Paired Groups

The table below outlines the header and third "period definition" row of the hawk-dove.csv config file we've loaded.

period paid length subperiods matchType percentChangePerSecond numGroups payoffFunction name min max Aa Ab Ba Bb mixed selector matrixDisplay showHeatmapLegend
3 TRUE 60 0 pair NaN 2 matrix2x2 hd 0 15 0 15 3 9 TRUE heatmap2d HeatmapSingle TRUE
  • numGroup This field denotes the number of groups. With "2" selected we've set up a two-population game.
  • matchType The options in this field are "self" or "pair". The default is "pair". We have set this field to pair This makes it so that subjects will compete against a group that is not their own.
  • There is no Figure included because grouping settings don't change subjects' visual experience.

Period Four - Self-Matched Groups

The table below outlines the header and forth "period definition" row of the hawk-dove.csv config file we've loaded.

period paid length subperiods matchType percentChangePerSecond numGroups payoffFunction name min max Aa Ab Ba Bb mixed selector matrixDisplay showHeatmapLegend
4 TRUE 60 0 self NaN 1 matrix2x2 hd 0 15 0 15 3 9 TRUE heatmap2d HeatmapSingle TRUE
  • numGroup This field denotes the number of groups. With this period we've selected 1', a one-population game.
  • matchType For this treatment we have set the field to self This makes it so that a subject will compete against the group that they are already in.
  • There is no Figure included because grouping settings don't change subjects' visual experience.

Heat Maps

  • The Hawk Dove game can utilize heatmap mixed-strategy selectors. The following sections discuss some of the options with heatmaps that can be applied for different treatments.

Heatmap legend

  • Note that showHeatmapLegend is not the whole heatmap: hen this field is set to TRUE, a color region near the player's payoff chart is revealed, informing the player of how different colors on the heatmap are valued in terms of their flow-payoffs.
  • If there is no field designating showHeatmapLegend in the .csv file then it will default to "FALSE", no legend.
  • Since we have left this option on for all treatments we are not considering this a separate treatment.

Period Five - Heatmap Single

The table below outlines the header and fifth "period definition" row of the hawk-dove.csv config file we've loaded.

period paid length subperiods matchType percentChangePerSecond numGroups payoffFunction name min max Aa Ab Ba Bb mixed selector matrixDisplay showHeatmapLegend
5 TRUE 60 0 pair 0.1 1 matrix2x2 hd 0 15 0 15 3 9 TRUE heatmap2d HeatmapSingle TRUE
  • selector - For this treatment we have set the selector to heatmap2d
  • matrixDisplay - HeatmapSingle
  • showHeatmapLegend - TRUE


Period Six - Heatmap Both

The table below outlines the header and sixth "period definition" row of the hawk-dove.csv config file we've loaded.

period paid length subperiods matchType percentChangePerSecond numGroups payoffFunction name min max AaAb Ba Bb mixed selector matrixDisplay showHeatmapLegend
6 TRUE 60 0 pair 0.1 1 matrix2x2 hd 0 15 0 15 3 9 TRUE heatmap2d HeatmapBoth TRUE
  • selector - heatmap2d
  • matrixDisplay - HeatmapBoth
  • showHeatmapLegend - TRUE


Period Seven - Heatmap Corners

The table below outlines the header and seventh "period definition" row of the hawk-dove.csv config file we've loaded.

period paid length subperiods matchType percentChangePerSecond numGroups payoffFunction name min max AaAb Ba Bb mixed selector matrixDisplay showHeatmapLegend
7 TRUE 60 0 pair 0.1 1 matrix2x2 hd 0 15 0 15 3 9 TRUE heatmap2d corners TRUE
  • selector - heatmap2d
  • matrixDisplay - corners
  • showHeatmapLegend - TRUE


Config File Fields & Description

  • period - [1-n] Integer field which designates the period number.
  • paid - [TRUE - FALSE] Boolean field which determines whether the point from the round are counted towards the player's payoff.
  • length - [1-n] Integer field which determines the length(in seconds) of the entire period.
  • subperiods - [0-n] Integer field. When set to zero the game will be in continuous time. When set to greater than 0 the total period length in seconds will be divided by the number of subperiods. So for length=300 and subperiods=5 there will be five subperiods of 300/5 (one minute) length.
  • matchType - This field can be either "self" or "pair". When the field is set to "self" the players play strategies against the average of their own group. When set to "pair" players play their strategies against the average of another paired group. See Matching above for more details.
  • percentChangePerSecond - [NaN] or [0 - 1] When the period is in discrete time the percentChangePerSecond field is not applicable. When the period is in discrete time this determines the rate at which players can change their strategy. For example, when this field is set to .1 the players can change their strategy via the selector by a maximum of 10% per second.
  • numGroups - sets number of groups in the game. Must be at least 1 group.
  • payoffFunction - This field requires specific entries that designate the payoff function of the game. For the Hawk Dove game we use the payoff function "matrix2x2". The following fields set parameters for the "matrix2x2" function.
  • name - set to "hd"
  • min - Integer field that sets the minimum payoff for the players.
  • max - Integer field that sets that maximum payoff for the players.
  • Aa - Integer field that sets the payoff for each player when both select strategy A.
  • Ab - Integer field that sets the payoff for when player 1 selects strategy A and player 2 selects strategy B.
  • Ba - Integer field that sets the payoff for when player 1 selects strategy B and player 2 selects strategy A.
  • Bb - Integer field that sets the payoff for when both players select strategy B.
  • mixed - [TRUE - FALSE] Boolean field that determines whether the players can choose mixed strategies i.e. heatmaps.
  • selector - This field requires the specific entry that determines the selectors that players can use. Man of the options for this field are visible in the above treatments. Some examples are "heatmap2d", "pure", "bubble".
  • matrixDisplay - some of the options are HeatMapSingle, HeatMapBoth (you can or can't see the other player's heatmap), and corners.
  • showHeatmapLegend - this adds a legend next to the payoff recorder, connecting the color in the heatmap to the precise payoff value. (always leave this on)

Attachments