def testFixation(self): intensity_of_selection=0.1 population_size =50 game_matrix = games.prisoners_dilemma_equal_gains() fix = numerical.fixation_probability(mutant_index=0, resident_index=1, intensity_of_selection=intensity_of_selection, payoff_function=None, population_size=population_size, game_matrix=game_matrix, number_of_strategies=None, mapping='EXP') self.assertAlmostEqual(fix, 0.0006059821672805591)
def test_hardcoded_fixations(self): game = games.two_times_two(a=3.0, b=0.5, c=0.5, d=2.0) intensity_of_selection = 1.0 population_size = 5 # number_of_samples=100000 number_of_samples = 20000 index_of_the_incumbent = 1 index_of_the_mutant = 0 # numerical_value = numerical.fixation_probability_strategy_a(game, intensity_of_selection, population_size) numerical_value = numerical.fixation_probability( mutant_index=0, resident_index=1, intensity_of_selection=intensity_of_selection, population_size=population_size, game_matrix=game, mapping='EXP') print(numerical_value) mp = MoranProcess(population_size, intensity_of_selection, game_matrix=game, fitness_mapping='exp', mutation_probability=0.1) simulated_value = mp.simulate_fixation_probability( index_of_the_incumbent=index_of_the_incumbent, index_of_the_mutant=index_of_the_mutant, number_of_samples=number_of_samples, seed=None) print(simulated_value) self.assertAlmostEqual(numerical_value, simulated_value, places=2, msg="", delta=None)
def testFixation(self): intensity_of_selection = 0.1 population_size = 50 game_matrix = games.prisoners_dilemma_equal_gains() fix = numerical.fixation_probability( mutant_index=0, resident_index=1, intensity_of_selection=intensity_of_selection, payoff_function=None, population_size=population_size, game_matrix=game_matrix, number_of_strategies=None, mapping='EXP') self.assertAlmostEqual(fix, 0.0006059821672805591)
def test_hardcoded_fixations(self): game= games.two_times_two(a=3.0, b=0.5, c=0.5, d=2.0) intensity_of_selection=1.0 population_size=5 #number_of_samples=100000 number_of_samples=20000 index_of_the_incumbent=1 index_of_the_mutant=0 #numerical_value = numerical.fixation_probability_strategy_a(game, intensity_of_selection, population_size) numerical_value = numerical.fixation_probability(mutant_index=0, resident_index=1, intensity_of_selection=intensity_of_selection, population_size=population_size, game_matrix=game, mapping='EXP') print numerical_value mp = MoranProcess(population_size, intensity_of_selection, game_matrix=game, fitness_mapping='exp', mutation_probability=0.1) simulated_value = mp.simulate_fixation_probability(index_of_the_incumbent=index_of_the_incumbent, index_of_the_mutant=index_of_the_mutant, number_of_samples=number_of_samples, seed=None) print simulated_value self.assertAlmostEqual(numerical_value, simulated_value, places=2, msg="", delta=None)