lila-tablebase: Syzygy tablebase server

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

niklasf
Posts: 42
Joined: Sat May 16, 2015 11:41 pm

lila-tablebase: Syzygy tablebase server

Post by niklasf »

https://github.com/niklasf/lila-tablebase: This is a Syzygy tablebase server that I created as a backend for https://syzygy-tables.info and https://lichess.org/analysis#explorer.

It is intended for remote access to tablebases. (Obviously not for low latency access in engines).

For the last 3 months it has been answering about 10 requests per second without issues, so it should be reasonably solid if anyone else wants to try it.

Currently requires nightly Rust to build.

Features:

* HTTP API (JSON)
* Recovers from intermittent I/O errors
* Supports 7-piece tables
* Chess variants: Standard, antichess, atomic
* Optionally probes Gaviota tablebases for DTM information in 5 piece positions (uses libgtb)

There is also a publicly accessible instance: https://tablebase.lichess.ovh/standard? ... _w_-_-_0_1 (documented on the project page).

Is this something that might be useful for adjudication (as opposed to copying tablebases everywhere)?
noobpwnftw
Posts: 560
Joined: Sun Nov 08, 2015 11:10 pm

Re: lila-tablebase: Syzygy tablebase server

Post by noobpwnftw »

It is already the most handy API around, nice work.

Not only it can be used for adjudication, it can also be used to play the games in absence of local DTZ tables when a tablebase position is reached because in most cases where you play engine games, adjudication by tablebase is not available.

I used to suggest a UCI command extension that tells the engine about tablebase moves in forms like "go depth 20 egtbmove a1a2", when it cannot find mate by itself(in case there is no DTZ tables available) then just return the given move.

Also it is possible to handle opening moves similarly because there are many cases where people already have those positions analyzed to some extent that renders local search not necessary.

In 2019 everything runs on cloud. :D
User avatar
hgm
Posts: 27798
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: lila-tablebase: Syzygy tablebase server

Post by hgm »

In the philosophy of UCI the engine should not be bothered with this, and the interface should take care of it. There also seems to be little point in letting the engine think to reproduce an already known result, and discard what it gets when it doesn't. You might as well play the EGT move immediately.

But if this is desired it would be easy enough for the interface to set the engine thinking, and when it doesn't return a mate score in a position that is won according to the EGT play the best EGT move instead. Then it would work automatically for all existing engines.