Assignment for Laboratory of Artificial Intelligence and Data Science Class, 3º Year,1º Semester, Bachelor in Artificial Intelligence and Data Science Project 2 – Develop an Alpha Zero Ataxx Player
In this project our goal is to implement an AlphaZero player for the game Ataxx and for the game Go.
The AlphaZero algorithm is a reinforcement learning algorithm that uses a neural network to approximate the value function and the policy function. The neural network is trained using self-play and Monte Carlo Tree Search.
Autores:
The versions of the operating systems used to develop and test this application are:
- Fedora 38
- macOS Sonoma 14.0
- Windows 11
Python Versions:
- 3.11.0
To keep everything organized and simple, we will use MiniConda to manage our environments.
To create an environment with the required packages for this project, run the following commands:
conda create -n LabIACD python==3.11 pytorch::pytorch torchvision torchaudio -c pytorch
To install the requirements run:
pip install -r requirements.txt
There are two usaged modes for this project:
- Training:
python3 training.py <GNxM>
Where G is the game (A for Ataxx, G for Go and P for Player (Player vs Player mode)) and NxM is the board size.
For Ataxx, the board size can be 4x4, 5x5 or 6x6. For Go, the board size can be 7x7 or 9x9.
- Playing (Testing):
python3 play.py