Author: Uri Blass
Date: 05:55:25 07/28/04
Go up one level in this thread
On July 28, 2004 at 08:23:17, Tord Romstad wrote: >On July 28, 2004 at 07:06:22, Uri Blass wrote: > >>How much rating do you earn from dividing the evaluation by 4. > >I no longer remember exactly, but I think it was quite a significant >improvement. However, it is possible that the improvement is mostly explained >by a horrible futility pruning bug I introduced while doing the change. For >some reason, this bug seems to make the engine much stronger, and all attempts >to fix it have had catastrophic results. > >The bug is the following: > >In the qsearch, I prune futile captures with code that looks roughly like >this: > >if(approximate_eval_after_move(move) < alpha-margin) > prune move > >The approximate_eval_after_move() function takes the static eval of the >current position and adds the change in material and piece square table >scores when the move is made. When I changed from pawn=64 to pawn=32, >I forgot to modify the approximate_eval_after_move() function. This >function still divides by 2 rather than 4, and returns scores with >unit pawn=64. If I understand correctly your function give twice the expected value instead of giving the expected value. I guess that alpha is near 0 during the game. Let assume that margin is near 1 pawn If approximate_eval_after_move(move)<-1 pawn was planned. If 2*approximate_eval_after_move(move)<-1 pawn was done. In other words If approximate_eval_after_move(move)<-0.5 pawn was done. I suspect that it may be better to correct the bug and also divide margin by 2. Did you try it? Uri
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.