Author: Robert Hyatt
Date: 10:20:42 06/24/98
Go up one level in this thread
On June 24, 1998 at 03:23:59, JW de Kort wrote: >HI, > >thanks every one for the replies to my question. But i do still have >a question on the killer moves. "What excectly is a killer", stated >differently; where doe i put the killer code in my alpha-beta (pvs) and >how do i decide that a move is a killer. From what i have read about this >i conluded that the killer on e.g ply 2 is the most recent move to couse >a beta cuttoff on the same ply in an earlier branch of the ree. Is this >correct, and if so does good killers get trown away very early by using >this approach? > And furthermore; some one -i appologise for not rembering his name- >wrote that a killer move is placed first in the list of move generated. Is >the killer move not supposed to be tried before generating the move list >in order to be able to skip time consuming making of the move list? > >Any help -again- highly appriciated > >Jan Willem This is easy. At the point where you are fixing to return(beta) after you notice that your returned search value is >= beta, you call Killer() which will enter the move you just played into the killer move list, assuming it is not a capture. Don't enter captures, because you will try captures before killers anyway and it would be a waste of time. At the bottom of Search() after you have searched all moves, and the best score is > alpha, and < beta, which means this is not a fail-low node, you also call Killer() passing it the move from the PV at the current ply, as this is the best move to try in this position. If this is a fail-low node, there is no "best" move as all were bad. So that is the only case you don't do this, where, after searching all moves, your best score is still == alpha. Just return(alpha) normally.
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.