Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 66 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,69 @@
# Paper revisiting Axelrod's second tournament
# Reviving, Reproducing, and Revisiting Axelrod's Second Tournament

## Setting up the environment
This repository contains the code and manuscript source files for the project
***Reviving, Reproducing, and Revisiting Axelrod's Second Tournament***.

- Install https://github.com/Axelrod-Python/TourExec (see instructions there).
- Create the conda environment:
The project reproduces Robert Axelrod’s second Iterated Prisoner’s Dilemma
tournament, originally run in the early 1980s, using the original Fortran
implementations of the submitted strategies. It uses
[**Axelrod-Python**](https://github.com/Axelrod-Python/Axelrod) and
[**TourExec**](https://github.com/Axelrod-Python/TourExec) to run the computer
tournament simulations.

conda env create -f environment.yml
A preprint of this work is available at: https://arxiv.org/abs/2510.15438.


## Requirements

* Install [TourExec](https://github.com/Axelrod-Python/TourExec) (see
installation instructions in that repository).
* You will also need Python.


## Setting up the Environment

To install all necessary Python dependencies, we recommend creating a **conda
environment** using the provided configuration file `src/environment.yml`. From
the root of this repository run:

```bash
conda env create -f src/environment.yml
conda activate axelrod_tournament
```


## Source Code

* The code for generating and reproducing the original tournaments is located in
the `src/` directory.
* It includes:

* **Tournament execution scripts** to reproduce Axelrod’s results.
* **Analysis scripts and Jupyter notebooks** for generating all figures used
in the manuscript.

To rerun the original tournaments, refer to the
[documentation](https://github.com/Axelrod-Python/revisiting-axelrod-second/tree/main/src)
in `src/`.


## Data

Running the simulations will generate the tournament data.

If you prefer **not to rerun** the entire simulation, you can download the
archived data from Zenodo:

1. Download the dataset archive from https://doi.org/10.5281/zenodo.17250038.
2. Unzip it into the `data/` folder.

This will allow you to reproduce the analysis and figures directly.


## Analysis and Figures

All data analysis and manuscript figures were generated using **Python** and
**Jupyter notebooks**, available under `src/`.

If you have downloaded the archived data, you can simply open and run the
notebooks to reproduce all figures without rerunning the full simulations.
Binary file modified assets/Figure1.key
Binary file not shown.
Binary file modified assets/Figure1.pdf
Binary file not shown.
Binary file added assets/Figure_linear_regression_results.key
Binary file not shown.
Binary file added assets/Figure_linear_regression_results.pdf
Binary file not shown.
Binary file modified assets/original_ranks_boxplots.pdf
Binary file not shown.
Binary file modified assets/original_scores_boxplots.pdf
Binary file not shown.
Binary file modified assets/original_tournament_r_squared_versus_number_of_features.pdf
Binary file not shown.
34 changes: 17 additions & 17 deletions assets/original_tournament_rankings.tex
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
\begin{tabular}{llcccc}
\begin{tabular}{llccccr}
\toprule
& \makecell[c]{Author} & \makecell[c]{Average Score} & \makecell[c]{Reproduced Rank} & \makecell[c]{Original Rank} & \makecell[c]{Average\\Cooperation Rate} \\
& \makecell[c]{Author} & \makecell[c]{Average Score} & \makecell[c]{Reproduced Rank} & \makecell[c]{Original Rank} & \makecell[c]{Average\\Cooperation Rate} & \makecell[c]{Win\\proportion} \\
\midrule
k92r & Anatol Rapoport & 2.878 & 1 & 1 & 0.922 \\
k61r & Danny C Champion & 2.791 & 12 & 2 & 0.954 \\
k42r & Otto Borufsen & 2.861 & 2 & 3 & 0.916 \\
k49r & Rob Cave & 2.826 & 4 & 4 & 0.892 \\
k44r & William Adams & 2.826 & 3 & 5 & 0.882 \\
k60r & Jim Graaskamp and Ken Katzen & 2.810 & 9 & 6 & 0.844 \\
k41r & Herb Weiner & 2.811 & 8 & 7 & 0.865 \\
k75r & Paul D Harrington & 2.826 & 5 & 8 & 0.802 \\
k84r & T Nicolaus Tideman and Paula Chieruzz & 2.812 & 7 & 9 & 0.882 \\
k32r & Charles Kluepfel & 2.817 & 6 & 10 & 0.873 \\
k35r & Abraham Getzler & 2.801 & 11 & 11 & 0.888 \\
k68r & Fransois Leyvraz & 2.808 & 10 & 12 & 0.917 \\
k72r & Edward C White Jr & 2.776 & 13 & 13 & 0.924 \\
k46r & Graham J Eatherley & 2.772 & 14 & 14 & 0.948 \\
k83r & Paul E Black & 2.743 & 15 & 15 & 0.935 \\
k92r & Anatol Rapoport & 2.8785 & 1 & 1 & 0.9218 & 0.6306 \\
k61r & Danny C Champion & 2.7907 & 12 & 2 & 0.9542 & 0.0000 \\
k42r & Otto Borufsen & 2.8607 & 2 & 3 & 0.9161 & 0.3149 \\
k49r & Rob Cave & 2.8260 & 4 & 4 & 0.8922 & 0.0000 \\
k44r & William Adams & 2.8260 & 3 & 5 & 0.8819 & 0.0038 \\
k60r & Jim Graaskamp and Ken Katzen & 2.8102 & 9 & 6 & 0.8440 & 0.0102 \\
k41r & Herb Weiner & 2.8107 & 8 & 7 & 0.8650 & 0.0000 \\
k75r & Paul D Harrington & 2.8258 & 5 & 8 & 0.8019 & 0.0224 \\
k84r & T Nicolaus Tideman and Paula Chieruzz & 2.8124 & 7 & 9 & 0.8818 & 0.0000 \\
k32r & Charles Kluepfel & 2.8170 & 6 & 10 & 0.8726 & 0.0080 \\
k35r & Abraham Getzler & 2.8010 & 11 & 11 & 0.8878 & 0.0002 \\
k68r & Fransois Leyvraz & 2.8085 & 10 & 12 & 0.9169 & 0.0000 \\
k72r & Edward C White Jr & 2.7762 & 13 & 13 & 0.9242 & 0.0000 \\
k46r & Graham J Eatherley & 2.7722 & 14 & 14 & 0.9483 & 0.0000 \\
k83r & Paul E Black & 2.7425 & 15 & 15 & 0.9347 & 0.0000 \\
\bottomrule
\end{tabular}
Binary file modified assets/original_tournament_reproducing.pdf
Binary file not shown.
Binary file modified paper/main.pdf
Binary file not shown.
Loading