Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Futility Pruning

Author: Vincent Diepeveen

Date: 13:30:32 12/20/02

Go up one level in this thread


On December 20, 2002 at 12:02:23, Uri Blass wrote:

>On December 20, 2002 at 11:26:28, Richard Pijl wrote:
>
>>On December 20, 2002 at 10:54:01, Vincent Diepeveen wrote:
>>
>>>On December 20, 2002 at 08:23:59, Russell Reagan wrote:
>>>
>>>No futility is 100% different from lazy evaluation.
>>>
>>>Futility in fact selects less moves (in qsearch)
>>>based upon alfa or beta and lazy evaluation gives
>>>back a quick score a lot of the times.
>>
>>They are still related in a sense that both 'cut-off' the work to be done by
>>saying that it can't get good enough to improve alpha, so better stop working on
>>it.
>>>
>>>If you search a ply deeper a futile pruned move should not
>>>get pruned, whereas a lazy evaluated position will give problems
>>>no matter what depth you search.
>>>
>>>In contradiction to draughts where everything is seen fullwidth,
>>>in computerchess the effect of futility can be very bad too,
>>>because last 3 to 4 plies (R=2 versus R=3) the qsearch is returning
>>>back a score instead of a full search.
>>>
>>>If that misses major problems then you are in trouble.
>>>
>>>The argumentation of Heinz that futility is correct, is using the
>>>assumption that an evaluation doesn't get a big score for positional
>>>matters. The problem is that todays top programs do give big scores
>>>though.
>>
>>Although Baron is not a top program yet I'm starting to feel this.
>>To be sure that the wrong nodes aren't getting pruned I wrote a little piece of
>>test code. It returned the highest difference it found between the lazyeval
>>score and the full eval score (but not with passers on the board, and not in the
>>endgame). I added 20% to this and that was the threshold used for both lazyeval
>>and futility pruning. It turned out that with every release of the Baron this
>>value increased.
>>Now I'm working on 0.99.4 and the margin was getting very large, more than 5
>>pawns.
>
>I think that it may be interesting to see the position that you talk about
>
>When do you see a difference of more than 4 pawns between the static evaluation
>and the lazy evaluation?

define lazy evaluation in this case. Just material component or
a function that quickly estimates lazy eval?

Note that just a diff of > 4 pawns is not interesting, only when it
would modify alfa or beta it is;

if lazy eval is 2 pawns white up and actual score is 3 pawns white up
and beta is 1.5, then obviously it is not interesting. A cutoff is
a cutoff, isn't it?

Idem for <= alfa.

The interesting thing is when your quick eval with a margin is
at the other side of the bound (alfa or beta) than the real eval.

In diep i produced a big graph and found out that 1% was wrong.

>I can imagine positions when the positional score is more than 4 pawns but I
>think that in these positions there are easy ways to detect a suspect that
>something is wrong also in a fast evaluation.



>Uri



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.