scala-rl icon indicating copy to clipboard operation
scala-rl copied to clipboard

Functional Reinforcement Learning in Scala.

Functional RL in Scala

Build status Codecov branch Latest version Gitter Patreon

Overview

Reinforcement Learning in Scala, the functional way.

I definitely don't need to go fully overboard... but the gold standard is to reimplement a bunch of this stuff:

https://github.com/ShangtongZhang/reinforcement-learning-an-introduction

in Scala.

Notes

Can we write the update steps in some interesting way? Like, you have a function that you pass an action to, and eventually it returns some reward? I think so!

Blog Series

This code supports the blog series on functional reinforcement learning.

Get Involved

Want to contribute examples or use this stuff?

Inspiration

  • the book, Reinforcement Learning.
  • https://github.com/ShangtongZhang/reinforcement-learning-an-introduction

To File

  • I'm using Rainier's version, but this is a nice article about the probability Monad: https://www.chrisstucchio.com/blog/2016/probability_the_monad.html
  • We use ScalaFMT https://scalameta.org/scalafmt/docs/installation.html
  • also, wartremover http://www.wartremover.org

License

Copyright 2019 Sam Ritchie.

Licensed under the Apache License, Version 2.0.