The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 18 C++ reinforcement-learning Projects
-
Bullet
Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
-
vowpal_wabbit
Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
open_spiel
OpenSpiel is a collection of environments and algorithms for research in general reinforcement learning and search/planning in games.
-
envpool
C++-based high-performance parallel environment execution engine (vectorized env) for general RL environments.
-
spot_mini_mini
Dynamics and Domain Randomized Gait Modulation with Bezier Curves for Sim-to-Real Legged Locomotion.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
open-quadruped
An open-source 3D-printed quadrupedal robot. Intuitive gait generation through 12-DOF Bezier Curves. Full 6-axis body pose manipulation. Custom 3DOF Leg Inverse Kinematics Model accounting for offsets.
-
bomberland
Bomberland: a multi-agent AI competition based on Bomberman. This repository contains both starter / hello world kits + the engine source code
-
tinymind
Tinymind is a Neural Network and Machine Learning project intended to provide a C++ template library for neural nets and machine learning algorithms within embedded systems.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
For typical game physics engines... not that much. Math libraries like Eigen or Blaze use lots of template metaprogramming techniques under the hood that can help when you're doing large batched matrix multiplications (since it can remove temporary allocations at compile-time and can also fuse operations efficiently, as well as applying various SIMD optimizations), but it doesn't really help when you need lots of small operations (with mat3 / mat4 / vec3 / quat / etc.). Typical game physics engines tend to use iterative algorithms for their solvers (Gauss-Seidel, PBD, etc...) instead of batched "matrix"-oriented ones, so you'll get less benefits out of Eigen / Blaze compared to what you typically see in deep learning / scientific computing workloads.
The codebases I've seen in many game physics engines seem to all roll their own math libraries for these stuff, or even just use SIMD (SSE / AVX) intrinsics directly. Examples: PhysX (https://github.com/NVIDIA-Omniverse/PhysX), Box2D (https://github.com/erincatto/box2d), Bullet (https://github.com/bulletphysics/bullet3)...
Project mention: What projects or open-source contributions can impress Jane Street recruiters for a Quant SWE role ? | /r/csMajors | 2023-07-03Deep 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
Project mention: Reinforcement learning libraries with AlphaZero | /r/reinforcementlearning | 2023-05-15AFAIK AlphaZero has not been used for continuous action space 3d environments like vizdoom, I wouldn't expect it to work well out of the box. There is a basic example demonstrating Q-learning on the environment: https://vizdoom.cs.put.edu.pl/tutorial#learning, as well as numerous example files of various training methods: https://github.com/Farama-Foundation/ViZDoom/tree/master/examples/python
Project mention: How do I improve my SB3 PPO on an EnvPool environment | /r/reinforcementlearning | 2023-09-21I am looking to improve the overall performance as well as optimize the wall clock time. I slightly modified the code to develop a SB3 wrapper for envpool from here.
Project mention: Is there anything like Embedded Artificial Intelligence & Machine Learning? Can anyone tell me more about it? | /r/embedded | 2023-12-07Take a look at TinyMind: https://github.com/danmcleran/tinymind
C++ reinforcement-learning related posts
- How do I improve my SB3 PPO on an EnvPool environment
- What projects or open-source contributions can impress Jane Street recruiters for a Quant SWE role ?
- I want to build a learning agent for a combinatorial game
- minimax for imperfect-information turn-games?
- OpenSpiel 1.3 Released!
- What's a good OpenAI Gym Environment for applying centralized multi-agent learning using expected SARSA with tile coding?
- Competitive reinforcement learning for turn-based games
-
A note from our sponsor - WorkOS
workos.com | 23 Apr 2024
Index
What are some of the best open-source reinforcement-learning projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Bullet | 11,886 |
2 | vowpal_wabbit | 8,400 |
3 | open_spiel | 3,989 |
4 | ViZDoom | 1,665 |
5 | envpool | 1,012 |
6 | spot_mini_mini | 773 |
7 | AI-Toolbox | 640 |
8 | ns3-gym | 489 |
9 | open-quadruped | 338 |
10 | megaverse | 214 |
11 | bomberland | 100 |
12 | muzero-cpp | 28 |
13 | snakeAI | 10 |
14 | tinymind | 7 |
15 | ViSmartCab | 5 |
16 | torchRL | 4 |
17 | chess-deep-rl-cpp | 1 |
18 | connect4-deep-rl | 0 |
Sponsored