zedtho / iterated-prisoner-s-dilemma Goto Github PK
View Code? Open in Web Editor NEWGame Theoretic Simulation of the iterated prisoner's dilemma
Game Theoretic Simulation of the iterated prisoner's dilemma
Use the std::variant variation for the core classes (credit to Albinopapa)
Currently the clustering coefficient C works like this:
Whenever an invader plays, he has a C chance of playing against another invader.
This is good and all, but not really: Applying a moran process means that C should increase over time as invaders become more common.
->Maybe a clustering coefficient/invader is better?
Adding clustering coefficients so that certain agents are more likely to meet others is interesting as it better reflects biological reality.
Currently, the TFT strategy is very ineffective and is defeated as soon as the Coordinators disappear. I may have to check the Naughtylist system.
Things that go in favor of TFT:
High reproduction cost (as fewer new creatures to surprise the strategy)
Small number of opponents (as the learning takes a while).
Use std::find to find certain agents in Memory instead of the clunky for loop
int main() is currently a bit crammed, moving out different parts of the program into functions (like InitializeAgents()) would make it more readable
Currently the program is not working, most notably because the containers Agents and AliveAgents are all pointing at the same data, although they should contain pointers pointing at different instances.
In TFT, memory only needs to contain the last meeting with a certain agent, so memory contains unnecessary information there currently.
Using std::variant could allow procedural tallying (by cycling through the types stored in std::variant)
The randomizer that chooses everyone's opponents is of course pseudorandom, but this is problematic because the same two entities have a lot of meetings together.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.