GithubHelp home page GithubHelp logo

gustavdelius / axelrod Goto Github PK

View Code? Open in Web Editor NEW

This project forked from axelrod-python/axelrod

1.0 2.0 0.0 2.97 MB

A research tool to run Iterated Prisoner's Dilemma tournaments

Home Page: http://axelrod.readthedocs.org/

License: Other

Python 99.99% Shell 0.01%

axelrod's Introduction

image

image

image

image

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!

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:

axelrod's People

Contributors

314pe avatar abarriscale avatar adampohl avatar alcarney avatar bootandy avatar bricef avatar camdavidsonpilon avatar davidcellis avatar doismellburning avatar drvinceknight avatar gdko avatar geraintpalmer avatar inglesp avatar jasyoung315 avatar jomuel avatar karlos78 avatar langner avatar lvisintini avatar marcharper avatar martinjc avatar meatballs avatar mojones avatar nikoleta-v3 avatar pmslavin avatar risicle avatar rnjd avatar theref avatar timothyf1 avatar tricoder42 avatar uglyfruitcake avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.