All Projects → masus04 → Deep-Reinforcement-Learning-for-Boardgames

masus04 / Deep-Reinforcement-Learning-for-Boardgames

Licence: other
Master Thesis project that provides a training framework for two player games. TicTacToe and Othello have already been implemented.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deep-Reinforcement-Learning-for-Boardgames

alpha-zero
AlphaZero implementation for Othello, Connect-Four and Tic-Tac-Toe based on "Mastering the game of Go without human knowledge" and "Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm" by DeepMind.
Stars: ✭ 68 (+300%)
Mutual labels:  othello, tictactoe, connect4
autodeepnet
Automated deep learning!
Stars: ✭ 24 (+41.18%)
Mutual labels:  deeplearning
FastPose
pytorch realtime multi person keypoint estimation
Stars: ✭ 36 (+111.76%)
Mutual labels:  deeplearning
kuzushiji-recognition
Kuzushiji Recognition Kaggle 2019. Build a DL model to transcribe ancient Kuzushiji into contemporary Japanese characters. Opening the door to a thousand years of Japanese culture.
Stars: ✭ 16 (-5.88%)
Mutual labels:  deeplearning
stock-prediction-with-DL
深度学习与股票分析预测
Stars: ✭ 13 (-23.53%)
Mutual labels:  deeplearning
blockchain-predictor
Deep leraning cryptocurrency prediction with blockchain-based dataset
Stars: ✭ 34 (+100%)
Mutual labels:  deeplearning
Articles-Bookmarked
No description or website provided.
Stars: ✭ 30 (+76.47%)
Mutual labels:  deeplearning
simply-djs
A Simple, Easy and Beginner friendly Discord.js Package for everyone. Uses Discord.js v13
Stars: ✭ 62 (+264.71%)
Mutual labels:  tictactoe
type4py
Type4Py: Deep Similarity Learning-Based Type Inference for Python
Stars: ✭ 41 (+141.18%)
Mutual labels:  deeplearning
numpy-neuralnet-exercise
Implementation of key concepts of neuralnetwork via numpy
Stars: ✭ 49 (+188.24%)
Mutual labels:  deeplearning
gryds
A Python package for geometric transformations of images for data augmentation in deep learning
Stars: ✭ 55 (+223.53%)
Mutual labels:  deeplearning
KerasR
DeepLearning using Keras with R
Stars: ✭ 26 (+52.94%)
Mutual labels:  deeplearning
Implicit-Internal-Video-Inpainting
[ICCV 2021]: IIVI: Internal Video Inpainting by Implicit Long-range Propagation
Stars: ✭ 190 (+1017.65%)
Mutual labels:  deeplearning
query completion
Personalized Query Completion
Stars: ✭ 24 (+41.18%)
Mutual labels:  deeplearning
flops-cnn
Calculate Flops for CNN
Stars: ✭ 37 (+117.65%)
Mutual labels:  deeplearning
RFDA-PyTorch
Official Code for 'Recursive Fusion and Deformable Spatiotemporal Attention for Video Compression Artifact Reduction' - ACM Multimedia2021 (ACMMM2021) Accepted Paper Task: Video Quality Enhancement / Video Compression Artifact Reduction
Stars: ✭ 44 (+158.82%)
Mutual labels:  deeplearning
tutorials
Introduction to Deep Learning: Chainer Tutorials
Stars: ✭ 68 (+300%)
Mutual labels:  deeplearning
datascience-mashup
In this repo I will try to gather all of the projects related to data science with clean datasets and high accuracy models to solve real world problems.
Stars: ✭ 36 (+111.76%)
Mutual labels:  deeplearning
Groundbreaking-Papers
ML Research paper summaries, annotated papers and implementation walkthroughs
Stars: ✭ 90 (+429.41%)
Mutual labels:  deeplearning
continuous Bernoulli
There are C language computer programs about the simulator, transformation, and test statistic of continuous Bernoulli distribution. More than that, the book contains continuous Binomial distribution and continuous Trinomial distribution.
Stars: ✭ 22 (+29.41%)
Mutual labels:  deeplearning

Deep Reinforcement Learning for TicTacToe and Othello

This repository contains all resources for my ongoing master's thesis on Deep Reinforcement Learning for zero sum games including TicTacToe and Othello.

I chose these games specifically because they represent a progression from a very simple game to a rather complicated one that can still be approached with resources available to an average student. I will release all my work here and it is my hope that other researchers will find both my framework as well as my players helpful and may even write their own players and or games to extend and contribute to it.

The thesis is available in pdf format and serves as documentation.

Operation Manual

Installation

run the following in the root folder of the project in order to install required dependencies:

pip3 install
sudo apt-get install python3-tk

Running experiments

For importing and file paths to work correctly always execute commands from the root directory of the project.

All files in tests and experiments folders are executable and create their artifacts in a folder next to the respective source file when executed in the following manner:

interpreter -m path.to.executable.file

As an example the environment tests can be started by typing the following in the root directory:

python3 -m TicTacToe.tests.testEnvironment

Extending the Framework

When extending the framework please keep the original structure:

  • Each game, it's environment and its players are kept in a separate directory nestled inside the project's main directory.
  • Each of those directories contains subdirectories for environment, experiments, players and tests as well as a config.py file.
  • There are abstract classes for Board, Player, Strategy and Model classes in the AbstractClasses.py file, please use them and add abstract base classes to it where necessary.
  • A game's rules are contained in its Board (or equivalent) class, the TwoPlayerGame class does not contain any rules and can be reused for most two player games and extended for other types of games.

Simply put, add your player for an existing game to the game/players directory and the training script to game/experiments. If you want to add another game to the framework, create a new directory using a similar structure to the ones already available.

Acknowledgement

The framework I am using is based on rgruener's Othello project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].