Axelrod icon indicating copy to clipboard operation
Axelrod copied to clipboard

Potential `5.0.0` release

Open drvinceknight opened this issue 7 years ago • 3 comments

This issue is to capture a body of work that would change the scope of the library to become:

the de facto library for agent-based game theory computation and research

This is mainly motivated by the potential to add the ultimatum game as another type of game to the library but as it would require an api change we are thinking of taking advantage and making other modifications:

Tasks

  • [ ] Generalize various components to allow for additional game types, like the ultimatum game, three player games, etc
  • [ ] Improve history handling / make more flexible to e.g. allow players that access their entire history of play with all players in a tournament
  • [ ] Generalize scoring functions beyond game matrices to be more flexible for other game types and scoring schemes
    • For example the ultimatum game doesn’t have a game matrix
    • Often variations with “strength of selection” parameters are used: f(x) = (1-w) + w * A*x
    • This would allow us to very easily have asymetric games/games that change payoffs over time etc (users could create their own easily)
  • [ ] General cleanup of internals
  • [ ] Change how the tournaments play matches: use dask fully which in turns opens up the possibility of distributed computation. In practice this would mean creating one temporary file for each matchup.
  • [ ] Reorganization of namespace as appropriate
  • [ ] Potential rethink of the plotting? (simplify/remove/extend? )
  • [ ] Documentation for any given piece of work/change we would have to make sure the docs follow and remain high quality.
  • [ ] Remember to tweak the tournament (potentially just renaming the tournament repo to be the IPD tournament repo or something like that).

Approach

  • Create a 5.0 branch and all PRs for this body of work would be to that branch (there would potentially be other PRs at the same time going in to the master branch so there would be regular rebases?).
  • Once that is ready we will PR 5.0 in to master.

Any thoughts/comments welcome.

drvinceknight avatar May 02 '18 15:05 drvinceknight

Other possible changes:

  • [ ] Move to a src/axelrod dir structure.
  • [ ] Move to pytest as a test runner.

drvinceknight avatar May 02 '18 15:05 drvinceknight

I'd like to help with this.

gaffney2010 avatar Dec 26 '18 18:12 gaffney2010

Let's make sure to maintain a "5.0" changelog as we go. Just something simple that explains, for each 5.0 PR, the changes made.

marcharper avatar Feb 11 '19 00:02 marcharper