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](https://github.com/deepmind/open_spiel/blob/master/docs/install.md) 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](https://deepmind.com) for their continued support of OpenSpiel.
Thank you to all of our contributors:
- https://github.com/deepmind/open_spiel/blob/master/docs/authors.md
- https://github.com/deepmind/open_spiel/graphs/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.