Computer Chess Club Archives




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

Author: rasjid chan

Date: 07:56:39 04/15/04

Go up one level in this thread

On April 15, 2004 at 05:16:23, Tord Romstad wrote:

>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 only know Crafty's code is complicated and that's why I never need to
look at it so I don't suspect yet what a true PVS engine means.
My engine is probably too simple to mention and I start to learn
only very recently in this forum new things not found elsewhere.
As for tricks, I almost know next to nothing so how can mdt(f) be difficult
for me. I have :-

if (mdtf){
 //so easy,  20 - 40 lines
 //choose PVS - normal

>>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 or Vasik could be wrong to think mdt(f) need a good fail-soft
and the final arbiter is TESTING; but you should know what testing
means... . Presently, I will just use intuition rather than rigorous
test and see if I can improve on it later.

Best Regards

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