Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: MTD(f)

Author: Tord Romstad

Date: 05:23:17 07/28/04

Go up one level in this thread


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.

This, of course, makes no sense at all.  I have verified that my futility
pruning makes an enormous amount of incorrect pruning decisions (like you
would expect), and that fixing the bug greatly improves this.  But still,
for some reason, the engine plays much better when I leave the bug there.

>I use pawn=100 and I do not divide my evaluation by 4 before returning them.
>Maybe it is a bad idea but I am not sure.

I don't think you would gain much by reducing the resolution in Movei.  It's
mainly an MTD thing.

>Note that I am not sure if tactical tests will help to find it and I guess that
>the only way to know is games because it is possible that you pay the price not
>in tactical positions but in positions when you choose slightly inferior
>positional moves.

If you reduce the resolution too much, this is obviously true.  It depends
on how much you trust the accuracy of your evaluation function.  I personally
don't trust my eval to be accurate on the level of +- 3 centipawns.

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.