OpenSpiel 0.3.0
This release aims to address the problem that the new Python games were not compatible with the old version of OpenSpiel used by our pip package since it is too far behind (i.e. a fix to #503).
New Functionality
Games
- Add Dark Hex
- Add Kuhn (new Python game)
- Tic-Tac-Toe (Python game, updated to new API)
- Liar's Dice: new bidding variant, and configurable number of faces
- Trade Comm: add info state string
- Backgammon: expos action conversion functions available to Python
Algorithms
- Deep CFR (PyTorch)
- EVA (PyTorch)
- Policy gradients (PyTorch)
- Tabular Sarsa (C++)
- Tabular Q-Learning (C++)
- Sequence-form linear programming (C++)
- Variance Reduction baselines (VR-MCCFR) in Python
Metrics
- Distance to correlated and coarse-correlated equilibrium, for extensive-form games): CEDist and CCEDist (C++)
Examples
- Poker "fold, call, pot, all-in" (FCPA) abstracted no-limit example (Python)
- Generating multiple equilibria using CFR with random initial regrets and MCCFR
Process
- Move from Travis to Github Actions for continuous integration (CI)
- Update versions: TF, Jax, Julia
Misc.
- Allow registration of observers
- Distinction between perfect recall and imperfect recall example
- Information state trees
- JupyterLab environment (two Dockerfiles)
- Allow Python games from C++, now fully compatible with main C++ API
- Expose repr (Python)
Fixes and Documentation updates
- Fix network construction in Exploitability Descent example
- Fix GameParameters template compiler causing issues on older compilers
- Fix Observation consistency in Trade Comm
- Fix joining processes in Python AlphaZero
- Fix HistoryString as identifier in HistoryTree
- Improved documentation for the new observation API
- Many other smaller fixes
Thanks
Thanks to DeepMind for continued support of development and maintenance of OpenSpiel.
Thanks to all of our contributors:
- Core Team: https://github.com/deepmind/open_spiel/blob/master/docs/authors.md
- All Contributors: https://github.com/deepmind/open_spiel/graphs/contributors
Files
The open_spiel-source-0.3.0.tar.gz bundles the necessary and some optional dependencies along with the core code (pybind11, Hanabi, ACPC, etc.) and should be able to be built directly without any additional downloads