Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Futility Pruning

Author: Vincent Diepeveen

Date: 10:48:15 12/20/02

Go up one level in this thread


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.

the baron is based upon 2002 principles. Last tournament Darkthought played
was in 1999. I bet on The Baron in case of a match Darkthought - TheBaron.

As far as i know (from Peter Gillgasch some years ago who programmed
Darkthought AFAIK) Darkthought is
singel cpu in alpha assembly. Perhaps Ernst can tell us more here.

So you'll have a bit faster hardware too in case of such a match.

>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. After a little test what futility pruning and lazy eval were giving me I
>decided that it was just too little to risk the problems above. From 0.99.4
>(beta 3) on lazyeval and futility pruning (including extended fut.pruning and
>lim. razoring as described by Heinz) are no longer used. Instead I increased the
>number of search extensions I have. The result of this: Searching 1 ply less,
>but searching deeper ...
>
>Richard.



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.