Comments (1)
Thanks for the comment, always good to have someone check/question the accuracy of the code base.
On line 905 you'll see the application of a transformer to ensure the strategy defects on the last two plays.
There are a couple of reasons it is implemented like this (essentially knowing when the last two rounds happen is not always straightforward).
You can see in the tests specifically here: https://github.com/Axelrod-Python/Axelrod/blob/dev/axelrod/tests/strategies/test_axelrod_first.py#L664 that the strategy does act as intended.
opponent = axl.Cooperator()
actions = [(C, C), (C, C), (D, C), (D, C)]
self.versus_test(opponent, expected_actions=actions)
# Cooperator Test does noot defect if game length is unknown
opponent = axl.Cooperator()
actions = [(C, C), (C, C), (C, C), (C, C)]
self.versus_test(
opponent,
expected_actions=actions,
match_attributes={"length": float("inf")},
)
The first versus_test
ensures the last two interactions are (D,C), (D, C)
so that the player in question defects the last two turns.
The second versus_test
shows that when the length of a match is unknown the player in question just cooperates.
from axelrod.
Related Issues (20)
- Reorganisation of documentation. HOT 3
- Reorganisation ? of cheating strategies
- Add a citation.cff file HOT 6
- Links to contributing guide broken by docs restructure
- CI failing due to typing issues HOT 3
- Implement asymmetric games HOT 6
- Game classification HOT 4
- Implement abstract games more fully (5.0.0)
- Restructure strategies folder HOT 4
- Documentation for 5.0.0
- Simplify/move the `ResultSet` HOT 1
- Expressing in a formal logical language HOT 2
- I couldn't find the strategy submitted by Mauk in the competition for 19th place HOT 2
- If I want to test the first tournament, what should I do based on your code? HOT 2
- Do you know the source code of the first tournament? HOT 2
- axelrod.plot.Plot may be incompatible with recent Pandas udpates HOT 2
- Change the TFT in the first tournament HOT 3
- High-noise Tournament for comparison HOT 1
- Supporting Python 3.12 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from axelrod.