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 4:41 am Reply to topic Reply with quote

I read what i wrote and realize i should explain the argumentation if i say: "futility isn't gonna work of course".

My argumentation is that more is possible when you're above beta. Now nullmove covers of course that to most extend quite well.

Say we're 5 ply depthleft and top of searchroutine.

Now futility is a pretty risky thing to do there, whereas being up a pawn or 3 in 90% of cases, one can imagine it should be possible to get a cheap cutoff there somehow, much cheaper than i get right now in Diep.

I can expand upon why futility is that risky if your evaluation is having many chess patterns which can easily give a bonus of 50 pawns or so based upon patterns.

Just look at the search error you introduce with it.

Let's say we careful do futility only last ply and also use reductions in the search; note i used reductions in Diep already in 1999, and i know DeepSjeng used them massively as well not much later.

quoting GCP : "reductions are the most obvious thing to try".

Now i'm using R=3 of course, So if we're at depthleft 5 ply,
then 5 - 3 -1 = 1 ply depthleft.

Yet in reality we were at 7 ply. Side 'side' is going to threat something positional at 7 ply depthleft.

Of course our reductions miss that totally and we get xside to move at
depthleft 5.

So at depthleft 5 ply i would introduce a huge search error giving a cutoff in a position based upon the opponent not being allowed to positional refute something here, which backtracks directly, based upon a 1 ply refutation that isn't getting carried out, to 7 ply depthleft.

All that because of a failure to search an additional say 37 moves at a 1 ply depthleft position.

Right now that error is there at 4 ply depthleft, which already is actually quite a big risk and many consider *that* already to be too much of a risk.

Realize that the question is whether you want to take the decision to add that search error into your search at depthleft 5 ply

So fine tuning that would require chessknowledge to be inserted into the futility routine. Just a simple

evaluation + margin , that ain't gonna work simply for Diep; i already tried way more sophisticated things than that, which also failed.

So if you test a bunch of games and futility isn't working for you, probably there is more to win doing other things better, than the huge effort required getting futility to work right now.

Note that the above scenario i gave, trying to 'fix' that with a rule to not use futility last ply when we just nullmoved, i tried that as well of course , in all sorts of variations and additional 'fixes' - didn't work either for Diep.

Make sure however you retest it once your engine improved a lot - old invented tricks sometimes work some 10 years later Smile
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