Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Unexpected problem with futility pruning ? Anymore opinions ?

Author: Geoff

Date: 02:26:42 12/30/03

Go up one level in this thread


Hi Scott

>yeh, I think you have a bug.
>
>firstly most people implement futility pruning _before_ makemove - you are
>basically trying to save the effort of make/unmake. You have to fiddle the score
>for captures a little, if you have SEE that is easy.

Thanks for the help. I put the futility code in after the makemove to eliminate
the illegal moves that are filtered out by makemove(). It would be a problem if
I moved it earlier I think ?

> secondly, you are pruning the wrong moves, given you have done makeMove,
> sideToMove has reversed, and you need to reverse a/b (-beta,-alpha), so you
> need to compare to -beta _not_ alpha, if you move the code to before
> makeMove you compare to alpha. I think you are throwing away beta nodes and > not alpha nodes.

I was fairly convinced I was correct with using Alpha here but you might be
correct. I was thinking that alpha and beta swap when you call the search
function but not for just switching sidetomove in makemove().

I had a quick look at razoring in Beowolf, from what I can see it prunes after
makemove() but uses alpha like I did ? That would seem to suggest I was correct
initially ? I need to have a longer think about this one it is getting confusing
now ;-)

Anyone with a casting vote ? Should it check alpha or beta here ?

        Regards Geoff




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.