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.
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!
This code supports the blog series on functional reinforcement learning.
Want to contribute examples or use this stuff?
- the book, Reinforcement Learning.
- https://github.com/ShangtongZhang/reinforcement-learning-an-introduction
- 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
Copyright 2019 Sam Ritchie.
Licensed under the Apache License, Version 2.0.