Implement subgame perfection in Sequence Form LP solver (#1304)#1417
Closed
SH20RAJ wants to merge 1 commit intogoogle-deepmind:masterfrom
Closed
Implement subgame perfection in Sequence Form LP solver (#1304)#1417SH20RAJ wants to merge 1 commit intogoogle-deepmind:masterfrom
SH20RAJ wants to merge 1 commit intogoogle-deepmind:masterfrom
Conversation
…ind#1304) - Add joint reachability detection and slack-based optimal action extraction in Python. - Add reduced cost-based optimal action extraction in C++ (OR-Tools). - Add verification script check_subgame_perfection.py to confirm subgame perfection in Kuhn Poker.
Collaborator
|
@SH20RAJ can you take a look at the failed tests and and fix the cause of failure? Thanks |
Collaborator
|
The CI tests failed. Can you look into why? |
Collaborator
|
@SH20RAJ just wondering if you're planning to finish this? |
Collaborator
|
Closing from lack of response. Feel free to reopen if you have time to work on this. |
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.
This PR addresses issue #1304, where the Sequence Form LP solver did not guarantee subgame perfection, often defaulting to uniform policies in unreachable subgames.
Changes:
LinearProgram.get_slackto thelp_solverutility for easier constraint analysis.SequenceFormLpSpecification::OptimalPolicyto use OR-Tools'reduced_cost()for realization plan variables.check_subgame_perfection.py, which verified that in Kuhn Poker, Player 0 correctly plays the game-theoretically optimal subgame strategy (e.g., folding 'J' in unreachable subgames) instead of a uniform one.sequence_form_lp_test.py) pass without regressions.Fixes #1304.