@@ -25,17 +25,18 @@ def write(self, row):
25
25
26
26
## Objective functions for optimization
27
27
28
- def prepare_objective (name = "score" , turns = 200 , noise = 0. , repetitions = None , N = None ):
28
+ def prepare_objective (name = "score" , turns = 200 , noise = 0. , repetitions = None ,
29
+ nmoran = None ):
29
30
name = name .lower ()
30
31
if name not in ["score" , "score_diff" , "moran" ]:
31
32
raise ValueError ("Score must be one of score, score_diff, or moran" )
32
33
if name == "moran" :
33
34
if repetitions is None :
34
35
repetitions = 1000
35
- if N is None :
36
- N = 4
36
+ if nmoran is None :
37
+ nmoran = 4
37
38
objective = partial (objective_moran_win , turns = turns , noise = noise ,
38
- repetitions = repetitions , N = N )
39
+ repetitions = repetitions , N = nmoran )
39
40
elif name == "score" :
40
41
if repetitions is None :
41
42
repetitions = 20
@@ -48,6 +49,7 @@ def prepare_objective(name="score", turns=200, noise=0., repetitions=None, N=Non
48
49
repetitions = repetitions )
49
50
return objective
50
51
52
+
51
53
def objective_score (me , other , turns , noise , repetitions ):
52
54
"""Objective function to maximize total score over matches."""
53
55
match = axl .Match ((me , other ), turns = turns , noise = noise )
@@ -60,6 +62,7 @@ def objective_score(me, other, turns, noise, repetitions):
60
62
scores_for_this_opponent .append (match .final_score_per_turn ()[0 ])
61
63
return scores_for_this_opponent
62
64
65
+
63
66
def objective_score_diff (me , other , turns , noise , repetitions ):
64
67
"""Objective function to maximize total score difference over matches."""
65
68
match = axl .Match ((me , other ), turns = turns , noise = noise )
@@ -74,6 +77,7 @@ def objective_score_diff(me, other, turns, noise, repetitions):
74
77
scores_for_this_opponent .append (score_diff )
75
78
return scores_for_this_opponent
76
79
80
+
77
81
def objective_moran_win (me , other , turns , noise , repetitions , N = 5 ):
78
82
"""Objective function to maximize Moran fixations over N=4 matches"""
79
83
assert (noise == 0 )
0 commit comments