Author: Scott Gasch
Date: 17:03:21 12/06/00
Go up one level in this thread
>First a question about history heuristics: Should I clear or decrease the >counters after a search. Now I do nothing. I just add history value to all non >capturing moves and increase the counters by depth if I find a move whose >score>alpha. You certainly need to clear the history table sometime. What happens when one entry overflows? If you don't ever clear your history table your move ordering is going to get really funky. History is a move ordering heuristic... because a move made 20 turns ago was good has nothing whatsoever to do with that move being good now. Keep the history table between iterative calls to search, sure... but don't keep it between moves, in my opinion. >How do killers work? More precisely when do I replace a killer move by another? >If I have two killers at each ply with counters should I replace allways the >lowest one? And after the search should I make all ply 1 killers ply 0 killers >and so on? A killer move is a great move at this ply. Like promoting a pawn or checking the king. THe idea is that you want to try this move again at the same depth in another branch of the tree earlier (and therefore cutoff earlier in the other branch). I do not make capture moves killers because, as Bob Hyatt said, captures are often not repeatable at different branches of the tree. I make any non-capture that results in a beta cutoff a killer move for its ply. I keep 2 killer moves and order these first before all other non-capture moves. I clear killer moves between top-level calls to Think (iterative search). Your numbers for an 8 ply search of that position look sane. Good luck, Scott
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.