Skip to content

OpenSpiel 0.2.0

Compare
Choose a tag to compare
@lanctot lanctot released this 07 Dec 09:54
· 2805 commits to master since this release

This is our second release, mainly a stable version to use for our first entry in pip/PyPI.

Changes since last release:

Availability in PyPI as a source distribtuion. See installation page for instructions.

New Games

  • Battleship
  • Blackjack
  • Clobber
  • Hearts
  • Klondike Solitaire
  • Lewis Signaling
  • Oh Hell
  • Sheriff
  • Slovenian Tarok
  • Stones & Gems

New Algorithms

  • CorrDist correlated equilibrium gap metrics for agent-form (AFCE, AFCCE)
  • DQN (PyTorch)
  • Deep CFR (TF2)
  • External Sampling MCCFR (Python)
  • Online Outcome Sampling (Lisy et al, 2015)
  • NFSP (PyTorch)
  • Policy Iteration
  • Regression CFR (PyTorch) (Waugh et al. 2015, Morrill 2016)
  • ResponseGraphUCB (Rowland et al. 2019)

New Support

  • Build as a shared library using BUILD_SHARED_LIB
  • Eigen
  • Libtorch (PyTorch's C++ API)
  • PyTorch (including 3 algorithms)

Bots

  • Roshambo (rock paper scissors competition bots), optional using BUILD_WITH_ROSHAMBO
  • xinxin (Nathan Sturtevant's Hearts bot), optional using BUILD_WITH_XINIXIN

Misc

  • C++ LP solving via OR-Tools
  • Correlated equilibrium solver via LP solver (C++)
  • HyperGammon option to Backgammon
  • Exact correlation device builder (for extensive-form correlated equilibria)
  • Gambit normal-form game (.nfg) writer and reader
  • Game Transform to start at a specific place in a game
  • Observation framework
  • Public State API and factored observation games (FOGs): public observations, action-observation histories, visualizations (Kovarik et al.)
  • Repeated games
  • Single-player turns in simultaneous move games
  • Serialization and checkpointing in CFR, MCCFR, CFR-BR
  • Serialization for kSampledStochastic chance modes
  • Suggested alpha function for alpha-rank
  • Supervised learning example for Hearts (based on xinxin self-play)

New utilities

  • ActionView
  • Random interface
  • down_cast
  • combinatorial helpers

New functionality, but untested or not fully supported

  • C++ AlphaZero via TensorflowCC
  • GAMUT integration

Removals

  • dependency on sonnet (due to clashes with TF1; our uses replaced by simple_nets.py)
  • games are no longer copyable
  • PSRO version 1

Acknowledgments

Many thanks to DeepMind for their continued support of OpenSpiel.

Thank you to all of our contributors:

Files

  • The open_spiel-0.2.0.tar.gz and open_spiel-0.2.0.zip archives below include minimal dependencies necessary to build OpenSpiel, including some optional games, such as the Hanabi Learning Environment and universal_poker wrapper to ACPC poker code.