Seasons Of Code

L.A.M.A. AI using Reinforcement Learning    • Kumar Ayush, Anuj Shetty   

L.A.M.A. AI using Reinforcement Learning

L.A.M.A. AI using Reinforcement Learning

Implementation of an RL based AI for playing L.A.M.A.

L.A.M.A.

L.A.M.A. is a board game. It fits all the criteria I would look for. It is small to carry, easy to understand, quick to play and most importantly, a good mix of strategy and randomness. You can play it sober and not sober and have fun.

Pre-requisites

  • Basic proficiency in Python

Tentative Project Timeline

We expect about 100 hours of work spread over ten weeks.

Week Number Tasks to be Completed
Week 1 Play L.A.M.A. with us, and with your project group, and with friends to familiarise yourself with it. Then, enable logging for all state changes in the web game. As of now, no information is stored.
Week 2 Write a naive AI. Instead of expecting a player response, the game should be able to query a response from this AI submodule. We fill the naive AI with heuristics about the best strategy. Performance of the naive AI serves as benchmark for later experiments.
Week 3 Buffer
Week 4 Implement an interface that allows us to run games with all players as AI. The current web interface with its laughable GUI is not required at all for this. Rather, this interface or framework should allow us to program multiple runs of the game with varying set of parameters. In other words, set up an experimentation lab.
Week 5 Try out Q-Learning examples on the web. There is not sufficient time for us to understand all the mathematics behind RL techniques, but we can understand how to use these as a skill. You can deep dive into the book in references, at your own convenience.
Week 6-7 Implement Q-learning for our AI
Week 8 Measure performance against benchmark. This will also involve hyperparameter search and analysing performance across the hyperparameter grid.
Week 9 Buffer
Week 10 Documentation Week. You write blogs about your experience, shoot a video etc.

Secondary Learning Goals

Apart from learning about RL, you can expect to learn about the following:

  • RPC (Remote Procedure Calls)
  • FSM (Finite State Machines)
  • AWS (Amazon Webservices)

References