Author: Tord Romstad
Date: 02:18:13 05/28/04
Go up one level in this thread
On May 27, 2004 at 07:39:37, milix wrote: >Sometimes CEBUGS are very productive and when they are >eliminated the engine's strength drops about 50-150 points. Yes. This kind of CEBUG is particulary annoying. I have a particulary annoying one in the futility pruning in my qsearch. The code for my futility pruning is similar to this: if(approximate_eval_after_move(move) < alpha - margin) Don't search this move The internal resolution of my evaluation function is pawn=128. Until a few months ago, the external resolution was pawn=64 (I divided all scores by two before returning from the static eval). A few months ago, I changed the external resolution to pawn=32. I then had to modify my search functions a lot of places, dividing by 4 where I had previously divided by 2. I forgot, however, to change the approximate_eval_after_move() function. I was horrified when I noticed that this function still divided its return value by 2 rather than 4. Of course I expected a huge leap in playing strength when I fixed this bug. Exactly the opposite happened. Fixing the bug made the engine more than twice as slow and about 100 Elo points weaker. I still don't understand why. Probably I have two bugs which somehow neutralize each other, but I cannot find the second bug. :-( Tord
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.