Reputation: 3434
For an ai-class project I need to implement a reinforcement learning algorithm which beats a simple game of tetris. The game is written in Java and we have the source code. I know the basics of reinforcement learning theory but was wondering if anyone in the SO community had hands on experience with this type of thing.
The more specific the better, but general resources about the subject are welcomed.
Follow up:
Here's the solution (code and writeup) I ended up with for any future students:
Upvotes: 25
Views: 6682
Reputation: 38378
Here is a good book on the subject:
Machine Learning and Data Mining: Introduction to Principles and Algorithms
by Igor Kononenko, Matjaz Kukar (June, 2007)
Also take a look at these open source projects:
Upvotes: 2
Reputation: 964
For anyone reading this in 2018, I highly recommend you use OpenAI Baselines if you're interested in solid references of existing RL algorithms. These algorithms are implemented by a group of employees at OpenAI who really know this stuff, and have been extensively fine-tuned and debugged.
To be fair, you don't need these for Tetris, but nowadays I suspect homework questions may involve some more sophisticated environments.
https://github.com/openai/baselines
UPDATE:
in 2019, I also recommend rlpyt:
https://github.com/astooke/rlpyt
Upvotes: 1
Reputation: 798
Burlap is a recent Java library that provides implementations of many common reinforcement learning algorithms as well as a few environments and useful tools.
Upvotes: 0
Reputation: 34813
Take a look at the 2009 RL-competition. One of the problem domains is a tetris game. There was a tetris problem the year before too. Here’s the 52-page final report from that year’s fifth-place finalist, which goes into a lot of detail about how the agent worked.
Upvotes: 13