meatballs/DjAxelrod

Incorrect Scores

Closed this issue · 3 comments

The scores appear to be allocated to the wrong players:

Create a tournament with

  • players: Alternator, Cooperator, Defector and TitForTat
  • turns: 10
  • repetitions: 3

The results from djaxelrod are:

{"meta": 
{"definition": {"turns": 10, "repetitions": 3, "noise": 0.0},
"cheating_strategies": ["Darwin", "Geller", "Geller Cooperator", "Geller Defector", "Mind Bender", "Mind Controller", "Mind Reader", "Mind Warper", "Protected Mind Reader"]},
"results": [
{"player": "Defector", "scores": [2.433333333333333, 2.433333333333333, 2.433333333333333]
{"player": "Alternator", "scores": [1.5, 1.5, 1.5]}, 
{"player": "Cooperator", "scores": [2.066666666666667, 2.066666666666667, 2.066666666666667]}, 
{"player": "Tit For Tat", "scores": [3.1333333333333333, 3.1333333333333333, 3.1333333333333333]}]}

Create the same tournament within the axelrod library:

players=[axelrod.Alternator(), axelrod.Cooperator(), axelrod.Defector(), axelrod.TitForTat()]
t=axelrod.Tournament(players=players, turns=10, repetitions=3)
t.play()
t.result_set.normalised_scores

which gives the following results:

[[2.433333333333333, 2.433333333333333, 2.433333333333333], 
[1.5, 1.5, 1.5], 
[3.1333333333333333, 3.1333333333333333, 3.1333333333333333],
[2.066666666666667, 2.066666666666667, 2.066666666666667]]

to confirm the order of the results:

t.players

gives:

[Alternator, Cooperator, Defector, Tit For Tat]

So, for example, it's Cooperator that scores [1.5, 1.5, 1.5] not Alternator as DjAxelrod shows.

Could you try the same thing in the branch I created for #18? I changed the output code there. I'm not 100% on whether it's correct though.

Code from #18 gives:

[[u'Defector', [3.1333333333333333, 3.1333333333333333, 3.1333333333333333]], 
[u'Alternator', [2.066666666666667, 2.066666666666667, 2.066666666666667]], 
[u'Tit For Tat', [2.433333333333333, 2.433333333333333, 2.433333333333333]], 
[u'Cooperator', [1.5, 1.5, 1.5]]]

Alternator and TitForTat have their scores swapped

Also, in this case, the order of the named players is incorrect.

I've fixed this in #40