Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re factor/implement first tournament strategies #1275

Merged
merged 31 commits into from
Dec 11, 2019
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
7520eec
Rename second tournament strategies to `SecondBy`
drvinceknight Nov 18, 2019
b5e8310
Modify name of Davis and Feld.
drvinceknight Nov 20, 2019
0bf356c
Add clone argument to Graaskamp.
drvinceknight Nov 20, 2019
8c59778
First first by Grofman.
drvinceknight Nov 20, 2019
d4e1552
Modify docstring and name of Joss.
drvinceknight Nov 20, 2019
33c903f
Fix Nydegger.
drvinceknight Nov 20, 2019
aa417a1
Rename Shubik but make notes for further investigation.
drvinceknight Nov 20, 2019
3dc60fb
Rename and fix Tullock.
drvinceknight Nov 20, 2019
75ee7c5
Rename Unnamed strategy.
drvinceknight Nov 21, 2019
b54c272
Rename Stein and Rapoport.
drvinceknight Nov 21, 2019
061e7f2
Add a note to Graaskamp.
drvinceknight Nov 21, 2019
0dde6e2
Revise Tideman and Cheruzzi.
drvinceknight Nov 21, 2019
eccd7e2
Re-implement Downing.
drvinceknight Nov 28, 2019
dc7a710
Modify Shubik.
drvinceknight Nov 30, 2019
659d997
Adjust tests.
drvinceknight Nov 30, 2019
ce1d6e6
Adjust doctests.
drvinceknight Nov 30, 2019
6e6a573
Make minor modifications suggested by @marcharper.
drvinceknight Dec 2, 2019
d8cee8d
Address comments from Owen.
drvinceknight Dec 2, 2019
f4e162b
Address comments from @marcharper (RevisedDowning)
drvinceknight Dec 3, 2019
ecbd9c0
Update docs.
drvinceknight Dec 3, 2019
0c31588
Add a list with all First strategies.
drvinceknight Dec 3, 2019
e6b9349
Fix a typo.
drvinceknight Dec 3, 2019
e7cf5ad
Fix failing test.
drvinceknight Dec 3, 2019
a6471e8
Rename SecondByDowning -> RevisedDowning.
drvinceknight Dec 5, 2019
6c46483
Add docstring about alpha=beta=1/2 in 1st 2 rounds.
drvinceknight Dec 5, 2019
e396646
Correct name of RevisedDowning in docs.
drvinceknight Dec 5, 2019
b9b00a2
Write tutorial using Axelrods first strategies.
drvinceknight Dec 5, 2019
49e8983
Run black on plotting script.
drvinceknight Dec 5, 2019
d24c304
Address @nikoleta-v3's comments.
drvinceknight Dec 5, 2019
468a829
Move test file to correct location.
drvinceknight Dec 5, 2019
36e82a2
Documentation modification.
drvinceknight Dec 5, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions axelrod/strategies/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,23 @@
# Distinguished strategy collections in addition to
# `all_strategies` from _strategies.py
demo_strategies = [Cooperator, Defector, TitForTat, Grudger, Random]
axelrod_first_strategies = [
TitForTat,
FirstByTidemanAndChieruzzi,
FirstByNydegger,
FirstByGrofman,
FirstByShubik,
FirstBySteinAndRapoport,
Grudger,
FirstByDavis,
FirstByGraaskamp,
FirstByDowning,
FirstByFeld,
FirstByJoss,
FirstByTullock,
FirstByAnonymous,
Random,
]
basic_strategies = [s for s in all_strategies if is_basic(s())]
strategies = [s for s in all_strategies if obey_axelrod(s())]

Expand Down
145 changes: 74 additions & 71 deletions axelrod/strategies/_strategies.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,44 @@
from .appeaser import Appeaser
from .averagecopier import AverageCopier, NiceAverageCopier
from .axelrod_first import (
Davis,
Feld,
Graaskamp,
Grofman,
Joss,
Nydegger,
RevisedDowning,
Shubik,
SteinAndRapoport,
TidemanAndChieruzzi,
Tullock,
UnnamedStrategy,
FirstByDavis,
FirstByFeld,
FirstByGraaskamp,
FirstByGrofman,
FirstByJoss,
FirstByNydegger,
FirstByDowning,
FirstByShubik,
FirstBySteinAndRapoport,
FirstByTidemanAndChieruzzi,
FirstByTullock,
FirstByAnonymous,
)
from .axelrod_second import (
Appold,
Black,
Borufsen,
Cave,
Champion,
Colbert,
Eatherley,
Getzler,
Gladstein,
GraaskampKatzen,
Harrington,
Kluepfel,
Leyvraz,
Mikkelson,
MoreGrofman,
MoreTidemanAndChieruzzi,
RichardHufford,
Rowsam,
Tester,
Tranquilizer,
Weiner,
White,
WmAdams,
Yamachi,
SecondByAppold,
SecondByBlack,
SecondByBorufsen,
SecondByCave,
SecondByChampion,
SecondByColbert,
SecondByEatherley,
SecondByGetzler,
SecondByGladstein,
SecondByGraaskampKatzen,
SecondByHarrington,
SecondByKluepfel,
SecondByLeyvraz,
SecondByMikkelson,
SecondByGrofman,
SecondByTidemanAndChieruzzi,
SecondByRichardHufford,
SecondByRowsam,
SecondByTester,
SecondByTranquilizer,
SecondByWeiner,
SecondByWhite,
SecondByWmAdams,
SecondByYamachi,
)
from .backstabber import BackStabber, DoubleCrosser
from .better_and_better import BetterAndBetter
Expand Down Expand Up @@ -189,6 +189,7 @@
Retaliate2,
Retaliate3,
)
from .revised_downing import RevisedDowning
from .selfsteem import SelfSteem
from .sequence_player import SequencePlayer, ThueMorse, ThueMorseInverse
from .shortmem import ShortMem
Expand Down Expand Up @@ -254,20 +255,20 @@
APavlov2006,
APavlov2011,
Appeaser,
Appold,
SecondByAppold,
ArrogantQLearner,
AverageCopier,
BackStabber,
BetterAndBetter,
Black,
Borufsen,
SecondByBlack,
SecondByBorufsen,
Bully,
BushMosteller,
Calculator,
CautiousQLearner,
Cave,
Champion,
Colbert,
SecondByCave,
SecondByChampion,
SecondByColbert,
CollectiveStrategy,
ContriteTitForTat,
Cooperator,
Expand All @@ -280,7 +281,8 @@
CyclerDDC,
CyclerCCCDCD,
Darwin,
Davis,
FirstByDavis,
FirstByAnonymous,
DBS,
Defector,
DefectorHunter,
Expand All @@ -291,7 +293,7 @@
Doubler,
DoubleResurrection,
EasyGo,
Eatherley,
SecondByEatherley,
EugineNier,
EventualCycleHunter,
EvolvedANN,
Expand All @@ -303,7 +305,7 @@
EvolvedLookerUp1_1_1,
EvolvedLookerUp2_2_2,
EvolvedHMM5,
Feld,
FirstByFeld,
FirmButFair,
FoolMeOnce,
ForgetfulFoolMeOnce,
Expand All @@ -317,19 +319,19 @@
GellerCooperator,
GellerDefector,
GeneralSoftGrudger,
Getzler,
Gladstein,
SecondByGetzler,
SecondByGladstein,
GoByMajority,
GoByMajority10,
GoByMajority20,
GoByMajority40,
GoByMajority5,
Golden,
Graaskamp,
GraaskampKatzen,
FirstByGraaskamp,
SecondByGraaskampKatzen,
Gradual,
GradualKiller,
Grofman,
FirstByGrofman,
Grudger,
GrudgerAlternator,
Grumpy,
Expand All @@ -342,35 +344,36 @@
HardProber,
HardTitFor2Tats,
HardTitForTat,
Harrington,
SecondByHarrington,
HesitantQLearner,
Hopeless,
Inverse,
InversePunisher,
Joss,
Kluepfel,
FirstByJoss,
SecondByKluepfel,
KnowledgeableWorseAndWorse,
LevelPunisher,
Leyvraz,
SecondByLeyvraz,
LimitedRetaliate,
LimitedRetaliate2,
LimitedRetaliate3,
MathConstantHunter,
NaiveProber,
MEM2,
Michaelos,
Mikkelson,
SecondByMikkelson,
MindBender,
MindController,
MindReader,
MindWarper,
MirrorMindReader,
MoreGrofman,
MoreTidemanAndChieruzzi,
RevisedDowning,
SecondByGrofman,
SecondByTidemanAndChieruzzi,
Negation,
NiceAverageCopier,
NTitsForMTats,
Nydegger,
FirstByNydegger,
OmegaTFT,
OnceBitten,
OppositeGrudger,
Expand All @@ -396,14 +399,14 @@
Retaliate,
Retaliate2,
Retaliate3,
RevisedDowning,
RichardHufford,
FirstByDowning,
SecondByRichardHufford,
Ripoff,
RiskyQLearner,
Rowsam,
SecondByRowsam,
SelfSteem,
ShortMem,
Shubik,
FirstByShubik,
SlowTitForTwoTats2,
SneakyTitForTat,
SoftGrudger,
Expand All @@ -412,41 +415,41 @@
SolutionB5,
SpitefulTitForTat,
Stalker,
SteinAndRapoport,
FirstBySteinAndRapoport,
StochasticCooperator,
StochasticWSLS,
SuspiciousTitForTat,
Tester,
SecondByTester,
TF1,
TF2,
TF3,
ThueMorse,
ThueMorseInverse,
Thumper,
TidemanAndChieruzzi,
FirstByTidemanAndChieruzzi,
TitForTat,
TitFor2Tats,
Tranquilizer,
SecondByTranquilizer,
TrickyCooperator,
TrickyDefector,
TrickyLevelPunisher,
Tullock,
FirstByTullock,
TwoTitsForTat,
UsuallyCooperates,
UsuallyDefects,
VeryBad,
Weiner,
White,
SecondByWeiner,
SecondByWhite,
Willing,
Winner12,
Winner21,
WinShiftLoseStay,
WinStayLoseShift,
WmAdams,
SecondByWmAdams,
WorseAndWorse,
WorseAndWorse2,
WorseAndWorse3,
Yamachi,
SecondByYamachi,
ZDExtortion,
ZDExtort2,
ZDExtort3,
Expand Down
Loading