Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: MTD(f)

Author: Robert Hyatt

Date: 17:44:46 01/07/01

Go up one level in this thread


On January 07, 2001 at 16:38:50, martin fierz wrote:

>hi,
>
>i just implemented an MTD(f) search for my checkers program instead of my usual
>PVS/NegaScout - it seems to be about same good. in my hashtable i only store the
>value and valuetype, and i noticed that in aske plaat's MTD(f) description he
>stores both upper and lower bounds in the hashtable. i couldn't figure out a
>reason to do this - can somebody enlighten me? i tried in vain to construct some
>sequence of null-window calls which MTD(f) might do where it would be of use to
>save both bounds, but maybe i'm just missing something simple here?!
>
>cheers
>  martin


The reason is this:  when you search with mtd(f), you bounce around searching
a null-window on either side of the _real_ value.  When you bounce high, you
get a tree where ply=2 moves all fail low.  When you bounce low, you get a
tree where all ply=2 moves fail high.  If you save both bounds, you don't get
horribly inefficient when you bounce from below the true score to above the
true score, and vice-versa.

It prevents overwriting something that might be critical the next search.



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.