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:
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.)
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:
FutureWarninginpygambitwhen setting an action label to a duplicate value, or to an empty or otherwise invalid value.FutureWarninginpygambitwhen loading an extensive game which has either blank or duplicated action labels.read_efgto 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: