Skip to content
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

Closed
ratosh opened this issue Aug 28, 2018 · 7 comments
Closed

Noise move picker on ProbCut #70

ratosh opened this issue Aug 28, 2018 · 7 comments

Comments

@ratosh
Copy link

ratosh commented Aug 28, 2018

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.

@AndyGrant
Copy link
Owner

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 initNoiseMovePicker(&movePicker, thread, rBeta - eval);

@AndyGrant
Copy link
Owner

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

@ratosh
Copy link
Author

ratosh commented Aug 28, 2018

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.

@ratosh
Copy link
Author

ratosh commented Aug 28, 2018

Do you think is worth to limit the number of movements? Maybe use something like probCutMoves < LateMovePruningCounts[improving][1]?

@AndyGrant
Copy link
Owner

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.

@ratosh
Copy link
Author

ratosh commented Aug 29, 2018

Nice, almost passing the STC!

@ratosh ratosh closed this as completed Aug 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants