Skip to content
An implementation of improved AlphaGo algorithm in the game of Gomoku.
Branch: demo
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
AlphaGomoku delete Jan 9, 2019
LICENSE Create LICENSE Jul 27, 2018 Update Oct 27, 2018
requirements.txt add requirements.txt Oct 14, 2018 Merge remote-tracking branch 'origin/master' Oct 15, 2018

15 by 15 AlphaGomoku


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


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


pip install -r requirements.txt

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

How to play with AlphaGomoku

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


  • Execute
  • Select mode 13.

Setting parameters

All important parameters are in AlphaGomoku/ 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.



  • Zheng Xie
  • XingYu Fu
  • JinYuan Yu


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


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.


You can’t perform that action at this time.