Lab 2 Evolutionary Stable Solutions

Due October 13 at 5:00 PM

Either hand to Mike or slide under his door
Updated Oct 6, 2005.

Purpose:

The purposes of this lab are:

What you should learn:

When you complete this lab, you should understand the following:

Description:

You will conduct a a series of experiments that determine which types of strategies are likely to evolve under various selection dynamics and interaction models for a couple of interesting games. 

Background:

In evolutionary games, the two main factors that contribute to what is learned are:
  1. The types of interactions that occur between the agents in a population.
  2. The rules that are applied to determine which strategies within the population are fit and therefore likely to be learned by the population.
Descriptions of these concepts can be found in the lecture notes.  For this lab, we will evaluate
  1. replicator dynamics using random pairings and
  2. imitator dynamics using neighborhood pairings on a lattice (and the N, NE, E, SE, S, SW, W, NW neighborhood definition).

Lab Description:

You will conduct a large series of experiments to evaluate what types of strategies evolve in various games.  You will perform experiments on the following games:
Use cardinal values for the entries in the payoff matrices (e.g., use T=4, R=3, P=2, and S=1).

You will consider two types of selection and interaction dynamics:
Use 900 agents in all of your simulations (this translates to a 30 by 30 lattice).

Use agents that have a single state.  In other words, use agents that remember the previous action of theother agent and then use this action to determine their next action.  Thus, the set of all agents are
Action of other agent on previous round
My action on current round
Agent 1 (Always Cooperate)
Agent 2 (Always Defect)
Agent 3 (TfT)
Agent 4 (NotTfT)
C
C
D
C
D
D
C
D
D
C
Note that this precludes agents like Win Stay Lose Shift, since I can't have actions that depend on both your previous choice and my previous choice.  Assume that Agent 1 and Agent 3 play C on the first round, and that Agent 2 and Agent 4 play D on the first round.

You will consider iterated games for gamma = 0.95 and gamma = 0.99.  For the iterated games, compute V(A|B) prior to running the games.  This allows you to turn the iterated games into payoff matrices.  For example, if agent 1 plays agent 2 in the iterated prisoner's dilemma, then the payoff to agent 1 is S / (1-gamma).

Begin with various mixes of agents.

What to Turn in:

You will be conducting a very large experiment. There are two types of selection/interaction dynamics, three games, two types of game durations (gamma=0.99 and gamma = 0.95), and four types of agents.  This means that you will be doing 2x3x2x4 experiments, and you will do these multiple times to account for variabilities in the initial populations.  Turn in a summary of your data, and discuss the more interesting results.  I suggest comparing and contrasting the effects of selection/interaction dynamics over the various games.  I also suggest writing your code so that you can do hundreds of experiments with different initial populations and then show what evolves as a function of the balance between agents in the initial populations.

Additionally, do something that you think will be cool, like add some mutations, add mixed strategies, or try a different interaction dynamic.