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 library with the following principles and goals:

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

  2. Creating the de-facto tool for future Iterated Prisoner’s Dilemma research.

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

  4. Emphasizing readability along with an open and welcoming community that is accommodating for developers and researchers of a variety of skill levels.

Currently the library contains well over 100 strategies and can perform a variety of tournament types (RoundRobin, Noisy, Spatially-distributed, and probabilistically ending) and population dynamics while taking advantage of multi-core processors.

Please contribute 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!

Note: this library will be dropping support for python 2 on the 1st of December 2017.

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

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 a brief example showing how to get a simple tournament:

>>> import axelrod as axl
>>> axl.seed(0)  # Set a seed
>>> players = [s() for s in axl.demo_strategies]  # Create players
>>> tournament = axl.Tournament(players)  # Create a tournament
>>> results = tournament.play()  # Play the tournament
>>> results.ranked_names
['Defector', 'Grudger', 'Tit For Tat', 'Cooperator', 'Random: 0.5']

There is also a notebooks repository which shows further examples of using the library.

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!

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

Example notebooks

https://github.com/Axelrod-Python/Axelrod-notebooks contains a set of example Jupyter notebooks.

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-1.16.0.tar.gz (107.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Axelrod-1.16.0-py2.py3-none-any.whl (98.0 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for Axelrod-1.16.0.tar.gz
Algorithm Hash digest
SHA256 b97ddcc77e1509aba36007da1472dd4e7dc9e44c3f8b41e6ce05e56ea3a9de67
MD5 4f3bf5cc5b4b17f6b2ece6a3d370bc9e
BLAKE2b-256 d3a88c12f2d3e451d3e953828da6e04a812605dd5eb6466a78e06b4a4a7fadbe

See more details on using hashes here.

File details

Details for the file Axelrod-1.16.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for Axelrod-1.16.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5d9922900ac224619c4984892c373f2971dac33119aaa03c651010953ac897b8
MD5 60706a63f16e68f4923e1477cf42bdad
BLAKE2b-256 2f38559eeca5819226f694250a40d33e29ffb52ff4d8b0cd2285a999b3556e9c

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