muzero-general
libu8ident
muzero-general | libu8ident | |
---|---|---|
14 | 9 | |
2,379 | 16 | |
- | - | |
0.0 | 1.8 | |
4 months ago | 10 months ago | |
Python | C | |
MIT License | 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.
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
libu8ident
- Roaring bitmaps are compressed bitmaps, can be 100x faster
-
International domain names: where does HTTPS://meßagefactory.ca lead you?
In programming languages it's much worse. Identifiers can either be unidentifiable, and if so everybody has a different opinion what "identifiable" means. Even the standard on identifiers, UTF-39, is buggy and has too many interpretations, leading to a complete disaster. https://github.com/rurban/libu8ident/blob/master/doc/c11.md
In punycode domain names it's quite simple still.
With other names, it's even worse. No-one cares. Linkers do not, username and filesystem drivers do not. The Apple HFS+ did care a bit one day, until someone in the higher ranks decided that no-one needs unicode security anymore and switched the new APFS to unsafe again.
-
Using Unicode in a compiler
No, it's definitely not safe to use unrestricted Unicode in a compiler. See https://github.com/rurban/libu8ident/ for identifier rules, and http://www.unicode.org/reports/tr55/ for much worse problems.
- Ask HN: What interesting problems are you working on? ( 2022 Edition)
- Unicode Utilities: Confusables
-
How can you be fooled by the U+202E trick?
That's why unicode published the security guidelines and mechanisms to avoid such attacks. In 2004 already.
The problem is that nobody cared. Browsers invented punycode instead of following tr39, email ditto. But ok, at least something. Java did it, cperl did, rust did it.
Everybody else is vulnerable. Esp. most other programming languages, filesystems and login systems. https://github.com/rurban/libu8ident/blob/master/doc/c11.md
- Prevent Trojan Source attacks with GCC 12
-
Unicode Normalization Forms: When ö = ö
I'm maintaining such a library.
coreutils, diff, grep, patch, sed and friends all cannot find Unicode strings, they have no string support. They can only mimic filesystems, finding binary garbage. Strings are so rthi g different than pure ASCII or BINARY garbage. Strings have an encoding and are Unicode.
Filesystems are even worse because they need to treat filenames as identifiers, but do not. Nobody cares about TR31, TR39, TR36 and so on.
Here is an overview of the sad state of Unicode unsafeties in programming languages: https://github.com/rurban/libu8ident/blob/master/c11.md
- Why does Windows 10 run faster than Fedora?
What are some alternatives?
deep-RL-trading - playing idealized trading games with deep reinforcement learning
Confusables - Simple library for matching a string to another string that is same but has letters that only *look* the same as original string
Super-mario-bros-PPO-pytorch - Proximal Policy Optimization (PPO) algorithm for Super Mario Bros
featurebase - A crazy fast analytical database, built on bitmaps. Perfect for ML applications. Learn more at: http://docs.featurebase.com/. Start a Docker instance: https://hub.docker.com/r/featurebasedb/featurebase
alpha-zero-general - A clean implementation based on AlphaZero for any game in any framework + tutorial + Othello/Gobang/TicTacToe/Connect4 and more
libredwg - Official mirror of libredwg. With CI hooks and nightly releases. PR's ok
open_spiel - OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games.
safeclib - safec libc extension with all C11 Annex K functions
stable-baselines3-contrib - Contrib package for Stable-Baselines3 - Experimental reinforcement learning (RL) code
nbperf - Improved NetBSD's Perfect Hash Generation Tool v3
pytorch-ddpg - Deep deterministic policy gradient (DDPG) in PyTorch 🚀
reals - A lightweight python3 library for arithmetic with real numbers.