Add option to store all world states in information state tree #1074
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 adds a boolean flag to the constructor of the infostate tree to allow storing the corresponding world states and chance reach probability not just at the leaf nodes, but all infostate nodes (except filler nodes).
In particular, this change allows to attain an inverse mapping of info state to world states when traversing a player's infostate tree.
The changes are:
InfostateTree
classis_filler_node()
check toInfostateNode
class to query nodechild_at
method ofInfostateNode
to choose to skip filler nodes viabool
flagconst std::string&
withstd::string_view
in a couple of appropriate places ininfostate_tree.(h|cpp)
An example output of traversing player 0's infostate tree of 2-player Kuhn Poker (skipping filler nodes):