Author: Robert Hyatt
Date: 21:02:48 03/30/04
Go up one level in this thread
On March 30, 2004 at 15:00:15, Artem Pyatakov wrote:
>Does anyone else care to comment about how they implemented the killer heuristic
>in their engine? Or is everyone else doing the same exact thing as Crafty?
>
>I definitely think the question is worth revisiting (for instance using killers
>from all plies), because the results I have from trying to use ply-4, ply-2,
>ply, and ply+2 are very, very encouraging.
>
>Maybe someone with a stronger amateur engine could try this idea too? If you are
>already doing what Crafty is doing, it should be trivial to make changes.
>
>For instance, I have something like this now:
>
>if (curMove->move.bits==game->ply [ply].killer.move1.bits ||
> curMove->move.bits==game->ply[ply].killer.move2.bits) {
> curMove->priorityScore+=KILLER_MOVE_BONUS;
> continue;
>}
>
>if (curMove->move.bits==game->ply[ply+2].killer.move1.bits ||
> curMove->move.bits==game->ply[ply+2].killer.move2.bits)
>{
> curMove->priorityScore+=KILLER_MOVE_BONUS;
> continue;
>}
>
>if (ply >= 2)
>if (curMove->move.bits==game->ply[ply-2].killer.move1.bits ||
> curMove->move.bits==game->ply[ply-2].killer.move2.bits)
>{
> curMove->priorityScore+=KILLER_MOVE_BONUS/2;
> game->stats.extraCounter1++;
> continue;
>}
>
>if (ply >= 4)
>if (curMove->move.bits==game->ply[ply-4].killer.move1.bits ||
> curMove->move.bits==game->ply[ply-4].killer.move2.bits)
>{
> curMove->priorityScore+=KILLER_MOVE_BONUS/4;
> game->stats.extraCounter2++;
> continue;
>}
>
>Artem
I don't like the way it appears to be implemented. I try the killers _before_ I
generate any non-captures. That is the only reason I use them, as it provides a
cutoff with zero move generation costs... Your code suggests some sort of
in-place sorting which I would want to avoid...
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.