Author: Miguel A. Ballicora
Date: 07:57:45 01/14/02
Go up one level in this thread
On January 14, 2002 at 08:24:29, Uri Blass wrote: >[D]5rk1/5p1p/pp3p1Q/5B2/1P6/P4bP1/7P/6K1 w - - > > >Assume that beta=10000 that is a mate score. > >The result of my qsearch is today depends on alpha > >If alpha is small enough then my qsearch can see the mate because it does >Qxh7# and find that black has no legal moves. > >If alpha is not small enough then the move Qxh7# is pruned by my qsearch as not >better than alpha so the result is alpha. > >The result is that it is possible for me to get a fail high and after it fail >low. There are many other reasons, any pruning that depends on the bounds will do it. qsearch is one of them. To avoid this particular case, you can do checks in the qsearch. Or at least, you can do checks in the first ply of the qsearch. That is what I do. I believe that solves some (few?) of the problems that nullmove creates. >usually it does not happen so maybe it is better to start with >alphabeta(score-30,score+30,depth) >after fail high to do alphabeta(score+29,mate,depth) Until I take a closer look to this kind of problems, I will still do after fail high: alphabeta(score-30,mate,depth) I do not adjust alpha. That reduces many inconsistencies but not all of them. Maybe being efficient is not important since it is a fail high, and the move will be player anyway when time is up. Actually, I do not go directly to "mate" in beta, but I increase it gradually. I should test this thouroughly because it is gambling. Do I save more nodes with a narrower window? do I waste more nodes with researches? >and only if I get faillow to do alphabeta(score-30,mate,depth) >What is your opinion? > >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.