If the TB shows a win during the search, the position should simply be scored as a win very much like how a mate is treated and the engine should not search that branch any further.Vinvin wrote:As a generalization : each time it's SF side to move only select best moves (win or draw) from TB and add +20 to score if winning (and divide by 20 when it's draw). This not only on root ...zamar wrote: ...
To implement this for Stockfish, one could do following:
- Stockfish maintains a RootMoveList (a list of moves that are searched).
- If we have a tablebase position at root, check which moves preserve the win/draw. Remove other moves from root move list.
- Let the search run as usual.
This would result in "natural" play without ever losing a win/draw. It might not be optimal from time management perspective though.
Unofficial stockfish 28.04.2013 with rtb tablebases support
Moderator: Ras
-
- Posts: 5697
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Unofficial stockfish 28.04.2013 with rtb tablebases supp
-
- Posts: 5290
- Joined: Thu Mar 09, 2006 9:40 am
- Full name: Vincent Lejeune
Re: Unofficial stockfish 28.04.2013 with rtb tablebases supp
And how to chose a move when there are a lot of moves who lead to a DTC ?syzygy wrote:If the TB shows a win during the search, the position should simply be scored as a win very much like how a mate is treated and the engine should not search that branch any further.Vinvin wrote:As a generalization : each time it's SF side to move only select best moves (win or draw) from TB and add +20 to score if winning (and divide by 20 when it's draw). This not only on root ...zamar wrote: ...
To implement this for Stockfish, one could do following:
- Stockfish maintains a RootMoveList (a list of moves that are searched).
- If we have a tablebase position at root, check which moves preserve the win/draw. Remove other moves from root move list.
- Let the search run as usual.
This would result in "natural" play without ever losing a win/draw. It might not be optimal from time management perspective though.
-
- Posts: 5697
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Unofficial stockfish 28.04.2013 with rtb tablebases supp
Choosing a move is only important at the root.Vinvin wrote:And how to chose a move when there are a lot of moves who lead to a DTC ?syzygy wrote:If the TB shows a win during the search, the position should simply be scored as a win very much like how a mate is treated and the engine should not search that branch any further.Vinvin wrote:As a generalization : each time it's SF side to move only select best moves (win or draw) from TB and add +20 to score if winning (and divide by 20 when it's draw). This not only on root ...zamar wrote: ...
To implement this for Stockfish, one could do following:
- Stockfish maintains a RootMoveList (a list of moves that are searched).
- If we have a tablebase position at root, check which moves preserve the win/draw. Remove other moves from root move list.
- Let the search run as usual.
This would result in "natural" play without ever losing a win/draw. It might not be optimal from time management perspective though.
-
- Posts: 79
- Joined: Mon May 16, 2011 2:52 am
Re: Unofficial stockfish 28.04.2013 with rtb tablebases supp
Salut Ernest,
There is still some work to have the tablebases work properly in stockfish ; I will include a non-popcount/sse version in the next release
There is still some work to have the tablebases work properly in stockfish ; I will include a non-popcount/sse version in the next release

-
- Posts: 5697
- Joined: Tue Feb 28, 2012 11:56 pm
Re: Unofficial stockfish 28.04.2013 with rtb tablebases supp
Done.syzygy wrote:In my private engine I have now implemented a more sophisticated handling of the root position which seems to be working quite nicely. I'll try to port it to Stockfish, but it will take a few days before I have time.Marek Soszynski wrote:To be fair, this early Stockfish-rtb is more a proof of concept than a fully practical engine.
If Jean-François has time, he can integrate the changes into his tree and make a new compile.