# Computer Chess Club Archives

## Messages

### Subject: Re: MTD is a big disaster

Author: Dan Homan

Date: 20:57:13 07/20/99

Go up one level in this thread

```On July 20, 1999 at 20:35:49, Vincent Diepeveen wrote:

>On July 20, 1999 at 11:25:07, Dan Homan wrote:
>
>>On July 20, 1999 at 08:52:18, Vincent Diepeveen wrote:
>>
>>>
>>>Let's however write down some facts why my prog is unhappy with MTD.
>>>It's up to others to generalize it to their progs:
>>>
>>>  - the huge number of researches needed. In DIEP my evaluation is nowadays
>>>    in 1/1000 of a pawn. For a long time i had 1/200 of a pawn (in the time
>>>    i experimented with MTD), but now i have 1/1000 of a pawn. So a drop
>>>    of 0.20 pawn, which is a normal drop in DIEP, is in fact a drop of 200
>>>    points. Happy researching!
>>
>>Even if the score dropped a whole pawn (1000 points in DIEP), this would
>>only be 10 or 11 zero-width searches (2^10 = 1024) assuming that you
>>bound the score in an efficient manner.  Also,  I can understand having
>>a high resolution within the eval routine itself, but does it really help
>>to have the output of the eval be in 1/1000 pawn units?  I wouldn't trust
>>the sum total of any eval routine to 0.001 pawns! Maybe you could
>>output the total eval in units of 1/100 of a pawn (or even less).
>>
>>Actually, that is an interesting question.  Does anyone know what the
>>optimum eval unit is for searching?  I am talking here only about what
>>the eval outputs - not the unit used internally for calculating the eval.
>>I know that most programs use the same unit for both purposes, but I
>>wonder if that is really optimum.
>
>Every time i get to a draughts tournament i have to laugh a little when
>playing a certain program. It has a stone at 1000 points worth,
>yet he has no positional eval in 1/1000 of a stone. Only in 1/10 of a
>pawn. So he's either at +0.100 or -0.100 or a multiple of that.
>
>If you only count material in chess
>you can of course simply use 10 for a pawn.
>a pawn = 1, knight=3,bishop = 3, rook=5, queen=10
>and you're ready. MTD will rock i bet.
>and end the game with a window -100.
>

My question was serious.  I have a way of going from one idea
to another - sorry about that.  I started by pointing out that
you didn't need to do as many researches as you thought, to
wondering what benefit you got from using 1/1000 of a pawn
during your search, to the general question of whether it
is a good idea to use different eval resolutions internal
to the eval routine and when you return a value to the search.

I wasn't suggesting anything as crazy as setting the eval
resolution as coarse as one pawn.  What I was curious about was
whether the search was improved by having you eval output results
in 1/1000ths of a pawn.  I can understand the benefit of having
1/1000 internal to the evaluation routine - this way small
positional benefits can add up to something significant, but
might is it useful to return the value to the search with
less resolution than 1/1000th?  Do you see what I mean here?

Lets say the eval works in 1/1000 units.  Add all the scores
up for pawn structure, king safety, piece placement, etc...  Now
we have a total score in 1/1000 units of a pawn, but do we trust
this total score to this accuracy?  Should we return this raw score
directly to the search or should we round it down to 1/100 of a pawn
or perhaps even less?  Is there benefit in keeping the 1/1000
resolution when we return the total score to the search?  Is there
benefit to the searching routines in rounding the score down to a
coarser resolution?

I don't know the answers to these questions.  I tried it briefly with
my program (which works in 1/100 of a pawn normally) by simply
bit shifting the eval result so the resolution was 1/25 of a pawn.
I noticed a (small) speed-up in the search, but I worried that this
resolution was too coarse and took the changes out.

- Dan

>
>Sorry to bother you, forgot the name of your program and the number of
>nodes a second you get with it.
>
>
>
>> - Dan

```