Axelrod icon indicating copy to clipboard operation
Axelrod copied to clipboard

Simplify/move the `ResultSet`

Open drvinceknight opened this issue 2 years ago • 1 comments

In anticipation of 5.0.0 I wonder if the ResultSet is perhaps worth simplifying a lot. Currently it does a huge amount of calculations (some includes a fair bit of complexity to do all the stuff on disc etc...) that are very specific to the IPD.

I think there are 2 possibilities:

  1. Keep the ResultSet and aim to have it generic so as to do the same amount of calculations for any/all games.
  2. Make the generic output of the Tournament.play() be a payoff matrix and include the option to write the interactions. For the case of the IPD this would lead to no loss of functionality as we would "simply" move the current ResultSet calculations to a specific analysis.ipd spot that we could point at the interactions.

I very much prefer option 2 and wonder if that would streamline things so that we could use the Tournament class in the Moran process? (but this is a minor point)

drvinceknight avatar May 11 '23 12:05 drvinceknight

Sounds like a good idea to me. For the generic case we could do something similar to #1353 where the output of a tournament is a fully parseable collection of matches and outcomes -- names of players, match specification including the random seed, etc. Then each game can output some additional computations and plots as desired, with some of those perhaps being generic, such as the score distributions (assuming the Game output is real-valued).

marcharper avatar May 16 '23 01:05 marcharper