Author: Robert Hyatt
Date: 08:25:12 10/19/99
Go up one level in this thread
On October 19, 1999 at 10:18:12, William Bryant wrote: >On October 18, 1999 at 23:12:29, Robert Hyatt wrote: > > >>at times you do a hash probe, and you get a score or bound, but the draft >>is insufficient. However, think about your null-move search. It is going >>to search this same position, but 2 plies shallower. So if the hash entry >>isn't good enough to use normally, remember when you get a UPPER bound from >>the hash table, and see if that bound is < the current alpha value. If so, >>and the depth is good enough to satisfy the null-move search (draft is at least >>remaining depth - 3 plies since null-move will reduce depth by 2 and you would >>normally reduce by one more) then you know that the null-move search won't fail >>high, since this hash entry says it would fail low. Don't bother trying the >>null-move search since you know it won't fail high and will just be wasting >>time... >> >>In crafty, hash.c, the "avoid_null" variable holds this. If we can't fail >>high or low or return an exact score, I return this value which says "no >>good hash info, but avoid trying null move here anyway..." >> >>Bob > >I still think I'm missing something. I understand the explination, but it >differs from what is in the source code (I think?). > >You description say to see if the bound is less than the current _alpha_ value, >yet the source compares this to *beta, a pointer to the actual beta. > >Where I am skipping a beat on this one? > >Thanks. > >William >wbryant@ix.netcom.com You are right... The only time a null-move search is worth while is when it fails high. If the "UPPER" bound on this position is < beta, it won't fail high. I said < alpha, but should have said < beta as you mentioned... Case of not thinking carefully. :) Bob
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.