Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: MTD(f)

Author: Vincent Diepeveen

Date: 10:31:39 06/16/05

Go up one level in this thread


On June 16, 2005 at 05:22:26, Vasik Rajlich wrote:

>On June 15, 2005 at 22:40:22, Tor Alexander Lattimore wrote:
>
>>Hi
>>Is it possible to use a single variable in the MTD(f) search? Something like
>>this:
>>
>>int MTD(int depth, int guess)
>>{
>> if (depth<1) return Evaluate();
>> MOVE move_to_search;
>> int best=-INFINITY;
>> GenMoves();
>> while (GetNextMove(&move_to_search))
>> {
>>  PlayMove(move_to_search);
>>  val = -MTD(depth - 1, -guess + 1);
>>  UnPlayMove(move_to_search);
>>  if (val>best)
>>  {
>>   best=val;
>>   if (val>=guess)
>
>You missed a line here. Fail-hard is "return guess", fail-soft is "return val".
>
>Fail soft helps when you need to re-search, so it helps more in MTD (f) than
>PVS, and doesn't matter at all in pure alpha-beta.
          ^^^^^^^
I guess you meant a small typo here. doesn't ==> does

>
>Vas
>
>>  }
>> }
>> return (best);
>>}
>>
>>perhaps there is something very wrong with this? or perhaps it's used already, I
>>just noticed that on Aske Plaat's site he always uses an Alpha-Beta search with
>>0 width windowed searches, but doesn't this do the same thing? Is using
>>fail-soft type algorithms used in MTD(f) since it could well help zoom into the
>>correct score sooner?
>>
>>Cheers
>>Tor



This page took 0.01 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.