2048 AI

This project was done along with Machine Learning Club at UW-Platteville written in Python. This AI uses a library called NEAT-Python which uses a technique called Neuroevolution of Augmenting Topologies (NEAT). This technique creates efficient networks that tackle reinforcement learning tasks. With NEAT-Python, game state inputs had to be defined, which we chose each tile number as an input. This gives us 16 inputs and for the outputs, we chose each direction the tiles could move, giving us 4 outputs. We then designed a fitness function that NEAT would try to maximize. For the fitness function, we chose the sum of all tiles when the game was over giving the results below.

All source code can be found here.

Game Start

Game End