15 April 2019

TCEC S15 DivP Underway; Leela Wins CCC7 Final

Before looking at the current status of the world's top two engine competitions, let's summarize last week's report. From TCEC S15 Div1 Finishes; CCC7 Final Starts:-

TCEC: KomodoMCTS and AllieStein finished 1st and 2nd in division 1 to qualify into the premier division with six other engines. • CCC: The four first placed engines are currently in a final where Leela leads by a comfortable margin, AntiFish trails by a considerable margin, and the two other engines [Stockfish & Leelenstein] are fighting for 2nd/3rd places.

TCEC: Last week I wrote, 'I'm slowly realizing that the TCEC preliminary divisions take about a week to play from start to finish.' The premier division has been underway since then and is currently less than half finished. The event's info page says,

Division Premier consists of the 6 engines that qualified from previous Season plus the top 2 engines from Division 1. It is a 3x double round robin (168 games). The top 2 engines promote to the Superfinal and the bottom 2 engines are relegated to Division 1.'

The preceding divisions were all '2x double RR (112 games)'. Stockfish is currently leading the premier division, followed by Leela (aka LCZero, Lc0), KomodoMCTS (Monte Carlo version), and Houdini.

CCC: Leela was the surprise winner of CCC7, finishing ahead of Stockfish by a convincing margin. As for last week's comment, 'Stockfish & Leelenstein are fighting for 2nd/3rd places', Stockfish soon surged ahead of its AI/NN rival and the four engines maintained their relative positions until the end.

The following chart shows the final score as published by the CCC organizers. At the bottom I've added my own W-L-D analysis. Leela beat Stockfish in their individual 100-game match and finished with a better percentage against the other two engines.

(Image can be expanded by 50%)

Stockfish won all previous CCC events. Two facts make CCC7 noteworthy:-

1) Stockfish was the only non-AI/NN engine to qualify for the final.
2) It was bested in the final by its main AI/NN competitor.

CCC7 marked the symbolic end of the dominance of the traditional, handcrafted, alpha-beta engines. The passing of the baton to a new generation needs to be confirmed by a TCEC victory for an AI/NN engine, but that is a question of 'when', not 'if'.

CCC8, nicknamed 'Deep Dive' by the organizers, is already underway. The rules say,

Format: 4xRR each engine plays the others 2x as white and 2x as black. • No opening book. • Top 4 engines advance to final, only two can be from a single, or shared, code-base. • Time control: 15m + 5s

Note the phrase 'only two [engines] can be from a single, or shared, code-base'. Of the four engines in the CCC7 final, two started life as clones of Leela. While this in no way detracts from the significance of Leela's win, it does call into question the diversity of the final. The TCEC rules governing AI/NN diversity are as follows:-

For the purpose of TCEC a participant is considered a neural network (NN) engine if it generally requires the use of GPU and consists of at least the following 3 parts:
   1. The code for training the neural network
   2. The neural network (and weights file) itself
   3. The engine that executes this network
It is the parts 2 and 3 that will actually be a playing combination at TCEC. Part 1 is used in preparation. • Uniqueness: For an NN engine to be unique in the TCEC context, at least two of the three defining parts mentioned above have to be unique. • Eligibility for participation: A NN engine is eligible for participation in TCEC if it is considered unique by the Uniqueness definition above.

It has only been a year since the AI/NN engines burst into engine-to-engine competitions. The organizers of these events are still grappling with the complications introduced by their appearance. A year from now what will be the rules governing their participation?

[For further information from the various stakeholders in the engine-to-engine events, see the tab 'TCEC/CCC Links' at the top of this page.]

No comments: