Skip to content

OpenSpiel 0.3.0

Compare
Choose a tag to compare
@lanctot lanctot released this 25 Feb 17:21
· 2587 commits to master since this release

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:

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