Computer Chess Club Archives




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

Author: Tord Romstad

Date: 02:16:23 04/15/04

Go up one level in this thread

On April 14, 2004 at 19:54:38, rasjid chan wrote:

>I am now using the the simplest mdtf, nothing except adding about
>10-20 lines at the root-search and it seems to work equally well as
>my aspiration/pvs.

Your aspiration/PVS was probably still rather clean and simple.  For a
complex, highly developed and very efficient PVS search, changing to
MTD would be a big and difficult rewrite.  There is a considerable amount
of tricks and techniques which work well with one algorithm and not with
the other.

If you take a big and complicated PVS engine like Crafty and change it to
use MTD, I think you would need several months to make it anywhere near
as efficient as the current PVS search.

>I have fail-soft, hash TT with 1 bound, only step +/-1.

That's one of the reasons why you only had to add 10-20 lines of code, of
course.  :-)

>I don't need to change anything(yet)in other parts of my program. The
>same hashing remains. But as Vasik mentioned before, it is crucial to
>mdtf that fail-soft is w/o bugs and CORRECT. I think routinely
>failing/hashing outside bounds itself may not be sufficient.

This depends on your definition of sufficient, of course.  I still use a
quick and dirty fail-soft which I wrote in a few minutes without even
thinking.  I am sure it is nowhere near perfect, and this discussion has
convinced me that I should take a look at it and see if I can find any
improvements, but I find it hard to believe that I would get a big leap
in playing strength by doing this.  My quick and dirty fail-soft seems
to be doing OK.

>I have not yet examine if other things need to be changed to make mdtf
>efficient.I guess most who try mdtf will abandone it as it usually will be
>clearly slower.

If you already have a well-oiled and highly optimized PVS, this is probably
correct.  But if you haven't yet reached that stage, I would claim precisely
the opposite.  It is much easier to write an efficient MTD(f) than an
efficient PVS.


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.