Permalink: 2017-07-16 by Kai Sun in Blog tags: AI yixin renju

(Last update: 2017-7-31)

Background

CCTV has been planning a TV show about competitions between AIs and humans (The name of the TV show is 机智过人). In the original plan, one of the competitions is a match between Yixin and top human renju players in July or August. A director of the TV show suggested organizing a match with a top player to do a preliminary test of Yixin before recording. So, with the help of Tao Tao, I got in touch with Lin Shu-Hsuan and planned to organize a match with him starting from June 10th. However, on June 8th, I was informed by CCTV that the renju competition in the TV show was canceled due to CCTV's technical issues. The news was unexpected and depressing, but CCTV's decision could hardly be changed.

Because of the cancellation, it's no longer necessary to have the match with the aim of doing a preliminary test of Yixin only. Therefore, I asked Lin Shu-Hsuan (1) if he still would like to have the match, and (2) if he would like to postpone the match to July so that the preparation that had been being worked on for CCTV's match could be used, and thus the match could be more formal. We then came to an agreement that we would still have the match, and the match would take place in July.

Preparation

Compared with the preparation of the match with Epifanov Dmitry, a lot more effort was put into opening book preparation. This time, the opening book preparation consists of 3 parts:

  1. Verifying game databases We managed to collect and verify many game databases. Those databases can be classified into 2 types: (1) Databases of sure win/loss positions; (2) Databases of best moves. The verification was done automatically by Yixin.
  2. 5th moves in Soosorv-8 We analyzed the possible 5th moves for each opening and 4th move. The analysis was done automatically by Yixin.
  3. Adding human opening knowledge The results of part 1 and 2 were not perfect, so they were manually revised based on human knowledge. In addition, the opening strategies such as the conditions under which the AI should choose to swap were added.

Kai Yu provided hundreds of CPU cores to the preparation, and Runzhe Yang scheduled the best move verification jobs (part 1(2)) and 5th move analysis jobs (part 2) on those CPUs. Sure win/loss verification jobs (part 1(1)) were run on my computers. Tianyi Hao made great efforts in working on part 3 to finish up all the rest of the opening preparation.

Compared with the last year's version, many modifications were introduced. One of the modification is a bug fix to the parallel search, which makes Yixin be able to take advantage of multiple-core processors more effectively. This directly helps Yixin gain a lot of Elo when it runs on a powerful computer.

Tao Tao offered much help in finding suitable places for the match (below is a photo).

Alt text

Match Settings

  • Number of Round: 4
  • Rule: Soosorv-8
  • Computer: Amazon EC2 m4.16xlarge
  • Time Control: 120 min/game + 30 sec/move
    • Human player's time is counted by a table clock; Yixin's time is counted by itself

Game Records

Round 1 (July 15):

  • Black: Yixin
  • White: Lin Shu-Hsuan
  • Swap: +, +
  • Alternatives: G9, J11, F8, I9, G8
  • Result: Black wins
h8h9h10i10f8i9g9i11i8g8j11f10i12e7e6h7i6k8k10l9j9j10h12h13g5h5g4i7g7g6f5h3h6i5d4

Alt text

Yixin was out the opening book after the 17th move. The 18th seems to be a turning point in the game, since from Yixin's perspective, Lin Shu-Hsuan played almost perfectly before that point and i7 should be a better choice for the 18th. Yixin kept the advantage after that, and the 27th was proved to be a sure win during the game. The evaluation1 is shown in the below figure.

Since Yixin had 94 minutes left, Tianyi Hao proposed to modify the time management to make better use of its time, hence the longer average thinking time per move in round 2-4.

Alt text

Round 2 (July 16):

  • Black: Lin Shu-Hsuan
  • White: Yixin
  • Swap: +, +
  • Alternatives: I10, J9, G9, I7, K7, I8, J8
  • Result: White wins
h8i9j7h9i8g8g9i10f7i7j11j8k9h10g11h11h12i13i11g13j10l8j9j13h13i12g10g6k7k11l10k14l15k6i6m12m10m8k8l9g4h5l7k13

Alt text

In the match with Epifanov Dmitry, when Yixin is assgined the tentative White, it would always make the 4th move and let the human decide whether to swap. This time, however, Yixin let Lin Shu-Hsuan put the 4th thanks to better opening book preparation. Tao Tao told me that both he and Lin Shu-Hsuan were supervised at that.

Yixin was out the opening book after the 16th move. Yixin slowly accumulated small advantage until Lin Shu-Hsuan made a mistake analyzing the upper-right corner. The 43th was proved to be a sure loss during the game. The evaluation1 is shown in the below figure.

Alt text

Round 3 (July 22):

  • Black: Lin Shu-Hsuan
  • White: Yixin
  • Swap: -, +
  • Alternatives: J7, I7, I6, G10
  • Result: White wins
h8h9h6i8g10i10i7j11k12g9i9j8j10k11i11h7h12g13i12j12f9f7g8h11g6f6l10g12f13k8j9l8m8k6k7g5f5h4i3j7l5j5i4i6h5k4

Alt text

Yixin was out the opening book after the 16th move. The game was leaning towards a big advantage of Yixin from the 19th. From Yixin's perspective, before the 19th, Lin Shu-Hsuan played almost perfectly, and f7 might be a better choice for the 19th. The 35th was proved to be a sure loss during the game. The evaluation1 is shown in the below figure.

Alt text

Round 4 (July 23):

  • Black: Lin Shu-Hsuan
  • White: Yixin
  • Swap: -, -
  • Alternatives: I9, I8, I7, J8, G8, G9
  • Result: Black wins
h8h9j10i10g9i7i8g7f8j8f7e8f6f5e7d6d8g5k9h12f10f9d10e11d9d7g10e10e9b5c6f4h6c7b10c9c11b12d12d11e13f14a9

Alt text

Yixin was out the opening book after the 5th move. There was little preparation in the opening book for this 5th, and post-game analysis done by some renju experts showed that the 10th was already a sure loss. Lin Shu-Hsuan grasped the opportunity and played perfectly during the whole game. The evaluation1 is shown in the below figure.

Alt text

Other Information

Discussion on VK

Depth

The average minimum depth of Yixin in the match is about 18.


Footnotes:

  1. Here, a simple normalization has been done to make a score of 0 correspond to balanced positions.