zamar wrote:
I wonder if you tried instead of skipping the rest of the moves to make a research with bigger depth after fail high(like you do after fail high in case of late move reductions)
There is going to be no difference in the score of the move that fail high but the rest of the moves are going to be searched with smaller depth.
In the next iteration you can simply skip the first move.
I've consider sth like this, but never tested it. It should not be too hard to implement, we could save the search depth for each root move separately. One question remains open: how to handle multiple fail-highs in row?
Yes this is an interesting problem:
First move at depth 12 fails high, so research with a wider window at depth 13 and suppose move returns score v that becomes our new alpha.
Now we do a zero window search of all the other moves at depth12 and one of them fails high.
What to do ? we trust the search at depth 13 or a failh high but at depth 12 ?
If we adopt the same logic used for hash table we should discard the fail high at depth 12 and continue, but then, the next natural question is why do we search the remaining moves at depth 12 if in any case we don't trust a possible fail high ?
In this case we should better skip the remaining moves at depth 12 altoghter and jump directly at depth 13....in this case we end up exactly in how is now implemented the fail high policy.
So the bottom line is that further developinng the idea of Uri we end up rediscovering the idea of Joona.
