From UBC Wiki

Iterative Prisoner's Dilemma

Authors: Victoria Wang, Kevin Yap

What is the problem?

The Iterative Prisoner's Dilemma is an expanded version of the classic Prisoner's Dilemma where the game is played multiple times in succession, rather than simply a single time. This opens up the possibility for an agent to deploy various strategies in response to moves that their opponent had previously made.

What is the something extra?

  • Implementing multiple different agents to play the game using different strategies

What did we learn from doing this?

We learned that Haskell is actually a well-suited language for creating these types of games, as the concept of "game states" lends itself nicely to functional programming in general. In trying to implement more complicated AI strategies, we found that it is possible, but quickly grows complicated.