Computer Chess Club Archives


Search

Terms

Messages

Subject: Killer heuristics in other engines?

Author: Artem Pyatakov

Date: 12:00:15 03/30/04

Go up one level in this thread


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



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.