An open reproducible framework for the study of the iterated prisoner's dilemma
Vincent Knight, Owen Campbell, Marc Harper, Karol Langner, James, Campbell, Thomas Campbell, Alex Carney, Martin Chorley, Cameron, Davidson-Pilon, Kristian Glass, Nikoleta Glynatsi, Tom\'a\v{s} Ehrlich,, Martin Jones, Georgios Koutsovoulos, Holly Tibble, M\"uller Jochen, Geraint

TL;DR
The paper introduces the Axelrod library, an open source Python package that facilitates reproducible research, strategy design, and simulations for the Iterated Prisoner's Dilemma, addressing documentation gaps in this research area.
Contribution
It provides a comprehensive, documented platform with a large collection of strategies and tools for conducting tournaments and ecological simulations in the Iterated Prisoner's Dilemma.
Findings
A growing collection of 139 strategies included.
Facilitates reproducible game theoretic research.
Supports design of new strategies and ecological simulations.
Abstract
The Axelrod library is an open source Python package that allows for reproducible game theoretic research into the Iterated Prisoner's Dilemma. This area of research began in the 1980s but suffers from a lack of documentation and test code. The goal of the library is to provide such a resource, with facilities for the design of new strategies and interactions between them, as well as conducting tournaments and ecological simulations for populations of strategies. With a growing collection of 139 strategies, the library is a also a platform for an original tournament that, in itself, is of interest to the game theoretic community. This paper describes the Iterated Prisoner's Dilemma, the Axelrod library and its development, and insights gained from some novel research.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
