suragnair/alpha-zero-general
A flexible self-play reinforcement learning framework implementing AlphaZero for training game-playing agents via MCTS and neural networks.

This repository provides a clean implementation of the AlphaGo Zero algorithm for two-player turn-based adversarial games. The system combines Monte Carlo Tree Search with deep neural networks trained via self-play reinforcement learning. Users can subclass provided base classes for Game and NeuralNet to adapt the framework to any game, with sample implementations for Othello in both PyTorch and Keras. The training loop manages self-play episodes, MCTS simulations, and neural network updates.