def test_strategy(self): self.first_play_test(C) P1 = axelrod.MetaWinner(team=[axelrod.Cooperator, axelrod.Defector]) P2 = axelrod.Cooperator() test_responses(self, P1, P2, [C] * 4, [C] * 4, [C] * 4) P1 = axelrod.MetaWinner(team=[axelrod.Cooperator, axelrod.Defector]) P2 = axelrod.Defector() test_responses(self, P1, P2, [C] * 4, [D] * 4, [D] * 4)
def test_strategy(self): P1 = axelrod.NiceMetaWinner(team=[axelrod.Cooperator, axelrod.Defector]) P2 = axelrod.Player() # This meta player will simply choose the strategy with the highest # current score. P1.team[0].score = 0 P1.team[1].score = 1 self.assertEqual(P1.strategy(P2), C) P1.team[0].score = 1 P1.team[1].score = 0 self.assertEqual(P1.strategy(P2), C) # If there is a tie, choose to cooperate if possible. P1.team[0].score = 1 P1.team[1].score = 1 self.assertEqual(P1.strategy(P2), C) opponent = axelrod.Cooperator() player = axelrod.NiceMetaWinner(team=[axelrod.Cooperator, axelrod.Defector]) for _ in range(5): player.play(opponent) self.assertEqual(player.history[-1], C) opponent = axelrod.Defector() player = axelrod.NiceMetaWinner(team=[axelrod.Defector]) for _ in range(20): player.play(opponent) self.assertEqual(player.history[-1], D) opponent = axelrod.Defector() player = axelrod.MetaWinner(team=[axelrod.Cooperator, axelrod.Defector]) for _ in range(20): player.play(opponent) self.assertEqual(player.history[-1], D)
def test_strategy(self): P1 = axl.NiceMetaWinner(team=[axl.Cooperator, axl.Defector]) P2 = axl.Player() # This meta player will simply choose the strategy with the highest # current score. P1.team[0].score = 0 P1.team[1].score = 1 self.assertEqual(P1.strategy(P2), C) P1.team[0].score = 1 P1.team[1].score = 0 self.assertEqual(P1.strategy(P2), C) # If there is a tie, choose to cooperate if possible. P1.team[0].score = 1 P1.team[1].score = 1 self.assertEqual(P1.strategy(P2), C) opponent = axl.Cooperator() player = axl.NiceMetaWinner(team=[axl.Cooperator, axl.Defector]) match = axl.Match((player, opponent), turns=5) match.play() self.assertEqual(player.history[-1], C) opponent = axl.Defector() player = axl.NiceMetaWinner(team=[axl.Defector]) match = axl.Match((player, opponent), turns=20) match.play() self.assertEqual(player.history[-1], D) opponent = axl.Defector() player = axl.MetaWinner(team=[axl.Cooperator, axl.Defector]) match = axl.Match((player, opponent), turns=20) match.play() self.assertEqual(player.history[-1], D)
def test_strategy(self): P1 = axelrod.MetaWinner(team=[axelrod.Cooperator, axelrod.Defector]) P2 = axelrod.Player() # This meta player will simply choose the strategy with the highest current score. P1.team[0].score = 0 P1.team[1].score = 1 self.assertEqual(P1.strategy(P2), C) P1.team[0].score = 1 P1.team[1].score = 0 self.assertEqual(P1.strategy(P2), D) # If there is a tie, choose to cooperate if possible. P1.team[0].score = 1 P1.team[1].score = 1 self.assertEqual(P1.strategy(P2), C)
#plot = axl.Plot(results) #plot.boxplot().savefig('boxplot.png') parameterized_players = [ axl.Random(0.1), axl.Random(0.3), axl.Random(0.7), axl.Random(0.9), axl.GTFT(0.1), axl.GTFT(0.3), axl.GTFT(0.7), axl.GTFT(0.9), axl.MetaWinner(team=[ axl.EvolvedHMM5, axl.EvolvedLookerUp2_2_2, axl.EvolvedFSM16, axl.EvolvedANN5, axl.PSOGambler2_2_2, axl.FoolMeOnce, axl.DoubleCrosser, axl.Gradual ]), ] players = [s() for s in axl.strategies] + parameterized_players """ A script with utility functions to get the tournament results """ from collections import namedtuple from numpy import median def label(prefix, results, turns): """ A label used for the various plots