bob wrote: ↑Tue Oct 29, 2019 8:07 pm
How will that work? After completing the first move (NOT necessarily the best move) if you start on the second best move with a +/- infinity alpha/beta bound, how can the search be efficient?
I didn't make up what I posted, it was actual output from Rybka 2.3.2a, did it look efficient to you?
bob wrote: ↑Tue Oct 29, 2019 8:07 pm You did lots of pruning on this move on previous iterations, but now, suddenly, you can't due to the a/b window. So the search should take a LONG time in most positions.
But it doesn't! Believe me, I used Rybka Randomizer for almost two years, because it was better than MultiPV, and I really missed it once Rybka 3 was released, as I was forced to use MultiPV to make Persistent Hash work, and it was clearly less efficient.
bob wrote: ↑Tue Oct 29, 2019 8:07 pmEven worse, you do not yet have the BEST move since the depth=24 search can always change its best move as it goes through them...
This is MultiPV in Play Mode at fixed depth, you don't need a BEST MOVE at any point but the very end, where you just play the one with the best score (what to do in tied scores is for debate, MultiPV plays the first one found but Rebel used to play the last scored). This is only problematic in Infinite analysis (where the wanted depth isn't known so this is useless) and timed games (where you have to play a move at a given time.)
mar wrote: ↑Tue Oct 29, 2019 8:16 pm
I do something entirely different in Cheng, very simple actually and it seems to work well (I bet others do the same as well, the "lazy" approach):
- disable aspiration window if MultiPV > 1
- only do zw search to make sure it beats current worst MultiPV move as soon as I have searched first MultiPV moves (reserarching alpha, infinity if fails high to prove it makes it into k-best)
In the above position (rnbqkb1r/pp2pppp/2p2n2/3p4/2PP4/5N2/PP2PPPP/RNBQKB1R w KQkq -)
My results (1 thread, 4G hash):
depth 20 finished in 41 seconds in multiPV-1 mode
depth 20 finished in 55 seconds in multiPV-4 mode
Perhaps my search/aspiration window is crap, but I still wonder what Rybka does that it's so much slower in mpv-4 mode
Right, if this is all caused by really poor MultiPV from Rybka, a correct one might be as fast as the different strategy. I might need to dig up Stockfish PA and repeat the experiment.
Your beliefs create your reality, so be careful what you wish for.