Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Futility Pruning

Author: Tony Werten

Date: 23:31:32 12/20/02

Go up one level in this thread


On December 20, 2002 at 17:40:10, Vincent Diepeveen wrote:

>On December 20, 2002 at 17:36:20, Tony Werten wrote:
>
>>On December 20, 2002 at 17:20:26, Uri Blass wrote:
>>
>>>On December 20, 2002 at 16:30:32, Vincent Diepeveen wrote:
>>>
>>>>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?
>>>
>>>I think that the definition of lazy evaluation may be a function that quickly
>>>estimates the real evaluation(not just material)
>>>
>>>The estimate can also say that the big evaluation need to be done in small part
>>>of the cases (for example you can decide that if there are no pawns near the
>>>king then king safety can get big scores so you cannot trust fast evaluation).
>>>
>>>>
>>>>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.
>>>
>>>If I understand correctly in 99% of the cases when lazy without margin was in
>>>the wrong side of the bound lazy with margin was right.
>>>
>>>I am still surprised to read it
>>>My question is if you evaluate tactical stuff like pins or forks because my
>>>opinion is that positions when positional stuff worth more than 3 pawns are
>>>rare.
>>
>>Don't forget that one side only has to be 1,5 pawn up and the other 1,5 pawn
>>down.
>
>3 pawns up or 3 pawns down. A window of 3 pawns above beta and a window
>of 3 pawns down alfa.
>

Yes, what I meant was that if material is equal and one side gets 1,5 pawn
bonusses and one side gets 1,5 penalties then 3 pawns window is already reached.

1,5 pawns bonus or penalty is easily reached, but people think 3 pawns sounds so
big.

Tony

>
>
>>Tony
>>
>>>
>>>You say that you worked 3 monthes about your fast evaluation so the question is
>>>in how many cases only material+margin of +3 is wrong.
>>>
>>>
>>>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.