open_spiel
muzero-general
Our great sponsors
open_spiel | muzero-general | |
---|---|---|
44 | 14 | |
3,989 | 2,372 | |
1.2% | - | |
9.4 | 0.0 | |
3 days ago | 3 months ago | |
C++ | Python | |
Apache License 2.0 | MIT License |
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
-
What projects or open-source contributions can impress Jane Street recruiters for a Quant SWE role ?
Deep mind actually has a repository where they applied this algorithm for incomplete-knowledge games. You could use it for reference: https://github.com/deepmind/open_spiel/tree/master/open_spiel/python/algorithms
-
I want to build a learning agent for a combinatorial game
+1. You can also find an implementation of Clobber and AlphaZero (and many other basic RL algorithms) in OpenSpiel: https://github.com/deepmind/open_spiel
-
minimax for imperfect-information turn-games?
You can find a lot of code online if you look, and many of these applied to Poker. There's a general implementation of both in Python and C++ in OpenSpiel, with some examples applied to small poker games. It's nice code to learn from because the algorithms operate over generic game descriptions, so there aren't game-specific design choices mixed up with the implementation of the algorithms, and you can create your own poker game and just run them on it.
-
OpenSpiel 1.3 Released!
And many other additions and improvements. See all the details here: https://github.com/deepmind/open_spiel/releases/tag/v1.3
-
What's a good OpenAI Gym Environment for applying centralized multi-agent learning using expected SARSA with tile coding?
I would checkout the openspiel package. It's main focus is RL in games (multi-agent environments). You'll find RL examples there and games that are small enough to solve without deep RL. There's also a wide range of environments from fully cooperative to adversarial zero-sum.
-
Competitive reinforcement learning for turn-based games
Hi, you can check out OpenSpiel: https://github.com/deepmind/open_spiel/
-
Reinforcement learning and Game Theory a turn-based game
as for algorithms , openspiel repository has few implementations some of these are not related to imperfect information games , and others are not for multiagent environment and others are tabular algorithms .
-
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:
-
How to deal with situations where the RL agent cannot act at every time step?
I've had some success using Action Masking - you can refer to here https://github.com/deepmind/open_spiel/blob/120420a74a69354d64c10b51cd129d4587f9f325/open_spiel/python/algorithms/dqn.py but for DQN you need to mask out q values for invalid actions (as well as masking them during prediction). In my case I'm able to place my mask in the observation so can fetch it quite easily during prediction but if that's not possible you could query it from the environment and store it in the replay buffer (like they do in the link I shared)
-
How to search the game tree with depth-first search?
Take a look at this simple implementation: https://github.com/deepmind/open_spiel/blob/master/open_spiel/algorithms/minimax.cc
muzero-general
-
Open source rules engine for Magic: The Gathering
I went looking for MuZero implementations in order to see how, exactly, they interact with the game space. Based on this one, which had the most stars in the muzero topic, it appears that it needs to be able to discern legal next steps from the current game state https://github.com/werner-duvaud/muzero-general/blob/master/...
So, I guess for the cards Forge has implemented one could MuZero it, but I believe it's a bit chicken and egg with a "free text" game like M:TG -- in order to train one would need to know legal steps for any random game state, but in order to have legal steps one would need to be able to read and interpret English rules and card text
- I placed Stockfish (white) against ChatGPT (black). Here's how the game went.
- Ask HN: What interesting problems are you working on? ( 2022 Edition)
-
How to "fit" the output of the Critic to the dimension of the reward?
You may want to use the trick described in https://arxiv.org/pdf/1805.11593.pdf as a Transformed Bellman Operator. Its efficiency is proved in MuZero original paper https://arxiv.org/pdf/1911.08265.pdf Appendix F. The implementation of that method you can find here: https://github.com/werner-duvaud/muzero-general Usage: muzero/models.py:649 (def support_to_scalar)
-
MuZero unable to solve non-slippery FrozenLake environment?
I have used this implementation from MuZero: https://github.com/werner-duvaud/muzero-general
-
RL for chess
+1 to taking a look at OpenSpiel. It has AlphaZero in C++ and Python, and there is even a PR open that allows running UCI (e.g. Stockfish) bot. You can also load chess via the OpenSpiel wrapper in muzero-general: https://github.com/werner-duvaud/muzero-general
-
The future of MuZero, and where to go for news
When I looked up some community implementations, like that of Werner Duvaud on GitHub and Discord, hoping to make my own contributions to this effect, I soon found that I was hopelessly out of my depth as an amateur programmer, even with the help of some other sources like this walkthrough series. However, from what I could tell, most of the people working on this sort of thing seemed to be tackling relatively simple games. At first I thought this might be largely due to limitations in hobby time or computing power available to these users, but then I also noticed that, unless I have misunderstood something, it seems like the games are required to be rebuilt entirely in the engine of (this implementation of) MuZero, which would also obviously be a limit on the complexity of games chosen.
- Is MuZero currently the best RL algo that we have now?
-
"muzero-general", PyTorch/Ray code for Gym/Atari/board-games (reasonable results + checkpoints for small tasks)
Windows support (Experimental / Workaround: Use the notebook in Google Colab)
-
Muzero code implementation
There are several if you google "muzero github", e.g. https://github.com/werner-duvaud/muzero-general
What are some alternatives?
PettingZoo - An API standard for multi-agent reinforcement learning environments, with popular reference environments and related utilities
deep-RL-trading - playing idealized trading games with deep reinforcement learning
gym - A toolkit for developing and comparing reinforcement learning algorithms.
Super-mario-bros-PPO-pytorch - Proximal Policy Optimization (PPO) algorithm for Super Mario Bros
rlcard - Reinforcement Learning / AI Bots in Card (Poker) Games - Blackjack, Leduc, Texas, DouDizhu, Mahjong, UNO.
alpha-zero-general - A clean implementation based on AlphaZero for any game in any framework + tutorial + Othello/Gobang/TicTacToe/Connect4 and more
gym-battleship - Battleship environment for reinforcement learning tasks
stable-baselines3-contrib - Contrib package for Stable-Baselines3 - Experimental reinforcement learning (RL) code
TexasHoldemSolverJava - A Java implemented Texas holdem and short deck Solver
pytorch-ddpg - Deep deterministic policy gradient (DDPG) in PyTorch 🚀
tensortrade - An open source reinforcement learning framework for training, evaluating, and deploying robust trading agents.
seed_rl - SEED RL: Scalable and Efficient Deep-RL with Accelerated Central Inference. Implements IMPALA and R2D2 algorithms in TF2 with SEED's architecture.