ChessUSA.com TalkChess.com
Hosted by Your Move Chess & Games
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

How to get futility pruning to work?
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions Flat
View previous topic :: View next topic  
Author Message
Vincent Diepeveen



Joined: 09 Mar 2006
Posts: 1738
Location: The Netherlands

PostPost subject: Re: How to get futility pruning to work?    Posted: Sun Mar 11, 2012 5:01 pm Reply to topic Reply with quote

micron wrote:
diep wrote:
Futility pruning is highly risky. If you test it well it will for most programs not work at decent time controls of course as compared to other forward pruning methods which prune more and better.

Certainly I found it a difficult and unrewarding feature to implement.
First there's the speed hit (and consequent Elo loss) from deciding whether each move is prunable.
Next, there's a loss of Elo due to pruning moves that would have given a cutoff. Thanks to Don for pointing out this loss can be quantified by fixed-depth matches.
Those losses have to be more than compensated by the improvement in average time-to-depth.

Also, it's not easy to tune the futility margins, partly because of the shape of the curve, but chiefly because the peak is Not Very Many Elo High.
Code:
Elo       + +
        +    +
0  - - + - - - + - - - - - - - -
      +         + + + + + + + + +
     +
    +
       FUTILITY_MARGIN


diep wrote:
For futility pruning basically you can easily prove that one needs really lots of chessknowledge in the futlity decision

Yes, indeed. Really intelligent pruning would allow the margins to be set lower, thus improving time-to-depth. There's a limit on what you can do; preventing, for instance, forks from being pruned would be nice but too complicated and time-consuming.

I have two bitboards (myAttacksTo and oppAttacksTo) with which some pruning decisions can be made a little more intelligent. Even so, futility currently gives me no more than 20 Elo.


note that +20 elo is a lot. For diep it's around -150 elo if i use futlility last 3 ply.

Vincent
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Display posts from previous:   
Subject Author Date/Time
How to get futility pruning to work? Robert Purves Mon Mar 05, 2012 5:16 am
      Re: How to get futility pruning to work? Ferdinand Mosca Mon Mar 05, 2012 6:24 am
      Re: How to get futility pruning to work? Don Dailey Mon Mar 05, 2012 1:52 pm
            Re: How to get futility pruning to work? Robert Purves Mon Mar 05, 2012 10:16 pm
                  Re: How to get futility pruning to work? Don Dailey Mon Mar 05, 2012 10:42 pm
                        Re: How to get futility pruning to work? Robert Purves Wed Mar 07, 2012 11:40 pm
                              Re: How to get futility pruning to work? Ferdinand Mosca Thu Mar 08, 2012 4:30 am
                                    Re: How to get futility pruning to work? Robert Purves Thu Mar 08, 2012 8:55 am
                        Re: How to get futility pruning to work? Ferdinand Mosca Thu Mar 08, 2012 4:36 am
            Re: How to get futility pruning to work? Vincent Diepeveen Thu Mar 08, 2012 7:04 am
                  Re: How to get futility pruning to work? Robert Purves Sat Mar 10, 2012 12:38 am
                        Re: How to get futility pruning to work? Vincent Diepeveen Sun Mar 11, 2012 4:14 am
                              Re: How to get futility pruning to work? Vincent Diepeveen Sun Mar 11, 2012 4:41 am
                        Re: How to get futility pruning to work? Vincent Diepeveen Sun Mar 11, 2012 5:01 pm
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2001, 2005 phpBB Group
Enhanced with Moby Threads