Skip to content

ENH: Add function returning whether an information set is absent-minded #578

Description

@d-kad

Absent-mindedness occurs when a player, moving along a single path of play, can re-enter an information set visited previously. Detecting this property is valuable for users to:

  • Better understand the structure of their game.
  • Be warned if using certain concepts and solution algorithms that are incompatible with absent-mindedness.

The existing GameTreeRep::BuildInfosetParents() method already contains the necessary traversal logic to detect this condition.

  1. Add a new data member to GameTreeRep: std::set<GameInfoset> m_absentMindedInfosets;
  2. Augment the existing BuildInfosetParents() traversal to populate m_absentMindedInfosets that tracks all absent-minded information sets.
  3. A new public method, IsAbsentMinded() const, will mirror the logic of IsPerfectRecall(): it will trigger the traversal if needed and then check the state of the new container.

Metadata

Metadata

Assignees

Labels

c++Items which involve writing in C++cythonItems which involve coding in Cythonenhancement

Type

No type

Projects

Status
Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions