Skip to content

Clarify definitions of behaviour profile values for unreached information sets#816

Open
tturocy wants to merge 1 commit intomasterfrom
issue_446
Open

Clarify definitions of behaviour profile values for unreached information sets#816
tturocy wants to merge 1 commit intomasterfrom
issue_446

Conversation

@tturocy
Copy link
Member

@tturocy tturocy commented Mar 19, 2026

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.

…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.
@tturocy tturocy linked an issue Mar 19, 2026 that may be closed by this pull request
@tturocy tturocy requested a review from rahulsavani March 19, 2026 16:27
@tturocy
Copy link
Member Author

tturocy commented Mar 19, 2026

@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).

@tturocy tturocy added this to the gambit-16.6.0 milestone Mar 19, 2026
ValueError
If `action` resolves to an action that belongs to the chance player

See also
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Entirely because I did these on different days and wasn't consistent with myself.

Copy link
Member

@rahulsavani rahulsavani left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ENH: action values for zero-probability infosets should be undefined

2 participants