-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
Wrong mate scores ? #2707
Comments
@MJZ1977 this is the uci input for your case:
which yields:
however, the engine for a short while thinks it is being mated, not that it has a mate. So I don't think it is a bug, just the proper bestmove / score hasn't been found yet. I don't think this is a bug. |
Perhaps my first message was not clear. I have the same search results. But in the cutechess game with fishtest rules, SF "resigns" because it sended a mate score 3 times (even with the right and only move) and cutechess adjudicate it as "0-1" and not as a draw. |
OK, I understand now. Basically, you're saying that the scores can be really bad (mate or adjudication scores), leading to incorrectly lost/adjudicated games. That's something to consider. I've a variant patch here : https://tests.stockfishchess.org/tests/view/5ed562b0f29b40b0fc95a7d0 |
@vondele Do we have some idea of the lower bound for the number of ply searched in 1ms? |
@mstembera 1ms usually is quite a depth (easily 10 during games), I picked this only because it integrates more cleanly in the time management, without additional condition being introduced (e.g. why depth 4). It is interesting though that also this patch suggests it could be an Elo gainer to search a bit even if there is only 1 move. While that's strange at first sight, maybe it does make sense for all history tables etc, that benefit from a quick update. Edit: testing the use of a fraction of normal time in case of 1 move only: https://tests.stockfishchess.org/tests/view/5ed5e3eff29b40b0fc95a7fa |
so, testing with roughly 10% of the normal time actually passed as an Elo gainer at STC, but not at LTC (https://tests.stockfishchess.org/tests/view/5ed6a4bff29b40b0fc95a875) So, I'm inclined to go with the 1ms version (https://tests.stockfishchess.org/tests/view/5ed562b0f29b40b0fc95a7d0). @MJZ1977 what do you think about that? |
@vondele : Yes, it is OK for me the 1ms version. I think it will correct some random win/losses in fishtest and it is a good thing. It will be interessant to test the reported bug and see the difference between master and patch after the commit (for example with |
In my engine in case of an instamove (rootmoves == 1) I don't do any search and just print the evaluation of the move before. Just an idea... |
On line 72 in ucioption.cpp
we default minimum thinking time to 0ms. Should we change it to 1ms?
|
@mstembera that option is anyway wrong the way it is currently implemented. It sets the 'optimum_time()', which is still adjusted by various factors, we can easily search less than that. Prime example of course, if there is a single root move ;-). I'd rather remove than fix that option. |
@vondele OK I don't really know the use cases for that option if any. I just wanted to point it out since it seemed related. |
While debugging some SF games, I found a strange behavior with SF returning a mate score while it is a draw by repetition. Here an example
Fen :
1q3rk1/2R3p1/5p2/5P1Q/3ppP1P/4n3/6PK/2R5 b - - 2 41
You can search this position for the moment. After this, you play Nd5, Rxg7, and search again.
Fen after moves:
1q3rk1/6R1/5p2/3n1P1Q/3ppP1P/8/6PK/2R5 b - - 0 42
What is wrong is that at depth 1, SF returns a mate score in the second position. I normal fishtest game, SF will resign because it stops at first depth if there is only 1 possible move.
To correct it for the moment I just avoid exiting at depth 1 even with only 1 possible move. But this is not probably the best way to do it.
Edit: try for correction here. Passed STC [-1,5..0.5] with some ELO win.
https://tests.stockfishchess.org/tests/view/5ed4cd6ef29b40b0fc95a76b
The text was updated successfully, but these errors were encountered: