Irrefutable laws of chess programming !
Posted: 21 Jan 2006, 17:00
Hi
Law 1
Take an idea that works for everyone else, implement it in your program and it will never work first time or ever !
I have just tried the late move reductions that Tord and Stuart had been talking about recently
This looked promising at first as it reduced node counts drastically but made the program play significantly worse.
Any ideas what I could do to improve that bit of code ? I have added history array variables to count nodes that score > alpha, and score>beta, but so far no other experiments have helped
Law 2
If you discover a bug that has been in your program for several months, fixing the bug is guaranteed to make it play worse!
I fixed a couple of typos while I was adding mobility code, didnt seem to help me at all. From reading the other messages here today, sounds like Naum has fell foul of this law too
Still testing, but my simple mobility code is not doing much to help either
Regards Geoff
Law 1
Take an idea that works for everyone else, implement it in your program and it will never work first time or ever !
I have just tried the late move reductions that Tord and Stuart had been talking about recently
- Code: Select all
if ((depth > 1) && !disablePruning && !weAreInCheck && (!(gen_dat[i].m.b.bits & (CAPTURE_MOVE | PROMOTE_MOVE))) &&
history[gen_dat[i].m.b.from][gen_dat[i].m.b.to].count == 0 && !checkingMove(gen_dat[i].m) )
{
if (legalMoveCount > 3)
reduction = 1;
else
reduction = 0;
}
/* history[].count is a measure of moves where score > alpha, =depth squared to be precise */
This looked promising at first as it reduced node counts drastically but made the program play significantly worse.
Any ideas what I could do to improve that bit of code ? I have added history array variables to count nodes that score > alpha, and score>beta, but so far no other experiments have helped
Law 2
If you discover a bug that has been in your program for several months, fixing the bug is guaranteed to make it play worse!
I fixed a couple of typos while I was adding mobility code, didnt seem to help me at all. From reading the other messages here today, sounds like Naum has fell foul of this law too
Still testing, but my simple mobility code is not doing much to help either
Regards Geoff