Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Question for the MTD(f) experts

Author: Bo Persson

Date: 10:51:17 04/14/04

Go up one level in this thread


On April 14, 2004 at 04:57:01, Dann Corbit wrote:


>Picking out the hash value and moving the lookup to the end gives a bit better
>result:
>
>/* MTD(f) is an alternative search to pvs */
>int             mtdf(int f, int depth)
>{
>    int             beta;
>    int             smallest = -INFINITY;
>    int             greatest = INFINITY;
>    TranspositionEntry *entry;
>
>    do {
>        if (f == smallest)
>            beta = f + 1;
>        else
>            beta = f;           /* beta is starting with a first best guess */
>        f = AlphaBeta(beta - 1, beta, depth);

You have a problem right here, if you don't use fail-soft. The returned value
will always be either beta or beta-1.


>        if (f < beta)
>            greatest = f;
>        else {
>            int             j;
>            smallest = f;       /* performs a cut-off */

Say you got beta-1 from AlphaBeta. Then you set greatest = beta-1, and try again
with a window one single point lower. How long does it take to reach down to the
the real upper bound?


Bo Persson



This page took 0.28 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.