Skip to main content

Reproduce the Axelrod iterated prisoners dilemma tournament

Project description

https://coveralls.io/repos/Axelrod-Python/Axelrod/badge.svg https://img.shields.io/pypi/v/Axelrod.svg https://travis-ci.org/Axelrod-Python/Axelrod.svg?branch=packaging https://zenodo.org/badge/19509/Axelrod-Python/Axelrod.svg

Join the chat at https://gitter.im/Axelrod-Python/Axelrod

Axelrod

A repository with the following goals:

  1. To enable the reproduction of previous Iterated Prisoner’s Dilemma research as easily as possible.

  2. To produce the de-facto tool for any future Iterated Prisoner’s Dilemma research.

  3. To provide as simple a means as possible for anyone to define and contribute new and original Iterated Prisoner’s Dilemma strategies.

Please contribute strategies via pull request (or just get in touch with us).

For an overview of how to use and contribute to this repository, see the documentation: http://axelrod.readthedocs.org/

If you do use this library for your personal research we would love to hear about it: please do add a link at the bottom of this README file (PR’s welcome or again, just let us know) :) If there is something that is missing in this library and that you would like implemented so as to be able to carry out a project please open an issue and let us know!

Installation

The simplest way to install is:

$ pip install axelrod

Otherwise:

$ git clone https://github.com/Axelrod-Python/Axelrod.git
$ cd Axelrod
$ python setup.py install

You might need to install the libraries in requirements.txt:

pip install -r requirements.txt

Note that on Ubuntu some users have had problems installing matplotlib. This seems to help with that:

sudo apt-get install libfreetype6-dev
sudo apt-get install libpng12-0-dev

Usage

The full documentation can be found here: axelrod.readthedocs.org/.

The documentation includes details of how to setup a tournament but here is an example showing how to create a tournament with all stochastic strategies:

import axelrod
strategies = [s() for s in axelrod.ordinary_strategies if s().classifier['stochastic']]
tournament = axelrod.Tournament(strategies)
results = tournament.play()

The results object now contains all the results we could need:

print(results.ranked_names)

gives:

['Meta Hunter', 'Inverse', 'Forgetful Fool Me Once', 'GTFT: 0.33', 'Champion', 'ZD-GTFT-2', 'Eatherley', 'Math Constant Hunter', 'Random Hunter', 'Soft Joss: 0.9', 'Meta Majority', 'Nice Average Copier', 'Feld', 'Meta Minority', 'Grofman', 'Stochastic WSLS', 'ZD-Extort-2', 'Tullock', 'Joss: 0.9', 'Arrogant QLearner', 'Average Copier', 'Cautious QLearner', 'Hesitant QLearner', 'Risky QLearner', 'Random: 0.5', 'Meta Winner']

Results

A tournament with the full set of strategies from the library can be found at https://github.com/Axelrod-Python/tournament. These results can be easily viewed at http://axelrod-tournament.readthedocs.org.

Contributing

All contributions are welcome, with a particular emphasis on contributing further strategies.

You can find helpful instructions about contributing in the documentation: http://axelrod.readthedocs.org/en/latest/tutorials/contributing/index.html

https://graphs.waffle.io/Axelrod-Python/Axelrod/throughput.svg

Projects that use this library

If you happen to use this library for anything from a blog post to a research paper please list it here:

Contributors

The library has had many awesome contributions from many great contributors. The Core developers of the project are:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Axelrod-0.0.26.tar.gz (77.2 kB view details)

Uploaded Source

File details

Details for the file Axelrod-0.0.26.tar.gz.

File metadata

  • Download URL: Axelrod-0.0.26.tar.gz
  • Upload date:
  • Size: 77.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for Axelrod-0.0.26.tar.gz
Algorithm Hash digest
SHA256 f3aff77f61d9eb1a4ffadc0da9609e2ed8efbbae9259f305db5b7210a7a35cf3
MD5 4591767c2450a92bc8fc3d5c5d44dd98
BLAKE2b-256 5922c010b8ca10e608c235c474ee690610b8242c3899073856d2d48dddd68113

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page