https://dennybritz.com/posts/wildml/learning-reinforcement-learning/