Add parameterized social dilemma game with N-player support, dynamic …#1457
Add parameterized social dilemma game with N-player support, dynamic …#1457sriramsowmithri9807 wants to merge 2 commits intogoogle-deepmind:masterfrom
Conversation
…payoffs, and Axelrod-style bots - Implemented flexible N-player simultaneous-move game (N >= 2) - Added dynamic payoff matrices with configurable change probability - Implemented stochastic rewards with Gaussian noise - Created 7 Axelrod-style bots (TitForTat, GrimTrigger, Pavlov, etc.) - Added comprehensive unit tests (21 test cases total) - Included example scripts for MARL usage and bot tournaments - Added documentation (README and implementation summaries) Features: - Variable number of agents (default: 3) - Dynamic and non-stationary payoff structures - Optional reward noise for robustness studies - Full Python API exposure for all parameters - Compatible with OpenSpiel's simultaneous-move game API Files added: - Core game implementation and tests - Axelrod-style bots and bot tests - Usage examples and tournament demonstrations - Documentation files
There was a problem hiding this comment.
Ok, thanks. A few changes before I trigger the tests.
- Can you remove PR_SUMMARY.md?
- Can you move everything in IMPLEMENTATION_SUMMARY.md to a section at the bottom of param_social_dilamma_README.md, and then also remove that file?
- Can you add the new test in python/CMakeFiles.txt around line 239
|
Thanks! Looking good, yes. I sent a few requests for changes before I trigger the tests. |
|
@lanctot done sir, checkout the changes!! |
|
Note: the changes should be committed and pushed in your branch. The last commit above seems to be an empty change, so maybe you forgot to add the files? |
|
One more note: to delete already committed files, it's not enough to delete them from your local branch, but to remove its node from the commit tree using, for example, |
|
@alexunderch done sir, checkout once!! |
I am still seeing 10 files: https://github.com/google-deepmind/open_spiel/pull/1457/changes |
|
You have to commit and then push after the deletions. |
|
#1458 check out this new PR sir!! |
|
Replaced by #1458 |
Add Parameterized Social Dilemma Game for MARL Research
Summary
This pull request introduces a new OpenSpiel game,
python_param_social_dilemma, designed as a flexible benchmark for multi-agent reinforcement learning. The game generalizes classic social dilemma and matrix games by supporting variable numbers of agents, dynamic payoff structures, and optional stochastic rewards.Resolves: #[issue_number]
Key Features
Changes Included
Motivation
Existing OpenSpiel social dilemma games are primarily limited to 2-player, static, deterministic settings. This addition enables research on:
Technical Overview
Testing and Compliance
pyspiel.Gameandpyspiel.Statebase classesFuture Work
Acknowledgments
Thanks to @lanctot for implementation guidance and @alexunderch for pointers to relevant OpenSpiel documentation.