Killer moves (ply or depth?)
Posted: Thu Jul 23, 2009 1:41 am
Hi,
A quick question about killer moves. What I do is each time I find a move that moves the score above beta (and that is NOT a capture) I store it in an array indexed by search depth. When It comes to move ordering I tend to put those moves a bit higher in the list so that I (hopefully) search them earlier.
My question is killer moves should be indexed by ply and depth not just by depth?
In other words, lets say when searching first move (ply = 0) I find a good move at depth 3 that moves the score above beta so I store it at killers[ply+depth] (so killers[3]). That means next time I need to search for a move, when it my turn, I should find this move (hopefully) at ply=2 and depth 1 (again killers[3]). At the moment I am not taking ply into calculation but I think that is wrong.
Do I understand this correct?
Regards,
Vlad.
A quick question about killer moves. What I do is each time I find a move that moves the score above beta (and that is NOT a capture) I store it in an array indexed by search depth. When It comes to move ordering I tend to put those moves a bit higher in the list so that I (hopefully) search them earlier.
My question is killer moves should be indexed by ply and depth not just by depth?
In other words, lets say when searching first move (ply = 0) I find a good move at depth 3 that moves the score above beta so I store it at killers[ply+depth] (so killers[3]). That means next time I need to search for a move, when it my turn, I should find this move (hopefully) at ply=2 and depth 1 (again killers[3]). At the moment I am not taking ply into calculation but I think that is wrong.
Do I understand this correct?
Regards,
Vlad.