kirillbobyrev / pabi

🤖 [WIP] Monte-Carlo Tree Search chess engine
https://kirillbobyrev.github.io/pabi/docs/pabi/
GNU General Public License v3.0
13 stars 1 forks source link

Add support for Syzygy tablebases #240

Open kirillbobyrev opened 3 months ago

kirillbobyrev commented 3 months ago

This is crucial for datagen and self-play, and obviously the standard play.

It's possible to start with shakmaty-syzygy, but that requires position transformation from pabi's position representation to shakmaty's, which possibly requires FEN parsing (not great) or some work arounds for ensuring the correct translation. I'm not sure about shakmaty-syzygy performance, but the API and implementation look clean.

Another option is to use Fathom, which is what majority of the engines do. The problem with Fathom is that it's written in plain C and it should be used through FFI, and the API is not as nice. But the performance should be great.

It's probably best to start with shakmaty and then decide if it's worth migrating to Fathom some time down the road.