Skip to content

Prisoner's Dilemma Simulator: Explore, Experiment, and Contribute to Game Theory Strategy Analysis.

License

Notifications You must be signed in to change notification settings

DiogoNeves/prisoners-dilemma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prisoner's Dilemma Simulation

Overview

Welcome to the Prisoner's Dilemma Simulation Project! This is an open-source, experimental project aimed at exploring various strategies in the classic game theory puzzle known as the Prisoner's Dilemma. The goal is to create a comprehensive simulation environment where multiple strategies can be tested, compared, and evolved over time.

The project is currently under development as a personal experiment.

Current Features

  • Simulation Engine: A Python-based simulation engine that allows for pairwise Prisoner's Dilemma games.
  • Strategy Implementation: A variety of predefined strategies.
  • Metrics and Analysis: Detailed analytics for each strategy, including total score, cooperation rate, win rate, and more.

Future Development

  • NxN Strategy Simulations: Expand the simulation to accommodate NxN strategy interactions, allowing for more complex and dynamic simulations with multiple players interacting simultaneously, modelling more accurately what happens in the real world.
  • Reinforcement Learning Integration: Interest to integrate reinforcement learning, to evolve and optimize strategies based on game outcomes (need help!).

How to Contribute

Any contributions welcome! If you have a strategy or an idea you'd like to test, here's how you can contribute:

  • Submitting Strategies:
    • Current Method: Send a Pull Request (PR) or open a GitHub issue with your proposed strategy.
    • Future Method: If any interest is shown, I will move the strategies to a separate, imported folder, making it easier to contribute.
  • Code Contributions: Feel free to contribute to the codebase, whether it's improving the simulation engine, adding new features, or fixing bugs.
  • Documentation: Help in improving documentation, anything really.

How to Get Started

  1. Clone the Repository: Start by cloning the repo to your local machine.
  2. Set Up Your Environment: Ensure you have Python installed. It's recommended to use a virtual environment.
  3. Install Dependencies: Install the required Python packages (e.g. python3 -m pip install -r requirements.txt).
  4. Run a Simulation: Run the notebook.
  5. Experiment: Experiment with existing strategies or contribute your own.

Community

  • Discussion and Support: Join our community chat on Discord for discussions, support, and sharing ideas.

License

This project is open source and available under the MIT License.


Thank you for your interest in the Prisoner's Dilemma Simulation! 🚀🎮

About

Prisoner's Dilemma Simulator: Explore, Experiment, and Contribute to Game Theory Strategy Analysis.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published