A new strategy, internal improvement relevant for pickling, better testing and minor fixes.
- Gladstein, a strategy by that named author from Axelrod's second tournament has been added Axelrod-Python#1113 Axelrod-Python#1110
- Internal improvement for pickling of all strategy classes Axelrod-Python#1092
- Better testing of the reset method Axelrod-Python#1098
- Minor tweak to a type hint Axelrod-Python#1108
- Minor fix to a strategy to match description Axelrod-Python#1111
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v3.4.0...v3.3.0
4 new strategies and ability to pass game information at the tournament level.
- 3 new zero determinant strategies Axelrod-Python#1097
- A memory 2 zero determinant strategy Axelrod-Python#1099
- Add ability for tournament to set known match attributes Axelrod-Python#1096
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v3.2.1...v3.3.0
Documentation fixes.
- Various minor fixes/updates to documentation Axelrod-Python#1088 Axelrod-Python#1089 Axelrod-Python#1090
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v3.2.0...v3.2.1
Minor internal fixes and a new strategy
- New NTitForMTats strategy Axelrod-Python#1084
- Pip installing no longer installs hypothesis and tests Axelrod-Python#1086
- Remove some code that checked if matplotlib was installed Axelrod-Python#1087
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v3.1.2...v3.2.0
Minor documentation fixes
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v3.1.1...v3.1.2
Improvements to documentation and README.
- Re write of the README Axelrod-Python#1072
- Fix typos/errors in docs Axelrod-Python#1075 Axelrod-Python#1077
- Big improvement to past tournament documentation reference Axelrod-Python#1081 Axelrod-Python#1080 Axelrod-Python#1078
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v3.1.0...v3.1.1
New class for actions, Internal improvements, a new strategy class, reclassification of grudger.
- Actions are now an enum class: Axelrod-Python#1052 Axelrod-Python#1053 Axelrod-Python#1054
- Add explanation of py version to README: Axelrod-Python#1056
- Documentation typo fixes: Axelrod-Python#1057
- DBS strategy classified as long run time: Axelrod-Python#1058
- Correct classification for Grudger: Axelrod-Python#1066
- Add another source and name for ALLCorALLD: Axelrod-Python#1067
- Update init parameter for lookerup: Axelrod-Python#1068
- Add a reactive strategy: Axelrod-Python#1070
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v3.0.0...v3.1.0
A single class for tournaments and Moran processes, sources for all strategies included in docstrings and internal refactoring,
- The numerous tournament types (prob end, spatial etc) are all now created from
the
Tournament
class.: Axelrod-Python#1042 - The graphical moran processes are now created using the
MoranProcess
class: Axelrod-Python#1043 - Sources for all strategies now included in docstrings: Axelrod-Python#1041
- Remove some unneeded tests: Axelrod-Python#1039
- Further refactoring: Axelrod-Python#1044 Axelrod-Python#1040 Axelrod-Python#1037
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.13.0...v3.0.0
New strategies, refactor of strategy tests and minor documentation fixes.
- New strategy Dynamic Two Tits for Tat: Axelrod-Python#1030
- New strategy Eugine Nier Axelrod-Python#1016
- New strategies: trained FSMs, TF1, TF2, TF3 Axelrod-Python#1036
- Small documentation fix: Axelrod-Python#1022
- Refactor of strategy tests: Axelrod-Python#1016 Axelrod-Python#1021 Axelrod-Python#1022 Axelrod-Python#1023 Axelrod-Python#1024 Axelrod-Python#1028 Axelrod-Python#1029 Axelrod-Python#1030 Axelrod-Python#1031 Axelrod-Python#1032 Axelrod-Python#1033 Axelrod-Python#1034 Axelrod-Python#1035
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.12.0...v2.13.0
New strategies and internal refactoring/improvements
- New strategy Alexei: Axelrod-Python#997
- New strategy Stein And Rapaport: Axelrod-Python#1012
- Documentation fixes/improvements: Axelrod-Python#1020 Axelrod-Python#1018 Axelrod-Python#1013 Axelrod-Python#1011 Axelrod-Python#1005 Axelrod-Python#1004 Axelrod-Python#1003
- Internal refactoring: Axelrod-Python#1017 Axelrod-Python#1015 Axelrod-Python#1010
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.11.0...v2.12.0
A new strategy, improvements to documentation, player equality and some internal refactoring,
- New strategy DBS: Axelrod-Python#976
- Documentation improvements: Axelrod-Python#995 Axelrod-Python#1003
- Internal refactoring: Axelrod-Python#943 Axelrod-Python#980 Axelrod-Python#981 Axelrod-Python#982 Axelrod-Python#983 Axelrod-Python#993 Axelrod-Python#996
- Add a development testing tool: Axelrod-Python#980
- Implement an equality method on players: Axelrod-Python#975
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.10.0...v2.11.0
Bug fix in strategy transformers, new strategy, internal refactor of strategies, fix bibtex in citation file.
- Fix a bug: ensure strategy transformers also transform classification Axelrod-Python#972
- Add DoubleResurrection strategy Axelrod-Python#965
- Refactor of LookerUp and Gambler Axelrod-Python#966
- Add regression test for FSM players Axelrod-Python#967
- Bibtex fix in CITATION.rst Axelrod-Python#968
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.09.0...v2.10.0
Approximate Moran process, test refactor, tweak to the Human play repr, documentation and an internal improvement to some cheating strategies.
- Small fix to the repr for the Human strategy: Axelrod-Python#959
- Speedup to Geller, Darwin and MindReader Axelrod-Python#950
- Add documentation details for running tests Axelrod-Python#954
- Add documentation for commit message guidelines: Axelrod-Python#963
- Fragment the Moran process documentation Axelrod-Python#962
- Add an approximate Moran process Axelrod-Python#955
- Test refactor: Axelrod-Python#964
- Refactor of the finite state machines: Axelrod-Python#956
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.8.0...v2.9.0
Source code cleanup, test refactor, new strategies and improved __repr__
of
strategies
- Improved/refactored source code: Axelrod-Python#917 Axelrod-Python#952
- Internal improvement: remove the
init_args
decorator as superseded by thekward_args
: Axelrod-Python#918 - Strategy
__repr__
now automatically includes all parameters of a strategy: Axelrod-Python#953 Axelrod-Python#922 - Type hints: Axelrod-Python#883 Axelrod-Python#935 Axelrod-Python#949 Axelrod-Python#951
- Refactor of tests: Axelrod-Python#924 Axelrod-Python#927 Axelrod-Python#928 Axelrod-Python#933 Axelrod-Python#934 Axelrod-Python#937
- New strategy:
SlowTitForTwoTats2
Axelrod-Python#926 - New strategy:
GeneralSoftGrudger
Axelrod-Python#936
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.7.0...v2.8.0
New strategies, increased test coverage, refactor of some tests, documentation and minor bug fixes.
- New strategy: VeryBad Axelrod-Python#869
- New strategy: Resurrection Axelrod-Python#865
- Documentation of docstring requirements for contributions Axelrod-Python#872
- Refactor tests: Axelrod-Python#875 Axelrod-Python#907 Axelrod-Python#908 Axelrod-Python#909 Axelrod-Python#911 Axelrod-Python#914
- Improved coverage: Axelrod-Python#899 Axelrod-Python#900 Axelrod-Python#901 Axelrod-Python#902 Axelrod-Python#904 Axelrod-Python#905 Axelrod-Python#910
- Bug in plot: Axelrod-Python#897
- Bug fix in deterministic cache: Axelrod-Python#882
- Bug in average copier: Axelrod-Python#912
- Minor function rename: Axelrod-Python#906
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.6.0...v2.7.0
New strategy, state to action analysis and internal improvements
- A number of type hints added to the library Axelrod-Python#860 Axelrod-Python#863 Axelrod-Python#864
- New strategy: SelfSteem Axelrod-Python#866
- Add state to action analysis Axelrod-Python#870
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.5.0...v2.6.0
Internal improvements, type hints, documentation and a new strategy
- New strategy: ShortMem Axelrod-Python#857
- A number of type hints added to the library Axelrod-Python#828 Axelrod-Python#831 Axelrod-Python#832 Axelrod-Python#833 Axelrod-Python#834 Axelrod-Python#835 Axelrod-Python#836 Axelrod-Python#840 Axelrod-Python#846 Axelrod-Python#847 Axelrod-Python#849 Axelrod-Python#850 Axelrod-Python#851 Axelrod-Python#853 Axelrod-Python#854 Axelrod-Python#856 Axelrod-Python#858 Axelrod-Python#824 Axelrod-Python#821 Axelrod-Python#815 Axelrod-Python#814
- internal improvement to how players are cloned Axelrod-Python#817
- Refactor/removal of dynamic classes Axelrod-Python#852
- Run windows CI for py3.6 Axelrod-Python#844
- Run mypi on travis Axelrod-Python#843 Axelrod-Python#837
- Small update to the readme Axelrod-Python#829
- Docstring fix for random Axelrod-Python#826
- Improve efficiency of neural network strategy Axelrod-Python#819
- Improve efficiency of cycle detection Axelrod-Python#809
- Refactor of a number of tests and test documentation Axelrod-Python#820
- Large refactor thanks to dropping of python 2 Axelrod-Python#818
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.4.0...v2.5.0
New machine learning strategies and moran processes on graphs.
- Moran processes on graphs Axelrod-Python#799
- Machine learning strategies Axelrod-Python#803
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.3.0...v2.4.0
Support for py3.6, new strategies, more tournament result information, and internal improvements.
- Helpful list of short run time strategies Axelrod-Python#792
- Nice Meta strategy Axelrod-Python#794
- New strategies: Mem2, Pun1, Collective Strategy Axelrod-Python#795
- New strategies: Mem2, Pun1, Collective Strategy Axelrod-Python#795
- Python 3.6 supported Axelrod-Python#800
- Keep track of initial play rate in results Axelrod-Python#797
- Fix depreciation warning Axelrod-Python#793
- Moran processes are always stochastic Axelrod-Python#796
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.2.0...v2.3.0
Minor update: ability to pass axes object to plots and internal documentation build fix.
- Pass axis object to plots Axelrod-Python#791
- Build docs with py3 Axelrod-Python#788
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v2.1.0...v2.2.0
Dropping support for python 2, bug fixes, minor tidy of code (thanks to dropping python 2 support!) and progress bars for fingerprinting.
- Dropping support for python 2 Axelrod-Python#774
- Fix bug in cache Axelrod-Python#782
- Fix bug in stochastic classification of Random player Axelrod-Python#783
- Fix docstrings in fingerprint Axelrod-Python#784
- Use python 3 function caching Axelrod-Python#775
- More progress bars for fingerprinting Axelrod-Python#778
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.19.0...v2.0.0
New strategy using a trained neural network and documentation.
- Implement the EvolvedANN Axelrod-Python#773
- More strategy documentation Axelrod-Python#772
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.18.1...v1.19.0
There are no changes between 1.18.1 and 1.18.0. This release is due to an error during the uploading to pypi.
There are no changes between 1.18.0 and 1.17.1. This release is due to an error during the uploading to pypi.
Minor bug fix and a title option for fingerprints and a small internal improvement.
- Correct the range for the fingerprint Axelrod-Python#766
- Include ability to have a title for fingerprint plot Axelrod-Python#769
- Calculate score per turn for Moran process using internal method. Axelrod-Python#764
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.17.0...v1.17.1
Ahslock fingerprinting.
- Add a class for fingerprinting of strategies according to a paper by Ashlock et al. Axelrod-Python#759
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.16.0...v1.17.0
Minor internal change, new strategy and new strategy transformers
- Random_choice method does not sample if not necessary Axelrod-Python#761
- New strategy: Meta Winner Ensemble Axelrod-Python#757
- New strategy transformers: Dual transformer and Joss-Ann transformer Axelrod-Python#758
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.15.0...v1.16.0
Mutation in Moran process, players track state pairs, save all plots method, new strategies and PEP8.
- Mutation in Moran processes: Axelrod-Python#754
- Save all plots to file method: Axelrod-Python#753
- Players track state pairs: Axelrod-Python#752
- New strategies: - StochasticCooperator (re introduced): Axelrod-Python#755 - SpitefulTitForTat Axelrod-Python#749
- PEP8: Axelrod-Python#750
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.14.0...v1.15.0
Two new strategies.
- Adding Negative strategy Axelrod-Python#748
- Adding Doubler strategy Axelrod-Python#747
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.13.0...v1.14.0
New strategy, state distribution and documentation
- Adding Prober4 strategy Axelrod-Python#743
- Adding state distribution to results set Axelrod-Python#742
- More references for strategies Axelrod-Python#745
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.12.0...v1.13.0
Human interactive player, new strategy, under the hood improvements and documentation.
- You can play against an instance of
axelrod.Human
Axelrod-Python#732 - Improved efficiency of result set from memory Axelrod-Python#737
- Documentation improvements Axelrod-Python#741 Axelrod-Python#736 Axelrod-Python#735 Axelrod-Python#727
- New strategy CyclerCCCDCD: Axelrod-Python#379
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.11.0...v1.12.0
Human interactive player, new strategy, under the hood improvements and documentation.
- You can play against an instance of
axelrod.Human
Axelrod-Python#732 - Improved efficiency of result set from memory Axelrod-Python#737
- Documentation improvements Axelrod-Python#741 Axelrod-Python#736 Axelrod-Python#735 Axelrod-Python#727
- New strategy CyclerCCCDCD: Axelrod-Python#379
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.11.0...v1.12.0
State distribution functions, new strategies and minor test fix.
- Matches have a method to give state distribution: Axelrod-Python#717
- Two new strategies: Worse and Worse and Knowledgeable Worse and Worse. Axelrod-Python#724
- Minor fix of a test that would sometimes fail due to floating point error. Axelrod-Python#725
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.10.0...v1.11.0
Windows support! Summarise method for results, new strategies, and code of conduct as well as minor fixes.
- Various fixes to windows bugs (thanks to the PyConUK sprint!): Axelrod-Python#711 Axelrod-Python#714 Axelrod-Python#721
- The result set has a summary: Axelrod-Python#707
- Three new strategies (Gradual killer, easy go, Grudger alternator): Axelrod-Python#715
- Code of conduct: Axelrod-Python#705
- Fix of some tests: Axelrod-Python#716
- Fix of link in docs: Axelrod-Python#722
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.9.0...v1.10.0
Filtering of strategy classes with a filterset dictionary.
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.8.0...v1.9.0
New strategies:
- Adaptive TitForTat: Axelrod-Python#697
- Desperate, Hopeless, Willing: Axelrod-Python#686
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.7.0...v1.8.0
Probabilistic ending spatial tournaments, classifier for long run time, style improvements, documentation improvements (including a bibliography) and bug fix.
- Probabilistic ending spatial tournaments: Axelrod-Python#674
- Classifier for strategies that have a long run time: Axelrod-Python#690
- Documentation and style cleanup:Axelrod-Python#675, Axelrod-Python#687, Axelrod-Python#685, Axelrod-Python#682
- Fix the noise in spatial tournaments: Axelrod-Python#679
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.6.0...v1.7.0
Renaming of strategies, big performance improvement for result analysis and bug fixes
- axelrod.strategies is a list of well behaved (non cheating strategies): Axelrod-Python#665
- The results set now has much lower memory footprint and is much faster: Axelrod-Python#672
- Correct calculation for mean score diffs: Axelrod-Python#671
- Error catching for bug with OSX, virtual envs and matplotlib: Axelrod-Python#669
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.5.0...v1.6.0
New tournament type, new strategy, seeding, dev tools, docs + minor/bug fixes
User facing:
- Spatial tournaments: Axelrod-Python#654
- New strategy, slow tit for tat: Axelrod-Python#659
- Seed the library: Axelrod-Python#653
- More uniform strategy transformer behaviour: Axelrod-Python#657
- Results can be calculated with non default game: Axelrod-Python#656
Documentation:
- A community page: Axelrod-Python#656
- An overall results page that replaces the payoff matrix page: Axelrod-Python#660
Development:
- A git hook script for commit messages: Axelrod-Python#648
- Caching of hypothesis database on travis: Axelrod-Python#658
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.4.0...v1.5.0
New strategy.
- contrite TitForTat: Axelrod-Python#639
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.3.0...v1.4.0
New strategy, a bug fix and more explicit copyright notice
- Remorseful Prober: Axelrod-Python#633
Bug fix:
- The finite state machines were not reseting state properly.
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.2.0...v1.3.0
New strategies and some minor improvements
- Naive Prober: Axelrod-Python#629
- Gradual: Axelrod-Python#627
- Soft grudger and reverse pavlov: Axelrod-Python#628
Minor improvements include:
- Progress bar for result set reading of data: Axelrod-Python#618
- Prob end tournament players do not know match length (this was in essence a bug): Axelrod-Python#611
- Doc fixes
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.1.1...v1.2.0
Minor changes, bug fixes.
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.1.0...v1.1.1
User facing:
- The matches can tell the players different match attributes than the ones actually being played (helpful for prob end tournaments where players cannot know the length of the match for example): Axelrod-Python#609
- A progress bar for the result set: Axelrod-Python#603
Internal:
- Reducing some test sizes: Axelrod-Python#601
- PEP8 improvements: Axelrod-Python#607
- Refactor of the match generator (noise is an attribute): Axelrod-Python#608
New strategies and minor changes to the test suite
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.0.1...v1.1.0
This introduces various new strategies to the library:
- Adaptive
- Handshake
- CyclerDC and CyclerDDC (used in the literature)
- 8 Finite State Machine strategies: Fortress3, Fortress4, Predator, Raider, Ripoff, SolutionB1, SolutionB5, Thumper
This version also includes a minor change to the test suite: shortening the size of the tournaments being run in the integration tests.
Here is the PR that incorporated all of the above: Axelrod-Python#591
Bug fix.
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v1.0.0...v1.0.1
During the previous refactor of the Tournament, the ability to create noisy tournaments was lost. An integration test has been written to catch this in the future: Axelrod-Python#596
Internal improvements, progress bar, minor interface change
Here are all the commits for this PR: https://github.com/Axelrod-Python/Axelrod/compare/v0.0.31...v1.0.0
This release is the first major release stating the stability and maturity of the library.
There are some user facing improvements:
- A progress bar: Axelrod-Python#578
- Whether or not a tournament is to be run using parallel processing is no longer a property of the tournament itself but an argument of the play method: Axelrod-Python#582
There were some extensive internal changes:
- The tournament attributes are passed to the players from the matches and not the tournament. This should make further things like changing what the players know about the tournament more straightforward: Axelrod-Python#537
- A huge re write of the actual way the tournament runs. This is the biggest such re write to date. The parallel workers now execute repetitions of matches which are written to disk as and when they complete. This greatly reduces the memory footprint of the tournament. A side effect of the above is a change of how the tournament is written to disk: the format is now much clearer (every row is a match): Axelrod-Python#572
Moran processes, better caching architecture and match generator
Reading and writing tournaments to file, better pickling.
Bug fix with parallel processing.
New strategy, enhanced matches and prob end tournaments.
Minor fixes, rewrite of tournament engine: interactions now available.
Bug fix and two new strategies based on ThueMorse sequence.
Minor documentation changes.
New strategy (FirmButFair) and hypothesis testing
Mixed strategies (decorator and meta player)
Including a DOI.
Match class with sparklines.
Strategies have 'makes_use_of' attribute, improved docs/doctests,
Efficiency improvements, new default colour maps
New strategies
Strategy transforms and bug fixes
Tidying strategies, action classes, flip action method and new docs
Distribution of wins plots, and is_cheater becomes obey_axelrod
Change to use distutils, mirror strategy and readthedocs bug
Adding classifier dictionary and dynamic strategy list.
Further behaviour and more info being passed to players.
Updating Core team
Python 3 support and behaviour metrics
Various improvements including noisy tournaments
Change default behaviour to maximisation
Perhaps removes long description
Removes long description
Corrects formatting of authors
Adding all authors
Minor fix
Minor fix
Initial release