No, that won't help. What Ras is pointing out is by the nature of alpha-beta search (and even more so NegaScout or PVS), the only thing we learn about other moves is that their scores are not better than the score of the best move, but we don't know by how much. Of course one could do additional null-window searches to establish the 50cp difference. At depth 6 this isn't very costly at all.flok wrote: ↑Fri Oct 19, 2018 9:06 pmWhat about looking up all the other moves (besides the best move) in the transposition table?Ras wrote: ↑Fri Oct 19, 2018 8:34 pmHow do you get the score for second best in ID? Do you always perform multi variant analysis? I think the second best (and all others) will just fail low after alpha has been established by the first move.In Shokidoki I consider a move easy if there is at least a 300cP gap between its score and that of the second-best move, in all iterations.
My old program Ruy-López had an easy-move heuristic, where I established the difference in score was large at depth 1, and then I would remove the easy-move flag if another move became best at any time. The effect of the flag was allowing only a small fraction of the usual time per move to be spent (1/20th, I believe). In some versions I think I also required that some large fraction of the search time was being used in the first move (meaning that it's easy to prove the other moves are inferior).
However, in my newer program RuyDos I don't do this. That's because Ruy-López would clear the hash tables between moves, and then the checks I described above make sense. In RuyDos the hash table is not cleared between moves, which means I don't gain any information about how consistent the results of the searches at different depths are, because all the low depth searches get short-circuited by hash-table data.
