/reinforcejs

Reinforcement Learning Agents in Javascript (Dynamic Programming, Temporal Difference, Deep Q-Learning, Stochastic/Deterministic Policy Gradients)

Primary LanguageJavaScriptMIT LicenseMIT

RLjs

RLjs is forked from REINFORCEjs by Andrej Karpathy, but more modualized with React in ES2015/ES6. It tries to serve mainly as a playground for learning reinforcement learning (RL) related algorithms. The two main parts are:

  1. The agents as in src/lib/agents/, which implement key RL algorithms such as dynamic programming(Chapter 4), Sarsa, Q-Learning (Chapter 6, Chapter 7).
  2. The grid world which is taken as the example to illustrate how different agents/RL algorithms work.

Currently, only tabular methods have been covered. Approximation methods are planned to be developed developed in the future.

The draft app is available at https://rljs.herokuapp.com/.

There is also another repo for hosting machine-learning related notebooks I created when learning/implementing algorithms at https://github.com/zyxue/sutton-barto-rl-exercises.

Setup

The development setup is adopted from create-react-app.

git clone git@github.com:donkirkby/pinyincushion.git
cd pinyincushion
npm install

Run server

npm start