Gomocup 2020, the 21st tournament (April 24th-26th, 2020)

The Gomocup 2020 took place on April the 24th-26th, sponsored by Tech Center of Lightspeed & Quantum Studios Group, Tencent.

There were 3 computers available whose configurations were as follows:

  • Windows 10, x64 Dual Intel Xeon E5-2695 v2 (2.4/3.2 GHz), 64GB RAM
  • Windows 10, x64 Dual Intel Xeon E5-2660 v3 (2.6/3.3 GHz), 256GB RAM
  • Windows 10, x64 Dual Intel Xeon E5-2660 v3 (2.6/3.3 GHz), 256GB RAM

The openings for Gomocup 2020 were chosen by the following people (sorted alphabetically according to last names):

  • Alexander Bogatirev - Gomoku player, member of Gomoku Committee RIF, member of organizers committee of Russian Gomoku Championship, winner of Russian Gomoku Cup 2016.
  • Tomoharu Nakayama - Japanese renju player, 8dan. He got the 7th place in the 15th World Renju Championship, and won the Japanese Meijinsen in 2017.
  • Aivo Oll - Renju player, 7 dan, former Estonian champion, European champion, and world youth champion.
  • Zijun Shu - Gomoku player and AI researcher, contributor of several Gomoku AIs.
  • Tao Tao - Renju theory researcher, who published some researches and new designs of renju openings, participated in promotion of Renju and translated several Japanese renju books.
  • Qichao Wang - Renju expert, 4 dan, who has done a lot of researches in renju openings, and won the World Correspondence Renju Championship 2019.

Thank you all!

Same as last year, we prepared 12 openings for every rule.

  • Openings for the freestyle league:

  • Openings for the standard league:

  • Openings for the renju league:

What is new?

  • Updates
    • AlphaGomoku (Kozarzewski) 2020 - New implementation, it now uses some Gomoku-specific features as input to neural network. New training run of approximately 600k self-play games. AlphaGomoku will also participate in the experimental tournament.
    • Embryo 2020 - Fixed wrong forbidden points classification in Renju, support for database format in Yixin format, pondering, new Caro version (like freestyle, except OXXXXXO is not a win), basic preparation for autotuning. Embryo will also participate in the experimental tournament.
    • PentaZen 2020 - Rewrite almost every part.
    • PureGM 2020 - The pattern matching algorithm remains similar to previous versions of PureGM submitted years ago but is now the heuristic for an MCTS algorithm.
    • SlowRenju 2020 - With a support for SWAP-2 added, SlowRenju will also participate in the experimental tournament.
    • XoXo 2020 - Better threat detection, support for standard rule, algorithm optimization, some alpha-beta enhancements. XoXo will also participate in the experimental tournament.
  • New AIs
    • AiBB - a Gomoku program developed by Cuihong Jiang. AiBB is a basic engine using alphabeta algorithm for searching. AiBB supports freestyle rule.
    • Katagomo - a Gomoku program developed by Zhiyang Hang and contributors of Katago (Primary author is David J Wu, see full list). Katagomo is derived from Katago, a very efficient Go program with alphazero algorithm. The Gomoku version is modified and trained by Zhiyang Hang. KataGomo can reach very high level with several days of training with a few GPUs, maybe much stronger than Embryo 2019 with same time and same price computer. The submitted version is a special Katagomo version for the Gomocup experimental tournament. A more useful version and source code will be released on the author's Github.
    • Tianshu - a Gomoku program developed by Guang Yang. Tianshu is written in Python. The VCT/VCF algorithm is good. Tianshu supports freestyle and standard rules.
  • Other Changes
    • Since a protection makes Wulin expired, it is removed from Gomocup this year.

There were 4 freestyle groups (i.e., Freestyle 1, 2, 3, and 4), 1 fastgame group (Fastgame), 1 standard group (Standard), and 1 renju group (Renju) in Gomocup 2020. Elo rating system was used to evaluate AIs' strength. AIs were divided into different freestyle groups according to the placement in the last tournament. For freestyle 2, 3, 4, the top 4 AIs were moved up to the next group. If the top k (k>4) places were all taken by new (or updated) AIs in a group, then all these k AIs would advance to the next group.

Memory limit/time per move/per match were determined to be same as Gomocup 2019:

TOURNAMENT TIME LIMIT PER MOVE [S] TIME LIMIT PER MATCH [S] MEMORY LIMIT [MB] BOARD SIZE RULE FOR WIN
Freestyle 1 league 300 1000 350 20 five or more stones
Freestyle 2 league 30 180 350 20 five or more stones
Freestyle 3 league 30 180 350 20 five or more stones
Freestyle 4 league 30 180 350 20 five or more stones
Fastgame 5 120 350 20 five or more stones
Standard 300 1000 350 15 exactly five stones
Renju 300 1000 350 15 renju rule

In addition, there was an experimental tournament, where AIs were running on participants' computers. This experimental tournament had no limitation on AI size and allowed participants to use any hardware (e.g., GPUs) that they had access to. Time per match was 90 min. There was no additional time limitation per move. Following Gomoku World Championships, the rule for this tournament was Swap2. The tournament was a double round-robin tournament and tie-break criteria were: game points; match points; Berger coefficient; personal score, following World Correspondence Gomoku Championships.

There were technical difficulties like every year.

  • At the beginning, we restarted the freestyle 4 and the fastgame leagues several times, mainly because several submissions did not have the AI files packed appropriately, making GomocupJudge unable to unpack or locate the AI file.
  • Several bugs in multiple AIs occurred during the first run of the experimental league. To resolve the issue, all partipants in this league agreed to allow every participant in this league to revise their AIs, and we restarted the experimental league using the revised AIs.

The new PUREGM advanced to freestyle 3 along with three elder AIs PISQ, BENJAMIN, and LIGHTBLUE.

EULRING, JUDE, SPARKLE, and PECUCHET were the top 4 of the freestyle 3 league, and they advanced to freestyle 2.

The new PENTAZEN, TITO, GOFIVE, and SWINE were the top 4 in freestyle 2 league and advanced to freestyle 1.

The new EMBRYO along with RAPFI and YIXIN remained to be the top 3 of the freestyle 1 league this year. The performance of the new PENTAZEN and the new ALPHAGOMOKU (Kozarzewski) was very close and they finally reached the same Elo and were both ranked 4-5th, closely followed by the new XOXO.

The winner of the fastgame league was EMBRYO. The second place was taken by RAPFI, and the third by YIXIN. XOXO crashed in the fastgame league since it required instruction sets that are not fully supported by the CPUs used for this league.

This year the standard league becomes even larger than freestyle 1. EMBRYO was the winner of the standard league. The second was YIXIN, and the third was PENTAZEN.

The winner of the renju league was EMBRYO. YIXIN took the second place. The third was PENTAZEN.

Five AIs participated in the experimental league. We were able to see games with generally stronger playing strength compared with those in classical Gomocup leagues since the AIs were running on the participants' computers. For example, XOXO and EMBRYO employed Google Cloud servers that could have up to 64-128 CPU threads; both KATAGOMO and ALPHAGOMOKU (Kozarzewski) were running on dual GPUs. The winner of this league was KATAGOMO. ALPHAGOMOKU (Kozarzewski) took the second place. The third was EMBRYO.

Congratulations again to EMBRYO for winning all classical leagues, and KATAGOMO for winning the experimental tournament!

You can download complete results and openings here.