1
1
from ..classifier import Classifiers
2
- from ._filters import passes_filterset
3
2
from ._strategies import *
3
+ from ._filters import passes_filterset
4
+
5
+ # `from ._strategies import *` import the collection `strategies`
6
+ # Now import the Meta strategies. This cannot be done in _strategies
7
+ # because it creates circular dependencies
8
+
4
9
from .meta import (
5
10
MemoryDecay ,
6
11
MetaHunter ,
7
12
MetaHunterAggressive ,
13
+ MetaPlayer ,
8
14
MetaMajority ,
15
+ MetaMajorityMemoryOne ,
9
16
MetaMajorityFiniteMemory ,
10
17
MetaMajorityLongMemory ,
11
- MetaMajorityMemoryOne ,
12
18
MetaMinority ,
13
19
MetaMixer ,
14
- MetaPlayer ,
15
20
MetaWinner ,
16
21
MetaWinnerDeterministic ,
17
22
MetaWinnerEnsemble ,
23
+ MetaWinnerMemoryOne ,
18
24
MetaWinnerFiniteMemory ,
19
25
MetaWinnerLongMemory ,
20
- MetaWinnerMemoryOne ,
21
26
MetaWinnerStochastic ,
22
- NiceMetaWinner ,
23
- NiceMetaWinnerEnsemble ,
24
27
NMWEDeterministic ,
25
28
NMWEFiniteMemory ,
26
29
NMWELongMemory ,
27
30
NMWEMemoryOne ,
28
31
NMWEStochastic ,
32
+ NiceMetaWinner ,
33
+ NiceMetaWinnerEnsemble ,
29
34
)
30
35
31
- # `from ._strategies import *` import the collection `strategies`
32
- # Now import the Meta strategies. This cannot be done in _strategies
33
- # because it creates circular dependencies
34
-
35
-
36
36
all_strategies += [
37
37
MemoryDecay ,
38
38
MetaHunter ,
@@ -99,18 +99,14 @@ def filtered_strategies(filterset, strategies=all_strategies):
99
99
Applies the filters defined in the given filterset dict and returns those
100
100
strategy classes which pass all of those filters from the given list of
101
101
strategies.
102
-
103
102
e.g.
104
-
105
103
For the filterset dict:
106
104
{
107
105
'stochastic': True,
108
106
'min_memory_depth': 2
109
107
}
110
-
111
108
the function will return a list of all deterministic strategies with a
112
109
memory_depth of 2 or more.
113
-
114
110
Parameters
115
111
----------
116
112
filterset : dict
@@ -122,12 +118,9 @@ def filtered_strategies(filterset, strategies=all_strategies):
122
118
}
123
119
strategies: list
124
120
of subclasses of axelrod.Player
125
-
126
121
Returns
127
122
-------
128
123
list
129
-
130
124
of subclasses of axelrod.Player
131
-
132
125
"""
133
126
return [s for s in strategies if passes_filterset (s , filterset )]
0 commit comments