/connect4

Many approaches for beating Connect4 Game.

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Playing Connect 4 with Deep Neural Networks

Python LaTeX gh-pages

This is the project I've prepared for the exam Computing Methods for Experimental Physics and Data Analysis during a.y. 2020-2021.

Abstract

The goal of this project is to train a DNN to play Connect 4. Although the game has been completely solved many years ago, it still offers a really interesting environment where training and testing neural networks. First of all, I've implemented a game engine that allows playing games and tournaments between players based on many different classical strategies. After that, I've used the data collected from many games between the known agents, in order to train a convolutional neural network with supervised learning. In the end, I've explored reinforcement learning techniques to create a neural network that is able to play without relying on an external agent for training.

Links

  • Description: document with an explemation of goals and results of this project.
  • Documentation: documentation of most of the written code.
  • Coverage: coverage report from unit tests.
  • Slides: slides for the exam (Italian language).