open_spiel
RustyNEAT
DISCONTINUED
Our great sponsors
open_spiel | RustyNEAT | |
---|---|---|
44 | 2 | |
3,969 | 0 | |
1.4% | - | |
9.4 | 7.8 | |
3 days ago | over 2 years ago | |
C++ | Rust | |
Apache License 2.0 | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
open_spiel
-
Competitive reinforcement learning for turn-based games
Hi, you can check out OpenSpiel: https://github.com/deepmind/open_spiel/
-
Shimmy 1.0: Gymnasium & PettingZoo bindings for popular external RL environments
This includes single-agent Gymnasium wrappers for DM Control, DM Lab, Behavior Suite, Arcade Learning Environment, OpenAI Gym V21 & V26. Multi-agent PettingZoo wrappers support DM Control Soccer, OpenSpiel and Melting Pot. For more information, read the release notes here:
-
Policy for each of multi-agents in RL
The RL agents in OpenSpiel (https://github.com/deepmind/open_spiel) are designed with this setting as the default (so like, DQN run in Tic-Tac-Toe would have two separate agents learning against each other: one knows how to play as player 1, the other as player 2).
-
My comp sci mentor who is a university student half my age says that learning to use Linux is the optimal comp sci education experience
I maintain a project called OpenSpiel, basically a library/suite of implementations of board games (mainly for AI research but can be used for whatever). It has a C/C++ core, but it also exposes the core API in Python, Rust, Go, and Julia: https://github.com/deepmind/open_spiel/ and a lot of AI algorithms in Python.
-
Looking to get started
If you are looking for some programming game-theoretic algorithms, you can look at Gambit (http://www.gambit-project.org/) or OpenSpiel (https://github.com/deepmind/open_spiel). OpenSpiel has a Julia API too exposing the core and games, but does not have any of the basic game theoretic algorithms in Julia, so that would make a nice exercise (and maybe contribution to the project).
-
[D] Adding a new RL environment to envpool
I looked at the paper before and thought some of the benchmarks in the paper were cherry picked and that the whole let’s write env in compiled languages things has been done a lot already and only works well for games / physics / environments that are extremely well defined . I usually end up back in ray env bc I usually need features like parametric action spaces, or predictive models built inside environments, or historical data. Codingwise I looked at the example file that they had and felt like it wasn’t for me bc I don’t like Bazel ( I use pants for python monorepo ) and the c++ api was overly verbose for me. I don’t feel like I could implement reward shaping or env business logic in a very clear way. I don’t do much c++ dev work though and someone who is a seasoned c++ dev might not care. I liked the openspiel c++ api for env a lot more. https://github.com/deepmind/open_spiel/blob/master/docs/developer_guide.md I have found that building a new env can sometimes be frustrating to debug and I would probably debug a python env before converting to an openspiel/envpool env if I had to use a C++ env for a new problem.
-
Mastering Stratego, the classic game of imperfect information
I 404'ed when I tried to access the source code?
https://github.com/deepmind/open_spiel/tree/master/open_%20s...
Someone needs to create a web front end for this -- I would love to play it.
There's an extra space in the URL to their code (at the end of the article). The correct URL is: https://github.com/deepmind/open_spiel/tree/master/open_spie...
-
Looking for Deepmind implementation of Player of Games
This is a wild guess. I am fairly sure that internally Deepmind uses their own tool, OpenSpiel. The code is kind of dense because it does a lot, but probably most of the functionality that you are looking for is somewhere in there
RustyNEAT
-
Any tutorial on how to create RL C++ environments?
If you want to really speed up your environment several orders of magnitude, you can implement it in cuda/vulkan /opencl. Here is an example of what I did in vulkan https://mobile.twitter.com/MendozaDrosik It allows me to stimulate thousands of agents in parallel. Works wonders especially if you want to use genetic algorithms. If you're interested, I might make python bindings to my minecraft environment. If you write in rust (like I do), then you can add python bindings very easily with PyO3. This is what I did here https://github.com/aleksander-mendoza/RustyNEAT/blob/main/rusty_neat_quick_guide.py (it's GPU accelerated implementation of NEAT algorithm)
What are some alternatives?
muzero-general - MuZero
PettingZoo - An API standard for multi-agent reinforcement learning environments, with popular reference environments and related utilities
gym - A toolkit for developing and comparing reinforcement learning algorithms.
rlcard - Reinforcement Learning / AI Bots in Card (Poker) Games - Blackjack, Leduc, Texas, DouDizhu, Mahjong, UNO.
gym-battleship - Battleship environment for reinforcement learning tasks
TexasHoldemSolverJava - A Java implemented Texas holdem and short deck Solver
brax - Massively parallel rigidbody physics simulation on accelerator hardware.
tensortrade - An open source reinforcement learning framework for training, evaluating, and deploying robust trading agents.
ml-agents - The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents using deep reinforcement learning and imitation learning.
tiny-differentiable-simulator - Tiny Differentiable Simulator is a header-only C++ and CUDA physics library for reinforcement learning and robotics with zero dependencies.
AirSim - Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research