@@ -18,20 +18,19 @@ Axelrod
18
18
A library with the following principles and goals:
19
19
20
20
1. Enabling the reproduction of previous Iterated Prisoner's Dilemma research
21
- as easily as possible.
21
+ as easily as possible.
22
22
2. Creating the de-facto tool for future Iterated Prisoner's Dilemma
23
- research.
23
+ research.
24
24
3. Providing as simple a means as possible for anyone to define and contribute
25
25
new and original Iterated Prisoner's Dilemma strategies.
26
26
4. Emphasizing readability along with an open and welcoming community that
27
- is accommodating for developers and researchers of a variety of skill levels
27
+ is accommodating for developers and researchers of a variety of skill levels.
28
28
29
29
Currently the library contains well over 100 strategies and can perform a
30
30
variety of tournament types (RoundRobin, Noisy, Spatially-distributed, and
31
31
probabilistically ending) and population dynamics while taking advantage
32
32
of multi-core processors.
33
33
34
-
35
34
**Please contribute via pull request (or just get in touch with us). **
36
35
37
36
For an overview of how to use and contribute to this repository, see the
@@ -69,21 +68,17 @@ Usage
69
68
The full documentation can be found here:
70
69
`axelrod.readthedocs.org/ <http://axelrod.readthedocs.org/ >`__.
71
70
72
- The documentation includes details of how to setup a tournament but here is an
73
- example showing how to create a tournament with all stochastic strategies::
74
-
75
- import axelrod
76
- strategies = [s() for s in axelrod.ordinary_strategies if s().classifier['stochastic']]
77
- tournament = axelrod.Tournament(strategies)
78
- results = tournament.play()
79
-
80
- The :code: `results ` object now contains all the results we could need::
71
+ The documentation includes details of how to setup a tournament but here is a
72
+ brief example showing how to get a simple tournament::
81
73
82
- print(results.ranked_names)
74
+ >>> import axelrod as axl
75
+ >>> axl.seed(0) # Set a seed
76
+ >>> players = [s() for s in axl.demo_strategies] # Create players
77
+ >>> tournament = axl.Tournament(players) # Create a tournament
78
+ >>> results = tournament.play() # Play the tournament
79
+ >>> results.ranked_names
80
+ ['Defector', 'Grudger', 'Tit For Tat', 'Cooperator', 'Random: 0.5']
83
81
84
- gives::
85
-
86
- ['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']
87
82
88
83
There is also a `notebooks repository
89
84
<https://github.com/Axelrod-Python/Axelrod-notebooks> `_ which shows further
@@ -106,10 +101,6 @@ You can find helpful instructions about contributing in the
106
101
documentation:
107
102
http://axelrod.readthedocs.org/en/latest/tutorials/contributing/index.html
108
103
109
- .. image :: https://graphs.waffle.io/Axelrod-Python/Axelrod/throughput.svg
110
- :target: https://waffle.io/Axelrod-Python/Axelrod/metrics
111
- :alt: 'Throughput Graph'
112
-
113
104
Example notebooks
114
105
=================
115
106
0 commit comments