Skip to content

OpenSpiel 1.4

Latest
Compare
Choose a tag to compare
@lanctot lanctot released this 16 Nov 10:20
· 184 commits to master since this release

This release adds new games, bug fixes, and process + support changes.

Support and Process changes

  • Added (partial) Python 3.12 support: building & testing of wheels only (also distributed on PyPI)
  • Added building and availability of Apple Silicon (arm64) binary wheels on PyPI
  • Removed support fpr Python 3.7 due to EOL June 2023
  • Upgraded versions of supported extra packages (JAX, PyTorch, TF, etc.)
  • Added ml-collections as a required dependency

Games

  • Added Dots & Boxes
  • Added Chat Game (python)
  • Added MFG crowd avoidance game
  • Added MFG periodic aversion game
  • Modify Predator-Prey MFG to take in initial values
  • (Not yet complete) Add partial implementation of Yacht

Algorithms

  • Removed PyTorch NFSP (see #1008)
  • Remove unnecessary policy reload in outcome sampling MCCFR (see #1115)
  • Rewrite Stackelberg equilbrium solver using cvxpy (see #1123)

Examples

  • Training TD n-tuple networks on 2048

Improvements and other additions

  • Added a build_state_from_history_string helper function for debugging
  • GAMUT generator: expand the set of games provided by the wrapper
  • Add exclude list in game simulation tests for games that are partially complete
  • Refactored all games into individual directories
  • Changed 2048 to exclude moves that don't change the board from legal actions
  • Introduced number of tricks and change order of information in bridge observations (see #1118)
  • Added missing functions for C++-wrapped TabularPolicy to pybind11
  • Added missing functions to (CorrDevBuilder and C(C)E*Dist) to pybind11
  • Added more examples to help debug game implementations

Fixes

  • Backgammon: added the dice to the end of the observation vector
  • Fixed uses of functions deprecated in NumPy 1.25
  • Fixed float comparisons in playthroughs to default to 6 decimal places
  • Fixed bug in entropy schedule in R-NaD (see #1076)
  • Fixed bug in rho value (see #968)
  • Fixed to actions of game definition of Liar's poker (see #1127)
  • Fixed castling bug in chess (see #1125)
  • Corrected include statements for efg_game (causing C++ DQN to not build)

Several other miscellaneous fixes and improvements.

Acknowledgments

Thanks to Google DeepMind for continued support of development and maintenance of OpenSpiel.

Thanks to all of our contributors: