Skip to content

ENH: Require unique, nontrivial action labels at all information sets #614

@tturocy

Description

@tturocy

Overview

In order to develop better methods for referring to the structure of a tree (see for example #189 and the broader work on automated generation and checking of equivalence of games), Gambit will in future require non-empty labels for each action that further are unique within an information set.

Actions (and points for discussion and consideration)

For 16.5 we will do the following:

  • Implement a FutureWarning in pygambit when setting an action label to a duplicate value, or to an empty or otherwise invalid value.
  • Implement a FutureWarning in pygambit when loading an extensive game which has either blank or duplicated action labels.
  • Extend read_efg to offer an option to implement the planned behaviour for 16.6 - which will be for action labels to be automatically populated if all actions at an information set are empty, and to reject the game with an exception if there is a duplicated label in an information set, or if only some actions at the information set have labels while others do not.

For discussion:

  • Should 16.6 further insist that in order to do an action which combines an information set, the action labels must match? At the moment we only require that the number of actions is the same, and then map the child subtrees in the same order. However if we are moving in the direction that action labels have semantic content, it seems a better behaviour would be to match based on the action labels. (This might also be a change for 16.7 once we embed the new requirement of action labels in 16.6.)

Metadata

Metadata

Assignees

Labels

c++Items which involve writing in C++cythonItems which involve coding in CythonpythonItems which involve coding in Python

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions