Param social dilemma cleanup#1458
Open
sriramsowmithri9807 wants to merge 5 commits intogoogle-deepmind:masterfrom
Open
Param social dilemma cleanup#1458sriramsowmithri9807 wants to merge 5 commits intogoogle-deepmind:masterfrom
sriramsowmithri9807 wants to merge 5 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
- Remove PR_SUMMARY.md and IMPLEMENTATION_SUMMARY.md - Move implementation summary to bottom of param_social_dilemma_README.md - Add param_social_dilemma_test.py and param_social_dilemma_bots_test.py to CMakeLists.txt
Collaborator
|
Note: replacing #1457 |
Collaborator
|
Some tests are failing: https://github.com/google-deepmind/open_spiel/actions/runs/21314790594/job/61359092220?pr=1458 Please take a look at the developer guide for adding games: https://github.com/google-deepmind/open_spiel/blob/master/docs/developer_guide.md#adding-a-game. There's a few steps missing (you need to add the game to Also lists can't be parameters to games. If you want to include a payoff matrix as a param you will need to pass it as a string and parse it into a matrix in the game constructor. |
…st.py, add playthrough - Change payoff_matrix parameter from list to string (lists not supported as game parameters) - Add _parse_payoff_matrix method to parse string representation using ast.literal_eval - Add python_param_social_dilemma to EXPECTED_MANDATORY_GAMES in pyspiel_test.py - Create playthrough file for integration tests - Fixes issue with game parameters and adds required test infrastructure
- Update test_custom_payoff_matrix to use str(custom_payoff.tolist()) - Update param_social_dilemma_example.py to use string format - Ensures compatibility with OpenSpiel's parameter system
Contributor
|
@sriramsowmithri9807 how is it going? Do you need any help or anything? |
Author
|
@alexunderch No sir, I’m working on it. Thanks for asking! |
- Replaced assertions and generic RuntimeErrors with custom exception classes (IllegalActionError, InvalidStateError, InvalidParameterError) - Added validation for 'discount' parameter in Environment constructor - Added explicit parameter checks for Mean Field Games
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.