Author: Eric Oldre
Date: 13:08:01 08/19/04
a few nights ago i tried a idea i had for ordering quiet (non-capture) moves.
here is my original ordering scheme:
1) hash move
2) winning captures (SEE > -.2: ordered by SEE)
3) killer moves (non-captures)
4) rest of moves, by SEE value.
what i tried adding was:
1) hash move
2) winning captures (SEE > -.2: ordered by SEE)
3) killer moves (non-captures)
4) quiet moves that attack the space left behind by opponents last move (and
don't have a bad SEE score)
5) rest of moves, by SEE value.
the code for number 4 looked something like this.
//once per ply.
chessmove lastmove = board->hist[board->moves_made_since_init-1].move_made;
chesspiece lastpiece = MovePiece(lastmove);
chessposition lastmovefrom = MoveFrom(lastmove);
chessposition lastmoveto = MoveTo(lastmove);
U64 lastmoveattacks = AttacksFromPiece(board,lastmoveto,lastpiece);
U64 lastmoveleaves = AttacksFromPiece(board,lastmovefrom,lastpiece) &
~lastmoveattacks;
//for each non-capture that doesn't have a SEE < -.4
U64 newattacks = AttacksFromPiece(board,moveto,movepiece);
if(newattacks&lastmoveleaves){
//meets criteria for search after killers
}
using this technique gave me about a 4% reduction in my tree size,
when searching to a set depth in the first 50 positions of ECM.
of course there was an overhead in the calculations, which happened to
slow the program down just enough to make the time-to-depth measurement
pretty much the same. less than .3% difference.
for now I am going to take it out of my program and concentrate on other, bigger
picture items.
but I may come back to it someday...
I also suspect that running the tests on a less tactical set of positions may
improve
the performace difference also.. any thoughts?
Eric
PS... for those that may have thought where i got this idea from, it was from
watching the josh watzkin annotated games in CM9000. he seems to mention
attacking the "space left behind" by the opponent a lot in his commentary.
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.