-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
do not change cursed wins to draws (take 2) #5814
do not change cursed wins to draws (take 2) #5814
Conversation
clang-format 18 needs to be run on this PR. (execution 12891593473 / attempt 1) |
A review by @vondele and @joergoster would be nice. And maybe @Torom could check if #3542 is handled correctly in the absence of the 50 move rule. By the way, it seems to me that the bug in 4c4e104 could have led to incorrect game play without 50mr. By assigning a dtz and rank of 0 to all winning TB moves once the root position returns |
Thanks! |
I think our two comment crossed. :) In the case of 50mr the patch is non-functional, and so #3542 should not be affected. But I have asked @Torom to check if it is also solved without 50mr. I believe it should, because 3-folds are handled exactly as in master. |
I can confirm that nothing has changed in the behavior for the case from #3542. |
I think this makes sense, maybe @joergoster has a comment on this one. |
Looks good to me. |
If Syzygy50MoveRule is false, do not calls to is_draw() need to be guarded. Also fixes a TB rootmove ranking issue in this case. closes official-stockfish#5814 No functional change
This PR adds a run for the `matecheck.py` script from the matetrack repo with the option `--syzygy50MoveRule false`. The new tests guard against a re-introduction of the bugs recently fixed by official-stockfish#5814. closes official-stockfish#5829 No functional change
This PR is an improvement upon #5805.
It fixes a bug each in #5414 and 4c4e104.
The problem in each case is that
is_draw()
has no knowledge of the UCI optionSyzygy50MoveRule
, and so its calls have to be guarded.An example position where the bug triggers is
7b/8/6b1/8/5Nk1/4K3/8/8 b - - 0 1
. I.e. master shows an evaluation ofcp 0
, while the patch correctly showscp 20000
.This PR also leads to correct PV extensions for cursed wins. Below the output of the corresponding matetrack check using the new
matecheck.py
script and the FEN collectioncursed.epd
from vondele/matetrack#130.No functional change.