Back to top

Game Theory - Repeated Prisoner's Dilemma with Unknown Number of Rounds

I went to a "smart athletic people's conference" and we played some games. Of course, the "smart" side of it meant that some of the games should be "heady" games. So, I included a game theory game:

Game 1 - Pricing Game:

You sell beer. You have one competitor who also sells beer. Each day you and your competitor have two choices for your price that day: a high price or a low price. There are four possible outcomes:

  Competitor
  LowHigh
YouLow(1,1)(3,0)
&nbspHigh(0,3)(2,2)

The numbers represent the profit you make that day in the order of (Your Profit, Competitor Profit). So, if you both choose "low" then the result is "1,1" meaning you each get 1. If you choose low and the competitor chooses high then you will get 3 and he will get 0.

Note that the game is symmetrical: "you" and "competitor" can be flipped and the results are the same.

How we will play the game:

Everyone will get two small cards - one that says "high" and one that says "low". We will play until this program tells us to "quit":

import random
limit = 0
loop = 1
while loop == 1:
again = random.randint(0,100)
if again > limit:
print "play again"
limit +=1
loop = input("time for next round? 1 or 0: ")
else:
print "%d rounds, quit now!" % (limit)
loop = 0

I ran this program several times and got results between 3 and 27 rounds. It could theoretically go about 100 rounds, but that's pretty unlikely.

Your score: the sum of the results from each round. For example, if you and your competitor both chose low every time and the game lasted 3 rounds your scores would both be 3.

The game went pretty well. It's basically a repeated prisoner's dilemma with an unknown ending, which simulates the infinite ending, which should result in fairly high levels of collaboration.

The basis for the collaboration is that if you know when the game is going to end (repeated dilemma with a known ending) then you and your competitors will defect in the last round. Which means that you should also defect in the second to last, and so on. But since you don't know when it will end you collaborate because you might be only half-way through the game and defecting would decrease your total returns.

The results were that most of the groups ended in the "high/high" equilibrium which is predictable but one group ended in a mixed strategy (including some cheating and bribing - very interesting). In terms of scoring, this meant that most of the groups were in a tie. People don't like ties.

The feedback I got was that people emotionally wanted the end of the game to be within a more finite range. Giving it a finite range would give them some ability to risk and defect in a round near the end so that they could have a chance to "win" instead of just tie for first place. That could be interesting, but what's funny to me is that it demonstrates what the maths tell us: having a known end round makes people more likely to defect.

Game 2 - Split a Dollar:

In this two player game you take turns making an offer of how to split a dollar worth of quarters. The pair start each round with a dollar worth of quarters. To start the game toss a coin and determine who is player "0" or player "1". Player 0 makes an offer of how to split the quarters, for example player 0 could offer that player 0 gets 3 quarters and player 1 gets 1 quarter. Player 1 then decides to accept or reject the offer. The offer can be any number of quarters from four to zero. In this game we will play an unknown number of rounds based upon the same little program. Additionally, in each round the program will tell us which player gets to make the offer.

import random
limit = 0
loop = 1
while loop == 1:
again = random.randint(0,100)
if again > limit:
print 'player %d proposes' % (again % 2)
limit +=1
loop = input("time for next round? 1 or 0: ")
else:
print
print "%d rounds, quit now!" % (limit)
loop = 0

Your score: the dollar value you have at the end of the game. Partial dollars will be rounded (e.g. 1.5 = 2).

We never played this game. It stopped raining so we went back outside to play:)

People Involved: 
timeline: