Skip to content

OpenSpiel 1.1.0

Compare
Choose a tag to compare
@lanctot lanctot released this 28 Feb 10:02
· 1535 commits to master since this release

This release adds some major functionality: new games, new algorithm, several fixes and new features.

Support and APIs

  • Windows: native build via Microsoft Visual Studio (experimental)
  • Rust API

Games

  • Amazons
  • Morpion Solitaire
  • Gridworld pathfinding (single-agent and multiagent)
  • Linear-Quadratic games (mean-field game)
  • Pig: Piglet variant added
  • Quoridor: 3-player and 4-player support added
  • Utlimate Tic-Tac-Toe

Algorithms

  • AlphaZero support for games with chance nodes (Python and C++)
  • ADIDAS approximate Nash equilibrium solver by Gemp et al. '21
  • Boltzmann DQN
  • Deep Online Mirror Descent (for mean-field games)
  • Expectiminimax (C++)

Mean-field Games

  • Deep Online Mirror Descent
  • Best response value function (instead of only exact)
  • Allow specifying learning rate in fictitious play
  • Routing game experiment data
  • Softmax policy

Bots

  • WBridge5 external bot
  • Roshambo bots: expose to Python

Fixes

  • Chess SAN notation
  • get_all_states: support added for games with loops
  • Hex and DarkHex bug fixes for even-sized boards
  • MCTS sampling from the prior when 0-1 visits specified (Python and C++)
  • Pig: 2D observation tensor, ActionString, MaxChanceNodesInHistory
  • Stones n' Gems serialization fix

Miscellaneous

  • Added SpielFatalErrorWithStateInfo debug helper
  • Refactored policies computed by RL into a shared JointRLAgentPolicy
  • Custom info state resampling function for IS-MCTS
  • Hidden Information Games Competition tournament code: make optional dependency
  • Upgrade versions of abseil and OR-Tools and versions in python extra deps
  • Python dependency on scipy
  • Poker chump policies

Acknowledgments

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

Thanks to all of our contributors: