-
Notifications
You must be signed in to change notification settings - Fork 79
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
Noise move picker on ProbCut #70
Comments
I've explored this in the past. If I recall the results correctly, while passing a threshold is a speedup, it causes worse move ordering for the prob cut picker. IE, when eval > rBeta, we will allow moves with negative SEE() scores -- but not they are placed at the same order as what is conventionally called a good SEE move. I will happily try again, and see what happens. Naturally, it SHOULD be |
http://chess.grantnet.us/viewTest/1547/ This was the original test, and it looks like I never followed up on the probcut part of the idea. I did however, add the noisyMovePicker version for the qsearch |
Yeah, using max would cut some moves with SEE between rBeta - eval and 0 that would be played with the current move picker. It Indeed changes the move order. |
Do you think is worth to limit the number of movements? Maybe use something like probCutMoves < LateMovePruningCounts[improving][1]? |
This has been tried -- I believe Stockfish was the first to do it in the open source world. They will try no more than 3/4 moves for a position. Original idea http://chess.grantnet.us/viewTest/2069/ is going well so far, so perhaps I will again try the limiting. |
Nice, almost passing the STC! |
Can you use noise move picker on ProbCut? Seems like you could save a static exchange evaluation call since it is already called on MovePicker with a threshold. Something like this:
initNoiseMovePicker(&movePicker, thread, rBeta - eval);
or if rBeta - eval can be negative:
initNoiseMovePicker(&movePicker, thread, MAX(0, rBeta - eval));
and remove the SEE inside ProbCut loop.
The text was updated successfully, but these errors were encountered: