2019-04-17

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).

So, there are two command line parameters and corresponding UCI options:

  • --backend (UCI option: Backend) -- name of the backend,
  • --backend-opts (UCI option: BackendOptions) -- backend options.


While it's relatively clear what different backends do (but I list them all below with possible options), syntax backend options has always been a mystery.

So, let's talk about options syntax first:


2019-04-01

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.

Download windows binaries from: https://github.com/borg323/lc0/releases/tag/first-release
or source code from: https://github.com/borg323/lc0/tree/first-release

In order to immerse yourself to this new world, you need to select the z mode of LcZ. Running “LcZ z --help” will show all the available options. “LcZ z” will to use the default file, while to select a different file to use run “LcZ z -z name_of_the_z_file_to_use”.

Distributed with LcZ (and used by default) is an innovative, chess related, piece of interactive fiction, called “zugzwang” written by Magnus Olsson, under the pseudonym of Alfred Timpson. In zugzwang the player takes part in a chess game, participating as a pawn. The action start near the end of the match:
It has been a fierce battle, full of bold moves, daring attacks, surprising gambits and heroic sacrifices. Throughout this, you've remained at your starting point, patiently waiting for orders. But now that the metaphorical dust has settled and most pieces have been exchanged, it finally looks as if it is your turn. The White King and one of your Pawn colleagues have managed to nail the Black King with his back to the edge of the board, but they can't finish him off without help.
At this point, It is finally time for you (playing the f2 pawn) to make your move. Be very very careful, one wrong move and your side loses.

SPOILER ALERT: zugzwang also includes comprehensive chess instructions, accessible through reading the rule book the protagonist is carrying - use the “inventory” command to see it and then “read the rule book” in true interactive fiction style. Unfortunately, even this doesn’t answer our current pressing question, regarding three-fold repetitions when castling rights are present, but cannot be exercised, and then subsequently lost. See here for extensive discussion.

Several interactive fiction authors have offered to create additional content specifically for LcZ and we will be making separate announcements when available. 

Understandably, the developers are very excited. The possibilities really are endless. Some quotes:

  • “If this doesn't get us all hired by deepmind, nothing will” -- Anonymous Dev.
  • “Why do I keep getting spam messages from some person claiming to be me from the future saying I need to reject the lcZ merge commit before it is too late?” -- ditto
  • “I was going to say it is the best thing since sliced bread, but it would be too much - you need an almost in there” -- borg
  • “Listen. Understand. LcZ is out there. It can't be reasoned with, it can't be bargained with... it doesn't feel pity or remorse or fear...and it absolutely will not stop. Ever. Until you are checkmated.”
  • “Three billion human lives ended on April 1, 2019. The Survivors called the war Zugzwang. They lived only to face a new nightmare: the war against LcZ.”
  • “It now knows why you cry, but it is something it can never do.”