This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

06 - Prisoner's dilemma

In the last homework, you are asked to implement a player/agent to play the famous prisoner's dilemma. Your player (program implementing suitable strategy) is not only going to be tested for proper function but also is going to compete against other students' players. That is, a fraction of the points you can gain is based on how good your solution is compared to your colleagues. Of course, originality and complexity of your ideas count, too!

Note that this homework does not test anything above and beyond the level of the last homework assignment (Fraction class). The primary focus should be on further practising using classes and objects, this time in an intriguing and competitive environment, and on a mild introduction to game theory.

Problem formulation

Write a player (agent) class which will play an iterative non-cooperative two-player game. Your program will be given a payoff matrix beforehand. The number of iterations, however, may or may not be known. The ultimate goal lies in maximizing player's score/profit over all iterations of all matches (or minimizing player's loss).


The submission of this homework is split into two parts:

  1. Simple player which meets all the basic requirements. Your solution is going to be tested in the same manner as all the other homework assignments (BRUTE task: 06_pd).
  2. Clever (non-trivial) player playing a tournament against all other students' players. The main goal is to beat others and gain the highest score (BRUTE task: 06_tour).

The corresponding deadlines are shown in BRUTE.

A few things to note

You do not have to wait till the deadline of the first part (06_pd) to submit your player to the tournament (06_tour).

Tournament scores are not final till the submission deadline. Even though your player can be ranked very high at first, there is no guarantee that other students' players submitted later will perform better. Please, keep track of your rank throughout the whole submission period and feel free to re-submit a better solution if you feel your rank fell too much.

courses/be5b33prg/homework/regular/06_prisoners_dilemma/start.txt · Last modified: 2020/12/12 20:26 by nemymila