What?
The idea is to scale certain pruning factors based on a metric. This metric could me something along the lines of nodesLeft = timeForMove * speed;. We would scale down pruning when we have a lot of nodes left and increase pruning when we have very few nodes left.
Why?
The intuition behind this is that with a lot of nodes left to search we would preffer to have a broader, more accurate search than a super deep one with a lot of blind spots.
On slow hardware or really short time control this would sacrifice a bit of accuracy to gain a few ply in depth to play atleast decent.
The Cons
I know this will be really hard to tune because it involves even more tunable paramters but it may have huge potential.
I would like to hear your opinions about it :)
like many ideas, best tried in the form of a patch... not really an 'issue' rather and idea. So, I'll close in a couple of days.
Since I'm not too familiar with the impact of certain pruning methods maybe you @vondele could point me to a pruning method that could be reduced? And do I understand correctly that I would have to write a tuning patch and then a testing one or how does that work?
I would directly go to testing some ideas, tuning requires a bit more expertise to get all params right.
So, you create a patch and test it directly (see https://github.com/glinscott/fishtest/wiki/Creating-my-first-test).
I would check if there is still time left, and if so try tweaking some of the search parameters. For me late move reduction (LMR) would be the first place to try. It is already a bit of a more difficult patch, since it requires some communication between time management and search. To make it easier for you to start, I've made one example here:
https://tests.stockfishchess.org/tests/view/5ef0823f122d6514328d7699
(Actually, this example is only correct for the single-threaded case, but it can be easily adapted if it would be successful).
I have created a new test with the proper setup for the multi-threaded case, use that for future work:
https://tests.stockfishchess.org/tests/view/5ef0a980122d6514328d76b3
Another problem: In 10 second games (STC test) there will never be enough time and speed to reduce pruning.
One tests passed STC but is about to fail LTC:
https://tests.stockfishchess.org/tests/view/5ef4da05de213bf647527cac
I think the idea could be explored further, but as said before I'll close this issue. Feel free to experiment on fishtest.
Most helpful comment
like many ideas, best tried in the form of a patch... not really an 'issue' rather and idea. So, I'll close in a couple of days.