Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Positional scores in Eval()

Author: Vincent Diepeveen

Date: 09:04:17 04/10/01

Go up one level in this thread


On April 10, 2001 at 10:25:02, Dieter Buerssner wrote:

>On April 10, 2001 at 08:58:14, Ulrich Tuerke wrote:
>
>>On April 10, 2001 at 07:05:59, Tony Werten wrote:
>>
>>>On April 09, 2001 at 23:40:21, Jon Dart wrote:
>>>
>>>>>On April 09, 2001 at 17:04:09, Vincent Diepeveen wrote:
>>>>
>>>>> An interesting thing is lazy evaluation, as the problems of it are
>>>>> very similar to futility pruning.
>[...]
>>>>> My big question was: what score to return for example if evaluation in this
>>>>> position is e and e+ 3.5 pawns <= alfa ?
>>>>
>>>>> Must one return alpha, estimated evaluation or evaluation+3.5 pawns,
>>>>> when talking about e+margin <= alfa (idem story for e-margin >= beta) ?
>>>>
>>>>I return the estimated evaluation. But I fail to see that it makes a lot of
>>>>difference. If it's below alpha, you're not going to propagate this evaluation
>>>>up the tree, anyway.
>>>
>>>With failsoft alfabeta it easily could.
>
>
>>I think that it is a bad idea to return the estimated eval here because it can
>>result in some root-value far outside the aspiration window. It would be
>>interpreted as a corresponding bound which may cause serious trouble (fail low
>>in fail high verification search for instance).
>>IMO, it's much safer to return the corresponding beta or alpha. In case of
>>traversion of this value to the root this would cause a continous re-search
>>(i.e. over a neighbour region of the original window).
>
>I also have thought about this problem. I am using fail-soft alpha-beta search.
>I agree, that returning alpha or beta is safest. Nevertheless, some limited
>testing has shown here, that returning an estimation solved the testpostions I
>used with less nodes on average.
>
>From my understanding, returning an estimation should work and be theoratically
>sound. In eval, I first check for cases, which I don't want to estimate, like
>pawn endgames, endgames where one side has no pawns, etc. For other cases, I
>more or less compute bound values.
>
>1)  material score + highest positional advantage seen for this side
>2)  material score - highest positional advantage seen for the other side

So i would need after a few ply a window

 materialscore + 20000

 materialscore - 20000

pawn = 1000.

I knew someone would again reinvent this old idea.
Only works for simplistic evals.


>where, with positional evaluation, I mean the overall positional score, that
>includes both sides.
>
>1) is compared with alpha, if <= alpha, it is returned as estimation
>2) is compared with beta, if >= beta, it is returned as estimation
>
>I also made some tests, to see how often this fails. IIRC this happened very
>rarely.
>
>Regards,
>Dieter



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.