Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Null move question

Author: Angrim

Date: 08:15:53 08/01/03

Go up one level in this thread


On July 31, 2003 at 14:23:34, Tony Werten wrote:

>On July 30, 2003 at 17:18:12, Rick Bischoff wrote:
>
>>>>
>>>>a. at depth 3- hash table is empty for this position.  alpha = -INF, beta = +INF
>>>>a. all requirements for null move are met
>>>>a. makes null move:  int e = -alphabeta(depth - 3, -beta, -beta +1);
>>>>
>>>>b. now we are at depth 0, alpha = -INF, beta = -INF + 1
>>>>b. we call quies(alpha, beta)
>>>>
>>>>c.  e = static eval is, oh say, 1.
>>>>c.  e >= beta, return beta
>>>>
>>>>b. store this position in the hash table as -INF + 1, exact, depth = 0, return
>>>>-INF + 1
>>>
>>>This is _way_ wrong.  How can it be "exact"???  It is impossible for the
>>>search to return valid scores outside alpha/beta window as defined at the
>>>root.  If you are returning an "edge" then it must be an upper or lower
>>>edge, not an exact score.
>>
>>Yes, I know it is wrong-- which is why I was asking the question to begin with
>>:-) What I do know is store anything quies returns as exact-- but you are
>>telling me I can't do that, right?  (Forgive my ignorance!)
>
>You are correct (despite what the others say), but only if you use the failsoft
>version of alphabeta.
>
>Tony

I use fail-soft, and it isn't magic.  If searching a quies node and the
first capture you look at is good enough to fail high, then it will
return the value of that capture without checking if there was a second
capture that would be even better.  So the value returned would not be
an exact value.

Angrim



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.