Skip to content

OpenSpiel 0.3.1

Compare
Choose a tag to compare
@lanctot lanctot released this 26 Feb 08:46
· 2579 commits to master since this release

This addresses 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).

This version has no differences from 0.3.0. It only exists to match the version required by replacing the package hosted on PyPI. Hence, this release is identical to 0.3.0.

New Functionality (from 0.2.0)

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:

Files

The open_spiel-source-0.3.1.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