Leela vs GM David Navara

We’re excited to announce a knight odds exhibition match between Leela and GM David Navara.

  • Saturday March 30, 2-5pm UTC, 10 games.
  • Match will be played on Lichess between the accounts LeelaKnightOdds and RealDavidNavara.
  • Leela is playing white, alternating between missing b1 and g1 knight.
  • Initial time control is 5'+3”, but might be adjusted upwards/downwards depending on the score.

GM Matthew Sadler on WDL contempt

GM Matthew Sadler has posted a blog post on WDL Contempt and a series of YouTube videos showing examples of using it for opening preparation.

Transformer Progress

Recently, the transformer architecture has dominated domains as diverse as vision and natural language processing. Over the past two years, the Lc0 team has been trying to answer the following question:

What chess-specific enhancements can be made to the transformer architecture?

How well do Lc0 networks compare to the greatest transformer network from DeepMind?

To explore the performance of Lc0 networks relative to DeepMind’s state-of-the-art transformer networks, we embarked on a comparative analysis, inspired by the methodologies detailed in DeepMind’s latest publication. Our objective was to closely align our testing approach for Lc0 networks with the evaluation framework applied by DeepMind, allowing for a direct comparison of results.

Update on playing with piece odds against Lc0 on Lichess

Since its first games almost 3 months ago, LeelaKnightOdds has played over 1800 matches against a variety of opponents at a multitude of time controls.

Play with knight odds against Lc0 on lichess

In the recent blog post presenting the new WDL contempt feature added in the Lc0 v0.30 release, we shared our plans to add a lichess bot for piece odds games. While allowing arbitrary piece odds poses several challenges, which aren’t resolved yet, we are proud to announce that we made a big first step towards that goal with LeelaKnightOdds, now accepting your challenge on lichess.

The Lc0 v0.30.0 WDL rescale/contempt implementation

The imminent v0.30.0 Lc0 release has two main features, attention body net support and WDL rescale/contempt. This blog post is about the latter, which is continuing our past efforts on providing more realistic WDL predictions with Lc0.

2022 Progress!

2022 has been a great year for Leela. A lot of new contributors appeared and made significant improvements; overall, Leela has become considerably stronger and more interesting. This year has brought huge changes to how the search was conducted, network architecture, available backends and more.

Lc0 release v0.29.0

It’s been a while since we released a new version of Lc0, but we finally put out v0.29.0 a few weeks ago. In this post, we’ll talk about what’s new in this release and why it took so long to come out.

The importance of open data

In the Leela Chess project, we generate a huge amount of data. We use them to generate the network files to use with Lc0 for further data generation, but also with other chess engines, like Ceres. The same data are often used by individual project contributors to generate additional network files using the “supervised learning” approach.

Joking FTW, Seriously

It all started a couple of months ago. First the Stockfish 13 release announcement and shortly later the Lc0 v0.27.0 one contained identical language that both “teams will join forces to demonstrate our commitment to open source chess engines and training tools, and open data.” While the intention is still there and we stand behind this statement, we haven’t yet managed to make something more formal in this direction.

With this in mind, when I was looking for an April Fools’ joke for this year the idea to use LeelaChessZero training data to train a NNUE net seemed very enticing.

Jumping on the NNUE bandwagon

Unless you were living under a rock during the last year, you have probably heard of the revolution that has been happening in computer chess. That is assuming you are interested in computer chess, but if you are not then why are you reading this? We are talking about Efficiently Updatable Neural Networks (referred to as NNUE, giving new meaning to backronyms) allegedly discovered by Japanese monks on sacred FORTRAN punched cards. The introduction of NNUE to the Alpha-Beta search of Stockfish resulted in impressive gains, despite initial bugs and ridicule. Since then the dominoes have been falling one after the other and now almost all the top chess engines have a NNUE implementation. Obviously Lc0 couldn’t be far behind, so we proudly present LcFiSh, the latest incarnation of Lc0 with NNUE technology.

Announcing Ceres

There has been a long time without posts in our blog, and finally there is a good occasion to revive it.

One of the most active LCZero contributors dje, was not very active in 2020. There was a good reason for it though — he was writing Ceres, a new chess engine that uses LCZero networks!

Yesterday, December 31th 2020, it was released under the GPLv3.

Lc0 v0.25 has been released

Lc0 v0.25 has been released.
(and it’s actually already at v0.25.1 due to hot bugfixes after the initial release).

TCEC S17 SUper FInal report

by @glbchess64

thanks to @dtracers and @ildolphino for correction and rewriting.

Leela won the SuFi, 52.5 to 47.5 (+5 wins). This was a difficult match that showed the qualities and the weaknesses of the two engines. Leela, with network SV-t60-3010, is by most people considered as a positional engine who likes to grind down the opponent instead of going for the quickest mate, but of course she is also a tremendous tactical player. Still she has tactical blunders and sometimes has difficulties with correctly estimating the opponent’s queen play, especially in open positions. Sometimes she does not succeed in converting a winning position because of falling prey to a perpetual check (note: the developers are working hard on this issue and a few enhancements are in the pipeline). StockFish, with 176 threads, is a fast and impressive tactician with a very solid play. But, even non-grandmaster players permit themselves to call its positional play dubious at times. It looks like a very clever player, it calculates good combinations but sometimes does not know how to coordinate pieces with pawns. In other words StockFish attempts to solve chess by brute force calculation, very clever search heuristics and a fast evaluation function. Sometimes it even helps Leela in some positions sacking pawns in a desperate way while Leela had a hard time finding the win!

Win-Draw-Loss evaluation

Traditionally, computer chess engines evaluated position in terms of pawns. This is a convenient choice, as material is a foundation of position evaluation, which is true also among humans. Situations where the importance of positional aspect strongly outweights material are often thought as beautiful exceptions rather than the rule.

It is however not the most logical way to score a position. Using pawns sounds arbitrary, and it’s also not linear and the same step has different meanings: while going from 0 to 1 pawn advantage keeps the position quite holdable, going from 1 to 2 usually makes it mostly lost. Going from 10 to 11 makes no difference at all.

A Layman's Guide to Configuring lc0

One of the commonly expressed complaints about lc0 is that there are too many parameters. While this is undoubtedly true, this gives us unparalleled flexibility to tune the engines behavior to reach the point where “when you see what Leela suggests, then you say - it makes sense” as Magnus Carlsen recently said. While there are efforts underway to simplify the user-facing configuration options, we decided that this is a perfect opportunity to reveal the underlying formulas used to derive the default values for most parameters:

Lc0 v0.24 has been released!

IMPORTANT UPDATE: v0.24.0 had a bug when either --logit-q or --draw-score-* options were active. If you use either of those options, please upgrade to v0.24.1.

It’s been a while since we had a blog post, and it’s been a while since we had a release of Lc0. And today is happening:

Lc0 v0.24 has been released, and you can download it here.

Lc0 v0.23.0 has been released

Update: we have a bugfix release v0.23.1, download here. It contains no chess-play-related changes, the bug was in training game generation code.

We have a new release today!
Download here.

End of era

The era of test40 has finished, that training of test40 has been stopped.

Nibbler: an Lc0 GUI

Does the world need another Chess GUI? Some people say no, but they don’t have very many Chess GUIs, do they?

I’m the author of Nibbler, the first Chess GUI designed specifically for Lc0, and inspired by the excellent Lizzie Go interface. Although Nibbler is a work in progress, it’s very usable, and has received a lot of favourable comment.

What's going on with training!

I’ve just decided that maybe it’s a time for a post. Describing what’s going on and what are the plans, stuff like that!

There are some plans for the Lc0 engine itself, but that is a topic for another post. At least we hope to make releases more regular again (v0.21.0-rc1 appeared on February 16th, and we are not even v0.22 yet).

Lc0 v0.21.2 has been released

After quite a long delay we are releasing an update to Lc0, new version is v0.21.2.

Download here.

Lc0 won TCEC 15

Congrats. :)

Training server is down

2019-05-26 UPDATE: Temporary server is up again.
2019-05-25 UPDATE2: Turns out cloud instance was preemtable, so it was preempted, no training again for now.
2019-05-25 UPDATE: We’ve been donated a temporary AWS cloud instance for the time of the main server downtime! Training is back up, but only for test53, test40 is still paused.
2019-05-23 UPDATE: PSU seems to be in order, replugging all cables didn’t help. The person who has access to the server has to travel again, no news expected until next week. :-(
2019-05-20 UPDATE: The server doesn’t react to a power button, so it’s not something trivial. Will take a more thorough look tomorrow.
2019-05-17 UPDATE: The person who has access to the server is currently travelling, until Sunday. That means that updated information about the server is expected in the beginning of the next week.

Competition Season!

Today, May 10, 2019, Leela is playing in the first game of the high profile TCEC Season 15 Superfinal. Leela qualified after she cleared Division P undefeated, winning at least once head-to-head against every opponent except Houdini. Her opponent in the superfinal is Stockfish, who lost once to Leela head-to-head in Division P, but finished with a higher score by winning more games than Leela against the other Division P competitors.

Backend configuration

To break the silence of lack of posts in this blog, let me write about Lc0 backends configuration, as it has been totally undocumented so far.
(For other options it’s possible to get rough idea of their meaning by running lc0 –help).

Announcing LcZ, the world's first neural net based chess engine and interactive fiction amalgamation.

After the huge success of the xyzzy extension to the UCI protocol introduced in Lc0, it was decided to take it one step further and introduce z-machine compatibility to the chess engine, giving birth to LcZ.

Upgrading to Lc0 v0.21.1 in CuteChess

This a quick note for people who use CuteChess and just upgraded to v0.21.1 from earlier versions.

Meaning of FPU-related parameters are changed in v0.21.1 , along with default values of those parameters. server will be unavailable on April 5th


The server will be not available for ~24 hours starting at April 4th 20:00 UTC.

Training game generation will also not be possible during the downtime.

Test40 update

We recently did the 2nd LR drop for T40, and usually this is when the net approaches it’s strongest point (gains after the final LR drop are very small). External Elo tests show T40 is close to T30, and may have already passed. We will know more in the following few weeks. But coincidentally we found two major issues at the same time as the LR drop:

Leela falls just short in first TCEC Superfinal appearance

Lc0 did well in it’s first TCEC Superfinal appearance, but fell just short of winning the match, losing 49.5 to 50.5. Here are some overviews of the Superfinal:

Leela BOOMS Stockfish and TCEC Superfinal. She is leading with 2 points!

As per the usual expression of BOOM of TCEC chat when an engine finds something good, Leela right now is making a great surprise in her first appearance in a TCEC superfinal by leading after 64 games with 2 points more. A 33-31 score in favor of Leela.

TCEC Superfinal Leela-Stockfish continues. Equal after 33 games!

TCEC superfinal of 14th Season is currently being played as Stockfish and Leela battle for the TCEC Season 14 Champion title.
Till now Leela surprises Stockfish and after 33 games the result is a perfect tie with 16.5-16.5 points.
Yet 67 more games will be played so everything can happen.

Leela won the TCEC CUP!

Leela has won the TCEC CUP-2! After many very difficult battles and games against the top Chess engines, Leela eventually managed to win the tournament.
In the final Leela managed to beat Houdini at the very final game(before tiebreaks start) with a spectacular win.

Leela in January

As always, consult the [glossary]( of-Leela-Chess-Zero) if needed. Ordo rating The standard way to to put a number on anyone’s chess skills is to determine the Elo rating. There is however an alternative called [Ordo rating](https://www.

Leela promotes to SuperFinal of TCEC! She will face Stockfish.

[![](../../images/2019-01-16-leela-promotes-to-superfinal-of-tcec- jkhkjh9879879999.png) Leela just made it on the superfinal of the TCEC tournament! There, she will face Stockfish on a 100-games match for the title of TCEC champion. As always with Leela it was a dramatic promotion at the last moment, at the last game.

Leela in December

Quick recap Remember to consult the [glossary]( of-Leela-Chess-Zero) if you find some terms confusing. With Test20 being suspended on November 16th, we started December with Test30 as the only game in town.

Lc0 vs GM Adam Tukhaev on Lichess

Not everyone knows, but recently there was a match between Lc0 and GM Daniel Naroditsky on Lichess. For those tho missed, here is recording of this stream on Twitch and [Lichess Blog entry](https://lichess.

Leela versus Stockfish in Lichess is coming.... will host a match between the mighty **Stockfish 10 **and Leela. It will be a 6 games match with time control of 5'+2” with ChessNetwork commentary. Games will be played on 15th December at 17:00 UTC.

TCEC Season 14. Leela promoted from 3rd division to div2....

Leela’s big journey to try to go to premier division of TCEC, has started! TCEC season 14 is running for the last couple of weeks and Leela has participated in 3rd division of it, finishing in the top position easily and now participates in the 2nd division trying to promote to 1st division.

AlphaZero paper, and Lc0 v0.19.1

As everyone has already heard, DeepMind has published a detailed paper on AlphaZero! The announcement can be found [here]( shedding-new-light-grand-games-chess-shogi-and-go/). Scroll down the announcement to get links to the full paper text as well as supplementary materials (including PGNs of games and training pseudocode).

Lc0 v0.19.0 has been released.

v0.19.0 is finally out of “release candidate” status, and now is fully released! It has been quite a long bugfixing run with 5 release candidates, but now all known issues seem to be resolved.

Where to play Leela online?

The web site where everyone could quickly play Lc0 online is currently down. But even while it doesn’t work, there are some options to play Leela online. The easiest way is to play on lichess.

Lc0 v0.19.0-rc1 (UPD: rc2) has been released.

The release candidate of a new Leela version has been released: (v0.19.0-rc1) Upd: we are releasing v0.19.0-rc2 immediately as due to mistake in the release procedure rc1 reported its version as v0.

Lc0 training.

If you are new to Leela (Lc0) Chess and have begun contributing games either using Google Cloud or some other online service or your own home computer, you may be wondering where all those games go and how training of Leela happens.

Leela beats Fire promoting to Semi-Final of TCEC Cup!

Leela in a classic drama style, promoted in TCEC Cup Semi-Finals and it will face Stockfish today! While in CCCC blitz tournament she is still at 3rd place ahead of Komodo, Ethereal and Fire and behind Stockfish and Houdini.

CCCC Blitz is running.... Leela on top 3!

CCCC blitz tournament is running and till now Leela is having a good performance being steadily on the top 3. Conditions for the tournament are: • 33 engines play a 4x Round Robin tournament with each engine that will play each other 4 times(2 with black and 2 with white) in a total of 128 games per engine, with no opening books or predefined positions used.

Draw in Chess. Some odd cases.

Chess is a game where there are 3 distinct results. White wins or black wins or it is a draw and nobody wins. Draw can achieved in many ways in Chess.

Understanding Training against Q as Knowledge Distillation.

_ Article by Cyanogenoid, member of Leela Chess Zero development team ._ Recently, Oracle investigated training the value head against not the game outcome z, but against the accumulated value q for a position that is obtained after exploring some number of nodes with UCT [[Lessons From AlphaZero: Improving the Training Target.

Leela promotes to round of 16 in TCEC Cup with 2 nice wins!

Leela after 6 consecutive draws in the series of games against Laser(division 1 engine) she won last 2 games so she promoted to next round where she will face Ethereal(premier division engine) that beat Rodent(division 4 engine) easily with 5-0 and promoted too.

Achilles heel of Chess engines.... Neural net engines and Leela the only hope!

When first Chess engines were born were very weak. First real Chess program(even though in 1912 there was a King Rook versus King solver and in 1951 Turing wrote only in paper a Chess program) was written in 1951 by Alan Turing’s colleague, Dietrich Prinz, but it was not able to play a whole game but could only solve small “mate in 2” problems.

TCEC CUP running. Leela in danger of elimination from the 1st round against Laser! UPDATE: Leela won!

TCEC Cup continues and we already know 6 engines that have promoted to next round. Leela right now has a big fight with Laser and after 4 games it is on 2-2 with 4 draws.

TCEC Cup started! CCCC variants tournament continues....

The TCEC Cup has started and 2 match pairs will be played every day. We remind that 32 engines will compete in a Knockout elimination tournament, and in each pair match, the best out of 8 games will promote to next round.

Leela wins the match series against Komodo and wins a Pawn odds game against Stockfish!

Leela won 16-14 against Komodo the 30 games match to determine 3rd position in CCCC1, while on the variants tournament she won a game against Stockfish while being handicapped having a Pawn less!

Lc0 v0.18.1 has been released.

It turned out that the version v0.18.0, that was released a few days ago, had a bug that caused it to miss tablebase wins sometimes. Because of that, v0.18.1 is released.

Contributing to Leela Chess Zero. Creating the Caissa of Chess engines....

Deepmind’s latest paper release ( Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm ) on 5 December 2017, presented a method of reinforcement learning for convolutional neural networks that its result was fantastic as they created 3 engines, one for GO, one for Chess and one for Shogi that were beating easily the best available engines of the time.

CCCC Leela-Komodo 3rd place match started and TCEC Cup is about to start.

TCEC Cup is about to start in a few days and just announced the complete pairings up to the final. Leela is on the Stockfish side and if she will promote from the first match against Laser she will probably face Ethereal in round of 16, so it will be a tough match already.

Lc0 v0.18.0 has been released.

v0.18.0 is out of “release candidate” status, and now is fully released! Can be downloaded here. It has no changes relative to RC2. For the list of differences relative to v0.

TCEC Cup in the next days!

The TCEC(Top Chess Engine Championship) tournament is currently running with engines playing in the premier division and this division will finish in a few days. But this time, after premier division end, there would not be an immediate starting of the superfinal between the top 2 placed engines in premier, but a new tournament is going to happen that Chessdom has announced, the TCEC CUP , with all engines of TCEC but in a different format, that of knockout games, one that brings in mind the traditional Cup competitions of football.

CCCC Leela-Komodo event for 3rd place and Chess variants tournament! has [announced]( to-battle-for-computer-chess-championship-komodo-vs-lc0-for-3rd) that after the CCCC superfinal between Stockfish and Houdini(Stockfish is ahead 27.5-20.5 till now) will finish, then 30 games of Komodo versus Leela will be played to determine the 3rd place.

Lc0 v0.18.0-rc2 has been released.

The “Release Candidate 2” for the Lc0 version v0.18 has been published! Available to download here. Change: Fixed a severe race condition bug when only happened when –out-of-order-eval is on (which is the default value now).

CCCC stage 2 ended. Leela 4th with a good performance! Stockfish undefeated! Computer Chess Championship stage 2 has finally ended. After a 280 games battle only the top 2 engines will continue to the superfinal. Stockfish and Houdini for a 200 games “fight”.

Lc0 v0.18.0-rc1 has been released.

The release candidate of a new Leela version has been released: v0.18.0-rc1 We expect testing phase to last around 7-10 days, after which proper v0.18.0 will be released. Download and full changelog here.

GUIDE: Setting up Leela on a Chess GUI.

Leela Chess Zero is a project started before some months inspired by Deepmind’s papers about AlphaGO Zero and AlphaZero, which is based on a new paradigm of Chess engines by not using traditional AlphaBeta search with handcrafted evaluation function but uses a variant of MCTS search called puct and for evaluation function it uses a self-taught neural network that learns by deep learning methods by playing against itself million times.

CCCC stage 2 continues.... Leela 3rd place. Missed 2 chances to beat Stockfish!

Stage 2 continues with Leela doing excellently being 3rd, half a point ahead of Komodo! ** Stockfish** continues its unbeaten run, being the only engine with no loss, stage 1 and 2 combined!

CCCC Stage 2 has started and running.....

Stage 2 of CCCC has already started before 2 days. Not without problems initially with repeating restarts but at last now it’s running flawlessly. Stockfish continues to be invincible! As it hasn’t lost a single game in the first 46 games of stage 1 plus the 15th till now in stage 2.

CCCC rounds 43,44 and 45. First stage is over!

1st stage is almost over, 1 round remains but the top 8 engines that will participate in stage 2 are known. Stockfish, Komodo, Houdini, Leela, Fire, Ethereal, Andscacs and Boot promote to next round.

TB Rescoring

While test20 runs, we are running test30 in parallel to test two ideas. First test30 uses a different method to initialize the first random net, and a slightly different LR (Learning Rate) strategy for the first few nets.

CCCC quiz. 12 impressive moves!

In CCCC there have been played some very nice games and moves till now. Can you find them? Play the move on the board and if it’s correct it will show the game continuation with a comment.

CCCC rounds 37 to 42. Leela promoted to 2nd stage!

CCCC continues and Leela , along with Stockfish , Houdini , Komodo and Fire , already has secured a place in the 2nd stage. Ethereal after a strong finish, mainly winning in the last games, has almost secured the promotion.

CCCC rounds 32,33,34,35 and 36. Leela with 5 draws and an "almost win" against mighty Komodo!

First round CCCC approaches to its end and situation is clear by now. Houdini, Komodo and Stockfish will be in top 3 advancing to stage 2, with Stockfish and Komodo to fight for the 1st place in this 1st stage, thatdoesn’t mean much anyway, Fire and Leela would most probably advance to the next round also with some minor chances of not achieving it, and Shredder, Booot, Ethereal and Andscacs will fight for the other 3 places for stage 2.

A Standard Dataset

When doing machine learning it helps to use a standardized dataset such that methods can be compared in an objective manner. For machine vision, one of the earliest standard datasets is MNIST, a set of handwritten characters that was also used in the (arguably) first deep learning paper.

CCCC rounds 28, 29, 30 and 31. Leela draws Stockfish and wins in drawn position again!

It seems Leela is hiding something that is beyond us. How else can be explained that after Fizbo a 3325 CCRL Elo engine with endgame tablebases in a dead 4-men position lost to Leela, now Leela in another dead draw position made Xiphos, a 3200 CCRL Elo engines, to lose!

CCCC rounds 26 and 27. Leela with a crazy game as also her first loss!

Leela had its first loss in the tournament after 27 games that went undefeated. It lost against Ethereal with black after she blundered in endgame. But before that, a real circus game happened in the Leela game of course again.

CCCC rounds 23, 24 and 25. Leela with 2 nice wins.

ROUND 23 Andscacs won Arasan in an important win for top8 place, while Ethereal and Booot drew their games. Top 3 continued with wins but Shredder drew. Leela took advantage of it and won against Laser so she is now alone in 4th place.

First half of CCCC ended. 23/46 rounds. Leela is 4th! Results and conclusions....

First half of the CCCC tournament has ended. It’s a 46 rounds tournament and so 23 rounds have been played. Time control is 15'+5” and engines will play all against all twice, one with black and one with white, while pondering is on and no opening books are used and 6 pieces tablebases are being used.

CCCC rounds 20, 21 and 22. Leela with 3 draws.

As it seems 6 engines will fight hard for 5 places that lead to next stage provided that Stockfish, Houdini and Komodo will have no problems to get the 3 top places.

CCCC rounds 17, 18 and 19. Leela with 2 wins and 1 draw.

CCCC continues with Houdini on the lead a full point ahead of the 2nd Stockfish. Houdini till now seems unstoppable and is killing every other engine except for the top ones.

CCCC standings, ratings and statistics after round 17. Computer World Championship continues with engines battling for the first 8 positions that would bring them to next stage. Round 17 has been completed out of 46 that will be played.

CCCC rounds 14,15 and 16. Leela draws against Crafty....

** **After another 3 rounds have completed and we reached round 16 of 46 that would be played, Houdini continues its comfortable lead being 1 full point ahead of the second.

Time management

As many of you have noticed, Leela’s thinking time allocation seems suboptimal for during the CCCC games. It almost doesn’t spend any time in the opening, and spends a lot in the endgame.

CCCC rounds 11, 12 and 13. Leela 3 draws against top opponents.

ROUND 11 This round saw Leela drawing rather not that comfortably a strong engine and currently in the top 8 engines(the top 8 of 24 engines are promoted to next round) Andscacs.

CCCC statistics.

Some statistics about Computer Chess Championship till now. Game length Frequency 1-0 =-= 0-1 1-0 =-= 0-1 All games 78 94 76 33.8% 46.2% 19.8% ** Shortest wins (White)**

CCCC rounds 9 and 10. Leela with the Knight underpromotion win!

]( ROUND 9 It was the round of draws, with only 4 games to be decided and 8 draws. All top 6 engines drew their games. Ethereal had a pleasant game as it crashed the aging Crafty while Shredder couldn’t take anything out of the opening it had and Laser had no problems so game ended a draw.

CCCC rounds 6,7 and 8....

The computer Chess championship continued with most top engines winning their games so little things changed in the top positions. Leela had a good performance winning 2 games and drawing the 3rd against the mighty Stockfish!

Leela Chess Zero - difficult positions. The new world of NN engines!

Traditional Chess engines with classic Alpha-Beta search, sometimes have huge problems with some positions that require deep planning and understanding of the position. This is because they try to search all possible moves in a position and then their replies and then all the replies of the replies, etc. They discard most moves of course with clever algorithms that prune almost all moves but a few that they focus on. With a cost of course to discard a move, not good looking at first sight, but that after many moves ahead it proves to be a very good one. Traditional engines also have a handcrafted evaluation function. That means in order to judge a position they have to rely on human rules for it, e.g bonus for Rook on open file, bonus if a Pawn is on 6th rank etc, etc.

CCCC rounds 3, 4 and 5. Leela with a beautiful win!

CCCC rounds 3 and 4 and 5 were finished. Houdini is on the lead with 5.0/5 while Leela is doing well with 4.0/5. In round 3 Leela with black against Fizbo, reached a material imbalanced position but with her King exposed she couldn’t avoid a perpetual check with a draw.

CCCC rounds 1, 2 and 3.....

CCCC continues running and we are on round 3 currently. The level of play is very high as it was expected and interesting games and positions arise.
Shredder is on the lead now with 3 points out of 3 games but other engines can reach that too(Komodo, Houdini).

Useful advice

It’s not completely relevant to Lc0, but many people who follow CCCC wonder how to disable sound.

Test20 progress

Test20 is being run for a few hours already, and several people expressed a concern that this time progress is slower then it was in previous runs. Slower progress at start is expected (per network, not that much per time), for 3 reasons:

CCCC starts. Computer Chess Championship starts today.

24 engines will participate playing all against all twice, in a double Round Robin tournament with 15 minutes for each player for the game plus 5 seconds per move increment and pondering(thinking in opponent’s time) on. There will be no opening books usage for the 1st round. Every engine will calculate all the moves by itself.
Leela will play on four Tesla V100 GPUs while the other engines on 46 threads of a 2 x Intel Xeon Platinum 8168, 2.70 GHz that has 48 logical cores and 96 threads.

The hardware is very fast, the engines belong to the top ones so the level of play will be amazing.
Every engine will play 46 games so there would be 46 rounds.
After all games are completed, the first 8 of the 24 engines will advance to round 2.

Training run reset


After the restart, the initial training of test20 (from random games) is not working as expected.

Some network properties are not going where we expected them to go (for example, it’s expected that MSE loss would suddenly drop, but it didn’t. Actually, it jumped up instead, can be followed here). Something is wrong with the training, and we are investigating.


As most of you are already aware, Leela will participate in the upcoming season of CCCC!

CCCC ( computer chess competition) is a tournament, where top chess engines compete in a different set of formats, settings and time controls on a high-end hardware. did conduct computer chess competitions in the past, but this time CCCC features a really good brand new shiny interface which will make watching it even more fun (and also this is the first time Leela participates there, that also adds fun :-P).

Lc0 v0.17.0 has been released.

v0.17.0 is out of “release candidate” status, and now is fully released!

Can be downloaded here.

Tablebase support and Leela weirdness in endgame

As it has been announced earlier, Leela has a partial endgame tablebase support now.

The support in v0.17.0 is partial only, only WDL tables are probed, but not DTZ. That means, that Leela is only able to query tablebase for positions immediately after captures and pawn moves, and for other positions it has to think by itself.

Test CCCC gauntlet with Leela is live!

As you know, we are releasing Lc0 v0.17.0 to participate in the next CCCC ( computer chess competition) season, which will be the first season with a new updated design.

Test10 learning rate has been lowered

The learning rate for the test10 training run has been lowered to 0.0002. Network id 11013 will be the first network trained with the new LR. This is the last time we lower it for test10 to squeeze some more Elo out of it.

Lc0 v0.17.0-rc2 has been released.

The “Release Candidate 2” for the Lc0 version v0.17 has been published! Available to download here.

Rule50 encoding bug is found

We had numerous issues in network encoding in the past, and now after pretty long pause we found yet another one! :) Turns out, that information about 50-move-no-capture-and-pawn-move-counter was located in wrong place in training data, so networks were trained without that information.

Lc0 v0.17.0-rc1 has been released.

The release candidate of a new version of the Lc0 engine has been released. v0.17.0-rc1 We expect to have a stable v0.17.0 release in one week, so that we can use it for CCCC.

Welcome to LCZero blog v2!

Welcome to the new Leela Chess Zero blog! The old blog is gone, and here it is, new and fresh. We will write new posts here. You can find old posts here: http://archive.

Update from LCZero core devs team on DeusX TCEC entry

Two days before start of TCEC season 13, it was revealed that “DeusX engine” is just a set of NN weights trained by Albert Silver for the Lc0 engine. The LCZero team had a very short period to analyze the situation and react to it, especially given that members of LCZero core dev team were in different timezones or on vacation, and given that even after the announcement it was not completely clear what the “DeusX engine” exactly was and which tools were used to produce the weights.