Deep Q-Learning Billiards

I took a course titled Decision Making Under Uncertainty (DMU) during my fourth semester. If not a dead giveaway by the course’s name, the material focused majorly on reinforcement learning. The topics ranged from simple Markov Decision Processes and progressed all of the way to deep reinforcement learning paradigms like deep Q-Learning and actor-critic.

We were assigned a final project that would allow us to apply the subjects we learned in the course to a large-scale problem. One of the options was to see if we could train an agent to learn to play billiards. Despite it sounding like a difficult project, it sounded facinating, so I went with it.