Iterated Prisoner's Dilemma

Iterated Prisoner's Dilemma Simulation

A Javascript-based simulation of the classical Iterated Prisoner's Dilemma game. Featuring:
  • Popular/Classic IPD Strategies and Custom User Strategies
  • Noisy Environment & Probabilistic Game Length
  • Population Representation by Evolution of Dominant Strategies
Two members of a criminal gang are arrested and imprisoned. Each prisoner is in solitary confinement with no means of communicating with the other. The prosecutors lack sufficient evidence to convict the pair on the principal charge. They hope to get both sentenced to a year in prison on a lesser charge. Simultaneously, the prosecutors offer each prisoner a bargain. Each prisoner is given the opportunity either to: betray the other by testifying that the other committed the crime, or to cooperate with the other by remaining silent. The offer is: If two players play prisoner's dilemma more than once in succession and they remember previous actions of their opponent and change their strategy accordingly, the game is called . The iterated prisoner's dilemma game is fundamental to some theories of human cooperation and trust. On the assumption that the game can model transactions between two people requiring trust, cooperative behaviour in populations may be modeled by a multi-player, iterated, version of the game. Unlike the standard prisoner's dilemma, in the iterated prisoner's dilemma the defection strategy is counter-intuitive and fails badly to predict the behavior of human players. Within standard economic theory, though, this is the only correct answer.



The probability of a move being misexecuted.
Number of turns per game.
The deviation of number of turns per game. Suggested: 10%
The number of repeated tournament.
The default starting number of agents for each chosen strategy.
The number of reward delay turn.
The probability of being reproducted of each agent after a generation.
Cooperates on the first move, then copies the opponent’s last move.
Cooperates on the first move. If a reward or temptation payoff is received in the last round then repeats last choice, otherwise chooses the opposite choice.
Same as TFT, except that it cooperates with a probability when the opponent defects.
Cooperates on the first move, and cooperates except after receiving a sucker payoff.
Cooperates on every move.
Defects on every move.
Makes a random move.
Cooperates on the first move, and defects only when the opponent defects two times.
Defects on the first move, then plays the reverse of the opponent’s last move.
Cooperates, until the opponent defects, and thereafter always defects.
Zero-Determinant extortionate strategy with a factor of 2.
Zero-Determinant Generous Tit For Tat strategy with a factor of 2.
Custom Strategy

Add by Text:


Add by File: