/15_by_15_AlphaGomoku

An implementation of improved AlphaGo algorithm in the game of Gomoku.

Primary LanguagePythonApache License 2.0Apache-2.0


15 by 15 AlphaGomoku

Introduction

  • This is a Gomoku AI based on curriculum learning and AlphaGo methods.

Demonstration

Human vs AlphaGomoku (15 by 15 board)

AI adopts deterministic policy with 400 simulations per move.

Tecent Gomoku AI(欢乐五子棋) vs AlphaGomoku (15 by 15 board)

Tencent Gomoku AI plays black stone. AlphaGomoku adopts deterministic policy with 400 simulations per move.

Set up

Python Version

  • 3.6

Requirement

pip install -r requirements.txt

  • tensorflow
  • keras
  • pygame
  • numpy
  • matplotlib
  • easygui (optional)

How to play with AlphaGomoku

  • Execute run.py.
  • Select mode 2 (AI vs Human).
  • You can also compete with different versions of AlphaGomoku by switching the network.

Training

  • Execute run.py.
  • Select mode 13.

Setting parameters

All important parameters are in AlphaGomoku/config.py. Some of them are listed as follows,

  • simulation_times: the number of 'exploration' of game tree for each move.
  • c_puct: in general, when c_puct gets larger, the policy decision will rely more on prior probability.
  • initial_tau: temperature coefficient. When it gets smaller, policy will tend to be more deterministic.

Contribution

Contributors

  • Zheng Xie
  • XingYu Fu
  • JinYuan Yu

Institutions

  • Likelihood Lab
  • Vthree.AI
  • Sun Yat-sen University

Acknowledgement

We would like to say thanks to Andrew Chen from Vthree.AI and MingWen Liu from ShiningMidas Investment for their generous help throughout the research. We are also grateful to ZhiPeng Liang and Hao Chen from Sun Yat-sen University for their supports of the training process of our Gomoku AI. Without their supports, it's hard for us to finish such a complicated task.

Contact