Conversation
…tion sets. This clarifies how quantities related to mixed behaviours profiles are defined for information sets which are not reached. * Beliefs, action values, infoset values, and node values are not well-defined in this case. Therefore, these functions now return a `std::optional` in C++, with `std::nullopt` when not defined. The Python equivalents now return `None` * Agent regret concepts (action regret, infoset regret, max agent regret) are well-defined despite information sets not being reachable: from the definition of the (multi)agent form of a game, these are zero. * Along similar lines to the above, in the agent Lyapunov value, the contribution to the value of unreached information sets is set to zero. Closes #446.
|
@rahulsavani Please have a look that this seems to be correct as far as conventions to you, and the docstrings have been updated sufficiently well. We might consider opening a separate discussion item that some user guide/tutorial materials on unreached information sets could be in order (also interacts with our explanation of what sequence-form-based methods return). |
| ValueError | ||
| If `action` resolves to an action that belongs to the chance player | ||
|
|
||
| See also |
There was a problem hiding this comment.
I know this is a bit OCD, but we mostly have "See Also" and a small number of cases of "See also" (lower case "a"). I'd prefer to be consistent.
It wasn't clear to me why we point to infoset_prob here under action_value but not under infoset_value, perhaps just an omission?
There was a problem hiding this comment.
Entirely because I did these on different days and wasn't consistent with myself.
rahulsavani
left a comment
There was a problem hiding this comment.
Please have a look that this seems to be correct as far as conventions to you, and the docstrings have been updated sufficiently well.
This looks good to me. Just a couple of minor inline comments on "See Also".
We might consider opening a separate discussion item that some user guide/tutorial materials on unreached information sets could be in order (also interacts with our explanation of what sequence-form-based methods return).
Agreed.
This clarifies how quantities related to mixed behaviours profiles are defined for information sets which are not reached.
Beliefs, action values, infoset values, and node values are not well-defined in this case. Therefore, these functions now return a
std::optionalin C++, withstd::nulloptwhen not defined. The Python equivalents now returnNoneAgent regret concepts (action regret, infoset regret, max agent regret) are well-defined despite information sets not being reachable: from the definition of the (multi)agent form of a game, these are zero.
Along similar lines to the above, in the agent Lyapunov value, the contribution to the value of unreached information sets is set to zero.
Closes #446.