16 December 2019

The Question of Clones

When is one chess engine a copy of another chess engine? Engine developers and tournament administrators have been grappling with this question for as long as there have been chess engine competitions. A recent thread on Talkchess.com, titled My failed attempt to change TCEC NN clone rules (September 2019), started,

I get frequent questions why don’t I bring this topic up if I don’t agree. So, I tried to bring this topic up with TCEC administration, with no success.

The author was Alexander Lyashuk (crem; chessprogramming.org), 'primary developer of Leela Chess Zero', and his thoughts attracted a slew of other developers from the expanding universe of AI/NN chess engines. To start the discussion, crem posted a number of block diagrams; a portion of the main diagram is shown below.

While I can't claim to understand all of the subtleties present in the diagram, its blocks represent the overall architecture behind Lc0 and are useful for delving into the clone question. In the same thread, three variations of the diagram used color codes to show which portions of other AI/NN engines are unique and which portions are copies of Lc0. One diagram, for example, explained the relationship between Lc0 and two engines that were the subject of a recent post on this blog, AllieStein and Leelenstein (November 2019).

Not too surprisingly, even the experts couldn't come up with an agreed definition of an AI/NN chess clone. What hope is there for the rest of us? Even so, I'm sure I'll be referrring to the diagram in the future.

No comments: