Ejemplo n.º 1
0
 def test_default_if_four_vector_not_set(self):
     player = MemoryOnePlayer()
     self.assertEqual(player._four_vector, {
         (C, C): 1.0,
         (C, D): 0.0,
         (D, C): 0.0,
         (D, D): 1.0
     })
Ejemplo n.º 2
0
def results_df_for_epsilon(vector, epsilon):
    """Run ashlock tournament for all 16 vectors and build the results df
    """
    deviated_vectors = create_deviated_vectors(vector, epsilon)
    strats = [MemoryOnePlayer(v) for v in deviated_vectors]
    ashlock_tourn = build_ashlock_tournament(strats)
    ash_tourn_df = create_ashlock_tournament_df(ashlock_tourn, None)
    return ash_tourn_df
Ejemplo n.º 3
0
    def test_exception_if_four_vector_not_set(self):
        with warnings.catch_warnings(record=True) as warning:
            warnings.simplefilter("always")
            player = MemoryOnePlayer()

            self.assertEqual(len(warning), 1)
            self.assertEqual(warning[-1].category, UserWarning)
            self.assertEqual(
                str(warning[-1].message),
                "Memory one player is set to default (1, 0, 0, 1).")
Ejemplo n.º 4
0
def comparison_df_for_vector(vector, epsilons, path=None):
    """for range of epsilons, create big dataframe that compares
    with original vector
    """
    vector_ash_tourn = build_ashlock_tournament([MemoryOnePlayer(vector)])
    vector_ash_tourn_df = create_ashlock_tournament_df(vector_ash_tourn)

    epsilons_dfs = {e: results_df_for_epsilon(vector, e) for e in epsilons}
    comparison_dfs = [
        combine_dfs(vector_ash_tourn_df, epsilons_dfs[e], e) for e in epsilons
    ]
    concat_df = pd.concat(comparison_dfs)

    if path is None:
        return concat_df
    else:
        with open(path, 'a') as f:
            concat_df.to_csv(f, header=f.tell() == 0, index=False)
Ejemplo n.º 5
0
 def test_exception_if_probability_vector_outside_valid_values(self):
     player = MemoryOnePlayer()
     x = 2.0
     with self.assertRaises(ValueError):
         player.set_four_vector([0.1, x, 0.5, 0.1])
Ejemplo n.º 6
0
 def test_exception_if_probability_vector_outside_valid_values(self):
     player = MemoryOnePlayer()
     x = 2.0
     with self.assertRaises(ValueError):
         player.set_four_vector([0.1, x, 0.5, 0.1])
Ejemplo n.º 7
0
 def test_exception_if_four_vector_not_set(self):
     player = MemoryOnePlayer()
     opponent = axelrod.Player()
     with self.assertRaises(ValueError):
         player.strategy(opponent)
Ejemplo n.º 8
0
 def test_exception_if_four_vector_not_set(self):
     player = MemoryOnePlayer()
     opponent = axelrod.Player()
     with self.assertRaises(ValueError):
         player.strategy(opponent)
Ejemplo n.º 9
0
 def test_exception(self):
     player = MemoryOnePlayer()
     opponent = axelrod.Player()
     with self.assertRaises(ValueError):
         player.strategy(opponent)