Giter Site home page Giter Site logo

iterated-prisoner-s-dilemma's People

Contributors

zedtho avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

albinopapa

iterated-prisoner-s-dilemma's Issues

Invasion: Clustering Coefficient handling

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?

Long-term goal: Clustering

Adding clustering coefficients so that certain agents are more likely to meet others is interesting as it better reflects biological reality.

Simulation is not providing accurate results

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).

Further beautification

int main() is currently a bit crammed, moving out different parts of the program into functions (like InitializeAgents()) would make it more readable

Whole Thing is broke

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.

Possible Efficiency in TFT

In TFT, memory only needs to contain the last meeting with a certain agent, so memory contains unnecessary information there currently.

Using std::variant

Using std::variant could allow procedural tallying (by cycling through the types stored in std::variant)

Randomizer needs tinkering

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.