Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: MTD(f)

Author: Vasik Rajlich

Date: 15:42:44 06/16/05

Go up one level in this thread


On June 16, 2005 at 13:31:39, Vincent Diepeveen wrote:

>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
>

Actually I just forgot about hash effects at the next iteration. Without those,
the statement would be true .. (as far as I can see)

Vas

>>
>>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.