You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
MAP: Review implementation of action graph games #393
There is an implementation of Action Graph Games and Bayesian Action Graph Games which has been kindly contributed to Gambit. However, its existence is very much a secret! There is documentation of the file format for serialising games. However, that is about it; there is no mention of it in the core pygambit documentation, nor indication of which algorithms have bespoke versions which use the representation. Further, testing and examples are limited.
To do
Review the code and identify the (B)AGG features which are implemented. Revise the documentation accordingly so that existing (B)AGG support is made visible (and flag as "experimental")
Create a suitable test suite for (B)AGGs and add examples to the catalog.
Review the implementation of (B)AGGs. The current structure is that the (B)AGG representations were written originally as a separate standalone code, and then a compatibility layer was added. A thorough review should be done and the implementation rationalised and documented, including code organisation and formatting.
Consider what support we should have for creating and transforming (B)AGGs in pygambit. At present the only way to create a (B)AGG is to create the serialised game representation "by hand".
As some preliminary prep work, in #409 we have gone through and done a routine cleanup of the code. No substantive changes, but these eliminate failures terminating the program, improve memory security, and generally modernise the code.
We're ready to declare this accomplished for present purposes at this point, especially with #879 and #1034. This will mean that as far as we know, the supported aspects of (B)AGGs are in fact working correctly. There is still plenty to do with refactoring and improving the internals, but this is work that can continue after 17.0 is released.
Activity
tturocy commentedon Nov 22, 2023
As some preliminary prep work, in #409 we have gone through and done a routine cleanup of the code. No substantive changes, but these eliminate failures terminating the program, improve memory security, and generally modernise the code.
tturocy commentedon Aug 16, 2026
We're ready to declare this accomplished for present purposes at this point, especially with #879 and #1034. This will mean that as far as we know, the supported aspects of (B)AGGs are in fact working correctly. There is still plenty to do with refactoring and improving the internals, but this is work that can continue after 17.0 is released.