Code Monkey home page Code Monkey logo

alphazero's Introduction

AlphaZero

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

Summary

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:

Versões

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

Requirements

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

Usage

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

alphazero's People

Contributors

seblessa avatar

Watchers

 avatar  avatar

alphazero's Issues

AlphaZero Algorithm

Preparar o algoritmo para receber e analisar os jogos e pensar na melhor jogada

Go class

Escrever a parte do codigo back-end para o jogo Go. Implementar a logica do jogo

Pygame for Go

planear e escrever o codigo da parte front-end no pygame para o jogo Go, baseado no Ataxx ja feito

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.